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

Side by Side Diff: source/libvpx/vp9/encoder/vp9_sad_c.c

Issue 11974002: libvpx: Pull from upstream (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/libvpx/
Patch Set: Created 7 years, 11 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
« no previous file with comments | « source/libvpx/vp9/encoder/vp9_rdopt.c ('k') | source/libvpx/vp9/encoder/vp9_satd_c.c » ('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) 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 #include <stdlib.h> 12 #include <stdlib.h>
13 #include "vp9/common/vp9_sadmxn.h" 13 #include "vp9/common/vp9_sadmxn.h"
14 #include "vpx_ports/config.h" 14 #include "./vpx_config.h"
15 #include "vpx/vpx_integer.h" 15 #include "vpx/vpx_integer.h"
16 16
17 unsigned int vp9_sad32x32_c(const unsigned char *src_ptr, 17 unsigned int vp9_sad64x64_c(const uint8_t *src_ptr,
18 int src_stride, 18 int src_stride,
19 const unsigned char *ref_ptr, 19 const uint8_t *ref_ptr,
20 int ref_stride,
21 int max_sad) {
22 return sad_mx_n_c(src_ptr, src_stride, ref_ptr, ref_stride, 64, 64);
23 }
24
25 unsigned int vp9_sad32x32_c(const uint8_t *src_ptr,
26 int src_stride,
27 const uint8_t *ref_ptr,
20 int ref_stride, 28 int ref_stride,
21 int max_sad) { 29 int max_sad) {
22 return sad_mx_n_c(src_ptr, src_stride, ref_ptr, ref_stride, 32, 32); 30 return sad_mx_n_c(src_ptr, src_stride, ref_ptr, ref_stride, 32, 32);
23 } 31 }
24 32
25 unsigned int vp9_sad16x16_c(const unsigned char *src_ptr, 33 unsigned int vp9_sad16x16_c(const uint8_t *src_ptr,
26 int src_stride, 34 int src_stride,
27 const unsigned char *ref_ptr, 35 const uint8_t *ref_ptr,
28 int ref_stride, 36 int ref_stride,
29 int max_sad) { 37 int max_sad) {
30 return sad_mx_n_c(src_ptr, src_stride, ref_ptr, ref_stride, 16, 16); 38 return sad_mx_n_c(src_ptr, src_stride, ref_ptr, ref_stride, 16, 16);
31 } 39 }
32 40
33 unsigned int vp9_sad8x8_c(const unsigned char *src_ptr, 41 unsigned int vp9_sad8x8_c(const uint8_t *src_ptr,
34 int src_stride, 42 int src_stride,
35 const unsigned char *ref_ptr, 43 const uint8_t *ref_ptr,
36 int ref_stride, 44 int ref_stride,
37 int max_sad) { 45 int max_sad) {
38 return sad_mx_n_c(src_ptr, src_stride, ref_ptr, ref_stride, 8, 8); 46 return sad_mx_n_c(src_ptr, src_stride, ref_ptr, ref_stride, 8, 8);
39 } 47 }
40 48
41 49
42 unsigned int vp9_sad16x8_c(const unsigned char *src_ptr, 50 unsigned int vp9_sad16x8_c(const uint8_t *src_ptr,
43 int src_stride, 51 int src_stride,
44 const unsigned char *ref_ptr, 52 const uint8_t *ref_ptr,
45 int ref_stride, 53 int ref_stride,
46 int max_sad) { 54 int max_sad) {
47 return sad_mx_n_c(src_ptr, src_stride, ref_ptr, ref_stride, 16, 8); 55 return sad_mx_n_c(src_ptr, src_stride, ref_ptr, ref_stride, 16, 8);
48 } 56 }
49 57
50 unsigned int vp9_sad8x16_c(const unsigned char *src_ptr, 58 unsigned int vp9_sad8x16_c(const uint8_t *src_ptr,
51 int src_stride, 59 int src_stride,
52 const unsigned char *ref_ptr, 60 const uint8_t *ref_ptr,
53 int ref_stride, 61 int ref_stride,
54 int max_sad) { 62 int max_sad) {
55 return sad_mx_n_c(src_ptr, src_stride, ref_ptr, ref_stride, 8, 16); 63 return sad_mx_n_c(src_ptr, src_stride, ref_ptr, ref_stride, 8, 16);
56 } 64 }
57 65
58 66
59 unsigned int vp9_sad4x4_c(const unsigned char *src_ptr, 67 unsigned int vp9_sad4x4_c(const uint8_t *src_ptr,
60 int src_stride, 68 int src_stride,
61 const unsigned char *ref_ptr, 69 const uint8_t *ref_ptr,
62 int ref_stride, 70 int ref_stride,
63 int max_sad) { 71 int max_sad) {
64 return sad_mx_n_c(src_ptr, src_stride, ref_ptr, ref_stride, 4, 4); 72 return sad_mx_n_c(src_ptr, src_stride, ref_ptr, ref_stride, 4, 4);
65 } 73 }
66 74
67 void vp9_sad32x32x3_c(const unsigned char *src_ptr, 75 void vp9_sad64x64x3_c(const uint8_t *src_ptr,
68 int src_stride, 76 int src_stride,
69 const unsigned char *ref_ptr, 77 const uint8_t *ref_ptr,
70 int ref_stride, 78 int ref_stride,
71 unsigned int *sad_array 79 unsigned int *sad_array) {
72 ) { 80 sad_array[0] = vp9_sad64x64_c(src_ptr, src_stride,
81 ref_ptr, ref_stride, 0x7fffffff);
82 sad_array[1] = vp9_sad64x64_c(src_ptr, src_stride,
83 ref_ptr + 1, ref_stride, 0x7fffffff);
84 sad_array[2] = vp9_sad64x64_c(src_ptr, src_stride,
85 ref_ptr + 2, ref_stride, 0x7fffffff);
86 }
87
88 void vp9_sad32x32x3_c(const uint8_t *src_ptr,
89 int src_stride,
90 const uint8_t *ref_ptr,
91 int ref_stride,
92 unsigned int *sad_array) {
73 sad_array[0] = vp9_sad32x32_c(src_ptr, src_stride, 93 sad_array[0] = vp9_sad32x32_c(src_ptr, src_stride,
74 ref_ptr, ref_stride, 0x7fffffff); 94 ref_ptr, ref_stride, 0x7fffffff);
75 sad_array[1] = vp9_sad32x32_c(src_ptr, src_stride, 95 sad_array[1] = vp9_sad32x32_c(src_ptr, src_stride,
76 ref_ptr + 1, ref_stride, 0x7fffffff); 96 ref_ptr + 1, ref_stride, 0x7fffffff);
77 sad_array[2] = vp9_sad32x32_c(src_ptr, src_stride, 97 sad_array[2] = vp9_sad32x32_c(src_ptr, src_stride,
78 ref_ptr + 2, ref_stride, 0x7fffffff); 98 ref_ptr + 2, ref_stride, 0x7fffffff);
79 } 99 }
80 100
81 void vp9_sad32x32x8_c(const unsigned char *src_ptr, 101 void vp9_sad64x64x8_c(const uint8_t *src_ptr,
82 int src_stride, 102 int src_stride,
83 const unsigned char *ref_ptr, 103 const uint8_t *ref_ptr,
84 int ref_stride, 104 int ref_stride,
85 unsigned short *sad_array 105 uint16_t *sad_array) {
86 ) { 106 sad_array[0] = (uint16_t)vp9_sad64x64_c(src_ptr, src_stride,
87 sad_array[0] = (unsigned short)vp9_sad32x32_c(src_ptr, src_stride, 107 ref_ptr, ref_stride,
88 ref_ptr, ref_stride, 108 0x7fffffff);
89 0x7fffffff); 109 sad_array[1] = (uint16_t)vp9_sad64x64_c(src_ptr, src_stride,
90 sad_array[1] = (unsigned short)vp9_sad32x32_c(src_ptr, src_stride, 110 ref_ptr + 1, ref_stride,
91 ref_ptr + 1, ref_stride, 111 0x7fffffff);
92 0x7fffffff); 112 sad_array[2] = (uint16_t)vp9_sad64x64_c(src_ptr, src_stride,
93 sad_array[2] = (unsigned short)vp9_sad32x32_c(src_ptr, src_stride, 113 ref_ptr + 2, ref_stride,
94 ref_ptr + 2, ref_stride, 114 0x7fffffff);
95 0x7fffffff); 115 sad_array[3] = (uint16_t)vp9_sad64x64_c(src_ptr, src_stride,
96 sad_array[3] = (unsigned short)vp9_sad32x32_c(src_ptr, src_stride, 116 ref_ptr + 3, ref_stride,
97 ref_ptr + 3, ref_stride, 117 0x7fffffff);
98 0x7fffffff); 118 sad_array[4] = (uint16_t)vp9_sad64x64_c(src_ptr, src_stride,
99 sad_array[4] = (unsigned short)vp9_sad32x32_c(src_ptr, src_stride, 119 ref_ptr + 4, ref_stride,
100 ref_ptr + 4, ref_stride, 120 0x7fffffff);
101 0x7fffffff); 121 sad_array[5] = (uint16_t)vp9_sad64x64_c(src_ptr, src_stride,
102 sad_array[5] = (unsigned short)vp9_sad32x32_c(src_ptr, src_stride, 122 ref_ptr + 5, ref_stride,
103 ref_ptr + 5, ref_stride, 123 0x7fffffff);
104 0x7fffffff); 124 sad_array[6] = (uint16_t)vp9_sad64x64_c(src_ptr, src_stride,
105 sad_array[6] = (unsigned short)vp9_sad32x32_c(src_ptr, src_stride, 125 ref_ptr + 6, ref_stride,
106 ref_ptr + 6, ref_stride, 126 0x7fffffff);
107 0x7fffffff); 127 sad_array[7] = (uint16_t)vp9_sad64x64_c(src_ptr, src_stride,
108 sad_array[7] = (unsigned short)vp9_sad32x32_c(src_ptr, src_stride, 128 ref_ptr + 7, ref_stride,
109 ref_ptr + 7, ref_stride, 129 0x7fffffff);
110 0x7fffffff);
111 } 130 }
112 131
113 void vp9_sad16x16x3_c(const unsigned char *src_ptr, 132 void vp9_sad32x32x8_c(const uint8_t *src_ptr,
114 int src_stride, 133 int src_stride,
115 const unsigned char *ref_ptr, 134 const uint8_t *ref_ptr,
135 int ref_stride,
136 uint16_t *sad_array) {
137 sad_array[0] = (uint16_t)vp9_sad32x32_c(src_ptr, src_stride,
138 ref_ptr, ref_stride,
139 0x7fffffff);
140 sad_array[1] = (uint16_t)vp9_sad32x32_c(src_ptr, src_stride,
141 ref_ptr + 1, ref_stride,
142 0x7fffffff);
143 sad_array[2] = (uint16_t)vp9_sad32x32_c(src_ptr, src_stride,
144 ref_ptr + 2, ref_stride,
145 0x7fffffff);
146 sad_array[3] = (uint16_t)vp9_sad32x32_c(src_ptr, src_stride,
147 ref_ptr + 3, ref_stride,
148 0x7fffffff);
149 sad_array[4] = (uint16_t)vp9_sad32x32_c(src_ptr, src_stride,
150 ref_ptr + 4, ref_stride,
151 0x7fffffff);
152 sad_array[5] = (uint16_t)vp9_sad32x32_c(src_ptr, src_stride,
153 ref_ptr + 5, ref_stride,
154 0x7fffffff);
155 sad_array[6] = (uint16_t)vp9_sad32x32_c(src_ptr, src_stride,
156 ref_ptr + 6, ref_stride,
157 0x7fffffff);
158 sad_array[7] = (uint16_t)vp9_sad32x32_c(src_ptr, src_stride,
159 ref_ptr + 7, ref_stride,
160 0x7fffffff);
161 }
162
163 void vp9_sad16x16x3_c(const uint8_t *src_ptr,
164 int src_stride,
165 const uint8_t *ref_ptr,
116 int ref_stride, 166 int ref_stride,
117 unsigned int *sad_array) { 167 unsigned int *sad_array) {
118 sad_array[0] = vp9_sad16x16_c(src_ptr, src_stride, 168 sad_array[0] = vp9_sad16x16_c(src_ptr, src_stride,
119 ref_ptr, ref_stride, 0x7fffffff); 169 ref_ptr, ref_stride, 0x7fffffff);
120 sad_array[1] = vp9_sad16x16_c(src_ptr, src_stride, 170 sad_array[1] = vp9_sad16x16_c(src_ptr, src_stride,
121 ref_ptr + 1, ref_stride, 0x7fffffff); 171 ref_ptr + 1, ref_stride, 0x7fffffff);
122 sad_array[2] = vp9_sad16x16_c(src_ptr, src_stride, 172 sad_array[2] = vp9_sad16x16_c(src_ptr, src_stride,
123 ref_ptr + 2, ref_stride, 0x7fffffff); 173 ref_ptr + 2, ref_stride, 0x7fffffff);
124 } 174 }
125 175
126 void vp9_sad16x16x8_c(const unsigned char *src_ptr, 176 void vp9_sad16x16x8_c(const uint8_t *src_ptr,
127 int src_stride, 177 int src_stride,
128 const unsigned char *ref_ptr, 178 const uint8_t *ref_ptr,
129 int ref_stride, 179 int ref_stride,
130 unsigned short *sad_array) { 180 uint16_t *sad_array) {
131 sad_array[0] = (unsigned short)vp9_sad16x16_c(src_ptr, src_stride, 181 sad_array[0] = (uint16_t)vp9_sad16x16_c(src_ptr, src_stride,
132 ref_ptr, ref_stride, 182 ref_ptr, ref_stride,
133 0x7fffffff); 183 0x7fffffff);
134 sad_array[1] = (unsigned short)vp9_sad16x16_c(src_ptr, src_stride, 184 sad_array[1] = (uint16_t)vp9_sad16x16_c(src_ptr, src_stride,
135 ref_ptr + 1, ref_stride, 185 ref_ptr + 1, ref_stride,
136 0x7fffffff); 186 0x7fffffff);
137 sad_array[2] = (unsigned short)vp9_sad16x16_c(src_ptr, src_stride, 187 sad_array[2] = (uint16_t)vp9_sad16x16_c(src_ptr, src_stride,
138 ref_ptr + 2, ref_stride, 188 ref_ptr + 2, ref_stride,
139 0x7fffffff); 189 0x7fffffff);
140 sad_array[3] = (unsigned short)vp9_sad16x16_c(src_ptr, src_stride, 190 sad_array[3] = (uint16_t)vp9_sad16x16_c(src_ptr, src_stride,
141 ref_ptr + 3, ref_stride, 191 ref_ptr + 3, ref_stride,
142 0x7fffffff); 192 0x7fffffff);
143 sad_array[4] = (unsigned short)vp9_sad16x16_c(src_ptr, src_stride, 193 sad_array[4] = (uint16_t)vp9_sad16x16_c(src_ptr, src_stride,
144 ref_ptr + 4, ref_stride, 194 ref_ptr + 4, ref_stride,
145 0x7fffffff); 195 0x7fffffff);
146 sad_array[5] = (unsigned short)vp9_sad16x16_c(src_ptr, src_stride, 196 sad_array[5] = (uint16_t)vp9_sad16x16_c(src_ptr, src_stride,
147 ref_ptr + 5, ref_stride, 197 ref_ptr + 5, ref_stride,
148 0x7fffffff); 198 0x7fffffff);
149 sad_array[6] = (unsigned short)vp9_sad16x16_c(src_ptr, src_stride, 199 sad_array[6] = (uint16_t)vp9_sad16x16_c(src_ptr, src_stride,
150 ref_ptr + 6, ref_stride, 200 ref_ptr + 6, ref_stride,
151 0x7fffffff); 201 0x7fffffff);
152 sad_array[7] = (unsigned short)vp9_sad16x16_c(src_ptr, src_stride, 202 sad_array[7] = (uint16_t)vp9_sad16x16_c(src_ptr, src_stride,
153 ref_ptr + 7, ref_stride, 203 ref_ptr + 7, ref_stride,
154 0x7fffffff); 204 0x7fffffff);
155 } 205 }
156 206
157 void vp9_sad16x8x3_c(const unsigned char *src_ptr, 207 void vp9_sad16x8x3_c(const uint8_t *src_ptr,
158 int src_stride, 208 int src_stride,
159 const unsigned char *ref_ptr, 209 const uint8_t *ref_ptr,
160 int ref_stride, 210 int ref_stride,
161 unsigned int *sad_array) { 211 unsigned int *sad_array) {
162 sad_array[0] = vp9_sad16x8_c(src_ptr, src_stride, 212 sad_array[0] = vp9_sad16x8_c(src_ptr, src_stride,
163 ref_ptr, ref_stride, 0x7fffffff); 213 ref_ptr, ref_stride, 0x7fffffff);
164 sad_array[1] = vp9_sad16x8_c(src_ptr, src_stride, 214 sad_array[1] = vp9_sad16x8_c(src_ptr, src_stride,
165 ref_ptr + 1, ref_stride, 0x7fffffff); 215 ref_ptr + 1, ref_stride, 0x7fffffff);
166 sad_array[2] = vp9_sad16x8_c(src_ptr, src_stride, 216 sad_array[2] = vp9_sad16x8_c(src_ptr, src_stride,
167 ref_ptr + 2, ref_stride, 0x7fffffff); 217 ref_ptr + 2, ref_stride, 0x7fffffff);
168 } 218 }
169 219
170 void vp9_sad16x8x8_c(const unsigned char *src_ptr, 220 void vp9_sad16x8x8_c(const uint8_t *src_ptr,
171 int src_stride, 221 int src_stride,
172 const unsigned char *ref_ptr, 222 const uint8_t *ref_ptr,
173 int ref_stride, 223 int ref_stride,
174 unsigned short *sad_array) { 224 uint16_t *sad_array) {
175 sad_array[0] = (unsigned short)vp9_sad16x8_c(src_ptr, src_stride, 225 sad_array[0] = (uint16_t)vp9_sad16x8_c(src_ptr, src_stride,
176 ref_ptr, ref_stride, 226 ref_ptr, ref_stride,
177 0x7fffffff); 227 0x7fffffff);
178 sad_array[1] = (unsigned short)vp9_sad16x8_c(src_ptr, src_stride, 228 sad_array[1] = (uint16_t)vp9_sad16x8_c(src_ptr, src_stride,
179 ref_ptr + 1, ref_stride, 229 ref_ptr + 1, ref_stride,
180 0x7fffffff); 230 0x7fffffff);
181 sad_array[2] = (unsigned short)vp9_sad16x8_c(src_ptr, src_stride, 231 sad_array[2] = (uint16_t)vp9_sad16x8_c(src_ptr, src_stride,
182 ref_ptr + 2, ref_stride, 232 ref_ptr + 2, ref_stride,
183 0x7fffffff); 233 0x7fffffff);
184 sad_array[3] = (unsigned short)vp9_sad16x8_c(src_ptr, src_stride, 234 sad_array[3] = (uint16_t)vp9_sad16x8_c(src_ptr, src_stride,
185 ref_ptr + 3, ref_stride, 235 ref_ptr + 3, ref_stride,
186 0x7fffffff); 236 0x7fffffff);
187 sad_array[4] = (unsigned short)vp9_sad16x8_c(src_ptr, src_stride, 237 sad_array[4] = (uint16_t)vp9_sad16x8_c(src_ptr, src_stride,
188 ref_ptr + 4, ref_stride, 238 ref_ptr + 4, ref_stride,
189 0x7fffffff); 239 0x7fffffff);
190 sad_array[5] = (unsigned short)vp9_sad16x8_c(src_ptr, src_stride, 240 sad_array[5] = (uint16_t)vp9_sad16x8_c(src_ptr, src_stride,
191 ref_ptr + 5, ref_stride, 241 ref_ptr + 5, ref_stride,
192 0x7fffffff); 242 0x7fffffff);
193 sad_array[6] = (unsigned short)vp9_sad16x8_c(src_ptr, src_stride, 243 sad_array[6] = (uint16_t)vp9_sad16x8_c(src_ptr, src_stride,
194 ref_ptr + 6, ref_stride, 244 ref_ptr + 6, ref_stride,
195 0x7fffffff); 245 0x7fffffff);
196 sad_array[7] = (unsigned short)vp9_sad16x8_c(src_ptr, src_stride, 246 sad_array[7] = (uint16_t)vp9_sad16x8_c(src_ptr, src_stride,
197 ref_ptr + 7, ref_stride, 247 ref_ptr + 7, ref_stride,
198 0x7fffffff); 248 0x7fffffff);
199 } 249 }
200 250
201 void vp9_sad8x8x3_c(const unsigned char *src_ptr, 251 void vp9_sad8x8x3_c(const uint8_t *src_ptr,
202 int src_stride, 252 int src_stride,
203 const unsigned char *ref_ptr, 253 const uint8_t *ref_ptr,
204 int ref_stride, 254 int ref_stride,
205 unsigned int *sad_array) { 255 unsigned int *sad_array) {
206 sad_array[0] = vp9_sad8x8_c(src_ptr, src_stride, 256 sad_array[0] = vp9_sad8x8_c(src_ptr, src_stride,
207 ref_ptr, ref_stride, 0x7fffffff); 257 ref_ptr, ref_stride, 0x7fffffff);
208 sad_array[1] = vp9_sad8x8_c(src_ptr, src_stride, 258 sad_array[1] = vp9_sad8x8_c(src_ptr, src_stride,
209 ref_ptr + 1, ref_stride, 0x7fffffff); 259 ref_ptr + 1, ref_stride, 0x7fffffff);
210 sad_array[2] = vp9_sad8x8_c(src_ptr, src_stride, 260 sad_array[2] = vp9_sad8x8_c(src_ptr, src_stride,
211 ref_ptr + 2, ref_stride, 0x7fffffff); 261 ref_ptr + 2, ref_stride, 0x7fffffff);
212 } 262 }
213 263
214 void vp9_sad8x8x8_c(const unsigned char *src_ptr, 264 void vp9_sad8x8x8_c(const uint8_t *src_ptr,
215 int src_stride, 265 int src_stride,
216 const unsigned char *ref_ptr, 266 const uint8_t *ref_ptr,
217 int ref_stride, 267 int ref_stride,
218 unsigned short *sad_array) { 268 uint16_t *sad_array) {
219 sad_array[0] = (unsigned short)vp9_sad8x8_c(src_ptr, src_stride, 269 sad_array[0] = (uint16_t)vp9_sad8x8_c(src_ptr, src_stride,
220 ref_ptr, ref_stride, 270 ref_ptr, ref_stride,
221 0x7fffffff); 271 0x7fffffff);
222 sad_array[1] = (unsigned short)vp9_sad8x8_c(src_ptr, src_stride, 272 sad_array[1] = (uint16_t)vp9_sad8x8_c(src_ptr, src_stride,
223 ref_ptr + 1, ref_stride, 273 ref_ptr + 1, ref_stride,
224 0x7fffffff); 274 0x7fffffff);
225 sad_array[2] = (unsigned short)vp9_sad8x8_c(src_ptr, src_stride, 275 sad_array[2] = (uint16_t)vp9_sad8x8_c(src_ptr, src_stride,
226 ref_ptr + 2, ref_stride, 276 ref_ptr + 2, ref_stride,
227 0x7fffffff); 277 0x7fffffff);
228 sad_array[3] = (unsigned short)vp9_sad8x8_c(src_ptr, src_stride, 278 sad_array[3] = (uint16_t)vp9_sad8x8_c(src_ptr, src_stride,
229 ref_ptr + 3, ref_stride, 279 ref_ptr + 3, ref_stride,
230 0x7fffffff); 280 0x7fffffff);
231 sad_array[4] = (unsigned short)vp9_sad8x8_c(src_ptr, src_stride, 281 sad_array[4] = (uint16_t)vp9_sad8x8_c(src_ptr, src_stride,
232 ref_ptr + 4, ref_stride, 282 ref_ptr + 4, ref_stride,
233 0x7fffffff); 283 0x7fffffff);
234 sad_array[5] = (unsigned short)vp9_sad8x8_c(src_ptr, src_stride, 284 sad_array[5] = (uint16_t)vp9_sad8x8_c(src_ptr, src_stride,
235 ref_ptr + 5, ref_stride, 285 ref_ptr + 5, ref_stride,
236 0x7fffffff); 286 0x7fffffff);
237 sad_array[6] = (unsigned short)vp9_sad8x8_c(src_ptr, src_stride, 287 sad_array[6] = (uint16_t)vp9_sad8x8_c(src_ptr, src_stride,
238 ref_ptr + 6, ref_stride, 288 ref_ptr + 6, ref_stride,
239 0x7fffffff); 289 0x7fffffff);
240 sad_array[7] = (unsigned short)vp9_sad8x8_c(src_ptr, src_stride, 290 sad_array[7] = (uint16_t)vp9_sad8x8_c(src_ptr, src_stride,
241 ref_ptr + 7, ref_stride, 291 ref_ptr + 7, ref_stride,
242 0x7fffffff); 292 0x7fffffff);
243 } 293 }
244 294
245 void vp9_sad8x16x3_c(const unsigned char *src_ptr, 295 void vp9_sad8x16x3_c(const uint8_t *src_ptr,
246 int src_stride, 296 int src_stride,
247 const unsigned char *ref_ptr, 297 const uint8_t *ref_ptr,
248 int ref_stride, 298 int ref_stride,
249 unsigned int *sad_array) { 299 unsigned int *sad_array) {
250 sad_array[0] = vp9_sad8x16_c(src_ptr, src_stride, 300 sad_array[0] = vp9_sad8x16_c(src_ptr, src_stride,
251 ref_ptr, ref_stride, 0x7fffffff); 301 ref_ptr, ref_stride, 0x7fffffff);
252 sad_array[1] = vp9_sad8x16_c(src_ptr, src_stride, 302 sad_array[1] = vp9_sad8x16_c(src_ptr, src_stride,
253 ref_ptr + 1, ref_stride, 0x7fffffff); 303 ref_ptr + 1, ref_stride, 0x7fffffff);
254 sad_array[2] = vp9_sad8x16_c(src_ptr, src_stride, 304 sad_array[2] = vp9_sad8x16_c(src_ptr, src_stride,
255 ref_ptr + 2, ref_stride, 0x7fffffff); 305 ref_ptr + 2, ref_stride, 0x7fffffff);
256 } 306 }
257 307
258 void vp9_sad8x16x8_c(const unsigned char *src_ptr, 308 void vp9_sad8x16x8_c(const uint8_t *src_ptr,
259 int src_stride, 309 int src_stride,
260 const unsigned char *ref_ptr, 310 const uint8_t *ref_ptr,
261 int ref_stride, 311 int ref_stride,
262 unsigned short *sad_array) { 312 uint16_t *sad_array) {
263 sad_array[0] = (unsigned short)vp9_sad8x16_c(src_ptr, src_stride, 313 sad_array[0] = (uint16_t)vp9_sad8x16_c(src_ptr, src_stride,
264 ref_ptr, ref_stride, 314 ref_ptr, ref_stride,
265 0x7fffffff); 315 0x7fffffff);
266 sad_array[1] = (unsigned short)vp9_sad8x16_c(src_ptr, src_stride, 316 sad_array[1] = (uint16_t)vp9_sad8x16_c(src_ptr, src_stride,
267 ref_ptr + 1, ref_stride, 317 ref_ptr + 1, ref_stride,
268 0x7fffffff); 318 0x7fffffff);
269 sad_array[2] = (unsigned short)vp9_sad8x16_c(src_ptr, src_stride, 319 sad_array[2] = (uint16_t)vp9_sad8x16_c(src_ptr, src_stride,
270 ref_ptr + 2, ref_stride, 320 ref_ptr + 2, ref_stride,
271 0x7fffffff); 321 0x7fffffff);
272 sad_array[3] = (unsigned short)vp9_sad8x16_c(src_ptr, src_stride, 322 sad_array[3] = (uint16_t)vp9_sad8x16_c(src_ptr, src_stride,
273 ref_ptr + 3, ref_stride, 323 ref_ptr + 3, ref_stride,
274 0x7fffffff); 324 0x7fffffff);
275 sad_array[4] = (unsigned short)vp9_sad8x16_c(src_ptr, src_stride, 325 sad_array[4] = (uint16_t)vp9_sad8x16_c(src_ptr, src_stride,
276 ref_ptr + 4, ref_stride, 326 ref_ptr + 4, ref_stride,
277 0x7fffffff); 327 0x7fffffff);
278 sad_array[5] = (unsigned short)vp9_sad8x16_c(src_ptr, src_stride, 328 sad_array[5] = (uint16_t)vp9_sad8x16_c(src_ptr, src_stride,
279 ref_ptr + 5, ref_stride, 329 ref_ptr + 5, ref_stride,
280 0x7fffffff); 330 0x7fffffff);
281 sad_array[6] = (unsigned short)vp9_sad8x16_c(src_ptr, src_stride, 331 sad_array[6] = (uint16_t)vp9_sad8x16_c(src_ptr, src_stride,
282 ref_ptr + 6, ref_stride, 332 ref_ptr + 6, ref_stride,
283 0x7fffffff); 333 0x7fffffff);
284 sad_array[7] = (unsigned short)vp9_sad8x16_c(src_ptr, src_stride, 334 sad_array[7] = (uint16_t)vp9_sad8x16_c(src_ptr, src_stride,
285 ref_ptr + 7, ref_stride, 335 ref_ptr + 7, ref_stride,
286 0x7fffffff); 336 0x7fffffff);
287 } 337 }
288 338
289 void vp9_sad4x4x3_c(const unsigned char *src_ptr, 339 void vp9_sad4x4x3_c(const uint8_t *src_ptr,
290 int src_stride, 340 int src_stride,
291 const unsigned char *ref_ptr, 341 const uint8_t *ref_ptr,
292 int ref_stride, 342 int ref_stride,
293 unsigned int *sad_array) { 343 unsigned int *sad_array) {
294 sad_array[0] = vp9_sad4x4_c(src_ptr, src_stride, 344 sad_array[0] = vp9_sad4x4_c(src_ptr, src_stride,
295 ref_ptr, ref_stride, 0x7fffffff); 345 ref_ptr, ref_stride, 0x7fffffff);
296 sad_array[1] = vp9_sad4x4_c(src_ptr, src_stride, 346 sad_array[1] = vp9_sad4x4_c(src_ptr, src_stride,
297 ref_ptr + 1, ref_stride, 0x7fffffff); 347 ref_ptr + 1, ref_stride, 0x7fffffff);
298 sad_array[2] = vp9_sad4x4_c(src_ptr, src_stride, 348 sad_array[2] = vp9_sad4x4_c(src_ptr, src_stride,
299 ref_ptr + 2, ref_stride, 0x7fffffff); 349 ref_ptr + 2, ref_stride, 0x7fffffff);
300 } 350 }
301 351
302 void vp9_sad4x4x8_c(const unsigned char *src_ptr, 352 void vp9_sad4x4x8_c(const uint8_t *src_ptr,
303 int src_stride, 353 int src_stride,
304 const unsigned char *ref_ptr, 354 const uint8_t *ref_ptr,
305 int ref_stride, 355 int ref_stride,
306 unsigned short *sad_array) { 356 uint16_t *sad_array) {
307 sad_array[0] = (unsigned short)vp9_sad4x4_c(src_ptr, src_stride, 357 sad_array[0] = (uint16_t)vp9_sad4x4_c(src_ptr, src_stride,
308 ref_ptr, ref_stride, 358 ref_ptr, ref_stride,
309 0x7fffffff); 359 0x7fffffff);
310 sad_array[1] = (unsigned short)vp9_sad4x4_c(src_ptr, src_stride, 360 sad_array[1] = (uint16_t)vp9_sad4x4_c(src_ptr, src_stride,
311 ref_ptr + 1, ref_stride, 361 ref_ptr + 1, ref_stride,
312 0x7fffffff); 362 0x7fffffff);
313 sad_array[2] = (unsigned short)vp9_sad4x4_c(src_ptr, src_stride, 363 sad_array[2] = (uint16_t)vp9_sad4x4_c(src_ptr, src_stride,
314 ref_ptr + 2, ref_stride, 364 ref_ptr + 2, ref_stride,
315 0x7fffffff); 365 0x7fffffff);
316 sad_array[3] = (unsigned short)vp9_sad4x4_c(src_ptr, src_stride, 366 sad_array[3] = (uint16_t)vp9_sad4x4_c(src_ptr, src_stride,
317 ref_ptr + 3, ref_stride, 367 ref_ptr + 3, ref_stride,
318 0x7fffffff); 368 0x7fffffff);
319 sad_array[4] = (unsigned short)vp9_sad4x4_c(src_ptr, src_stride, 369 sad_array[4] = (uint16_t)vp9_sad4x4_c(src_ptr, src_stride,
320 ref_ptr + 4, ref_stride, 370 ref_ptr + 4, ref_stride,
321 0x7fffffff); 371 0x7fffffff);
322 sad_array[5] = (unsigned short)vp9_sad4x4_c(src_ptr, src_stride, 372 sad_array[5] = (uint16_t)vp9_sad4x4_c(src_ptr, src_stride,
323 ref_ptr + 5, ref_stride, 373 ref_ptr + 5, ref_stride,
324 0x7fffffff); 374 0x7fffffff);
325 sad_array[6] = (unsigned short)vp9_sad4x4_c(src_ptr, src_stride, 375 sad_array[6] = (uint16_t)vp9_sad4x4_c(src_ptr, src_stride,
326 ref_ptr + 6, ref_stride, 376 ref_ptr + 6, ref_stride,
327 0x7fffffff); 377 0x7fffffff);
328 sad_array[7] = (unsigned short)vp9_sad4x4_c(src_ptr, src_stride, 378 sad_array[7] = (uint16_t)vp9_sad4x4_c(src_ptr, src_stride,
329 ref_ptr + 7, ref_stride, 379 ref_ptr + 7, ref_stride,
330 0x7fffffff); 380 0x7fffffff);
331 } 381 }
332 382
333 void vp9_sad32x32x4d_c(const unsigned char *src_ptr, 383 void vp9_sad64x64x4d_c(const uint8_t *src_ptr,
334 int src_stride, 384 int src_stride,
335 unsigned char *ref_ptr[], 385 uint8_t *ref_ptr[],
336 int ref_stride, 386 int ref_stride,
337 unsigned int *sad_array 387 unsigned int *sad_array) {
338 ) { 388 sad_array[0] = vp9_sad64x64_c(src_ptr, src_stride,
389 ref_ptr[0], ref_stride, 0x7fffffff);
390 sad_array[1] = vp9_sad64x64_c(src_ptr, src_stride,
391 ref_ptr[1], ref_stride, 0x7fffffff);
392 sad_array[2] = vp9_sad64x64_c(src_ptr, src_stride,
393 ref_ptr[2], ref_stride, 0x7fffffff);
394 sad_array[3] = vp9_sad64x64_c(src_ptr, src_stride,
395 ref_ptr[3], ref_stride, 0x7fffffff);
396 }
397
398 void vp9_sad32x32x4d_c(const uint8_t *src_ptr,
399 int src_stride,
400 uint8_t *ref_ptr[],
401 int ref_stride,
402 unsigned int *sad_array) {
339 sad_array[0] = vp9_sad32x32_c(src_ptr, src_stride, 403 sad_array[0] = vp9_sad32x32_c(src_ptr, src_stride,
340 ref_ptr[0], ref_stride, 0x7fffffff); 404 ref_ptr[0], ref_stride, 0x7fffffff);
341 sad_array[1] = vp9_sad32x32_c(src_ptr, src_stride, 405 sad_array[1] = vp9_sad32x32_c(src_ptr, src_stride,
342 ref_ptr[1], ref_stride, 0x7fffffff); 406 ref_ptr[1], ref_stride, 0x7fffffff);
343 sad_array[2] = vp9_sad32x32_c(src_ptr, src_stride, 407 sad_array[2] = vp9_sad32x32_c(src_ptr, src_stride,
344 ref_ptr[2], ref_stride, 0x7fffffff); 408 ref_ptr[2], ref_stride, 0x7fffffff);
345 sad_array[3] = vp9_sad32x32_c(src_ptr, src_stride, 409 sad_array[3] = vp9_sad32x32_c(src_ptr, src_stride,
346 ref_ptr[3], ref_stride, 0x7fffffff); 410 ref_ptr[3], ref_stride, 0x7fffffff);
347 } 411 }
348 412
349 void vp9_sad16x16x4d_c(const unsigned char *src_ptr, 413 void vp9_sad16x16x4d_c(const uint8_t *src_ptr,
350 int src_stride, 414 int src_stride,
351 unsigned char *ref_ptr[], 415 uint8_t *ref_ptr[],
352 int ref_stride, 416 int ref_stride,
353 unsigned int *sad_array) { 417 unsigned int *sad_array) {
354 sad_array[0] = vp9_sad16x16_c(src_ptr, src_stride, 418 sad_array[0] = vp9_sad16x16_c(src_ptr, src_stride,
355 ref_ptr[0], ref_stride, 0x7fffffff); 419 ref_ptr[0], ref_stride, 0x7fffffff);
356 sad_array[1] = vp9_sad16x16_c(src_ptr, src_stride, 420 sad_array[1] = vp9_sad16x16_c(src_ptr, src_stride,
357 ref_ptr[1], ref_stride, 0x7fffffff); 421 ref_ptr[1], ref_stride, 0x7fffffff);
358 sad_array[2] = vp9_sad16x16_c(src_ptr, src_stride, 422 sad_array[2] = vp9_sad16x16_c(src_ptr, src_stride,
359 ref_ptr[2], ref_stride, 0x7fffffff); 423 ref_ptr[2], ref_stride, 0x7fffffff);
360 sad_array[3] = vp9_sad16x16_c(src_ptr, src_stride, 424 sad_array[3] = vp9_sad16x16_c(src_ptr, src_stride,
361 ref_ptr[3], ref_stride, 0x7fffffff); 425 ref_ptr[3], ref_stride, 0x7fffffff);
362 } 426 }
363 427
364 void vp9_sad16x8x4d_c(const unsigned char *src_ptr, 428 void vp9_sad16x8x4d_c(const uint8_t *src_ptr,
365 int src_stride, 429 int src_stride,
366 unsigned char *ref_ptr[], 430 uint8_t *ref_ptr[],
367 int ref_stride, 431 int ref_stride,
368 unsigned int *sad_array) { 432 unsigned int *sad_array) {
369 sad_array[0] = vp9_sad16x8_c(src_ptr, src_stride, 433 sad_array[0] = vp9_sad16x8_c(src_ptr, src_stride,
370 ref_ptr[0], ref_stride, 0x7fffffff); 434 ref_ptr[0], ref_stride, 0x7fffffff);
371 sad_array[1] = vp9_sad16x8_c(src_ptr, src_stride, 435 sad_array[1] = vp9_sad16x8_c(src_ptr, src_stride,
372 ref_ptr[1], ref_stride, 0x7fffffff); 436 ref_ptr[1], ref_stride, 0x7fffffff);
373 sad_array[2] = vp9_sad16x8_c(src_ptr, src_stride, 437 sad_array[2] = vp9_sad16x8_c(src_ptr, src_stride,
374 ref_ptr[2], ref_stride, 0x7fffffff); 438 ref_ptr[2], ref_stride, 0x7fffffff);
375 sad_array[3] = vp9_sad16x8_c(src_ptr, src_stride, 439 sad_array[3] = vp9_sad16x8_c(src_ptr, src_stride,
376 ref_ptr[3], ref_stride, 0x7fffffff); 440 ref_ptr[3], ref_stride, 0x7fffffff);
377 } 441 }
378 442
379 void vp9_sad8x8x4d_c(const unsigned char *src_ptr, 443 void vp9_sad8x8x4d_c(const uint8_t *src_ptr,
380 int src_stride, 444 int src_stride,
381 unsigned char *ref_ptr[], 445 uint8_t *ref_ptr[],
382 int ref_stride, 446 int ref_stride,
383 unsigned int *sad_array) { 447 unsigned int *sad_array) {
384 sad_array[0] = vp9_sad8x8_c(src_ptr, src_stride, 448 sad_array[0] = vp9_sad8x8_c(src_ptr, src_stride,
385 ref_ptr[0], ref_stride, 0x7fffffff); 449 ref_ptr[0], ref_stride, 0x7fffffff);
386 sad_array[1] = vp9_sad8x8_c(src_ptr, src_stride, 450 sad_array[1] = vp9_sad8x8_c(src_ptr, src_stride,
387 ref_ptr[1], ref_stride, 0x7fffffff); 451 ref_ptr[1], ref_stride, 0x7fffffff);
388 sad_array[2] = vp9_sad8x8_c(src_ptr, src_stride, 452 sad_array[2] = vp9_sad8x8_c(src_ptr, src_stride,
389 ref_ptr[2], ref_stride, 0x7fffffff); 453 ref_ptr[2], ref_stride, 0x7fffffff);
390 sad_array[3] = vp9_sad8x8_c(src_ptr, src_stride, 454 sad_array[3] = vp9_sad8x8_c(src_ptr, src_stride,
391 ref_ptr[3], ref_stride, 0x7fffffff); 455 ref_ptr[3], ref_stride, 0x7fffffff);
392 } 456 }
393 457
394 void vp9_sad8x16x4d_c(const unsigned char *src_ptr, 458 void vp9_sad8x16x4d_c(const uint8_t *src_ptr,
395 int src_stride, 459 int src_stride,
396 unsigned char *ref_ptr[], 460 uint8_t *ref_ptr[],
397 int ref_stride, 461 int ref_stride,
398 unsigned int *sad_array) { 462 unsigned int *sad_array) {
399 sad_array[0] = vp9_sad8x16_c(src_ptr, src_stride, 463 sad_array[0] = vp9_sad8x16_c(src_ptr, src_stride,
400 ref_ptr[0], ref_stride, 0x7fffffff); 464 ref_ptr[0], ref_stride, 0x7fffffff);
401 sad_array[1] = vp9_sad8x16_c(src_ptr, src_stride, 465 sad_array[1] = vp9_sad8x16_c(src_ptr, src_stride,
402 ref_ptr[1], ref_stride, 0x7fffffff); 466 ref_ptr[1], ref_stride, 0x7fffffff);
403 sad_array[2] = vp9_sad8x16_c(src_ptr, src_stride, 467 sad_array[2] = vp9_sad8x16_c(src_ptr, src_stride,
404 ref_ptr[2], ref_stride, 0x7fffffff); 468 ref_ptr[2], ref_stride, 0x7fffffff);
405 sad_array[3] = vp9_sad8x16_c(src_ptr, src_stride, 469 sad_array[3] = vp9_sad8x16_c(src_ptr, src_stride,
406 ref_ptr[3], ref_stride, 0x7fffffff); 470 ref_ptr[3], ref_stride, 0x7fffffff);
407 } 471 }
408 472
409 void vp9_sad4x4x4d_c(const unsigned char *src_ptr, 473 void vp9_sad4x4x4d_c(const uint8_t *src_ptr,
410 int src_stride, 474 int src_stride,
411 unsigned char *ref_ptr[], 475 uint8_t *ref_ptr[],
412 int ref_stride, 476 int ref_stride,
413 unsigned int *sad_array) { 477 unsigned int *sad_array) {
414 sad_array[0] = vp9_sad4x4_c(src_ptr, src_stride, 478 sad_array[0] = vp9_sad4x4_c(src_ptr, src_stride,
415 ref_ptr[0], ref_stride, 0x7fffffff); 479 ref_ptr[0], ref_stride, 0x7fffffff);
416 sad_array[1] = vp9_sad4x4_c(src_ptr, src_stride, 480 sad_array[1] = vp9_sad4x4_c(src_ptr, src_stride,
417 ref_ptr[1], ref_stride, 0x7fffffff); 481 ref_ptr[1], ref_stride, 0x7fffffff);
418 sad_array[2] = vp9_sad4x4_c(src_ptr, src_stride, 482 sad_array[2] = vp9_sad4x4_c(src_ptr, src_stride,
419 ref_ptr[2], ref_stride, 0x7fffffff); 483 ref_ptr[2], ref_stride, 0x7fffffff);
420 sad_array[3] = vp9_sad4x4_c(src_ptr, src_stride, 484 sad_array[3] = vp9_sad4x4_c(src_ptr, src_stride,
421 ref_ptr[3], ref_stride, 0x7fffffff); 485 ref_ptr[3], ref_stride, 0x7fffffff);
422 } 486 }
423 487
424 /* Copy 2 macroblocks to a buffer */ 488 /* Copy 2 macroblocks to a buffer */
425 void vp9_copy32xn_c(unsigned char *src_ptr, 489 void vp9_copy32xn_c(uint8_t *src_ptr,
426 int src_stride, 490 int src_stride,
427 unsigned char *dst_ptr, 491 uint8_t *dst_ptr,
428 int dst_stride, 492 int dst_stride,
429 int height) { 493 int height) {
430 int r; 494 int r;
431 495
432 for (r = 0; r < height; r++) { 496 for (r = 0; r < height; r++) {
433 #if !(CONFIG_FAST_UNALIGNED) 497 #if !(CONFIG_FAST_UNALIGNED)
434 dst_ptr[0] = src_ptr[0]; 498 dst_ptr[0] = src_ptr[0];
435 dst_ptr[1] = src_ptr[1]; 499 dst_ptr[1] = src_ptr[1];
436 dst_ptr[2] = src_ptr[2]; 500 dst_ptr[2] = src_ptr[2];
437 dst_ptr[3] = src_ptr[3]; 501 dst_ptr[3] = src_ptr[3];
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
471 ((uint32_t *)dst_ptr)[4] = ((uint32_t *)src_ptr)[4]; 535 ((uint32_t *)dst_ptr)[4] = ((uint32_t *)src_ptr)[4];
472 ((uint32_t *)dst_ptr)[5] = ((uint32_t *)src_ptr)[5]; 536 ((uint32_t *)dst_ptr)[5] = ((uint32_t *)src_ptr)[5];
473 ((uint32_t *)dst_ptr)[6] = ((uint32_t *)src_ptr)[6]; 537 ((uint32_t *)dst_ptr)[6] = ((uint32_t *)src_ptr)[6];
474 ((uint32_t *)dst_ptr)[7] = ((uint32_t *)src_ptr)[7]; 538 ((uint32_t *)dst_ptr)[7] = ((uint32_t *)src_ptr)[7];
475 #endif 539 #endif
476 src_ptr += src_stride; 540 src_ptr += src_stride;
477 dst_ptr += dst_stride; 541 dst_ptr += dst_stride;
478 542
479 } 543 }
480 } 544 }
OLDNEW
« no previous file with comments | « source/libvpx/vp9/encoder/vp9_rdopt.c ('k') | source/libvpx/vp9/encoder/vp9_satd_c.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698