simplify (d&a) and (d&~a) calculation, hint by skal

Originally committed as revision 4552 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Michael Niedermayer 2005-09-03 09:17:30 +00:00
parent b5b65df7a9
commit d3a9f79871
1 changed files with 3 additions and 4 deletions

View File

@ -162,11 +162,10 @@ void ff_h264_idct_add_mmx2(uint8_t *dst, int16_t *block, int stride)
/* delta = (avg(q0, p1>>2) + (d&a)) /* delta = (avg(q0, p1>>2) + (d&a))
* - (avg(p0, q1>>2) + (d&~a)) */\ * - (avg(p0, q1>>2) + (d&~a)) */\
"pavgb %%mm2, %%mm0 \n\t"\ "pavgb %%mm2, %%mm0 \n\t"\
"movq %%mm5, %%mm6 \n\t"\ "pand %%mm5, %%mm4 \n\t"\
"pand %%mm4, %%mm6 \n\t"\ "paddusb %%mm4, %%mm0 \n\t"\
"paddusb %%mm6, %%mm0 \n\t"\
"pavgb %%mm1, %%mm3 \n\t"\ "pavgb %%mm1, %%mm3 \n\t"\
"pandn %%mm5, %%mm4 \n\t"\ "pxor %%mm5, %%mm4 \n\t"\
"paddusb %%mm4, %%mm3 \n\t"\ "paddusb %%mm4, %%mm3 \n\t"\
/* p0 += clip(delta, -tc0, tc0) /* p0 += clip(delta, -tc0, tc0)
* q0 -= clip(delta, -tc0, tc0) */\ * q0 -= clip(delta, -tc0, tc0) */\