Set and use h->mb_xy in SVQ3 too.
[ffmpeg.git] / libavcodec / svq3.c
index bb2e8eb..ac16cd8 100644 (file)
@@ -411,7 +411,7 @@ static int svq3_decode_mb (H264Context *h, unsigned int mb_type) {
   uint32_t vlc;
   int8_t *top, *left;
   MpegEncContext *const s = (MpegEncContext *) h;
-  const int mb_xy = s->mb_x + s->mb_y*s->mb_stride;
+  const int mb_xy = h->mb_xy;
   const int b_xy = 4*s->mb_x + 4*s->mb_y*h->b_stride;
 
   h->top_samples_available        = (s->mb_y == 0) ? 0x33FF : 0xFFFF;
@@ -681,9 +681,11 @@ static int svq3_decode_mb (H264Context *h, unsigned int mb_type) {
 
 static int svq3_decode_slice_header (H264Context *h) {
   MpegEncContext *const s = (MpegEncContext *) h;
-  const int mb_xy = s->mb_x + s->mb_y*s->mb_stride;
+  int mb_xy;
   int i, header;
 
+  mb_xy = h->mb_xy = s->mb_x + s->mb_y*s->mb_stride;
+
   header = get_bits (&s->gb, 8);
 
   if (((header & 0x9F) != 1 && (header & 0x9F) != 2) || (header & 0x60) == 0) {