diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2015-05-14 19:08:33 +0300 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-05-14 19:12:30 +0300 |
commit | f6b8b966076fcd358f734c6d00ed642edc02b4cd (patch) | |
tree | 86fd97bc929233fa24c52fbabdbb375590fca790 /libavcodec | |
parent | c5c06e392b56ad19c560924ef17ab31920ffceb7 (diff) |
avcodec/cavsdec: Use ff_set_dimensions()
Fixes CID1239111 part2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/cavsdec.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/libavcodec/cavsdec.c b/libavcodec/cavsdec.c index a642dc7b2e..bf8c301e2e 100644 --- a/libavcodec/cavsdec.c +++ b/libavcodec/cavsdec.c @@ -1123,6 +1123,7 @@ static int decode_seq_header(AVSContext *h) { int frame_rate_code; int width, height; + int ret; h->profile = get_bits(&h->gb, 8); h->level = get_bits(&h->gb, 8); @@ -1139,9 +1140,6 @@ static int decode_seq_header(AVSContext *h) av_log(h->avctx, AV_LOG_ERROR, "Dimensions invalid\n"); return AVERROR_INVALIDDATA; } - h->width = width; - h->height = height; - skip_bits(&h->gb, 2); //chroma format skip_bits(&h->gb, 3); //sample_precision h->aspect_ratio = get_bits(&h->gb, 4); @@ -1156,11 +1154,16 @@ static int decode_seq_header(AVSContext *h) skip_bits1(&h->gb); //marker_bit skip_bits(&h->gb, 12); //bit_rate_upper h->low_delay = get_bits1(&h->gb); + + ret = ff_set_dimensions(h->avctx, width, height); + if (ret < 0) + return ret; + + h->width = width; + h->height = height; h->mb_width = (h->width + 15) >> 4; h->mb_height = (h->height + 15) >> 4; h->avctx->framerate = ff_mpeg12_frame_rate_tab[frame_rate_code]; - h->avctx->width = h->width; - h->avctx->height = h->height; if (!h->top_qp) return ff_cavs_init_top_lines(h); return 0; |