[FFmpeg-cvslog] vc1: properly zero coded_block[] edges on new slice entry.

Ronald S. Bultje git at videolan.org
Thu Sep 22 01:17:25 CEST 2011


ffmpeg | branch: release/0.8 | Ronald S. Bultje <rsbultje at gmail.com> | Wed Aug 24 14:36:16 2011 -0700| [a8edc1cbc76f2c8144796f3f984bc4607fb0d71d] | committer: Anton Khirnov

vc1: properly zero coded_block[] edges on new slice entry.

Previously, we would leave the left edge uninitialized, which led to
CBP prediction errors on slice edges, e.g. in SA10098.vc1.
(cherry picked from commit d4b9974465baf893e90527a366e7a7411ded1ef8)

Signed-off-by: Anton Khirnov <anton at khirnov.net>

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

 libavcodec/vc1dec.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/libavcodec/vc1dec.c b/libavcodec/vc1dec.c
index 8fca2da..b17ce30 100644
--- a/libavcodec/vc1dec.c
+++ b/libavcodec/vc1dec.c
@@ -3020,7 +3020,7 @@ static void vc1_decode_i_blocks_adv(VC1Context *v)
         s->mb_x = 0;
         ff_init_block_index(s);
         memset(&s->coded_block[s->block_index[0]-s->b8_stride], 0,
-               s->b8_stride * sizeof(*s->coded_block));
+               (1 + s->b8_stride) * sizeof(*s->coded_block));
     }
     for(; s->mb_y < s->end_mb_y; s->mb_y++) {
         s->mb_x = 0;



More information about the ffmpeg-cvslog mailing list