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 | 10 |
| 11 %define program_name vpx |
| 12 |
11 %include "third_party/x86inc/x86inc.asm" | 13 %include "third_party/x86inc/x86inc.asm" |
12 | 14 |
13 SECTION .text | 15 SECTION .text |
14 | 16 |
15 ; HIGH_PROCESS_4x2x4 first, off_{first,second}_{src,ref}, advance_at_end | 17 ; HIGH_PROCESS_4x2x4 first, off_{first,second}_{src,ref}, advance_at_end |
16 %macro HIGH_PROCESS_4x2x4 5-6 0 | 18 %macro HIGH_PROCESS_4x2x4 5-6 0 |
17 movh m0, [srcq +%2*2] | 19 movh m0, [srcq +%2*2] |
18 %if %1 == 1 | 20 %if %1 == 1 |
19 movu m4, [ref1q+%3*2] | 21 movu m4, [ref1q+%3*2] |
20 movu m5, [ref2q+%3*2] | 22 movu m5, [ref2q+%3*2] |
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
202 HIGH_PROCESS_16x2x4 %1, %2, %3, (%2 + 16), (%3 + 16) | 204 HIGH_PROCESS_16x2x4 %1, %2, %3, (%2 + 16), (%3 + 16) |
203 HIGH_PROCESS_16x2x4 0, %4, %5, (%4 + 16), (%5 + 16), %6 | 205 HIGH_PROCESS_16x2x4 0, %4, %5, (%4 + 16), (%5 + 16), %6 |
204 %endmacro | 206 %endmacro |
205 | 207 |
206 ; HIGH_PROCESS_64x2x4 first, off_{first,second}_{src,ref}, advance_at_end | 208 ; HIGH_PROCESS_64x2x4 first, off_{first,second}_{src,ref}, advance_at_end |
207 %macro HIGH_PROCESS_64x2x4 5-6 0 | 209 %macro HIGH_PROCESS_64x2x4 5-6 0 |
208 HIGH_PROCESS_32x2x4 %1, %2, %3, (%2 + 32), (%3 + 32) | 210 HIGH_PROCESS_32x2x4 %1, %2, %3, (%2 + 32), (%3 + 32) |
209 HIGH_PROCESS_32x2x4 0, %4, %5, (%4 + 32), (%5 + 32), %6 | 211 HIGH_PROCESS_32x2x4 0, %4, %5, (%4 + 32), (%5 + 32), %6 |
210 %endmacro | 212 %endmacro |
211 | 213 |
212 ; void vp9_highbd_sadNxNx4d_sse2(uint8_t *src, int src_stride, | 214 ; void vpx_highbd_sadNxNx4d_sse2(uint8_t *src, int src_stride, |
213 ; uint8_t *ref[4], int ref_stride, | 215 ; uint8_t *ref[4], int ref_stride, |
214 ; unsigned int res[4]); | 216 ; uint32_t res[4]); |
215 ; where NxN = 64x64, 32x32, 16x16, 16x8, 8x16 or 8x8 | 217 ; where NxN = 64x64, 32x32, 16x16, 16x8, 8x16 or 8x8 |
216 %macro HIGH_SADNXN4D 2 | 218 %macro HIGH_SADNXN4D 2 |
217 %if UNIX64 | 219 %if UNIX64 |
218 cglobal highbd_sad%1x%2x4d, 5, 8, 8, src, src_stride, ref1, ref_stride, \ | 220 cglobal highbd_sad%1x%2x4d, 5, 8, 8, src, src_stride, ref1, ref_stride, \ |
219 res, ref2, ref3, ref4 | 221 res, ref2, ref3, ref4 |
220 %else | 222 %else |
221 cglobal highbd_sad%1x%2x4d, 4, 7, 8, src, src_stride, ref1, ref_stride, \ | 223 cglobal highbd_sad%1x%2x4d, 4, 7, 8, src, src_stride, ref1, ref_stride, \ |
222 ref2, ref3, ref4 | 224 ref2, ref3, ref4 |
223 %endif | 225 %endif |
224 | 226 |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
278 HIGH_SADNXN4D 32, 32 | 280 HIGH_SADNXN4D 32, 32 |
279 HIGH_SADNXN4D 32, 16 | 281 HIGH_SADNXN4D 32, 16 |
280 HIGH_SADNXN4D 16, 32 | 282 HIGH_SADNXN4D 16, 32 |
281 HIGH_SADNXN4D 16, 16 | 283 HIGH_SADNXN4D 16, 16 |
282 HIGH_SADNXN4D 16, 8 | 284 HIGH_SADNXN4D 16, 8 |
283 HIGH_SADNXN4D 8, 16 | 285 HIGH_SADNXN4D 8, 16 |
284 HIGH_SADNXN4D 8, 8 | 286 HIGH_SADNXN4D 8, 8 |
285 HIGH_SADNXN4D 8, 4 | 287 HIGH_SADNXN4D 8, 4 |
286 HIGH_SADNXN4D 4, 8 | 288 HIGH_SADNXN4D 4, 8 |
287 HIGH_SADNXN4D 4, 4 | 289 HIGH_SADNXN4D 4, 4 |
OLD | NEW |