OLD | NEW |
1 ; | 1 ; |
2 ; Copyright (c) 2014 The WebM project authors. All Rights Reserved. | 2 ; Copyright (c) 2014 The WebM project authors. All Rights Reserved. |
3 ; | 3 ; |
4 ; Use of this source code is governed by a BSD-style license | 4 ; Use of this source code is governed by a BSD-style license |
5 ; that can be found in the LICENSE file in the root of the source | 5 ; that can be found in the LICENSE file in the root of the source |
6 ; tree. An additional intellectual property rights grant can be found | 6 ; tree. An additional intellectual property rights grant can be found |
7 ; in the file PATENTS. All contributing project authors may | 7 ; in the file PATENTS. All contributing project authors may |
8 ; be found in the AUTHORS file in the root of the source tree. | 8 ; be found in the AUTHORS file in the root of the source tree. |
9 ; | 9 ; |
10 %include "third_party/x86inc/x86inc.asm" | 10 %include "third_party/x86inc/x86inc.asm" |
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
172 mova [outputq + 0], m0 | 172 mova [outputq + 0], m0 |
173 mova [outputq + 16], m1 | 173 mova [outputq + 16], m1 |
174 mova [outputq + 32], m2 | 174 mova [outputq + 32], m2 |
175 mova [outputq + 48], m3 | 175 mova [outputq + 48], m3 |
176 mova [outputq + 64], m4 | 176 mova [outputq + 64], m4 |
177 mova [outputq + 80], m5 | 177 mova [outputq + 80], m5 |
178 mova [outputq + 96], m6 | 178 mova [outputq + 96], m6 |
179 mova [outputq + 112], m7 | 179 mova [outputq + 112], m7 |
180 | 180 |
181 RET | 181 RET |
| 182 |
| 183 %macro HMD8_1D 0 |
| 184 psubw m8, m0, m1 |
| 185 psubw m9, m2, m3 |
| 186 paddw m0, m1 |
| 187 paddw m2, m3 |
| 188 SWAP 1, 8 |
| 189 SWAP 3, 9 |
| 190 psubw m8, m4, m5 |
| 191 psubw m9, m6, m7 |
| 192 paddw m4, m5 |
| 193 paddw m6, m7 |
| 194 SWAP 5, 8 |
| 195 SWAP 7, 9 |
| 196 |
| 197 psubw m8, m0, m2 |
| 198 psubw m9, m1, m3 |
| 199 paddw m0, m2 |
| 200 paddw m1, m3 |
| 201 SWAP 2, 8 |
| 202 SWAP 3, 9 |
| 203 psubw m8, m4, m6 |
| 204 psubw m9, m5, m7 |
| 205 paddw m4, m6 |
| 206 paddw m5, m7 |
| 207 SWAP 6, 8 |
| 208 SWAP 7, 9 |
| 209 |
| 210 psubw m8, m0, m4 |
| 211 psubw m9, m1, m5 |
| 212 paddw m0, m4 |
| 213 paddw m1, m5 |
| 214 SWAP 4, 8 |
| 215 SWAP 5, 9 |
| 216 psubw m8, m2, m6 |
| 217 psubw m9, m3, m7 |
| 218 paddw m2, m6 |
| 219 paddw m3, m7 |
| 220 SWAP 6, 8 |
| 221 SWAP 7, 9 |
| 222 %endmacro |
| 223 |
| 224 INIT_XMM ssse3 |
| 225 cglobal hadamard_8x8, 3, 5, 10, input, stride, output |
| 226 lea r3, [2 * strideq] |
| 227 lea r4, [4 * strideq] |
| 228 |
| 229 mova m0, [inputq] |
| 230 mova m1, [inputq + r3] |
| 231 lea inputq, [inputq + r4] |
| 232 mova m2, [inputq] |
| 233 mova m3, [inputq + r3] |
| 234 lea inputq, [inputq + r4] |
| 235 mova m4, [inputq] |
| 236 mova m5, [inputq + r3] |
| 237 lea inputq, [inputq + r4] |
| 238 mova m6, [inputq] |
| 239 mova m7, [inputq + r3] |
| 240 |
| 241 HMD8_1D |
| 242 TRANSPOSE8X8 0, 1, 2, 3, 4, 5, 6, 7, 9 |
| 243 HMD8_1D |
| 244 |
| 245 mova [outputq + 0], m0 |
| 246 mova [outputq + 16], m1 |
| 247 mova [outputq + 32], m2 |
| 248 mova [outputq + 48], m3 |
| 249 mova [outputq + 64], m4 |
| 250 mova [outputq + 80], m5 |
| 251 mova [outputq + 96], m6 |
| 252 mova [outputq + 112], m7 |
| 253 |
| 254 RET |
182 %endif | 255 %endif |
OLD | NEW |