# HG changeset patch # User kostya # Date 1229544615 0 # Node ID edea96e4367b5a0439f10f1e1741e61d9250a99f # Parent 45c3780b1a9625df1d532bca96c67da8b9428fd7 use precalculated mb_pos where available diff -r 45c3780b1a96 -r edea96e4367b rv34.c --- a/rv34.c Wed Dec 17 20:00:48 2008 +0000 +++ b/rv34.c Wed Dec 17 20:10:15 2008 +0000 @@ -1148,13 +1148,13 @@ s->qscale = r->si.quant; cbp = cbp2 = rv34_decode_mb_header(r, intra_types); - r->cbp_luma [s->mb_x + s->mb_y * s->mb_stride] = cbp; - r->cbp_chroma[s->mb_x + s->mb_y * s->mb_stride] = cbp >> 16; + r->cbp_luma [mb_pos] = cbp; + r->cbp_chroma[mb_pos] = cbp >> 16; if(s->pict_type == FF_I_TYPE) r->deblock_coefs[mb_pos] = 0xFFFF; else r->deblock_coefs[mb_pos] = rv34_set_deblock_coef(r) | r->cbp_luma[mb_pos]; - s->current_picture_ptr->qscale_table[s->mb_x + s->mb_y * s->mb_stride] = s->qscale; + s->current_picture_ptr->qscale_table[mb_pos] = s->qscale; if(cbp == -1) return -1; @@ -1188,7 +1188,7 @@ rv34_dequant4x4(s->block[blknum] + blkoff, rv34_qscale_tab[rv34_chroma_quant[1][s->qscale]],rv34_qscale_tab[rv34_chroma_quant[0][s->qscale]]); rv34_inv_transform(s->block[blknum] + blkoff); } - if(IS_INTRA(s->current_picture_ptr->mb_type[s->mb_x + s->mb_y*s->mb_stride])) + if(IS_INTRA(s->current_picture_ptr->mb_type[mb_pos])) rv34_output_macroblock(r, intra_types, cbp2, r->is16); else rv34_apply_differences(r, cbp2);