Display dimensions should not affect the real size of coded frame, thus set
authorKostya Shishkov <kostya.shishkov@gmail.com>
Thu, 23 Apr 2009 07:14:02 +0000 (07:14 +0000)
committerKostya Shishkov <kostya.shishkov@gmail.com>
Thu, 23 Apr 2009 07:14:02 +0000 (07:14 +0000)
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

libavcodec/vc1.c

index 99dc4ab..c536330 100644 (file)
@@ -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
         int w, h, ar = 0;
         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->coded_height = h = get_bits(gb, 14) + 1;
+        v->s.avctx->width  = w = 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);
         if(get_bits1(gb))
             ar = get_bits(gb, 4);