comparison i386/h264dsp_mmx.c @ 4129:c5117bef5175 libavcodec

1 instruction less
author michael
date Fri, 03 Nov 2006 09:59:15 +0000
parents d011a097bb85
children 226f53a6fcc2
comparison
equal deleted inserted replaced
4128:2e93c877d264 4129:c5117bef5175
346 "pavgb "MANGLE(ff_pb_3)" , %%mm3 \n\t" /*(((p1 - q1 + 256)>>1)+4)>>1 = 64+2+(p1-q1)>>2*/\ 346 "pavgb "MANGLE(ff_pb_3)" , %%mm3 \n\t" /*(((p1 - q1 + 256)>>1)+4)>>1 = 64+2+(p1-q1)>>2*/\
347 "pxor %%mm1 , %%mm4 \n\t"\ 347 "pxor %%mm1 , %%mm4 \n\t"\
348 "pavgb %%mm2 , %%mm4 \n\t" /* (q0 - p0 + 256)>>1*/\ 348 "pavgb %%mm2 , %%mm4 \n\t" /* (q0 - p0 + 256)>>1*/\
349 "pavgb %%mm5 , %%mm3 \n\t"\ 349 "pavgb %%mm5 , %%mm3 \n\t"\
350 "paddb %%mm4 , %%mm3 \n\t" /* d+128+33*/\ 350 "paddb %%mm4 , %%mm3 \n\t" /* d+128+33*/\
351 "pxor %%mm6 , %%mm6 \n\t" /* 0*/\ 351 "movq "MANGLE(ff_pb_A1)" , %%mm6 \n\t"\
352 "psubb %%mm3 , %%mm6 \n\t" /* 128-33-d*/\ 352 "psubusb %%mm3 , %%mm6 \n\t"\
353 "psubusb "MANGLE(ff_pb_A1)" , %%mm3 \n\t"\ 353 "psubusb "MANGLE(ff_pb_A1)" , %%mm3 \n\t"\
354 "psubusb "MANGLE(ff_pb_5F)" , %%mm6 \n\t"\ 354 "pminub %%mm7 , %%mm6 \n\t"\
355 "pminub %%mm7 , %%mm3 \n\t"\ 355 "pminub %%mm7 , %%mm3 \n\t"\
356 "pminub %%mm7 , %%mm6 \n\t"\ 356 "psubusb %%mm6 , %%mm1 \n\t"\
357 "psubusb %%mm3 , %%mm2 \n\t"\
357 "paddusb %%mm3 , %%mm1 \n\t"\ 358 "paddusb %%mm3 , %%mm1 \n\t"\
358 "paddusb %%mm6 , %%mm2 \n\t"\ 359 "paddusb %%mm6 , %%mm2 \n\t"
359 "psubusb %%mm6 , %%mm1 \n\t"\
360 "psubusb %%mm3 , %%mm2 \n\t"
361 360
362 // in: mm0=p1 mm1=p0 mm2=q0 mm3=q1 mm7=(tc&mask) %8=mm_bone 361 // in: mm0=p1 mm1=p0 mm2=q0 mm3=q1 mm7=(tc&mask) %8=mm_bone
363 // out: (q1addr) = clip( (q2+((p0+q0+1)>>1))>>1, q1-tc0, q1+tc0 ) 362 // out: (q1addr) = clip( (q2+((p0+q0+1)>>1))>>1, q1-tc0, q1+tc0 )
364 // clobbers: q2, tmp, tc0 363 // clobbers: q2, tmp, tc0
365 #define H264_DEBLOCK_Q1(p1, q2, q2addr, q1addr, tc0, tmp)\ 364 #define H264_DEBLOCK_Q1(p1, q2, q2addr, q1addr, tc0, tmp)\