69 |
%endmacro |
%endmacro |
70 |
|
|
71 |
%macro SAD16_SSE2_SSE3 1 |
%macro SAD16_SSE2_SSE3 1 |
72 |
|
PUSH_XMM6_XMM7 |
73 |
mov _EAX, prm1 ; cur (assumed aligned) |
mov _EAX, prm1 ; cur (assumed aligned) |
74 |
mov TMP1, prm2 ; ref |
mov TMP1, prm2 ; ref |
75 |
mov TMP0, prm3 ; stride |
mov TMP0, prm3 ; stride |
88 |
pshufd xmm5, xmm6, 00000010b |
pshufd xmm5, xmm6, 00000010b |
89 |
paddusw xmm6, xmm5 |
paddusw xmm6, xmm5 |
90 |
pextrw eax, xmm6, 0 |
pextrw eax, xmm6, 0 |
91 |
|
|
92 |
|
POP_XMM6_XMM7 |
93 |
ret |
ret |
94 |
%endmacro |
%endmacro |
95 |
|
|
121 |
|
|
122 |
|
|
123 |
%macro MEAN16_SSE2_SSE3 1 |
%macro MEAN16_SSE2_SSE3 1 |
124 |
|
PUSH_XMM6_XMM7 |
125 |
mov _EAX, prm1 ; src |
mov _EAX, prm1 ; src |
126 |
mov TMP0, prm2 ; stride |
mov TMP0, prm2 ; stride |
127 |
|
|
161 |
pshufd xmm7, xmm6, 10b |
pshufd xmm7, xmm6, 10b |
162 |
paddusw xmm7, xmm6 |
paddusw xmm7, xmm6 |
163 |
pextrw eax, xmm7, 0 |
pextrw eax, xmm7, 0 |
164 |
|
|
165 |
|
POP_XMM6_XMM7 |
166 |
ret |
ret |
167 |
%endmacro |
%endmacro |
168 |
|
|