vc1: properly zero coded_block[] edges on new slice entry.
authorRonald S. Bultje <rsbultje@gmail.com>
Wed, 24 Aug 2011 21:36:16 +0000 (14:36 -0700)
committerRonald S. Bultje <rsbultje@gmail.com>
Thu, 25 Aug 2011 05:06:06 +0000 (22:06 -0700)
Previously, we would leave the left edge uninitialized, which led to
CBP prediction errors on slice edges, e.g. in SA10098.vc1.

libavcodec/vc1dec.c

index 8bf900c..4954d4f 100644 (file)
@@ -3019,7 +3019,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;