dwt: return errors from ff_slice_buffer_init()
This commit is contained in:
parent
c89e428ed8
commit
cc7fac9970
@ -22,9 +22,9 @@
|
|||||||
#include "dsputil.h"
|
#include "dsputil.h"
|
||||||
#include "dwt.h"
|
#include "dwt.h"
|
||||||
|
|
||||||
void ff_slice_buffer_init(slice_buffer *buf, int line_count,
|
int ff_slice_buffer_init(slice_buffer *buf, int line_count,
|
||||||
int max_allocated_lines, int line_width,
|
int max_allocated_lines, int line_width,
|
||||||
IDWTELEM *base_buffer)
|
IDWTELEM *base_buffer)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
@ -53,6 +53,7 @@ void ff_slice_buffer_init(slice_buffer *buf, int line_count,
|
|||||||
}
|
}
|
||||||
|
|
||||||
buf->data_stack_top = max_allocated_lines - 1;
|
buf->data_stack_top = max_allocated_lines - 1;
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
IDWTELEM *ff_slice_buffer_load_line(slice_buffer *buf, int line)
|
IDWTELEM *ff_slice_buffer_load_line(slice_buffer *buf, int line)
|
||||||
|
@ -137,9 +137,9 @@ typedef struct DWTContext {
|
|||||||
: ff_slice_buffer_load_line((slice_buf), \
|
: ff_slice_buffer_load_line((slice_buf), \
|
||||||
(line_num)))
|
(line_num)))
|
||||||
|
|
||||||
void ff_slice_buffer_init(slice_buffer *buf, int line_count,
|
int ff_slice_buffer_init(slice_buffer *buf, int line_count,
|
||||||
int max_allocated_lines, int line_width,
|
int max_allocated_lines, int line_width,
|
||||||
IDWTELEM *base_buffer);
|
IDWTELEM *base_buffer);
|
||||||
void ff_slice_buffer_release(slice_buffer *buf, int line);
|
void ff_slice_buffer_release(slice_buffer *buf, int line);
|
||||||
void ff_slice_buffer_flush(slice_buffer *buf);
|
void ff_slice_buffer_flush(slice_buffer *buf);
|
||||||
void ff_slice_buffer_destroy(slice_buffer *buf);
|
void ff_slice_buffer_destroy(slice_buffer *buf);
|
||||||
|
@ -396,7 +396,12 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPac
|
|||||||
|
|
||||||
// realloc slice buffer for the case that spatial_decomposition_count changed
|
// realloc slice buffer for the case that spatial_decomposition_count changed
|
||||||
ff_slice_buffer_destroy(&s->sb);
|
ff_slice_buffer_destroy(&s->sb);
|
||||||
ff_slice_buffer_init(&s->sb, s->plane[0].height, (MB_SIZE >> s->block_max_depth) + s->spatial_decomposition_count * 8 + 1, s->plane[0].width, s->spatial_idwt_buffer);
|
if ((res = ff_slice_buffer_init(&s->sb, s->plane[0].height,
|
||||||
|
(MB_SIZE >> s->block_max_depth) +
|
||||||
|
s->spatial_decomposition_count * 8 + 1,
|
||||||
|
s->plane[0].width,
|
||||||
|
s->spatial_idwt_buffer)) < 0)
|
||||||
|
return res;
|
||||||
|
|
||||||
for(plane_index=0; plane_index<3; plane_index++){
|
for(plane_index=0; plane_index<3; plane_index++){
|
||||||
Plane *p= &s->plane[plane_index];
|
Plane *p= &s->plane[plane_index];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user