|
|
|
@@ -5369,9 +5369,10 @@ static int vc1_decode_frame(AVCodecContext *avctx, void *data, |
|
|
|
break; |
|
|
|
case VC1_CODE_FIELD: { |
|
|
|
int buf_size3; |
|
|
|
slices = av_realloc(slices, sizeof(*slices) * (n_slices+1)); |
|
|
|
if (!slices) |
|
|
|
tmp = av_realloc(slices, sizeof(*slices) * (n_slices+1)); |
|
|
|
if (!tmp) |
|
|
|
goto err; |
|
|
|
slices = tmp; |
|
|
|
slices[n_slices].buf = av_mallocz(buf_size + FF_INPUT_BUFFER_PADDING_SIZE); |
|
|
|
if (!slices[n_slices].buf) |
|
|
|
goto err; |
|
|
|
@@ -5393,9 +5394,10 @@ static int vc1_decode_frame(AVCodecContext *avctx, void *data, |
|
|
|
break; |
|
|
|
case VC1_CODE_SLICE: { |
|
|
|
int buf_size3; |
|
|
|
slices = av_realloc(slices, sizeof(*slices) * (n_slices+1)); |
|
|
|
if (!slices) |
|
|
|
tmp = av_realloc(slices, sizeof(*slices) * (n_slices+1)); |
|
|
|
if (!tmp) |
|
|
|
goto err; |
|
|
|
slices = tmp; |
|
|
|
slices[n_slices].buf = av_mallocz(buf_size + FF_INPUT_BUFFER_PADDING_SIZE); |
|
|
|
if (!slices[n_slices].buf) |
|
|
|
goto err; |
|
|
|
@@ -5466,7 +5468,7 @@ static int vc1_decode_frame(AVCodecContext *avctx, void *data, |
|
|
|
|
|
|
|
if (!s->context_initialized) { |
|
|
|
if (ff_msmpeg4_decode_init(avctx) < 0 || ff_vc1_decode_init_alloc_tables(v) < 0) |
|
|
|
return -1; |
|
|
|
goto err; |
|
|
|
|
|
|
|
s->low_delay = !avctx->has_b_frames || v->res_sprite; |
|
|
|
|
|
|
|
|