52 |
; Macros |
; Macros |
53 |
;============================================================================= |
;============================================================================= |
54 |
|
|
55 |
SECTION .rotext align=SECTION_ALIGN |
TEXT |
56 |
|
|
57 |
cglobal interpolate8x8_halfpel_h_3dne |
cglobal interpolate8x8_halfpel_h_3dne |
58 |
cglobal interpolate8x8_halfpel_v_3dne |
cglobal interpolate8x8_halfpel_v_3dne |
210 |
push _ESI |
push _ESI |
211 |
pcmpeqb mm1, mm1 |
pcmpeqb mm1, mm1 |
212 |
pcmpeqb mm2, mm2 |
pcmpeqb mm2, mm2 |
213 |
mov _ESI, mm_minusone |
lea _ESI, [mm_minusone] |
214 |
psubusb mm1, [byte _EAX] |
psubusb mm1, [byte _EAX] |
215 |
psubusb mm2, [_EAX+TMP1] |
psubusb mm2, [_EAX+TMP1] |
216 |
lea _EAX, [_EAX+2*TMP1] |
lea _EAX, [_EAX+2*TMP1] |
489 |
|
|
490 |
pcmpeqb mm1, mm1 |
pcmpeqb mm1, mm1 |
491 |
pcmpeqb mm2, mm2 |
pcmpeqb mm2, mm2 |
492 |
mov _ESI, mm_minusone |
lea _ESI, [mm_minusone] |
493 |
psubusb mm1, [byte _EAX] ; line1 |
psubusb mm1, [byte _EAX] ; line1 |
494 |
psubusb mm2, [_EAX+TMP1] ; line2 |
psubusb mm2, [_EAX+TMP1] ; line2 |
495 |
lea _EAX, [_EAX+2*TMP1] ; _EAX==line3 |
lea _EAX, [_EAX+2*TMP1] ; _EAX==line3 |
563 |
ret |
ret |
564 |
ENDFUNC |
ENDFUNC |
565 |
|
|
566 |
|
NON_EXEC_STACK |
|
%ifidn __OUTPUT_FORMAT__,elf |
|
|
section ".note.GNU-stack" noalloc noexec nowrite progbits |
|
|
%endif |
|
|
|
|