[SCM] libav/experimental: 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.

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 16:44:53 UTC 2013


The following commit has been merged in the experimental branch:
commit b750fb6945626a7c6255af883d3d7073a32aaf09
Author: Kostya Shishkov <kostya.shishkov at gmail.com>
Date:   Thu Apr 23 07:14:02 2009 +0000

    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

diff --git a/libavcodec/vc1.c b/libavcodec/vc1.c
index 99dc4ab..c536330 100644
--- a/libavcodec/vc1.c
+++ b/libavcodec/vc1.c
@@ -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);

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list