MCPcopy Create free account
hub / github.com/FFmpeg/FFmpeg / ff_slice_buffer_init

Function ff_slice_buffer_init

libavcodec/snow_dwt.c:29–61  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

27#include "snow_dwt.h"
28
29int ff_slice_buffer_init(slice_buffer *buf, int line_count,
30 int max_allocated_lines, int line_width,
31 IDWTELEM *base_buffer)
32{
33 int i;
34
35 buf->base_buffer = base_buffer;
36 buf->line_count = line_count;
37 buf->line_width = line_width;
38 buf->data_count = max_allocated_lines;
39 buf->line = av_calloc(line_count, sizeof(*buf->line));
40 if (!buf->line)
41 return AVERROR(ENOMEM);
42 buf->data_stack = av_malloc_array(max_allocated_lines, sizeof(IDWTELEM *));
43 if (!buf->data_stack) {
44 av_freep(&buf->line);
45 return AVERROR(ENOMEM);
46 }
47
48 for (i = 0; i < max_allocated_lines; i++) {
49 buf->data_stack[i] = av_malloc_array(line_width, sizeof(IDWTELEM));
50 if (!buf->data_stack[i]) {
51 for (i--; i >=0; i--)
52 av_freep(&buf->data_stack[i]);
53 av_freep(&buf->data_stack);
54 av_freep(&buf->line);
55 return AVERROR(ENOMEM);
56 }
57 }
58
59 buf->data_stack_top = max_allocated_lines - 1;
60 return 0;
61}
62
63IDWTELEM *ff_slice_buffer_load_line(slice_buffer *buf, int line)
64{

Callers 1

decode_frameFunction · 0.85

Calls 3

av_callocFunction · 0.85
av_malloc_arrayFunction · 0.85
av_freepFunction · 0.85

Tested by

no test coverage detected