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 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
239 pop rbp | 239 pop rbp |
240 ret | 240 ret |
241 %undef flimit2 | 241 %undef flimit2 |
242 | 242 |
243 | 243 |
244 ;void vp8_plane_add_noise_mmx (unsigned char *Start, unsigned char *noise, | 244 ;void vp8_plane_add_noise_mmx (unsigned char *Start, unsigned char *noise, |
245 ; unsigned char blackclamp[16], | 245 ; unsigned char blackclamp[16], |
246 ; unsigned char whiteclamp[16], | 246 ; unsigned char whiteclamp[16], |
247 ; unsigned char bothclamp[16], | 247 ; unsigned char bothclamp[16], |
248 ; unsigned int Width, unsigned int Height, int Pitch) | 248 ; unsigned int Width, unsigned int Height, int Pitch) |
249 extern sym(rand) | |
250 global sym(vp8_plane_add_noise_mmx) PRIVATE | 249 global sym(vp8_plane_add_noise_mmx) PRIVATE |
251 sym(vp8_plane_add_noise_mmx): | 250 sym(vp8_plane_add_noise_mmx): |
252 push rbp | 251 push rbp |
253 mov rbp, rsp | 252 mov rbp, rsp |
254 SHADOW_ARGS_TO_STACK 8 | 253 SHADOW_ARGS_TO_STACK 8 |
255 GET_GOT rbx | 254 GET_GOT rbx |
256 push rsi | 255 push rsi |
257 push rdi | 256 push rdi |
258 ; end prolog | 257 ; end prolog |
259 | 258 |
260 .addnoise_loop: | 259 .addnoise_loop: |
261 call sym(rand) WRT_PLT | 260 call sym(LIBVPX_RAND) WRT_PLT |
262 mov rcx, arg(1) ;noise | 261 mov rcx, arg(1) ;noise |
263 and rax, 0xff | 262 and rax, 0xff |
264 add rcx, rax | 263 add rcx, rax |
265 | 264 |
266 ; we rely on the fact that the clamping vectors are stored contiguously | 265 ; we rely on the fact that the clamping vectors are stored contiguously |
267 ; in black/white/both order. Note that we have to reload this here because | 266 ; in black/white/both order. Note that we have to reload this here because |
268 ; rdx could be trashed by rand() | 267 ; rdx could be trashed by rand() |
269 mov rdx, arg(2) ; blackclamp | 268 mov rdx, arg(2) ; blackclamp |
270 | 269 |
271 | 270 |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
307 SECTION_RODATA | 306 SECTION_RODATA |
308 align 16 | 307 align 16 |
309 Blur: | 308 Blur: |
310 times 16 dw 16 | 309 times 16 dw 16 |
311 times 8 dw 64 | 310 times 8 dw 64 |
312 times 16 dw 16 | 311 times 16 dw 16 |
313 times 8 dw 0 | 312 times 8 dw 0 |
314 | 313 |
315 rd: | 314 rd: |
316 times 4 dw 0x40 | 315 times 4 dw 0x40 |
OLD | NEW |