Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(232)

Side by Side Diff: source/libvpx/vp9/common/x86/vp9_mfqe_sse2.asm

Issue 898943004: libvpx: Pull from upstream (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/libvpx.git@master
Patch Set: Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « source/libvpx/vp9/common/vp9_rtcd_defs.pl ('k') | source/libvpx/vp9/decoder/vp9_decodeframe.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 ; 1 ;
2 ; Copyright (c) 2012 The WebM project authors. All Rights Reserved. 2 ; Copyright (c) 2015 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 11 ; This file is a duplicate of mfqe_sse2.asm in VP8.
12 ; TODO(jackychen): Find a way to fix the duplicate.
12 %include "vpx_ports/x86_abi_support.asm" 13 %include "vpx_ports/x86_abi_support.asm"
13 14
14 ;void vp8_filter_by_weight16x16_sse2 15 ;void vp9_filter_by_weight16x16_sse2
15 ;( 16 ;(
16 ; unsigned char *src, 17 ; unsigned char *src,
17 ; int src_stride, 18 ; int src_stride,
18 ; unsigned char *dst, 19 ; unsigned char *dst,
19 ; int dst_stride, 20 ; int dst_stride,
20 ; int src_weight 21 ; int src_weight
21 ;) 22 ;)
22 global sym(vp8_filter_by_weight16x16_sse2) PRIVATE 23 global sym(vp9_filter_by_weight16x16_sse2) PRIVATE
23 sym(vp8_filter_by_weight16x16_sse2): 24 sym(vp9_filter_by_weight16x16_sse2):
24 push rbp 25 push rbp
25 mov rbp, rsp 26 mov rbp, rsp
26 SHADOW_ARGS_TO_STACK 5 27 SHADOW_ARGS_TO_STACK 5
27 SAVE_XMM 6 28 SAVE_XMM 6
28 GET_GOT rbx 29 GET_GOT rbx
29 push rsi 30 push rsi
30 push rdi 31 push rdi
31 ; end prolog 32 ; end prolog
32 33
33 movd xmm0, arg(4) ; src_weight 34 movd xmm0, arg(4) ; src_weight
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 ; begin epilog 83 ; begin epilog
83 pop rdi 84 pop rdi
84 pop rsi 85 pop rsi
85 RESTORE_GOT 86 RESTORE_GOT
86 RESTORE_XMM 87 RESTORE_XMM
87 UNSHADOW_ARGS 88 UNSHADOW_ARGS
88 pop rbp 89 pop rbp
89 90
90 ret 91 ret
91 92
92 ;void vp8_filter_by_weight8x8_sse2 93 ;void vp9_filter_by_weight8x8_sse2
93 ;( 94 ;(
94 ; unsigned char *src, 95 ; unsigned char *src,
95 ; int src_stride, 96 ; int src_stride,
96 ; unsigned char *dst, 97 ; unsigned char *dst,
97 ; int dst_stride, 98 ; int dst_stride,
98 ; int src_weight 99 ; int src_weight
99 ;) 100 ;)
100 global sym(vp8_filter_by_weight8x8_sse2) PRIVATE 101 global sym(vp9_filter_by_weight8x8_sse2) PRIVATE
101 sym(vp8_filter_by_weight8x8_sse2): 102 sym(vp9_filter_by_weight8x8_sse2):
102 push rbp 103 push rbp
103 mov rbp, rsp 104 mov rbp, rsp
104 SHADOW_ARGS_TO_STACK 5 105 SHADOW_ARGS_TO_STACK 5
105 GET_GOT rbx 106 GET_GOT rbx
106 push rsi 107 push rsi
107 push rdi 108 push rdi
108 ; end prolog 109 ; end prolog
109 110
110 movd xmm0, arg(4) ; src_weight 111 movd xmm0, arg(4) ; src_weight
111 pshuflw xmm0, xmm0, 0x0 ; replicate to all low words 112 pshuflw xmm0, xmm0, 0x0 ; replicate to all low words
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 150
150 ; begin epilog 151 ; begin epilog
151 pop rdi 152 pop rdi
152 pop rsi 153 pop rsi
153 RESTORE_GOT 154 RESTORE_GOT
154 UNSHADOW_ARGS 155 UNSHADOW_ARGS
155 pop rbp 156 pop rbp
156 157
157 ret 158 ret
158 159
159 ;void vp8_variance_and_sad_16x16_sse2 | arg 160 ;void vp9_variance_and_sad_16x16_sse2 | arg
160 ;( 161 ;(
161 ; unsigned char *src1, 0 162 ; unsigned char *src1, 0
162 ; int stride1, 1 163 ; int stride1, 1
163 ; unsigned char *src2, 2 164 ; unsigned char *src2, 2
164 ; int stride2, 3 165 ; int stride2, 3
165 ; unsigned int *variance, 4 166 ; unsigned int *variance, 4
166 ; unsigned int *sad, 5 167 ; unsigned int *sad, 5
167 ;) 168 ;)
168 global sym(vp8_variance_and_sad_16x16_sse2) PRIVATE 169 global sym(vp9_variance_and_sad_16x16_sse2) PRIVATE
169 sym(vp8_variance_and_sad_16x16_sse2): 170 sym(vp9_variance_and_sad_16x16_sse2):
170 push rbp 171 push rbp
171 mov rbp, rsp 172 mov rbp, rsp
172 SHADOW_ARGS_TO_STACK 6 173 SHADOW_ARGS_TO_STACK 6
173 GET_GOT rbx 174 GET_GOT rbx
174 push rsi 175 push rsi
175 push rdi 176 push rdi
176 ; end prolog 177 ; end prolog
177 178
178 mov rax, arg(0) ; src1 179 mov rax, arg(0) ; src1
179 mov rcx, arg(1) ; stride1 180 mov rcx, arg(1) ; stride1
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 dq 0, 128 278 dq 0, 128
278 %else 279 %else
279 dq 128, 0 280 dq 128, 0
280 %endif 281 %endif
281 align 16 282 align 16
282 tMFQE: ; 1 << MFQE_PRECISION 283 tMFQE: ; 1 << MFQE_PRECISION
283 times 8 dw 0x10 284 times 8 dw 0x10
284 align 16 285 align 16
285 tMFQE_round: ; 1 << (MFQE_PRECISION - 1) 286 tMFQE_round: ; 1 << (MFQE_PRECISION - 1)
286 times 8 dw 0x08 287 times 8 dw 0x08
287
OLDNEW
« no previous file with comments | « source/libvpx/vp9/common/vp9_rtcd_defs.pl ('k') | source/libvpx/vp9/decoder/vp9_decodeframe.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698