[FFmpeg-cvslog] svq3: fix decoding residual blocks of b-frames.

Ronald S. Bultje git at videolan.org
Tue Feb 19 16:21:07 CET 2013


ffmpeg | branch: master | Ronald S. Bultje <rsbultje at gmail.com> | Mon Feb 18 21:03:01 2013 -0800| [a1f1ca96b42698002920467c0aab9e636893088a] | committer: Michael Niedermayer

svq3: fix decoding residual blocks of b-frames.

The residual block data of 16x16 blocks was ignored for b-frames, which
leads to easy-to-identify artifacts. After this patch, the artifacts are
gone. Sample video: svq3_watermark.mov. (Fate results unaffected.)

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=a1f1ca96b42698002920467c0aab9e636893088a
---

 libavcodec/svq3.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/svq3.c b/libavcodec/svq3.c
index 10ee109..7817766 100644
--- a/libavcodec/svq3.c
+++ b/libavcodec/svq3.c
@@ -1237,7 +1237,7 @@ static int svq3_decode_frame(AVCodecContext *avctx, void *data,
                 return -1;
             }
 
-            if (mb_type != 0)
+            if (mb_type != 0 || h->cbp)
                 ff_h264_hl_decode_mb(h);
 
             if (h->pict_type != AV_PICTURE_TYPE_B && !h->low_delay)



More information about the ffmpeg-cvslog mailing list