diff --git a/libavcodec/vc1_block.c b/libavcodec/vc1_block.c index 7cabe49edae7ada3ac91e217a73e32051850a9f8..ace1b3eedb632c7027d9964f1f23d36a353717b5 100644 --- a/libavcodec/vc1_block.c +++ b/libavcodec/vc1_block.c @@ -177,7 +177,7 @@ static void vc1_put_signed_blocks_clamped(VC1Context *v) edges = 15; \ if ((edges&1) && !s->mb_x) \ mquant = -v->altpq; \ - if ((edges&2) && s->first_slice_line) \ + if ((edges&2) && !s->mb_y) \ mquant = -v->altpq; \ if ((edges&4) && s->mb_x == (s->mb_width - 1)) \ mquant = -v->altpq; \ @@ -2626,7 +2626,7 @@ static void vc1_decode_i_blocks_adv(VC1Context *v) int cbp, val; uint8_t *coded_val; int mb_pos; - int mquant = v->pq; + int mquant; int mqdiff; GetBitContext *gb = &s->gb; @@ -2671,6 +2671,7 @@ static void vc1_decode_i_blocks_adv(VC1Context *v) init_block_index(v); for (;s->mb_x < s->mb_width; s->mb_x++) { int16_t (*block)[64] = v->block[v->cur_blk_idx]; + mquant = v->pq; ff_update_block_index(s); s->bdsp.clear_blocks(block[0]); mb_pos = s->mb_x + s->mb_y * s->mb_stride;