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

Side by Side Diff: source/libvpx/vp8/encoder/arm/neon/vp8_mse16x16_neon.asm

Issue 7671004: Update libvpx snapshot to v0.9.7-p1 (Cayuga). (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/libvpx/
Patch Set: '' Created 9 years, 4 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 | Annotate | Revision Log
OLDNEW
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
11 11
12 EXPORT |vp8_mse16x16_neon| 12 EXPORT |vp8_mse16x16_neon|
13 EXPORT |vp8_get16x16pred_error_neon|
14 EXPORT |vp8_get4x4sse_cs_neon| 13 EXPORT |vp8_get4x4sse_cs_neon|
15 14
16 ARM 15 ARM
17 REQUIRE8 16 REQUIRE8
18 PRESERVE8 17 PRESERVE8
19 18
20 AREA ||.text||, CODE, READONLY, ALIGN=2 19 AREA ||.text||, CODE, READONLY, ALIGN=2
21 ;============================ 20 ;============================
22 ; r0 unsigned char *src_ptr 21 ; r0 unsigned char *src_ptr
23 ; r1 int source_stride 22 ; r1 int source_stride
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 vpaddl.u32 q1, q10 68 vpaddl.u32 q1, q10
70 vadd.u64 d0, d2, d3 69 vadd.u64 d0, d2, d3
71 70
72 vst1.32 {d0[0]}, [r12] 71 vst1.32 {d0[0]}, [r12]
73 vmov.32 r0, d0[0] 72 vmov.32 r0, d0[0]
74 73
75 bx lr 74 bx lr
76 75
77 ENDP 76 ENDP
78 77
79 ;============================
80 ; r0 unsigned char *src_ptr
81 ; r1 int src_stride
82 ; r2 unsigned char *ref_ptr
83 ; r3 int ref_stride
84 |vp8_get16x16pred_error_neon| PROC
85 vmov.i8 q8, #0 ;q8 - sum
86 vmov.i8 q9, #0 ;q9, q10 - pred_error
87 vmov.i8 q10, #0
88
89 mov r12, #8
90
91 get16x16pred_error_neon_loop
92 vld1.8 {q0}, [r0], r1 ;Load up source and reference
93 vld1.8 {q2}, [r2], r3
94 vld1.8 {q1}, [r0], r1
95 vld1.8 {q3}, [r2], r3
96
97 vsubl.u8 q11, d0, d4
98 vsubl.u8 q12, d1, d5
99 vsubl.u8 q13, d2, d6
100 vsubl.u8 q14, d3, d7
101
102 vpadal.s16 q8, q11
103 vmlal.s16 q9, d22, d22
104 vmlal.s16 q10, d23, d23
105
106 subs r12, r12, #1
107
108 vpadal.s16 q8, q12
109 vmlal.s16 q9, d24, d24
110 vmlal.s16 q10, d25, d25
111 vpadal.s16 q8, q13
112 vmlal.s16 q9, d26, d26
113 vmlal.s16 q10, d27, d27
114 vpadal.s16 q8, q14
115 vmlal.s16 q9, d28, d28
116 vmlal.s16 q10, d29, d29
117
118 bne get16x16pred_error_neon_loop
119
120 vadd.u32 q10, q9, q10
121 vpaddl.s32 q0, q8
122
123 vpaddl.u32 q1, q10
124 vadd.s64 d0, d0, d1
125 vadd.u64 d1, d2, d3
126
127 vmull.s32 q5, d0, d0
128 vshr.s32 d10, d10, #8
129 vsub.s32 d0, d1, d10
130
131 vmov.32 r0, d0[0]
132 bx lr
133
134 ENDP
135 78
136 ;============================= 79 ;=============================
137 ; r0 unsigned char *src_ptr, 80 ; r0 unsigned char *src_ptr,
138 ; r1 int source_stride, 81 ; r1 int source_stride,
139 ; r2 unsigned char *ref_ptr, 82 ; r2 unsigned char *ref_ptr,
140 ; r3 int recon_stride 83 ; r3 int recon_stride
141 |vp8_get4x4sse_cs_neon| PROC 84 |vp8_get4x4sse_cs_neon| PROC
142 vld1.8 {d0}, [r0], r1 ;Load up source and reference 85 vld1.8 {d0}, [r0], r1 ;Load up source and reference
143 vld1.8 {d4}, [r2], r3 86 vld1.8 {d4}, [r2], r3
144 vld1.8 {d1}, [r0], r1 87 vld1.8 {d1}, [r0], r1
(...skipping 19 matching lines...) Expand all
164 107
165 vpaddl.u32 q1, q9 108 vpaddl.u32 q1, q9
166 vadd.u64 d0, d2, d3 109 vadd.u64 d0, d2, d3
167 110
168 vmov.32 r0, d0[0] 111 vmov.32 r0, d0[0]
169 bx lr 112 bx lr
170 113
171 ENDP 114 ENDP
172 115
173 END 116 END
OLDNEW
« no previous file with comments | « source/libvpx/vp8/encoder/arm/neon/fastquantizeb_neon.asm ('k') | source/libvpx/vp8/encoder/arm/quantize_arm.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698