static int svq3_decode_slice_header (H264Context *h) {
MpegEncContext *const s = (MpegEncContext *) h;
- int mb_xy;
+ const int mb_xy = h->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) {
init_get_bits (&s->gb, buf, 8*buf_size);
- s->mb_x = s->mb_y = 0;
+ s->mb_x = s->mb_y = h->mb_xy = 0;
if (svq3_decode_slice_header (h))
return -1;
for (s->mb_y=0; s->mb_y < s->mb_height; s->mb_y++) {
for (s->mb_x=0; s->mb_x < s->mb_width; s->mb_x++) {
+ h->mb_xy = s->mb_x + s->mb_y*s->mb_stride;
if ( (get_bits_count(&s->gb) + 7) >= s->gb.size_in_bits &&
((get_bits_count(&s->gb) & 7) == 0 || show_bits (&s->gb, (-get_bits_count(&s->gb) & 7)) == 0)) {