media/libvpx/vp9/encoder/vp9_sad_c.c

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:9ec5c1d2d994
1 /*
2 * Copyright (c) 2010 The WebM project authors. All Rights Reserved.
3 *
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
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11
12 #include <stdlib.h>
13 #include "vp9/common/vp9_sadmxn.h"
14 #include "vp9/encoder/vp9_variance.h"
15 #include "./vpx_config.h"
16 #include "vpx/vpx_integer.h"
17 #include "./vp9_rtcd.h"
18
19 #define sad_mxn_func(m, n) \
20 unsigned int vp9_sad##m##x##n##_c(const uint8_t *src_ptr, \
21 int src_stride, \
22 const uint8_t *ref_ptr, \
23 int ref_stride, \
24 unsigned int max_sad) { \
25 return sad_mx_n_c(src_ptr, src_stride, ref_ptr, ref_stride, m, n); \
26 } \
27 unsigned int vp9_sad##m##x##n##_avg_c(const uint8_t *src_ptr, \
28 int src_stride, \
29 const uint8_t *ref_ptr, \
30 int ref_stride, \
31 const uint8_t *second_pred, \
32 unsigned int max_sad) { \
33 uint8_t comp_pred[m * n]; \
34 comp_avg_pred(comp_pred, second_pred, m, n, ref_ptr, ref_stride); \
35 return sad_mx_n_c(src_ptr, src_stride, comp_pred, m, m, n); \
36 }
37
38 sad_mxn_func(64, 64)
39 sad_mxn_func(64, 32)
40 sad_mxn_func(32, 64)
41 sad_mxn_func(32, 32)
42 sad_mxn_func(32, 16)
43 sad_mxn_func(16, 32)
44 sad_mxn_func(16, 16)
45 sad_mxn_func(16, 8)
46 sad_mxn_func(8, 16)
47 sad_mxn_func(8, 8)
48 sad_mxn_func(8, 4)
49 sad_mxn_func(4, 8)
50 sad_mxn_func(4, 4)
51
52 void vp9_sad64x32x4d_c(const uint8_t *src_ptr,
53 int src_stride,
54 const uint8_t* const ref_ptr[],
55 int ref_stride,
56 unsigned int *sad_array) {
57 sad_array[0] = vp9_sad64x32(src_ptr, src_stride,
58 ref_ptr[0], ref_stride, 0x7fffffff);
59 sad_array[1] = vp9_sad64x32(src_ptr, src_stride,
60 ref_ptr[1], ref_stride, 0x7fffffff);
61 sad_array[2] = vp9_sad64x32(src_ptr, src_stride,
62 ref_ptr[2], ref_stride, 0x7fffffff);
63 sad_array[3] = vp9_sad64x32(src_ptr, src_stride,
64 ref_ptr[3], ref_stride, 0x7fffffff);
65 }
66
67 void vp9_sad32x64x4d_c(const uint8_t *src_ptr,
68 int src_stride,
69 const uint8_t* const ref_ptr[],
70 int ref_stride,
71 unsigned int *sad_array) {
72 sad_array[0] = vp9_sad32x64(src_ptr, src_stride,
73 ref_ptr[0], ref_stride, 0x7fffffff);
74 sad_array[1] = vp9_sad32x64(src_ptr, src_stride,
75 ref_ptr[1], ref_stride, 0x7fffffff);
76 sad_array[2] = vp9_sad32x64(src_ptr, src_stride,
77 ref_ptr[2], ref_stride, 0x7fffffff);
78 sad_array[3] = vp9_sad32x64(src_ptr, src_stride,
79 ref_ptr[3], ref_stride, 0x7fffffff);
80 }
81
82 void vp9_sad32x16x4d_c(const uint8_t *src_ptr,
83 int src_stride,
84 const uint8_t* const ref_ptr[],
85 int ref_stride,
86 unsigned int *sad_array) {
87 sad_array[0] = vp9_sad32x16(src_ptr, src_stride,
88 ref_ptr[0], ref_stride, 0x7fffffff);
89 sad_array[1] = vp9_sad32x16(src_ptr, src_stride,
90 ref_ptr[1], ref_stride, 0x7fffffff);
91 sad_array[2] = vp9_sad32x16(src_ptr, src_stride,
92 ref_ptr[2], ref_stride, 0x7fffffff);
93 sad_array[3] = vp9_sad32x16(src_ptr, src_stride,
94 ref_ptr[3], ref_stride, 0x7fffffff);
95 }
96
97 void vp9_sad16x32x4d_c(const uint8_t *src_ptr,
98 int src_stride,
99 const uint8_t* const ref_ptr[],
100 int ref_stride,
101 unsigned int *sad_array) {
102 sad_array[0] = vp9_sad16x32(src_ptr, src_stride,
103 ref_ptr[0], ref_stride, 0x7fffffff);
104 sad_array[1] = vp9_sad16x32(src_ptr, src_stride,
105 ref_ptr[1], ref_stride, 0x7fffffff);
106 sad_array[2] = vp9_sad16x32(src_ptr, src_stride,
107 ref_ptr[2], ref_stride, 0x7fffffff);
108 sad_array[3] = vp9_sad16x32(src_ptr, src_stride,
109 ref_ptr[3], ref_stride, 0x7fffffff);
110 }
111
112 void vp9_sad64x64x3_c(const uint8_t *src_ptr,
113 int src_stride,
114 const uint8_t *ref_ptr,
115 int ref_stride,
116 unsigned int *sad_array) {
117 sad_array[0] = vp9_sad64x64(src_ptr, src_stride, ref_ptr, ref_stride,
118 0x7fffffff);
119 sad_array[1] = vp9_sad64x64(src_ptr, src_stride, ref_ptr + 1, ref_stride,
120 0x7fffffff);
121 sad_array[2] = vp9_sad64x64(src_ptr, src_stride, ref_ptr + 2, ref_stride,
122 0x7fffffff);
123 }
124
125 void vp9_sad32x32x3_c(const uint8_t *src_ptr,
126 int src_stride,
127 const uint8_t *ref_ptr,
128 int ref_stride,
129 unsigned int *sad_array) {
130 sad_array[0] = vp9_sad32x32(src_ptr, src_stride,
131 ref_ptr, ref_stride, 0x7fffffff);
132 sad_array[1] = vp9_sad32x32(src_ptr, src_stride,
133 ref_ptr + 1, ref_stride, 0x7fffffff);
134 sad_array[2] = vp9_sad32x32(src_ptr, src_stride,
135 ref_ptr + 2, ref_stride, 0x7fffffff);
136 }
137
138 void vp9_sad64x64x8_c(const uint8_t *src_ptr,
139 int src_stride,
140 const uint8_t *ref_ptr,
141 int ref_stride,
142 unsigned int *sad_array) {
143 sad_array[0] = vp9_sad64x64(src_ptr, src_stride,
144 ref_ptr, ref_stride,
145 0x7fffffff);
146 sad_array[1] = vp9_sad64x64(src_ptr, src_stride,
147 ref_ptr + 1, ref_stride,
148 0x7fffffff);
149 sad_array[2] = vp9_sad64x64(src_ptr, src_stride,
150 ref_ptr + 2, ref_stride,
151 0x7fffffff);
152 sad_array[3] = vp9_sad64x64(src_ptr, src_stride,
153 ref_ptr + 3, ref_stride,
154 0x7fffffff);
155 sad_array[4] = vp9_sad64x64(src_ptr, src_stride,
156 ref_ptr + 4, ref_stride,
157 0x7fffffff);
158 sad_array[5] = vp9_sad64x64(src_ptr, src_stride,
159 ref_ptr + 5, ref_stride,
160 0x7fffffff);
161 sad_array[6] = vp9_sad64x64(src_ptr, src_stride,
162 ref_ptr + 6, ref_stride,
163 0x7fffffff);
164 sad_array[7] = vp9_sad64x64(src_ptr, src_stride,
165 ref_ptr + 7, ref_stride,
166 0x7fffffff);
167 }
168
169 void vp9_sad32x32x8_c(const uint8_t *src_ptr,
170 int src_stride,
171 const uint8_t *ref_ptr,
172 int ref_stride,
173 unsigned int *sad_array) {
174 sad_array[0] = vp9_sad32x32(src_ptr, src_stride,
175 ref_ptr, ref_stride,
176 0x7fffffff);
177 sad_array[1] = vp9_sad32x32(src_ptr, src_stride,
178 ref_ptr + 1, ref_stride,
179 0x7fffffff);
180 sad_array[2] = vp9_sad32x32(src_ptr, src_stride,
181 ref_ptr + 2, ref_stride,
182 0x7fffffff);
183 sad_array[3] = vp9_sad32x32(src_ptr, src_stride,
184 ref_ptr + 3, ref_stride,
185 0x7fffffff);
186 sad_array[4] = vp9_sad32x32(src_ptr, src_stride,
187 ref_ptr + 4, ref_stride,
188 0x7fffffff);
189 sad_array[5] = vp9_sad32x32(src_ptr, src_stride,
190 ref_ptr + 5, ref_stride,
191 0x7fffffff);
192 sad_array[6] = vp9_sad32x32(src_ptr, src_stride,
193 ref_ptr + 6, ref_stride,
194 0x7fffffff);
195 sad_array[7] = vp9_sad32x32(src_ptr, src_stride,
196 ref_ptr + 7, ref_stride,
197 0x7fffffff);
198 }
199
200 void vp9_sad16x16x3_c(const uint8_t *src_ptr,
201 int src_stride,
202 const uint8_t *ref_ptr,
203 int ref_stride,
204 unsigned int *sad_array) {
205 sad_array[0] = vp9_sad16x16(src_ptr, src_stride,
206 ref_ptr, ref_stride, 0x7fffffff);
207 sad_array[1] = vp9_sad16x16(src_ptr, src_stride,
208 ref_ptr + 1, ref_stride, 0x7fffffff);
209 sad_array[2] = vp9_sad16x16(src_ptr, src_stride,
210 ref_ptr + 2, ref_stride, 0x7fffffff);
211 }
212
213 void vp9_sad16x16x8_c(const uint8_t *src_ptr,
214 int src_stride,
215 const uint8_t *ref_ptr,
216 int ref_stride,
217 uint32_t *sad_array) {
218 sad_array[0] = vp9_sad16x16(src_ptr, src_stride,
219 ref_ptr, ref_stride,
220 0x7fffffff);
221 sad_array[1] = vp9_sad16x16(src_ptr, src_stride,
222 ref_ptr + 1, ref_stride,
223 0x7fffffff);
224 sad_array[2] = vp9_sad16x16(src_ptr, src_stride,
225 ref_ptr + 2, ref_stride,
226 0x7fffffff);
227 sad_array[3] = vp9_sad16x16(src_ptr, src_stride,
228 ref_ptr + 3, ref_stride,
229 0x7fffffff);
230 sad_array[4] = vp9_sad16x16(src_ptr, src_stride,
231 ref_ptr + 4, ref_stride,
232 0x7fffffff);
233 sad_array[5] = vp9_sad16x16(src_ptr, src_stride,
234 ref_ptr + 5, ref_stride,
235 0x7fffffff);
236 sad_array[6] = vp9_sad16x16(src_ptr, src_stride,
237 ref_ptr + 6, ref_stride,
238 0x7fffffff);
239 sad_array[7] = vp9_sad16x16(src_ptr, src_stride,
240 ref_ptr + 7, ref_stride,
241 0x7fffffff);
242 }
243
244 void vp9_sad16x8x3_c(const uint8_t *src_ptr,
245 int src_stride,
246 const uint8_t *ref_ptr,
247 int ref_stride,
248 unsigned int *sad_array) {
249 sad_array[0] = vp9_sad16x8(src_ptr, src_stride,
250 ref_ptr, ref_stride, 0x7fffffff);
251 sad_array[1] = vp9_sad16x8(src_ptr, src_stride,
252 ref_ptr + 1, ref_stride, 0x7fffffff);
253 sad_array[2] = vp9_sad16x8(src_ptr, src_stride,
254 ref_ptr + 2, ref_stride, 0x7fffffff);
255 }
256
257 void vp9_sad16x8x8_c(const uint8_t *src_ptr,
258 int src_stride,
259 const uint8_t *ref_ptr,
260 int ref_stride,
261 uint32_t *sad_array) {
262 sad_array[0] = vp9_sad16x8(src_ptr, src_stride,
263 ref_ptr, ref_stride,
264 0x7fffffff);
265 sad_array[1] = vp9_sad16x8(src_ptr, src_stride,
266 ref_ptr + 1, ref_stride,
267 0x7fffffff);
268 sad_array[2] = vp9_sad16x8(src_ptr, src_stride,
269 ref_ptr + 2, ref_stride,
270 0x7fffffff);
271 sad_array[3] = vp9_sad16x8(src_ptr, src_stride,
272 ref_ptr + 3, ref_stride,
273 0x7fffffff);
274 sad_array[4] = vp9_sad16x8(src_ptr, src_stride,
275 ref_ptr + 4, ref_stride,
276 0x7fffffff);
277 sad_array[5] = vp9_sad16x8(src_ptr, src_stride,
278 ref_ptr + 5, ref_stride,
279 0x7fffffff);
280 sad_array[6] = vp9_sad16x8(src_ptr, src_stride,
281 ref_ptr + 6, ref_stride,
282 0x7fffffff);
283 sad_array[7] = vp9_sad16x8(src_ptr, src_stride,
284 ref_ptr + 7, ref_stride,
285 0x7fffffff);
286 }
287
288 void vp9_sad8x8x3_c(const uint8_t *src_ptr,
289 int src_stride,
290 const uint8_t *ref_ptr,
291 int ref_stride,
292 unsigned int *sad_array) {
293 sad_array[0] = vp9_sad8x8(src_ptr, src_stride,
294 ref_ptr, ref_stride, 0x7fffffff);
295 sad_array[1] = vp9_sad8x8(src_ptr, src_stride,
296 ref_ptr + 1, ref_stride, 0x7fffffff);
297 sad_array[2] = vp9_sad8x8(src_ptr, src_stride,
298 ref_ptr + 2, ref_stride, 0x7fffffff);
299 }
300
301 void vp9_sad8x8x8_c(const uint8_t *src_ptr,
302 int src_stride,
303 const uint8_t *ref_ptr,
304 int ref_stride,
305 uint32_t *sad_array) {
306 sad_array[0] = vp9_sad8x8(src_ptr, src_stride,
307 ref_ptr, ref_stride,
308 0x7fffffff);
309 sad_array[1] = vp9_sad8x8(src_ptr, src_stride,
310 ref_ptr + 1, ref_stride,
311 0x7fffffff);
312 sad_array[2] = vp9_sad8x8(src_ptr, src_stride,
313 ref_ptr + 2, ref_stride,
314 0x7fffffff);
315 sad_array[3] = vp9_sad8x8(src_ptr, src_stride,
316 ref_ptr + 3, ref_stride,
317 0x7fffffff);
318 sad_array[4] = vp9_sad8x8(src_ptr, src_stride,
319 ref_ptr + 4, ref_stride,
320 0x7fffffff);
321 sad_array[5] = vp9_sad8x8(src_ptr, src_stride,
322 ref_ptr + 5, ref_stride,
323 0x7fffffff);
324 sad_array[6] = vp9_sad8x8(src_ptr, src_stride,
325 ref_ptr + 6, ref_stride,
326 0x7fffffff);
327 sad_array[7] = vp9_sad8x8(src_ptr, src_stride,
328 ref_ptr + 7, ref_stride,
329 0x7fffffff);
330 }
331
332 void vp9_sad8x16x3_c(const uint8_t *src_ptr,
333 int src_stride,
334 const uint8_t *ref_ptr,
335 int ref_stride,
336 unsigned int *sad_array) {
337 sad_array[0] = vp9_sad8x16(src_ptr, src_stride,
338 ref_ptr, ref_stride, 0x7fffffff);
339 sad_array[1] = vp9_sad8x16(src_ptr, src_stride,
340 ref_ptr + 1, ref_stride, 0x7fffffff);
341 sad_array[2] = vp9_sad8x16(src_ptr, src_stride,
342 ref_ptr + 2, ref_stride, 0x7fffffff);
343 }
344
345 void vp9_sad8x16x8_c(const uint8_t *src_ptr,
346 int src_stride,
347 const uint8_t *ref_ptr,
348 int ref_stride,
349 uint32_t *sad_array) {
350 sad_array[0] = vp9_sad8x16(src_ptr, src_stride,
351 ref_ptr, ref_stride,
352 0x7fffffff);
353 sad_array[1] = vp9_sad8x16(src_ptr, src_stride,
354 ref_ptr + 1, ref_stride,
355 0x7fffffff);
356 sad_array[2] = vp9_sad8x16(src_ptr, src_stride,
357 ref_ptr + 2, ref_stride,
358 0x7fffffff);
359 sad_array[3] = vp9_sad8x16(src_ptr, src_stride,
360 ref_ptr + 3, ref_stride,
361 0x7fffffff);
362 sad_array[4] = vp9_sad8x16(src_ptr, src_stride,
363 ref_ptr + 4, ref_stride,
364 0x7fffffff);
365 sad_array[5] = vp9_sad8x16(src_ptr, src_stride,
366 ref_ptr + 5, ref_stride,
367 0x7fffffff);
368 sad_array[6] = vp9_sad8x16(src_ptr, src_stride,
369 ref_ptr + 6, ref_stride,
370 0x7fffffff);
371 sad_array[7] = vp9_sad8x16(src_ptr, src_stride,
372 ref_ptr + 7, ref_stride,
373 0x7fffffff);
374 }
375
376 void vp9_sad4x4x3_c(const uint8_t *src_ptr,
377 int src_stride,
378 const uint8_t *ref_ptr,
379 int ref_stride,
380 unsigned int *sad_array) {
381 sad_array[0] = vp9_sad4x4(src_ptr, src_stride,
382 ref_ptr, ref_stride, 0x7fffffff);
383 sad_array[1] = vp9_sad4x4(src_ptr, src_stride,
384 ref_ptr + 1, ref_stride, 0x7fffffff);
385 sad_array[2] = vp9_sad4x4(src_ptr, src_stride,
386 ref_ptr + 2, ref_stride, 0x7fffffff);
387 }
388
389 void vp9_sad4x4x8_c(const uint8_t *src_ptr,
390 int src_stride,
391 const uint8_t *ref_ptr,
392 int ref_stride,
393 uint32_t *sad_array) {
394 sad_array[0] = vp9_sad4x4(src_ptr, src_stride,
395 ref_ptr, ref_stride,
396 0x7fffffff);
397 sad_array[1] = vp9_sad4x4(src_ptr, src_stride,
398 ref_ptr + 1, ref_stride,
399 0x7fffffff);
400 sad_array[2] = vp9_sad4x4(src_ptr, src_stride,
401 ref_ptr + 2, ref_stride,
402 0x7fffffff);
403 sad_array[3] = vp9_sad4x4(src_ptr, src_stride,
404 ref_ptr + 3, ref_stride,
405 0x7fffffff);
406 sad_array[4] = vp9_sad4x4(src_ptr, src_stride,
407 ref_ptr + 4, ref_stride,
408 0x7fffffff);
409 sad_array[5] = vp9_sad4x4(src_ptr, src_stride,
410 ref_ptr + 5, ref_stride,
411 0x7fffffff);
412 sad_array[6] = vp9_sad4x4(src_ptr, src_stride,
413 ref_ptr + 6, ref_stride,
414 0x7fffffff);
415 sad_array[7] = vp9_sad4x4(src_ptr, src_stride,
416 ref_ptr + 7, ref_stride,
417 0x7fffffff);
418 }
419
420 void vp9_sad64x64x4d_c(const uint8_t *src_ptr,
421 int src_stride,
422 const uint8_t* const ref_ptr[],
423 int ref_stride,
424 unsigned int *sad_array) {
425 sad_array[0] = vp9_sad64x64(src_ptr, src_stride,
426 ref_ptr[0], ref_stride, 0x7fffffff);
427 sad_array[1] = vp9_sad64x64(src_ptr, src_stride,
428 ref_ptr[1], ref_stride, 0x7fffffff);
429 sad_array[2] = vp9_sad64x64(src_ptr, src_stride,
430 ref_ptr[2], ref_stride, 0x7fffffff);
431 sad_array[3] = vp9_sad64x64(src_ptr, src_stride,
432 ref_ptr[3], ref_stride, 0x7fffffff);
433 }
434
435 void vp9_sad32x32x4d_c(const uint8_t *src_ptr,
436 int src_stride,
437 const uint8_t* const ref_ptr[],
438 int ref_stride,
439 unsigned int *sad_array) {
440 sad_array[0] = vp9_sad32x32(src_ptr, src_stride,
441 ref_ptr[0], ref_stride, 0x7fffffff);
442 sad_array[1] = vp9_sad32x32(src_ptr, src_stride,
443 ref_ptr[1], ref_stride, 0x7fffffff);
444 sad_array[2] = vp9_sad32x32(src_ptr, src_stride,
445 ref_ptr[2], ref_stride, 0x7fffffff);
446 sad_array[3] = vp9_sad32x32(src_ptr, src_stride,
447 ref_ptr[3], ref_stride, 0x7fffffff);
448 }
449
450 void vp9_sad16x16x4d_c(const uint8_t *src_ptr,
451 int src_stride,
452 const uint8_t* const ref_ptr[],
453 int ref_stride,
454 unsigned int *sad_array) {
455 sad_array[0] = vp9_sad16x16(src_ptr, src_stride,
456 ref_ptr[0], ref_stride, 0x7fffffff);
457 sad_array[1] = vp9_sad16x16(src_ptr, src_stride,
458 ref_ptr[1], ref_stride, 0x7fffffff);
459 sad_array[2] = vp9_sad16x16(src_ptr, src_stride,
460 ref_ptr[2], ref_stride, 0x7fffffff);
461 sad_array[3] = vp9_sad16x16(src_ptr, src_stride,
462 ref_ptr[3], ref_stride, 0x7fffffff);
463 }
464
465 void vp9_sad16x8x4d_c(const uint8_t *src_ptr,
466 int src_stride,
467 const uint8_t* const ref_ptr[],
468 int ref_stride,
469 unsigned int *sad_array) {
470 sad_array[0] = vp9_sad16x8(src_ptr, src_stride,
471 ref_ptr[0], ref_stride, 0x7fffffff);
472 sad_array[1] = vp9_sad16x8(src_ptr, src_stride,
473 ref_ptr[1], ref_stride, 0x7fffffff);
474 sad_array[2] = vp9_sad16x8(src_ptr, src_stride,
475 ref_ptr[2], ref_stride, 0x7fffffff);
476 sad_array[3] = vp9_sad16x8(src_ptr, src_stride,
477 ref_ptr[3], ref_stride, 0x7fffffff);
478 }
479
480 void vp9_sad8x8x4d_c(const uint8_t *src_ptr,
481 int src_stride,
482 const uint8_t* const ref_ptr[],
483 int ref_stride,
484 unsigned int *sad_array) {
485 sad_array[0] = vp9_sad8x8(src_ptr, src_stride,
486 ref_ptr[0], ref_stride, 0x7fffffff);
487 sad_array[1] = vp9_sad8x8(src_ptr, src_stride,
488 ref_ptr[1], ref_stride, 0x7fffffff);
489 sad_array[2] = vp9_sad8x8(src_ptr, src_stride,
490 ref_ptr[2], ref_stride, 0x7fffffff);
491 sad_array[3] = vp9_sad8x8(src_ptr, src_stride,
492 ref_ptr[3], ref_stride, 0x7fffffff);
493 }
494
495 void vp9_sad8x16x4d_c(const uint8_t *src_ptr,
496 int src_stride,
497 const uint8_t* const ref_ptr[],
498 int ref_stride,
499 unsigned int *sad_array) {
500 sad_array[0] = vp9_sad8x16(src_ptr, src_stride,
501 ref_ptr[0], ref_stride, 0x7fffffff);
502 sad_array[1] = vp9_sad8x16(src_ptr, src_stride,
503 ref_ptr[1], ref_stride, 0x7fffffff);
504 sad_array[2] = vp9_sad8x16(src_ptr, src_stride,
505 ref_ptr[2], ref_stride, 0x7fffffff);
506 sad_array[3] = vp9_sad8x16(src_ptr, src_stride,
507 ref_ptr[3], ref_stride, 0x7fffffff);
508 }
509
510 void vp9_sad8x4x4d_c(const uint8_t *src_ptr,
511 int src_stride,
512 const uint8_t* const ref_ptr[],
513 int ref_stride,
514 unsigned int *sad_array) {
515 sad_array[0] = vp9_sad8x4(src_ptr, src_stride,
516 ref_ptr[0], ref_stride, 0x7fffffff);
517 sad_array[1] = vp9_sad8x4(src_ptr, src_stride,
518 ref_ptr[1], ref_stride, 0x7fffffff);
519 sad_array[2] = vp9_sad8x4(src_ptr, src_stride,
520 ref_ptr[2], ref_stride, 0x7fffffff);
521 sad_array[3] = vp9_sad8x4(src_ptr, src_stride,
522 ref_ptr[3], ref_stride, 0x7fffffff);
523 }
524
525 void vp9_sad8x4x8_c(const uint8_t *src_ptr,
526 int src_stride,
527 const uint8_t *ref_ptr,
528 int ref_stride,
529 uint32_t *sad_array) {
530 sad_array[0] = vp9_sad8x4(src_ptr, src_stride,
531 ref_ptr, ref_stride,
532 0x7fffffff);
533 sad_array[1] = vp9_sad8x4(src_ptr, src_stride,
534 ref_ptr + 1, ref_stride,
535 0x7fffffff);
536 sad_array[2] = vp9_sad8x4(src_ptr, src_stride,
537 ref_ptr + 2, ref_stride,
538 0x7fffffff);
539 sad_array[3] = vp9_sad8x4(src_ptr, src_stride,
540 ref_ptr + 3, ref_stride,
541 0x7fffffff);
542 sad_array[4] = vp9_sad8x4(src_ptr, src_stride,
543 ref_ptr + 4, ref_stride,
544 0x7fffffff);
545 sad_array[5] = vp9_sad8x4(src_ptr, src_stride,
546 ref_ptr + 5, ref_stride,
547 0x7fffffff);
548 sad_array[6] = vp9_sad8x4(src_ptr, src_stride,
549 ref_ptr + 6, ref_stride,
550 0x7fffffff);
551 sad_array[7] = vp9_sad8x4(src_ptr, src_stride,
552 ref_ptr + 7, ref_stride,
553 0x7fffffff);
554 }
555
556 void vp9_sad4x8x4d_c(const uint8_t *src_ptr,
557 int src_stride,
558 const uint8_t* const ref_ptr[],
559 int ref_stride,
560 unsigned int *sad_array) {
561 sad_array[0] = vp9_sad4x8(src_ptr, src_stride,
562 ref_ptr[0], ref_stride, 0x7fffffff);
563 sad_array[1] = vp9_sad4x8(src_ptr, src_stride,
564 ref_ptr[1], ref_stride, 0x7fffffff);
565 sad_array[2] = vp9_sad4x8(src_ptr, src_stride,
566 ref_ptr[2], ref_stride, 0x7fffffff);
567 sad_array[3] = vp9_sad4x8(src_ptr, src_stride,
568 ref_ptr[3], ref_stride, 0x7fffffff);
569 }
570
571 void vp9_sad4x8x8_c(const uint8_t *src_ptr,
572 int src_stride,
573 const uint8_t *ref_ptr,
574 int ref_stride,
575 uint32_t *sad_array) {
576 sad_array[0] = vp9_sad4x8(src_ptr, src_stride,
577 ref_ptr, ref_stride,
578 0x7fffffff);
579 sad_array[1] = vp9_sad4x8(src_ptr, src_stride,
580 ref_ptr + 1, ref_stride,
581 0x7fffffff);
582 sad_array[2] = vp9_sad4x8(src_ptr, src_stride,
583 ref_ptr + 2, ref_stride,
584 0x7fffffff);
585 sad_array[3] = vp9_sad4x8(src_ptr, src_stride,
586 ref_ptr + 3, ref_stride,
587 0x7fffffff);
588 sad_array[4] = vp9_sad4x8(src_ptr, src_stride,
589 ref_ptr + 4, ref_stride,
590 0x7fffffff);
591 sad_array[5] = vp9_sad4x8(src_ptr, src_stride,
592 ref_ptr + 5, ref_stride,
593 0x7fffffff);
594 sad_array[6] = vp9_sad4x8(src_ptr, src_stride,
595 ref_ptr + 6, ref_stride,
596 0x7fffffff);
597 sad_array[7] = vp9_sad4x8(src_ptr, src_stride,
598 ref_ptr + 7, ref_stride,
599 0x7fffffff);
600 }
601
602 void vp9_sad4x4x4d_c(const uint8_t *src_ptr,
603 int src_stride,
604 const uint8_t* const ref_ptr[],
605 int ref_stride,
606 unsigned int *sad_array) {
607 sad_array[0] = vp9_sad4x4(src_ptr, src_stride,
608 ref_ptr[0], ref_stride, 0x7fffffff);
609 sad_array[1] = vp9_sad4x4(src_ptr, src_stride,
610 ref_ptr[1], ref_stride, 0x7fffffff);
611 sad_array[2] = vp9_sad4x4(src_ptr, src_stride,
612 ref_ptr[2], ref_stride, 0x7fffffff);
613 sad_array[3] = vp9_sad4x4(src_ptr, src_stride,
614 ref_ptr[3], ref_stride, 0x7fffffff);
615 }

mercurial