X-Git-Url: http://git.videolan.org/?p=ffmpeg.git;a=blobdiff_plain;f=libavcodec%2Fi386%2Fmpegvideo_mmx.c;h=0a4e3d12e766c51c22057344f0853c49f6fdfc2f;hp=542d2d819c095d17c408dca19126a90853e4ec6b;hb=9e15ad28bdffc22789328c2e199b63147c8d1d3f;hpb=d140623fc44c67e8955c56c7cf74c56c94c0f064 diff --git a/libavcodec/i386/mpegvideo_mmx.c b/libavcodec/i386/mpegvideo_mmx.c index 542d2d819c..0a4e3d12e7 100644 --- a/libavcodec/i386/mpegvideo_mmx.c +++ b/libavcodec/i386/mpegvideo_mmx.c @@ -89,26 +89,27 @@ static void dct_unquantize_h263_mmx(MpegEncContext *s, qadd = (s->qscale - 1) | 1; if (s->mb_intra) { - if (n < 4) - block[0] = block[0] * s->y_dc_scale; - else - block[0] = block[0] * s->c_dc_scale; - - for(i=1; i<8; i++) { - level = block[i]; - if (level) { - if (level < 0) { - level = level * qmul - qadd; - } else { - level = level * qmul + qadd; - } - block[i] = level; - } - } - nCoeffs=64; + if (!s->h263_aic) { + if (n < 4) + block[0] = block[0] * s->y_dc_scale; + else + block[0] = block[0] * s->c_dc_scale; + } + for(i=1; i<8; i++) { + level = block[i]; + if (level) { + if (level < 0) { + level = level * qmul - qadd; + } else { + level = level * qmul + qadd; + } + block[i] = level; + } + } + nCoeffs=64; } else { i = 0; - nCoeffs= zigzag_end[ s->block_last_index[n] ]; + nCoeffs= zigzag_end[ s->block_last_index[n] ]; } //printf("%d %d ", qmul, qadd); asm volatile(