77 |
; Code |
; Code |
78 |
;============================================================================= |
;============================================================================= |
79 |
|
|
80 |
SECTION .rotext align=SECTION_ALIGN |
TEXT |
81 |
|
|
82 |
cglobal interpolate8x8_halfpel_h_mmx |
cglobal interpolate8x8_halfpel_h_mmx |
83 |
cglobal interpolate8x8_halfpel_v_mmx |
cglobal interpolate8x8_halfpel_v_mmx |
505 |
ALIGN SECTION_ALIGN |
ALIGN SECTION_ALIGN |
506 |
interpolate8x8_avg2_mmx: |
interpolate8x8_avg2_mmx: |
507 |
|
|
508 |
mov _EAX, prm5 ; rounding |
mov eax, prm5d ; rounding |
509 |
test _EAX, _EAX |
test _EAX, _EAX |
510 |
|
|
511 |
jnz near .rounding1 |
jnz near .rounding1 |
512 |
|
|
513 |
mov _EAX, prm6 ; height -> _EAX |
mov eax, prm6d ; height -> _EAX |
514 |
sub _EAX, 8 |
sub _EAX, 8 |
|
test _EAX, _EAX |
|
515 |
|
|
516 |
mov TMP0, prm1 ; dst -> edi |
mov TMP0, prm1 ; dst -> edi |
517 |
mov _EAX, prm2 ; src1 -> esi |
mov _EAX, prm2 ; src1 -> esi |
545 |
ret |
ret |
546 |
|
|
547 |
.rounding1: |
.rounding1: |
548 |
mov _EAX, prm6 ; height -> _EAX |
mov eax, prm6d ; height -> _EAX |
549 |
sub _EAX, 8 |
sub _EAX, 8 |
|
test _EAX, _EAX |
|
550 |
|
|
551 |
mov TMP0, prm1 ; dst -> edi |
mov TMP0, prm1 ; dst -> edi |
552 |
mov _EAX, prm2 ; src1 -> esi |
mov _EAX, prm2 ; src1 -> esi |
706 |
ALIGN SECTION_ALIGN |
ALIGN SECTION_ALIGN |
707 |
interpolate8x8_avg4_mmx: |
interpolate8x8_avg4_mmx: |
708 |
|
|
709 |
mov _EAX, prm7 ; rounding |
mov eax, prm7d ; rounding |
710 |
test _EAX, _EAX |
test _EAX, _EAX |
711 |
|
|
712 |
mov TMP0, prm1 ; dst -> edi |
mov TMP0, prm1 ; dst -> edi |
713 |
mov _EAX, prm5 ; src4 -> edi |
mov _EAX, prm5 ; src4 -> edi |
714 |
mov TMP1, prm6 ; stride -> TMP1 |
mov TMP1d, prm6d ; stride -> TMP1 |
715 |
|
|
716 |
|
|
717 |
push _EBX |
push _EBX |
982 |
mov TMP1, prm3 ; stride -> edx |
mov TMP1, prm3 ; stride -> edx |
983 |
|
|
984 |
push _EBX |
push _EBX |
985 |
|
lea _EBX, [TMP1+TMP1*2] |
|
mov _EBX, TMP1 |
|
|
shl _EBX, 1 |
|
|
add _EBX, TMP1 |
|
986 |
|
|
987 |
pxor mm7, mm7 |
pxor mm7, mm7 |
988 |
|
|
1323 |
ret |
ret |
1324 |
ENDFUNC |
ENDFUNC |
1325 |
|
|
1326 |
|
NON_EXEC_STACK |
|
%ifidn __OUTPUT_FORMAT__,elf |
|
|
section ".note.GNU-stack" noalloc noexec nowrite progbits |
|
|
%endif |
|
|
|
|