Commit b750fb69 authored by Kostya Shishkov's avatar Kostya Shishkov

Display dimensions should not affect the real size of coded frame, thus set

only avctx->{width,height} and don't touch coded_{width,height} when parsing
them. This fixes the case when coded and display dimensions differ by more
than one macroblock.

Originally committed as revision 18665 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent e1b3d272
...@@ -975,8 +975,8 @@ static int decode_sequence_header_adv(VC1Context *v, GetBitContext *gb) ...@@ -975,8 +975,8 @@ static int decode_sequence_header_adv(VC1Context *v, GetBitContext *gb)
if(get_bits1(gb)) { //Display Info - decoding is not affected by it if(get_bits1(gb)) { //Display Info - decoding is not affected by it
int w, h, ar = 0; int w, h, ar = 0;
av_log(v->s.avctx, AV_LOG_DEBUG, "Display extended info:\n"); av_log(v->s.avctx, AV_LOG_DEBUG, "Display extended info:\n");
v->s.avctx->coded_width = w = get_bits(gb, 14) + 1; v->s.avctx->width = w = get_bits(gb, 14) + 1;
v->s.avctx->coded_height = h = get_bits(gb, 14) + 1; v->s.avctx->height = h = get_bits(gb, 14) + 1;
av_log(v->s.avctx, AV_LOG_DEBUG, "Display dimensions: %ix%i\n", w, h); av_log(v->s.avctx, AV_LOG_DEBUG, "Display dimensions: %ix%i\n", w, h);
if(get_bits1(gb)) if(get_bits1(gb))
ar = get_bits(gb, 4); ar = get_bits(gb, 4);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment