# HG changeset patch # User michael # Date 1092408033 0 # Node ID f3f5dabef677a9c1229e720ff586be36969ce018 # Parent 76334bbb50381db0956230084ed727ac41121987 minor optimization diff -r 76334bbb5038 -r f3f5dabef677 mpegvideo.c --- a/mpegvideo.c Fri Aug 13 13:59:28 2004 +0000 +++ b/mpegvideo.c Fri Aug 13 14:40:33 2004 +0000 @@ -3484,15 +3484,15 @@ s->block_index[5]= s->mb_stride*(s->mb_y + s->mb_height + 2) + s->b8_stride*s->mb_height*2 + s->mb_x - 1; //block_index is not used by mpeg2, so it is not affected by chroma_format - s->dest[0] = s->current_picture.data[0] + (s->mb_x - 1)*16; - s->dest[1] = s->current_picture.data[1] + (s->mb_x - 1)*(16 >> s->chroma_x_shift); - s->dest[2] = s->current_picture.data[2] + (s->mb_x - 1)*(16 >> s->chroma_x_shift); - + s->dest[0] = s->current_picture.data[0] + ((s->mb_x - 1) << 4); + s->dest[1] = s->current_picture.data[1] + ((s->mb_x - 1) << (4 - s->chroma_x_shift)); + s->dest[2] = s->current_picture.data[2] + ((s->mb_x - 1) << (4 - s->chroma_x_shift)); + if(!(s->pict_type==B_TYPE && s->avctx->draw_horiz_band && s->picture_structure==PICT_FRAME)) { - s->dest[0] += s->mb_y * linesize * 16; - s->dest[1] += s->mb_y * uvlinesize * (16 >> s->chroma_y_shift); - s->dest[2] += s->mb_y * uvlinesize * (16 >> s->chroma_y_shift); + s->dest[0] += s->mb_y * linesize << 4; + s->dest[1] += s->mb_y * uvlinesize << (4 - s->chroma_y_shift); + s->dest[2] += s->mb_y * uvlinesize << (4 - s->chroma_y_shift); } }