Mercurial > libavcodec.hg
comparison x86/x86util.asm @ 12144:846779f6b164 libavcodec
MMX/SSE VC1 loop filter
author | conrad |
---|---|
date | Sun, 11 Jul 2010 22:53:01 +0000 |
parents | d780ae746855 |
children | c997f09d1e10 |
comparison
equal
deleted
inserted
replaced
12143:fa452b243aa6 | 12144:846779f6b164 |
---|---|
117 movdqa m%5, %10 | 117 movdqa m%5, %10 |
118 %endif | 118 %endif |
119 %endif | 119 %endif |
120 %endmacro | 120 %endmacro |
121 | 121 |
122 ; PABSW macros assume %1 != %2, while ABS1/2 macros work in-place | |
123 %macro PABSW_MMX 2 | |
124 pxor %1, %1 | |
125 pcmpgtw %1, %2 | |
126 pxor %2, %1 | |
127 psubw %2, %1 | |
128 SWAP %1, %2 | |
129 %endmacro | |
130 | |
131 %macro PSIGNW_MMX 2 | |
132 pxor %1, %2 | |
133 psubw %1, %2 | |
134 %endmacro | |
135 | |
136 %macro PABSW_MMX2 2 | |
137 pxor %1, %1 | |
138 psubw %1, %2 | |
139 pmaxsw %1, %2 | |
140 %endmacro | |
141 | |
142 %macro PABSW_SSSE3 2 | |
143 pabsw %1, %2 | |
144 %endmacro | |
145 | |
146 %macro PSIGNW_SSSE3 2 | |
147 psignw %1, %2 | |
148 %endmacro | |
149 | |
122 %macro ABS1_MMX 2 ; a, tmp | 150 %macro ABS1_MMX 2 ; a, tmp |
123 pxor %2, %2 | 151 pxor %2, %2 |
124 psubw %2, %1 | 152 psubw %2, %1 |
125 pmaxsw %1, %2 | 153 pmaxsw %1, %2 |
126 %endmacro | 154 %endmacro |