Mercurial > libavcodec.hg
changeset 4129:c5117bef5175 libavcodec
1 instruction less
author | michael |
---|---|
date | Fri, 03 Nov 2006 09:59:15 +0000 |
parents | 2e93c877d264 |
children | 226f53a6fcc2 |
files | i386/h264dsp_mmx.c |
diffstat | 1 files changed, 6 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/i386/h264dsp_mmx.c Fri Nov 03 04:42:11 2006 +0000 +++ b/i386/h264dsp_mmx.c Fri Nov 03 09:59:15 2006 +0000 @@ -348,16 +348,15 @@ "pavgb %%mm2 , %%mm4 \n\t" /* (q0 - p0 + 256)>>1*/\ "pavgb %%mm5 , %%mm3 \n\t"\ "paddb %%mm4 , %%mm3 \n\t" /* d+128+33*/\ - "pxor %%mm6 , %%mm6 \n\t" /* 0*/\ - "psubb %%mm3 , %%mm6 \n\t" /* 128-33-d*/\ + "movq "MANGLE(ff_pb_A1)" , %%mm6 \n\t"\ + "psubusb %%mm3 , %%mm6 \n\t"\ "psubusb "MANGLE(ff_pb_A1)" , %%mm3 \n\t"\ - "psubusb "MANGLE(ff_pb_5F)" , %%mm6 \n\t"\ + "pminub %%mm7 , %%mm6 \n\t"\ "pminub %%mm7 , %%mm3 \n\t"\ - "pminub %%mm7 , %%mm6 \n\t"\ + "psubusb %%mm6 , %%mm1 \n\t"\ + "psubusb %%mm3 , %%mm2 \n\t"\ "paddusb %%mm3 , %%mm1 \n\t"\ - "paddusb %%mm6 , %%mm2 \n\t"\ - "psubusb %%mm6 , %%mm1 \n\t"\ - "psubusb %%mm3 , %%mm2 \n\t" + "paddusb %%mm6 , %%mm2 \n\t" // in: mm0=p1 mm1=p0 mm2=q0 mm3=q1 mm7=(tc&mask) %8=mm_bone // out: (q1addr) = clip( (q2+((p0+q0+1)>>1))>>1, q1-tc0, q1+tc0 )