OLD | NEW |
1 ; | 1 ; |
2 ; Copyright (c) 2010 The WebM project authors. All Rights Reserved. | 2 ; Copyright (c) 2010 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 |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 ; unsigned long *sum_sq_s, | 54 ; unsigned long *sum_sq_s, |
55 ; unsigned long *sum_sq_r, | 55 ; unsigned long *sum_sq_r, |
56 ; unsigned long *sum_sxr); | 56 ; unsigned long *sum_sxr); |
57 ; | 57 ; |
58 ; TODO: Use parm passing through structure, probably don't need the pxors | 58 ; TODO: Use parm passing through structure, probably don't need the pxors |
59 ; ( calling app will initialize to 0 ) could easily fit everything in sse2 | 59 ; ( calling app will initialize to 0 ) could easily fit everything in sse2 |
60 ; without too much hastle, and can probably do better estimates with psadw | 60 ; without too much hastle, and can probably do better estimates with psadw |
61 ; or pavgb At this point this is just meant to be first pass for calculating | 61 ; or pavgb At this point this is just meant to be first pass for calculating |
62 ; all the parms needed for 16x16 ssim so we can play with dssim as distortion | 62 ; all the parms needed for 16x16 ssim so we can play with dssim as distortion |
63 ; in mode selection code. | 63 ; in mode selection code. |
64 global sym(vp8_ssim_parms_16x16_sse3) | 64 global sym(vp8_ssim_parms_16x16_sse3) PRIVATE |
65 sym(vp8_ssim_parms_16x16_sse3): | 65 sym(vp8_ssim_parms_16x16_sse3): |
66 push rbp | 66 push rbp |
67 mov rbp, rsp | 67 mov rbp, rsp |
68 SHADOW_ARGS_TO_STACK 9 | 68 SHADOW_ARGS_TO_STACK 9 |
69 push rsi | 69 push rsi |
70 push rdi | 70 push rdi |
71 ; end prolog | 71 ; end prolog |
72 | 72 |
73 mov rsi, arg(0) ;s | 73 mov rsi, arg(0) ;s |
74 mov rcx, arg(1) ;sp | 74 mov rcx, arg(1) ;sp |
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
142 ; unsigned long *sum_sq_s, | 142 ; unsigned long *sum_sq_s, |
143 ; unsigned long *sum_sq_r, | 143 ; unsigned long *sum_sq_r, |
144 ; unsigned long *sum_sxr); | 144 ; unsigned long *sum_sxr); |
145 ; | 145 ; |
146 ; TODO: Use parm passing through structure, probably don't need the pxors | 146 ; TODO: Use parm passing through structure, probably don't need the pxors |
147 ; ( calling app will initialize to 0 ) could easily fit everything in sse2 | 147 ; ( calling app will initialize to 0 ) could easily fit everything in sse2 |
148 ; without too much hastle, and can probably do better estimates with psadw | 148 ; without too much hastle, and can probably do better estimates with psadw |
149 ; or pavgb At this point this is just meant to be first pass for calculating | 149 ; or pavgb At this point this is just meant to be first pass for calculating |
150 ; all the parms needed for 16x16 ssim so we can play with dssim as distortion | 150 ; all the parms needed for 16x16 ssim so we can play with dssim as distortion |
151 ; in mode selection code. | 151 ; in mode selection code. |
152 global sym(vp8_ssim_parms_8x8_sse3) | 152 global sym(vp8_ssim_parms_8x8_sse3) PRIVATE |
153 sym(vp8_ssim_parms_8x8_sse3): | 153 sym(vp8_ssim_parms_8x8_sse3): |
154 push rbp | 154 push rbp |
155 mov rbp, rsp | 155 mov rbp, rsp |
156 SHADOW_ARGS_TO_STACK 9 | 156 SHADOW_ARGS_TO_STACK 9 |
157 push rsi | 157 push rsi |
158 push rdi | 158 push rdi |
159 ; end prolog | 159 ; end prolog |
160 | 160 |
161 mov rsi, arg(0) ;s | 161 mov rsi, arg(0) ;s |
162 mov rcx, arg(1) ;sp | 162 mov rcx, arg(1) ;sp |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
206 movq [rdi], xmm12; | 206 movq [rdi], xmm12; |
207 mov rdi,arg(8) | 207 mov rdi,arg(8) |
208 movq [rdi], xmm11; | 208 movq [rdi], xmm11; |
209 | 209 |
210 ; begin epilog | 210 ; begin epilog |
211 pop rdi | 211 pop rdi |
212 pop rsi | 212 pop rsi |
213 UNSHADOW_ARGS | 213 UNSHADOW_ARGS |
214 pop rbp | 214 pop rbp |
215 ret | 215 ret |
OLD | NEW |