diff --git a/libavcodec/svq3.c b/libavcodec/svq3.c index bb2e8ebc26..ac16cd8354 100644 --- a/libavcodec/svq3.c +++ b/libavcodec/svq3.c @@ -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) {