1 // This file is generated. Do not edit.
2 #ifndef VPX_DSP_RTCD_H_
3 #define VPX_DSP_RTCD_H_
4
5 #ifdef RTCD_C
6 #define RTCD_EXTERN
7 #else
8 #define RTCD_EXTERN extern
9 #endif
10
11 /*
12 * DSP
13 */
14
15 #include "vpx/vpx_integer.h"
16 #include "vpx_dsp/vpx_dsp_common.h"
17 #include "vpx_dsp/vpx_filter.h"
18
19 #ifdef __cplusplus
20 extern "C" {
21 #endif
22
23 unsigned int vpx_avg_4x4_c(const uint8_t*, int p);
24 unsigned int vpx_avg_4x4_neon(const uint8_t*, int p);
25 RTCD_EXTERN unsigned int (*vpx_avg_4x4)(const uint8_t*, int p);
26
27 unsigned int vpx_avg_8x8_c(const uint8_t*, int p);
28 unsigned int vpx_avg_8x8_neon(const uint8_t*, int p);
29 RTCD_EXTERN unsigned int (*vpx_avg_8x8)(const uint8_t*, int p);
30
31 void vpx_comp_avg_pred_c(uint8_t* comp_pred,
32 const uint8_t* pred,
33 int width,
34 int height,
35 const uint8_t* ref,
36 int ref_stride);
37 void vpx_comp_avg_pred_neon(uint8_t* comp_pred,
38 const uint8_t* pred,
39 int width,
40 int height,
41 const uint8_t* ref,
42 int ref_stride);
43 RTCD_EXTERN void (*vpx_comp_avg_pred)(uint8_t* comp_pred,
44 const uint8_t* pred,
45 int width,
46 int height,
47 const uint8_t* ref,
48 int ref_stride);
49
50 void vpx_convolve8_c(const uint8_t* src,
51 ptrdiff_t src_stride,
52 uint8_t* dst,
53 ptrdiff_t dst_stride,
54 const InterpKernel* filter,
55 int x0_q4,
56 int x_step_q4,
57 int y0_q4,
58 int y_step_q4,
59 int w,
60 int h);
61 void vpx_convolve8_neon(const uint8_t* src,
62 ptrdiff_t src_stride,
63 uint8_t* dst,
64 ptrdiff_t dst_stride,
65 const InterpKernel* filter,
66 int x0_q4,
67 int x_step_q4,
68 int y0_q4,
69 int y_step_q4,
70 int w,
71 int h);
72 RTCD_EXTERN void (*vpx_convolve8)(const uint8_t* src,
73 ptrdiff_t src_stride,
74 uint8_t* dst,
75 ptrdiff_t dst_stride,
76 const InterpKernel* filter,
77 int x0_q4,
78 int x_step_q4,
79 int y0_q4,
80 int y_step_q4,
81 int w,
82 int h);
83
84 void vpx_convolve8_avg_c(const uint8_t* src,
85 ptrdiff_t src_stride,
86 uint8_t* dst,
87 ptrdiff_t dst_stride,
88 const InterpKernel* filter,
89 int x0_q4,
90 int x_step_q4,
91 int y0_q4,
92 int y_step_q4,
93 int w,
94 int h);
95 void vpx_convolve8_avg_neon(const uint8_t* src,
96 ptrdiff_t src_stride,
97 uint8_t* dst,
98 ptrdiff_t dst_stride,
99 const InterpKernel* filter,
100 int x0_q4,
101 int x_step_q4,
102 int y0_q4,
103 int y_step_q4,
104 int w,
105 int h);
106 RTCD_EXTERN void (*vpx_convolve8_avg)(const uint8_t* src,
107 ptrdiff_t src_stride,
108 uint8_t* dst,
109 ptrdiff_t dst_stride,
110 const InterpKernel* filter,
111 int x0_q4,
112 int x_step_q4,
113 int y0_q4,
114 int y_step_q4,
115 int w,
116 int h);
117
118 void vpx_convolve8_avg_horiz_c(const uint8_t* src,
119 ptrdiff_t src_stride,
120 uint8_t* dst,
121 ptrdiff_t dst_stride,
122 const InterpKernel* filter,
123 int x0_q4,
124 int x_step_q4,
125 int y0_q4,
126 int y_step_q4,
127 int w,
128 int h);
129 void vpx_convolve8_avg_horiz_neon(const uint8_t* src,
130 ptrdiff_t src_stride,
131 uint8_t* dst,
132 ptrdiff_t dst_stride,
133 const InterpKernel* filter,
134 int x0_q4,
135 int x_step_q4,
136 int y0_q4,
137 int y_step_q4,
138 int w,
139 int h);
140 RTCD_EXTERN void (*vpx_convolve8_avg_horiz)(const uint8_t* src,
141 ptrdiff_t src_stride,
142 uint8_t* dst,
143 ptrdiff_t dst_stride,
144 const InterpKernel* filter,
145 int x0_q4,
146 int x_step_q4,
147 int y0_q4,
148 int y_step_q4,
149 int w,
150 int h);
151
152 void vpx_convolve8_avg_vert_c(const uint8_t* src,
153 ptrdiff_t src_stride,
154 uint8_t* dst,
155 ptrdiff_t dst_stride,
156 const InterpKernel* filter,
157 int x0_q4,
158 int x_step_q4,
159 int y0_q4,
160 int y_step_q4,
161 int w,
162 int h);
163 void vpx_convolve8_avg_vert_neon(const uint8_t* src,
164 ptrdiff_t src_stride,
165 uint8_t* dst,
166 ptrdiff_t dst_stride,
167 const InterpKernel* filter,
168 int x0_q4,
169 int x_step_q4,
170 int y0_q4,
171 int y_step_q4,
172 int w,
173 int h);
174 RTCD_EXTERN void (*vpx_convolve8_avg_vert)(const uint8_t* src,
175 ptrdiff_t src_stride,
176 uint8_t* dst,
177 ptrdiff_t dst_stride,
178 const InterpKernel* filter,
179 int x0_q4,
180 int x_step_q4,
181 int y0_q4,
182 int y_step_q4,
183 int w,
184 int h);
185
186 void vpx_convolve8_horiz_c(const uint8_t* src,
187 ptrdiff_t src_stride,
188 uint8_t* dst,
189 ptrdiff_t dst_stride,
190 const InterpKernel* filter,
191 int x0_q4,
192 int x_step_q4,
193 int y0_q4,
194 int y_step_q4,
195 int w,
196 int h);
197 void vpx_convolve8_horiz_neon(const uint8_t* src,
198 ptrdiff_t src_stride,
199 uint8_t* dst,
200 ptrdiff_t dst_stride,
201 const InterpKernel* filter,
202 int x0_q4,
203 int x_step_q4,
204 int y0_q4,
205 int y_step_q4,
206 int w,
207 int h);
208 RTCD_EXTERN void (*vpx_convolve8_horiz)(const uint8_t* src,
209 ptrdiff_t src_stride,
210 uint8_t* dst,
211 ptrdiff_t dst_stride,
212 const InterpKernel* filter,
213 int x0_q4,
214 int x_step_q4,
215 int y0_q4,
216 int y_step_q4,
217 int w,
218 int h);
219
220 void vpx_convolve8_vert_c(const uint8_t* src,
221 ptrdiff_t src_stride,
222 uint8_t* dst,
223 ptrdiff_t dst_stride,
224 const InterpKernel* filter,
225 int x0_q4,
226 int x_step_q4,
227 int y0_q4,
228 int y_step_q4,
229 int w,
230 int h);
231 void vpx_convolve8_vert_neon(const uint8_t* src,
232 ptrdiff_t src_stride,
233 uint8_t* dst,
234 ptrdiff_t dst_stride,
235 const InterpKernel* filter,
236 int x0_q4,
237 int x_step_q4,
238 int y0_q4,
239 int y_step_q4,
240 int w,
241 int h);
242 RTCD_EXTERN void (*vpx_convolve8_vert)(const uint8_t* src,
243 ptrdiff_t src_stride,
244 uint8_t* dst,
245 ptrdiff_t dst_stride,
246 const InterpKernel* filter,
247 int x0_q4,
248 int x_step_q4,
249 int y0_q4,
250 int y_step_q4,
251 int w,
252 int h);
253
254 void vpx_convolve_avg_c(const uint8_t* src,
255 ptrdiff_t src_stride,
256 uint8_t* dst,
257 ptrdiff_t dst_stride,
258 const InterpKernel* filter,
259 int x0_q4,
260 int x_step_q4,
261 int y0_q4,
262 int y_step_q4,
263 int w,
264 int h);
265 void vpx_convolve_avg_neon(const uint8_t* src,
266 ptrdiff_t src_stride,
267 uint8_t* dst,
268 ptrdiff_t dst_stride,
269 const InterpKernel* filter,
270 int x0_q4,
271 int x_step_q4,
272 int y0_q4,
273 int y_step_q4,
274 int w,
275 int h);
276 RTCD_EXTERN void (*vpx_convolve_avg)(const uint8_t* src,
277 ptrdiff_t src_stride,
278 uint8_t* dst,
279 ptrdiff_t dst_stride,
280 const InterpKernel* filter,
281 int x0_q4,
282 int x_step_q4,
283 int y0_q4,
284 int y_step_q4,
285 int w,
286 int h);
287
288 void vpx_convolve_copy_c(const uint8_t* src,
289 ptrdiff_t src_stride,
290 uint8_t* dst,
291 ptrdiff_t dst_stride,
292 const InterpKernel* filter,
293 int x0_q4,
294 int x_step_q4,
295 int y0_q4,
296 int y_step_q4,
297 int w,
298 int h);
299 void vpx_convolve_copy_neon(const uint8_t* src,
300 ptrdiff_t src_stride,
301 uint8_t* dst,
302 ptrdiff_t dst_stride,
303 const InterpKernel* filter,
304 int x0_q4,
305 int x_step_q4,
306 int y0_q4,
307 int y_step_q4,
308 int w,
309 int h);
310 RTCD_EXTERN void (*vpx_convolve_copy)(const uint8_t* src,
311 ptrdiff_t src_stride,
312 uint8_t* dst,
313 ptrdiff_t dst_stride,
314 const InterpKernel* filter,
315 int x0_q4,
316 int x_step_q4,
317 int y0_q4,
318 int y_step_q4,
319 int w,
320 int h);
321
322 void vpx_d117_predictor_16x16_c(uint8_t* dst,
323 ptrdiff_t stride,
324 const uint8_t* above,
325 const uint8_t* left);
326 #define vpx_d117_predictor_16x16 vpx_d117_predictor_16x16_c
327
328 void vpx_d117_predictor_32x32_c(uint8_t* dst,
329 ptrdiff_t stride,
330 const uint8_t* above,
331 const uint8_t* left);
332 #define vpx_d117_predictor_32x32 vpx_d117_predictor_32x32_c
333
334 void vpx_d117_predictor_4x4_c(uint8_t* dst,
335 ptrdiff_t stride,
336 const uint8_t* above,
337 const uint8_t* left);
338 #define vpx_d117_predictor_4x4 vpx_d117_predictor_4x4_c
339
340 void vpx_d117_predictor_8x8_c(uint8_t* dst,
341 ptrdiff_t stride,
342 const uint8_t* above,
343 const uint8_t* left);
344 #define vpx_d117_predictor_8x8 vpx_d117_predictor_8x8_c
345
346 void vpx_d135_predictor_16x16_c(uint8_t* dst,
347 ptrdiff_t stride,
348 const uint8_t* above,
349 const uint8_t* left);
350 void vpx_d135_predictor_16x16_neon(uint8_t* dst,
351 ptrdiff_t stride,
352 const uint8_t* above,
353 const uint8_t* left);
354 RTCD_EXTERN void (*vpx_d135_predictor_16x16)(uint8_t* dst,
355 ptrdiff_t stride,
356 const uint8_t* above,
357 const uint8_t* left);
358
359 void vpx_d135_predictor_32x32_c(uint8_t* dst,
360 ptrdiff_t stride,
361 const uint8_t* above,
362 const uint8_t* left);
363 void vpx_d135_predictor_32x32_neon(uint8_t* dst,
364 ptrdiff_t stride,
365 const uint8_t* above,
366 const uint8_t* left);
367 RTCD_EXTERN void (*vpx_d135_predictor_32x32)(uint8_t* dst,
368 ptrdiff_t stride,
369 const uint8_t* above,
370 const uint8_t* left);
371
372 void vpx_d135_predictor_4x4_c(uint8_t* dst,
373 ptrdiff_t stride,
374 const uint8_t* above,
375 const uint8_t* left);
376 void vpx_d135_predictor_4x4_neon(uint8_t* dst,
377 ptrdiff_t stride,
378 const uint8_t* above,
379 const uint8_t* left);
380 RTCD_EXTERN void (*vpx_d135_predictor_4x4)(uint8_t* dst,
381 ptrdiff_t stride,
382 const uint8_t* above,
383 const uint8_t* left);
384
385 void vpx_d135_predictor_8x8_c(uint8_t* dst,
386 ptrdiff_t stride,
387 const uint8_t* above,
388 const uint8_t* left);
389 void vpx_d135_predictor_8x8_neon(uint8_t* dst,
390 ptrdiff_t stride,
391 const uint8_t* above,
392 const uint8_t* left);
393 RTCD_EXTERN void (*vpx_d135_predictor_8x8)(uint8_t* dst,
394 ptrdiff_t stride,
395 const uint8_t* above,
396 const uint8_t* left);
397
398 void vpx_d153_predictor_16x16_c(uint8_t* dst,
399 ptrdiff_t stride,
400 const uint8_t* above,
401 const uint8_t* left);
402 #define vpx_d153_predictor_16x16 vpx_d153_predictor_16x16_c
403
404 void vpx_d153_predictor_32x32_c(uint8_t* dst,
405 ptrdiff_t stride,
406 const uint8_t* above,
407 const uint8_t* left);
408 #define vpx_d153_predictor_32x32 vpx_d153_predictor_32x32_c
409
410 void vpx_d153_predictor_4x4_c(uint8_t* dst,
411 ptrdiff_t stride,
412 const uint8_t* above,
413 const uint8_t* left);
414 #define vpx_d153_predictor_4x4 vpx_d153_predictor_4x4_c
415
416 void vpx_d153_predictor_8x8_c(uint8_t* dst,
417 ptrdiff_t stride,
418 const uint8_t* above,
419 const uint8_t* left);
420 #define vpx_d153_predictor_8x8 vpx_d153_predictor_8x8_c
421
422 void vpx_d207_predictor_16x16_c(uint8_t* dst,
423 ptrdiff_t stride,
424 const uint8_t* above,
425 const uint8_t* left);
426 #define vpx_d207_predictor_16x16 vpx_d207_predictor_16x16_c
427
428 void vpx_d207_predictor_32x32_c(uint8_t* dst,
429 ptrdiff_t stride,
430 const uint8_t* above,
431 const uint8_t* left);
432 #define vpx_d207_predictor_32x32 vpx_d207_predictor_32x32_c
433
434 void vpx_d207_predictor_4x4_c(uint8_t* dst,
435 ptrdiff_t stride,
436 const uint8_t* above,
437 const uint8_t* left);
438 #define vpx_d207_predictor_4x4 vpx_d207_predictor_4x4_c
439
440 void vpx_d207_predictor_8x8_c(uint8_t* dst,
441 ptrdiff_t stride,
442 const uint8_t* above,
443 const uint8_t* left);
444 #define vpx_d207_predictor_8x8 vpx_d207_predictor_8x8_c
445
446 void vpx_d45_predictor_16x16_c(uint8_t* dst,
447 ptrdiff_t stride,
448 const uint8_t* above,
449 const uint8_t* left);
450 void vpx_d45_predictor_16x16_neon(uint8_t* dst,
451 ptrdiff_t stride,
452 const uint8_t* above,
453 const uint8_t* left);
454 RTCD_EXTERN void (*vpx_d45_predictor_16x16)(uint8_t* dst,
455 ptrdiff_t stride,
456 const uint8_t* above,
457 const uint8_t* left);
458
459 void vpx_d45_predictor_32x32_c(uint8_t* dst,
460 ptrdiff_t stride,
461 const uint8_t* above,
462 const uint8_t* left);
463 void vpx_d45_predictor_32x32_neon(uint8_t* dst,
464 ptrdiff_t stride,
465 const uint8_t* above,
466 const uint8_t* left);
467 RTCD_EXTERN void (*vpx_d45_predictor_32x32)(uint8_t* dst,
468 ptrdiff_t stride,
469 const uint8_t* above,
470 const uint8_t* left);
471
472 void vpx_d45_predictor_4x4_c(uint8_t* dst,
473 ptrdiff_t stride,
474 const uint8_t* above,
475 const uint8_t* left);
476 void vpx_d45_predictor_4x4_neon(uint8_t* dst,
477 ptrdiff_t stride,
478 const uint8_t* above,
479 const uint8_t* left);
480 RTCD_EXTERN void (*vpx_d45_predictor_4x4)(uint8_t* dst,
481 ptrdiff_t stride,
482 const uint8_t* above,
483 const uint8_t* left);
484
485 void vpx_d45_predictor_8x8_c(uint8_t* dst,
486 ptrdiff_t stride,
487 const uint8_t* above,
488 const uint8_t* left);
489 void vpx_d45_predictor_8x8_neon(uint8_t* dst,
490 ptrdiff_t stride,
491 const uint8_t* above,
492 const uint8_t* left);
493 RTCD_EXTERN void (*vpx_d45_predictor_8x8)(uint8_t* dst,
494 ptrdiff_t stride,
495 const uint8_t* above,
496 const uint8_t* left);
497
498 void vpx_d45e_predictor_4x4_c(uint8_t* dst,
499 ptrdiff_t stride,
500 const uint8_t* above,
501 const uint8_t* left);
502 #define vpx_d45e_predictor_4x4 vpx_d45e_predictor_4x4_c
503
504 void vpx_d63_predictor_16x16_c(uint8_t* dst,
505 ptrdiff_t stride,
506 const uint8_t* above,
507 const uint8_t* left);
508 #define vpx_d63_predictor_16x16 vpx_d63_predictor_16x16_c
509
510 void vpx_d63_predictor_32x32_c(uint8_t* dst,
511 ptrdiff_t stride,
512 const uint8_t* above,
513 const uint8_t* left);
514 #define vpx_d63_predictor_32x32 vpx_d63_predictor_32x32_c
515
516 void vpx_d63_predictor_4x4_c(uint8_t* dst,
517 ptrdiff_t stride,
518 const uint8_t* above,
519 const uint8_t* left);
520 #define vpx_d63_predictor_4x4 vpx_d63_predictor_4x4_c
521
522 void vpx_d63_predictor_8x8_c(uint8_t* dst,
523 ptrdiff_t stride,
524 const uint8_t* above,
525 const uint8_t* left);
526 #define vpx_d63_predictor_8x8 vpx_d63_predictor_8x8_c
527
528 void vpx_d63e_predictor_4x4_c(uint8_t* dst,
529 ptrdiff_t stride,
530 const uint8_t* above,
531 const uint8_t* left);
532 #define vpx_d63e_predictor_4x4 vpx_d63e_predictor_4x4_c
533
534 void vpx_dc_128_predictor_16x16_c(uint8_t* dst,
535 ptrdiff_t stride,
536 const uint8_t* above,
537 const uint8_t* left);
538 void vpx_dc_128_predictor_16x16_neon(uint8_t* dst,
539 ptrdiff_t stride,
540 const uint8_t* above,
541 const uint8_t* left);
542 RTCD_EXTERN void (*vpx_dc_128_predictor_16x16)(uint8_t* dst,
543 ptrdiff_t stride,
544 const uint8_t* above,
545 const uint8_t* left);
546
547 void vpx_dc_128_predictor_32x32_c(uint8_t* dst,
548 ptrdiff_t stride,
549 const uint8_t* above,
550 const uint8_t* left);
551 void vpx_dc_128_predictor_32x32_neon(uint8_t* dst,
552 ptrdiff_t stride,
553 const uint8_t* above,
554 const uint8_t* left);
555 RTCD_EXTERN void (*vpx_dc_128_predictor_32x32)(uint8_t* dst,
556 ptrdiff_t stride,
557 const uint8_t* above,
558 const uint8_t* left);
559
560 void vpx_dc_128_predictor_4x4_c(uint8_t* dst,
561 ptrdiff_t stride,
562 const uint8_t* above,
563 const uint8_t* left);
564 void vpx_dc_128_predictor_4x4_neon(uint8_t* dst,
565 ptrdiff_t stride,
566 const uint8_t* above,
567 const uint8_t* left);
568 RTCD_EXTERN void (*vpx_dc_128_predictor_4x4)(uint8_t* dst,
569 ptrdiff_t stride,
570 const uint8_t* above,
571 const uint8_t* left);
572
573 void vpx_dc_128_predictor_8x8_c(uint8_t* dst,
574 ptrdiff_t stride,
575 const uint8_t* above,
576 const uint8_t* left);
577 void vpx_dc_128_predictor_8x8_neon(uint8_t* dst,
578 ptrdiff_t stride,
579 const uint8_t* above,
580 const uint8_t* left);
581 RTCD_EXTERN void (*vpx_dc_128_predictor_8x8)(uint8_t* dst,
582 ptrdiff_t stride,
583 const uint8_t* above,
584 const uint8_t* left);
585
586 void vpx_dc_left_predictor_16x16_c(uint8_t* dst,
587 ptrdiff_t stride,
588 const uint8_t* above,
589 const uint8_t* left);
590 void vpx_dc_left_predictor_16x16_neon(uint8_t* dst,
591 ptrdiff_t stride,
592 const uint8_t* above,
593 const uint8_t* left);
594 RTCD_EXTERN void (*vpx_dc_left_predictor_16x16)(uint8_t* dst,
595 ptrdiff_t stride,
596 const uint8_t* above,
597 const uint8_t* left);
598
599 void vpx_dc_left_predictor_32x32_c(uint8_t* dst,
600 ptrdiff_t stride,
601 const uint8_t* above,
602 const uint8_t* left);
603 void vpx_dc_left_predictor_32x32_neon(uint8_t* dst,
604 ptrdiff_t stride,
605 const uint8_t* above,
606 const uint8_t* left);
607 RTCD_EXTERN void (*vpx_dc_left_predictor_32x32)(uint8_t* dst,
608 ptrdiff_t stride,
609 const uint8_t* above,
610 const uint8_t* left);
611
612 void vpx_dc_left_predictor_4x4_c(uint8_t* dst,
613 ptrdiff_t stride,
614 const uint8_t* above,
615 const uint8_t* left);
616 void vpx_dc_left_predictor_4x4_neon(uint8_t* dst,
617 ptrdiff_t stride,
618 const uint8_t* above,
619 const uint8_t* left);
620 RTCD_EXTERN void (*vpx_dc_left_predictor_4x4)(uint8_t* dst,
621 ptrdiff_t stride,
622 const uint8_t* above,
623 const uint8_t* left);
624
625 void vpx_dc_left_predictor_8x8_c(uint8_t* dst,
626 ptrdiff_t stride,
627 const uint8_t* above,
628 const uint8_t* left);
629 void vpx_dc_left_predictor_8x8_neon(uint8_t* dst,
630 ptrdiff_t stride,
631 const uint8_t* above,
632 const uint8_t* left);
633 RTCD_EXTERN void (*vpx_dc_left_predictor_8x8)(uint8_t* dst,
634 ptrdiff_t stride,
635 const uint8_t* above,
636 const uint8_t* left);
637
638 void vpx_dc_predictor_16x16_c(uint8_t* dst,
639 ptrdiff_t stride,
640 const uint8_t* above,
641 const uint8_t* left);
642 void vpx_dc_predictor_16x16_neon(uint8_t* dst,
643 ptrdiff_t stride,
644 const uint8_t* above,
645 const uint8_t* left);
646 RTCD_EXTERN void (*vpx_dc_predictor_16x16)(uint8_t* dst,
647 ptrdiff_t stride,
648 const uint8_t* above,
649 const uint8_t* left);
650
651 void vpx_dc_predictor_32x32_c(uint8_t* dst,
652 ptrdiff_t stride,
653 const uint8_t* above,
654 const uint8_t* left);
655 void vpx_dc_predictor_32x32_neon(uint8_t* dst,
656 ptrdiff_t stride,
657 const uint8_t* above,
658 const uint8_t* left);
659 RTCD_EXTERN void (*vpx_dc_predictor_32x32)(uint8_t* dst,
660 ptrdiff_t stride,
661 const uint8_t* above,
662 const uint8_t* left);
663
664 void vpx_dc_predictor_4x4_c(uint8_t* dst,
665 ptrdiff_t stride,
666 const uint8_t* above,
667 const uint8_t* left);
668 void vpx_dc_predictor_4x4_neon(uint8_t* dst,
669 ptrdiff_t stride,
670 const uint8_t* above,
671 const uint8_t* left);
672 RTCD_EXTERN void (*vpx_dc_predictor_4x4)(uint8_t* dst,
673 ptrdiff_t stride,
674 const uint8_t* above,
675 const uint8_t* left);
676
677 void vpx_dc_predictor_8x8_c(uint8_t* dst,
678 ptrdiff_t stride,
679 const uint8_t* above,
680 const uint8_t* left);
681 void vpx_dc_predictor_8x8_neon(uint8_t* dst,
682 ptrdiff_t stride,
683 const uint8_t* above,
684 const uint8_t* left);
685 RTCD_EXTERN void (*vpx_dc_predictor_8x8)(uint8_t* dst,
686 ptrdiff_t stride,
687 const uint8_t* above,
688 const uint8_t* left);
689
690 void vpx_dc_top_predictor_16x16_c(uint8_t* dst,
691 ptrdiff_t stride,
692 const uint8_t* above,
693 const uint8_t* left);
694 void vpx_dc_top_predictor_16x16_neon(uint8_t* dst,
695 ptrdiff_t stride,
696 const uint8_t* above,
697 const uint8_t* left);
698 RTCD_EXTERN void (*vpx_dc_top_predictor_16x16)(uint8_t* dst,
699 ptrdiff_t stride,
700 const uint8_t* above,
701 const uint8_t* left);
702
703 void vpx_dc_top_predictor_32x32_c(uint8_t* dst,
704 ptrdiff_t stride,
705 const uint8_t* above,
706 const uint8_t* left);
707 void vpx_dc_top_predictor_32x32_neon(uint8_t* dst,
708 ptrdiff_t stride,
709 const uint8_t* above,
710 const uint8_t* left);
711 RTCD_EXTERN void (*vpx_dc_top_predictor_32x32)(uint8_t* dst,
712 ptrdiff_t stride,
713 const uint8_t* above,
714 const uint8_t* left);
715
716 void vpx_dc_top_predictor_4x4_c(uint8_t* dst,
717 ptrdiff_t stride,
718 const uint8_t* above,
719 const uint8_t* left);
720 void vpx_dc_top_predictor_4x4_neon(uint8_t* dst,
721 ptrdiff_t stride,
722 const uint8_t* above,
723 const uint8_t* left);
724 RTCD_EXTERN void (*vpx_dc_top_predictor_4x4)(uint8_t* dst,
725 ptrdiff_t stride,
726 const uint8_t* above,
727 const uint8_t* left);
728
729 void vpx_dc_top_predictor_8x8_c(uint8_t* dst,
730 ptrdiff_t stride,
731 const uint8_t* above,
732 const uint8_t* left);
733 void vpx_dc_top_predictor_8x8_neon(uint8_t* dst,
734 ptrdiff_t stride,
735 const uint8_t* above,
736 const uint8_t* left);
737 RTCD_EXTERN void (*vpx_dc_top_predictor_8x8)(uint8_t* dst,
738 ptrdiff_t stride,
739 const uint8_t* above,
740 const uint8_t* left);
741
742 void vpx_fdct16x16_c(const int16_t* input, tran_low_t* output, int stride);
743 void vpx_fdct16x16_neon(const int16_t* input, tran_low_t* output, int stride);
744 RTCD_EXTERN void (*vpx_fdct16x16)(const int16_t* input,
745 tran_low_t* output,
746 int stride);
747
748 void vpx_fdct16x16_1_c(const int16_t* input, tran_low_t* output, int stride);
749 void vpx_fdct16x16_1_neon(const int16_t* input, tran_low_t* output, int stride);
750 RTCD_EXTERN void (*vpx_fdct16x16_1)(const int16_t* input,
751 tran_low_t* output,
752 int stride);
753
754 void vpx_fdct32x32_c(const int16_t* input, tran_low_t* output, int stride);
755 void vpx_fdct32x32_neon(const int16_t* input, tran_low_t* output, int stride);
756 RTCD_EXTERN void (*vpx_fdct32x32)(const int16_t* input,
757 tran_low_t* output,
758 int stride);
759
760 void vpx_fdct32x32_1_c(const int16_t* input, tran_low_t* output, int stride);
761 void vpx_fdct32x32_1_neon(const int16_t* input, tran_low_t* output, int stride);
762 RTCD_EXTERN void (*vpx_fdct32x32_1)(const int16_t* input,
763 tran_low_t* output,
764 int stride);
765
766 void vpx_fdct32x32_rd_c(const int16_t* input, tran_low_t* output, int stride);
767 void vpx_fdct32x32_rd_neon(const int16_t* input,
768 tran_low_t* output,
769 int stride);
770 RTCD_EXTERN void (*vpx_fdct32x32_rd)(const int16_t* input,
771 tran_low_t* output,
772 int stride);
773
774 void vpx_fdct4x4_c(const int16_t* input, tran_low_t* output, int stride);
775 void vpx_fdct4x4_neon(const int16_t* input, tran_low_t* output, int stride);
776 RTCD_EXTERN void (*vpx_fdct4x4)(const int16_t* input,
777 tran_low_t* output,
778 int stride);
779
780 void vpx_fdct4x4_1_c(const int16_t* input, tran_low_t* output, int stride);
781 void vpx_fdct4x4_1_neon(const int16_t* input, tran_low_t* output, int stride);
782 RTCD_EXTERN void (*vpx_fdct4x4_1)(const int16_t* input,
783 tran_low_t* output,
784 int stride);
785
786 void vpx_fdct8x8_c(const int16_t* input, tran_low_t* output, int stride);
787 void vpx_fdct8x8_neon(const int16_t* input, tran_low_t* output, int stride);
788 RTCD_EXTERN void (*vpx_fdct8x8)(const int16_t* input,
789 tran_low_t* output,
790 int stride);
791
792 void vpx_fdct8x8_1_c(const int16_t* input, tran_low_t* output, int stride);
793 void vpx_fdct8x8_1_neon(const int16_t* input, tran_low_t* output, int stride);
794 RTCD_EXTERN void (*vpx_fdct8x8_1)(const int16_t* input,
795 tran_low_t* output,
796 int stride);
797
798 void vpx_get16x16var_c(const uint8_t* src_ptr,
799 int src_stride,
800 const uint8_t* ref_ptr,
801 int ref_stride,
802 unsigned int* sse,
803 int* sum);
804 void vpx_get16x16var_neon(const uint8_t* src_ptr,
805 int src_stride,
806 const uint8_t* ref_ptr,
807 int ref_stride,
808 unsigned int* sse,
809 int* sum);
810 RTCD_EXTERN void (*vpx_get16x16var)(const uint8_t* src_ptr,
811 int src_stride,
812 const uint8_t* ref_ptr,
813 int ref_stride,
814 unsigned int* sse,
815 int* sum);
816
817 unsigned int vpx_get4x4sse_cs_c(const unsigned char* src_ptr,
818 int src_stride,
819 const unsigned char* ref_ptr,
820 int ref_stride);
821 unsigned int vpx_get4x4sse_cs_neon(const unsigned char* src_ptr,
822 int src_stride,
823 const unsigned char* ref_ptr,
824 int ref_stride);
825 RTCD_EXTERN unsigned int (*vpx_get4x4sse_cs)(const unsigned char* src_ptr,
826 int src_stride,
827 const unsigned char* ref_ptr,
828 int ref_stride);
829
830 void vpx_get8x8var_c(const uint8_t* src_ptr,
831 int src_stride,
832 const uint8_t* ref_ptr,
833 int ref_stride,
834 unsigned int* sse,
835 int* sum);
836 void vpx_get8x8var_neon(const uint8_t* src_ptr,
837 int src_stride,
838 const uint8_t* ref_ptr,
839 int ref_stride,
840 unsigned int* sse,
841 int* sum);
842 RTCD_EXTERN void (*vpx_get8x8var)(const uint8_t* src_ptr,
843 int src_stride,
844 const uint8_t* ref_ptr,
845 int ref_stride,
846 unsigned int* sse,
847 int* sum);
848
849 unsigned int vpx_get_mb_ss_c(const int16_t*);
850 #define vpx_get_mb_ss vpx_get_mb_ss_c
851
852 void vpx_h_predictor_16x16_c(uint8_t* dst,
853 ptrdiff_t stride,
854 const uint8_t* above,
855 const uint8_t* left);
856 void vpx_h_predictor_16x16_neon(uint8_t* dst,
857 ptrdiff_t stride,
858 const uint8_t* above,
859 const uint8_t* left);
860 RTCD_EXTERN void (*vpx_h_predictor_16x16)(uint8_t* dst,
861 ptrdiff_t stride,
862 const uint8_t* above,
863 const uint8_t* left);
864
865 void vpx_h_predictor_32x32_c(uint8_t* dst,
866 ptrdiff_t stride,
867 const uint8_t* above,
868 const uint8_t* left);
869 void vpx_h_predictor_32x32_neon(uint8_t* dst,
870 ptrdiff_t stride,
871 const uint8_t* above,
872 const uint8_t* left);
873 RTCD_EXTERN void (*vpx_h_predictor_32x32)(uint8_t* dst,
874 ptrdiff_t stride,
875 const uint8_t* above,
876 const uint8_t* left);
877
878 void vpx_h_predictor_4x4_c(uint8_t* dst,
879 ptrdiff_t stride,
880 const uint8_t* above,
881 const uint8_t* left);
882 void vpx_h_predictor_4x4_neon(uint8_t* dst,
883 ptrdiff_t stride,
884 const uint8_t* above,
885 const uint8_t* left);
886 RTCD_EXTERN void (*vpx_h_predictor_4x4)(uint8_t* dst,
887 ptrdiff_t stride,
888 const uint8_t* above,
889 const uint8_t* left);
890
891 void vpx_h_predictor_8x8_c(uint8_t* dst,
892 ptrdiff_t stride,
893 const uint8_t* above,
894 const uint8_t* left);
895 void vpx_h_predictor_8x8_neon(uint8_t* dst,
896 ptrdiff_t stride,
897 const uint8_t* above,
898 const uint8_t* left);
899 RTCD_EXTERN void (*vpx_h_predictor_8x8)(uint8_t* dst,
900 ptrdiff_t stride,
901 const uint8_t* above,
902 const uint8_t* left);
903
904 void vpx_hadamard_16x16_c(const int16_t* src_diff,
905 ptrdiff_t src_stride,
906 int16_t* coeff);
907 void vpx_hadamard_16x16_neon(const int16_t* src_diff,
908 ptrdiff_t src_stride,
909 int16_t* coeff);
910 RTCD_EXTERN void (*vpx_hadamard_16x16)(const int16_t* src_diff,
911 ptrdiff_t src_stride,
912 int16_t* coeff);
913
914 void vpx_hadamard_32x32_c(const int16_t* src_diff,
915 ptrdiff_t src_stride,
916 int16_t* coeff);
917 #define vpx_hadamard_32x32 vpx_hadamard_32x32_c
918
919 void vpx_hadamard_8x8_c(const int16_t* src_diff,
920 ptrdiff_t src_stride,
921 int16_t* coeff);
922 void vpx_hadamard_8x8_neon(const int16_t* src_diff,
923 ptrdiff_t src_stride,
924 int16_t* coeff);
925 RTCD_EXTERN void (*vpx_hadamard_8x8)(const int16_t* src_diff,
926 ptrdiff_t src_stride,
927 int16_t* coeff);
928
929 void vpx_he_predictor_4x4_c(uint8_t* dst,
930 ptrdiff_t stride,
931 const uint8_t* above,
932 const uint8_t* left);
933 #define vpx_he_predictor_4x4 vpx_he_predictor_4x4_c
934
935 void vpx_idct16x16_10_add_c(const tran_low_t* input, uint8_t* dest, int stride);
936 void vpx_idct16x16_10_add_neon(const tran_low_t* input,
937 uint8_t* dest,
938 int stride);
939 RTCD_EXTERN void (*vpx_idct16x16_10_add)(const tran_low_t* input,
940 uint8_t* dest,
941 int stride);
942
943 void vpx_idct16x16_1_add_c(const tran_low_t* input, uint8_t* dest, int stride);
944 void vpx_idct16x16_1_add_neon(const tran_low_t* input,
945 uint8_t* dest,
946 int stride);
947 RTCD_EXTERN void (*vpx_idct16x16_1_add)(const tran_low_t* input,
948 uint8_t* dest,
949 int stride);
950
951 void vpx_idct16x16_256_add_c(const tran_low_t* input,
952 uint8_t* dest,
953 int stride);
954 void vpx_idct16x16_256_add_neon(const tran_low_t* input,
955 uint8_t* dest,
956 int stride);
957 RTCD_EXTERN void (*vpx_idct16x16_256_add)(const tran_low_t* input,
958 uint8_t* dest,
959 int stride);
960
961 void vpx_idct16x16_38_add_c(const tran_low_t* input, uint8_t* dest, int stride);
962 void vpx_idct16x16_38_add_neon(const tran_low_t* input,
963 uint8_t* dest,
964 int stride);
965 RTCD_EXTERN void (*vpx_idct16x16_38_add)(const tran_low_t* input,
966 uint8_t* dest,
967 int stride);
968
969 void vpx_idct32x32_1024_add_c(const tran_low_t* input,
970 uint8_t* dest,
971 int stride);
972 void vpx_idct32x32_1024_add_neon(const tran_low_t* input,
973 uint8_t* dest,
974 int stride);
975 RTCD_EXTERN void (*vpx_idct32x32_1024_add)(const tran_low_t* input,
976 uint8_t* dest,
977 int stride);
978
979 void vpx_idct32x32_135_add_c(const tran_low_t* input,
980 uint8_t* dest,
981 int stride);
982 void vpx_idct32x32_135_add_neon(const tran_low_t* input,
983 uint8_t* dest,
984 int stride);
985 RTCD_EXTERN void (*vpx_idct32x32_135_add)(const tran_low_t* input,
986 uint8_t* dest,
987 int stride);
988
989 void vpx_idct32x32_1_add_c(const tran_low_t* input, uint8_t* dest, int stride);
990 void vpx_idct32x32_1_add_neon(const tran_low_t* input,
991 uint8_t* dest,
992 int stride);
993 RTCD_EXTERN void (*vpx_idct32x32_1_add)(const tran_low_t* input,
994 uint8_t* dest,
995 int stride);
996
997 void vpx_idct32x32_34_add_c(const tran_low_t* input, uint8_t* dest, int stride);
998 void vpx_idct32x32_34_add_neon(const tran_low_t* input,
999 uint8_t* dest,
1000 int stride);
1001 RTCD_EXTERN void (*vpx_idct32x32_34_add)(const tran_low_t* input,
1002 uint8_t* dest,
1003 int stride);
1004
1005 void vpx_idct4x4_16_add_c(const tran_low_t* input, uint8_t* dest, int stride);
1006 void vpx_idct4x4_16_add_neon(const tran_low_t* input,
1007 uint8_t* dest,
1008 int stride);
1009 RTCD_EXTERN void (*vpx_idct4x4_16_add)(const tran_low_t* input,
1010 uint8_t* dest,
1011 int stride);
1012
1013 void vpx_idct4x4_1_add_c(const tran_low_t* input, uint8_t* dest, int stride);
1014 void vpx_idct4x4_1_add_neon(const tran_low_t* input, uint8_t* dest, int stride);
1015 RTCD_EXTERN void (*vpx_idct4x4_1_add)(const tran_low_t* input,
1016 uint8_t* dest,
1017 int stride);
1018
1019 void vpx_idct8x8_12_add_c(const tran_low_t* input, uint8_t* dest, int stride);
1020 void vpx_idct8x8_12_add_neon(const tran_low_t* input,
1021 uint8_t* dest,
1022 int stride);
1023 RTCD_EXTERN void (*vpx_idct8x8_12_add)(const tran_low_t* input,
1024 uint8_t* dest,
1025 int stride);
1026
1027 void vpx_idct8x8_1_add_c(const tran_low_t* input, uint8_t* dest, int stride);
1028 void vpx_idct8x8_1_add_neon(const tran_low_t* input, uint8_t* dest, int stride);
1029 RTCD_EXTERN void (*vpx_idct8x8_1_add)(const tran_low_t* input,
1030 uint8_t* dest,
1031 int stride);
1032
1033 void vpx_idct8x8_64_add_c(const tran_low_t* input, uint8_t* dest, int stride);
1034 void vpx_idct8x8_64_add_neon(const tran_low_t* input,
1035 uint8_t* dest,
1036 int stride);
1037 RTCD_EXTERN void (*vpx_idct8x8_64_add)(const tran_low_t* input,
1038 uint8_t* dest,
1039 int stride);
1040
1041 int16_t vpx_int_pro_col_c(const uint8_t* ref, const int width);
1042 int16_t vpx_int_pro_col_neon(const uint8_t* ref, const int width);
1043 RTCD_EXTERN int16_t (*vpx_int_pro_col)(const uint8_t* ref, const int width);
1044
1045 void vpx_int_pro_row_c(int16_t* hbuf,
1046 const uint8_t* ref,
1047 const int ref_stride,
1048 const int height);
1049 void vpx_int_pro_row_neon(int16_t* hbuf,
1050 const uint8_t* ref,
1051 const int ref_stride,
1052 const int height);
1053 RTCD_EXTERN void (*vpx_int_pro_row)(int16_t* hbuf,
1054 const uint8_t* ref,
1055 const int ref_stride,
1056 const int height);
1057
1058 void vpx_iwht4x4_16_add_c(const tran_low_t* input, uint8_t* dest, int stride);
1059 #define vpx_iwht4x4_16_add vpx_iwht4x4_16_add_c
1060
1061 void vpx_iwht4x4_1_add_c(const tran_low_t* input, uint8_t* dest, int stride);
1062 #define vpx_iwht4x4_1_add vpx_iwht4x4_1_add_c
1063
1064 void vpx_lpf_horizontal_16_c(uint8_t* s,
1065 int pitch,
1066 const uint8_t* blimit,
1067 const uint8_t* limit,
1068 const uint8_t* thresh);
1069 void vpx_lpf_horizontal_16_neon(uint8_t* s,
1070 int pitch,
1071 const uint8_t* blimit,
1072 const uint8_t* limit,
1073 const uint8_t* thresh);
1074 RTCD_EXTERN void (*vpx_lpf_horizontal_16)(uint8_t* s,
1075 int pitch,
1076 const uint8_t* blimit,
1077 const uint8_t* limit,
1078 const uint8_t* thresh);
1079
1080 void vpx_lpf_horizontal_16_dual_c(uint8_t* s,
1081 int pitch,
1082 const uint8_t* blimit,
1083 const uint8_t* limit,
1084 const uint8_t* thresh);
1085 void vpx_lpf_horizontal_16_dual_neon(uint8_t* s,
1086 int pitch,
1087 const uint8_t* blimit,
1088 const uint8_t* limit,
1089 const uint8_t* thresh);
1090 RTCD_EXTERN void (*vpx_lpf_horizontal_16_dual)(uint8_t* s,
1091 int pitch,
1092 const uint8_t* blimit,
1093 const uint8_t* limit,
1094 const uint8_t* thresh);
1095
1096 void vpx_lpf_horizontal_4_c(uint8_t* s,
1097 int pitch,
1098 const uint8_t* blimit,
1099 const uint8_t* limit,
1100 const uint8_t* thresh);
1101 void vpx_lpf_horizontal_4_neon(uint8_t* s,
1102 int pitch,
1103 const uint8_t* blimit,
1104 const uint8_t* limit,
1105 const uint8_t* thresh);
1106 RTCD_EXTERN void (*vpx_lpf_horizontal_4)(uint8_t* s,
1107 int pitch,
1108 const uint8_t* blimit,
1109 const uint8_t* limit,
1110 const uint8_t* thresh);
1111
1112 void vpx_lpf_horizontal_4_dual_c(uint8_t* s,
1113 int pitch,
1114 const uint8_t* blimit0,
1115 const uint8_t* limit0,
1116 const uint8_t* thresh0,
1117 const uint8_t* blimit1,
1118 const uint8_t* limit1,
1119 const uint8_t* thresh1);
1120 void vpx_lpf_horizontal_4_dual_neon(uint8_t* s,
1121 int pitch,
1122 const uint8_t* blimit0,
1123 const uint8_t* limit0,
1124 const uint8_t* thresh0,
1125 const uint8_t* blimit1,
1126 const uint8_t* limit1,
1127 const uint8_t* thresh1);
1128 RTCD_EXTERN void (*vpx_lpf_horizontal_4_dual)(uint8_t* s,
1129 int pitch,
1130 const uint8_t* blimit0,
1131 const uint8_t* limit0,
1132 const uint8_t* thresh0,
1133 const uint8_t* blimit1,
1134 const uint8_t* limit1,
1135 const uint8_t* thresh1);
1136
1137 void vpx_lpf_horizontal_8_c(uint8_t* s,
1138 int pitch,
1139 const uint8_t* blimit,
1140 const uint8_t* limit,
1141 const uint8_t* thresh);
1142 void vpx_lpf_horizontal_8_neon(uint8_t* s,
1143 int pitch,
1144 const uint8_t* blimit,
1145 const uint8_t* limit,
1146 const uint8_t* thresh);
1147 RTCD_EXTERN void (*vpx_lpf_horizontal_8)(uint8_t* s,
1148 int pitch,
1149 const uint8_t* blimit,
1150 const uint8_t* limit,
1151 const uint8_t* thresh);
1152
1153 void vpx_lpf_horizontal_8_dual_c(uint8_t* s,
1154 int pitch,
1155 const uint8_t* blimit0,
1156 const uint8_t* limit0,
1157 const uint8_t* thresh0,
1158 const uint8_t* blimit1,
1159 const uint8_t* limit1,
1160 const uint8_t* thresh1);
1161 void vpx_lpf_horizontal_8_dual_neon(uint8_t* s,
1162 int pitch,
1163 const uint8_t* blimit0,
1164 const uint8_t* limit0,
1165 const uint8_t* thresh0,
1166 const uint8_t* blimit1,
1167 const uint8_t* limit1,
1168 const uint8_t* thresh1);
1169 RTCD_EXTERN void (*vpx_lpf_horizontal_8_dual)(uint8_t* s,
1170 int pitch,
1171 const uint8_t* blimit0,
1172 const uint8_t* limit0,
1173 const uint8_t* thresh0,
1174 const uint8_t* blimit1,
1175 const uint8_t* limit1,
1176 const uint8_t* thresh1);
1177
1178 void vpx_lpf_vertical_16_c(uint8_t* s,
1179 int pitch,
1180 const uint8_t* blimit,
1181 const uint8_t* limit,
1182 const uint8_t* thresh);
1183 void vpx_lpf_vertical_16_neon(uint8_t* s,
1184 int pitch,
1185 const uint8_t* blimit,
1186 const uint8_t* limit,
1187 const uint8_t* thresh);
1188 RTCD_EXTERN void (*vpx_lpf_vertical_16)(uint8_t* s,
1189 int pitch,
1190 const uint8_t* blimit,
1191 const uint8_t* limit,
1192 const uint8_t* thresh);
1193
1194 void vpx_lpf_vertical_16_dual_c(uint8_t* s,
1195 int pitch,
1196 const uint8_t* blimit,
1197 const uint8_t* limit,
1198 const uint8_t* thresh);
1199 void vpx_lpf_vertical_16_dual_neon(uint8_t* s,
1200 int pitch,
1201 const uint8_t* blimit,
1202 const uint8_t* limit,
1203 const uint8_t* thresh);
1204 RTCD_EXTERN void (*vpx_lpf_vertical_16_dual)(uint8_t* s,
1205 int pitch,
1206 const uint8_t* blimit,
1207 const uint8_t* limit,
1208 const uint8_t* thresh);
1209
1210 void vpx_lpf_vertical_4_c(uint8_t* s,
1211 int pitch,
1212 const uint8_t* blimit,
1213 const uint8_t* limit,
1214 const uint8_t* thresh);
1215 void vpx_lpf_vertical_4_neon(uint8_t* s,
1216 int pitch,
1217 const uint8_t* blimit,
1218 const uint8_t* limit,
1219 const uint8_t* thresh);
1220 RTCD_EXTERN void (*vpx_lpf_vertical_4)(uint8_t* s,
1221 int pitch,
1222 const uint8_t* blimit,
1223 const uint8_t* limit,
1224 const uint8_t* thresh);
1225
1226 void vpx_lpf_vertical_4_dual_c(uint8_t* s,
1227 int pitch,
1228 const uint8_t* blimit0,
1229 const uint8_t* limit0,
1230 const uint8_t* thresh0,
1231 const uint8_t* blimit1,
1232 const uint8_t* limit1,
1233 const uint8_t* thresh1);
1234 void vpx_lpf_vertical_4_dual_neon(uint8_t* s,
1235 int pitch,
1236 const uint8_t* blimit0,
1237 const uint8_t* limit0,
1238 const uint8_t* thresh0,
1239 const uint8_t* blimit1,
1240 const uint8_t* limit1,
1241 const uint8_t* thresh1);
1242 RTCD_EXTERN void (*vpx_lpf_vertical_4_dual)(uint8_t* s,
1243 int pitch,
1244 const uint8_t* blimit0,
1245 const uint8_t* limit0,
1246 const uint8_t* thresh0,
1247 const uint8_t* blimit1,
1248 const uint8_t* limit1,
1249 const uint8_t* thresh1);
1250
1251 void vpx_lpf_vertical_8_c(uint8_t* s,
1252 int pitch,
1253 const uint8_t* blimit,
1254 const uint8_t* limit,
1255 const uint8_t* thresh);
1256 void vpx_lpf_vertical_8_neon(uint8_t* s,
1257 int pitch,
1258 const uint8_t* blimit,
1259 const uint8_t* limit,
1260 const uint8_t* thresh);
1261 RTCD_EXTERN void (*vpx_lpf_vertical_8)(uint8_t* s,
1262 int pitch,
1263 const uint8_t* blimit,
1264 const uint8_t* limit,
1265 const uint8_t* thresh);
1266
1267 void vpx_lpf_vertical_8_dual_c(uint8_t* s,
1268 int pitch,
1269 const uint8_t* blimit0,
1270 const uint8_t* limit0,
1271 const uint8_t* thresh0,
1272 const uint8_t* blimit1,
1273 const uint8_t* limit1,
1274 const uint8_t* thresh1);
1275 void vpx_lpf_vertical_8_dual_neon(uint8_t* s,
1276 int pitch,
1277 const uint8_t* blimit0,
1278 const uint8_t* limit0,
1279 const uint8_t* thresh0,
1280 const uint8_t* blimit1,
1281 const uint8_t* limit1,
1282 const uint8_t* thresh1);
1283 RTCD_EXTERN void (*vpx_lpf_vertical_8_dual)(uint8_t* s,
1284 int pitch,
1285 const uint8_t* blimit0,
1286 const uint8_t* limit0,
1287 const uint8_t* thresh0,
1288 const uint8_t* blimit1,
1289 const uint8_t* limit1,
1290 const uint8_t* thresh1);
1291
1292 void vpx_mbpost_proc_across_ip_c(unsigned char* src,
1293 int pitch,
1294 int rows,
1295 int cols,
1296 int flimit);
1297 void vpx_mbpost_proc_across_ip_neon(unsigned char* src,
1298 int pitch,
1299 int rows,
1300 int cols,
1301 int flimit);
1302 RTCD_EXTERN void (*vpx_mbpost_proc_across_ip)(unsigned char* src,
1303 int pitch,
1304 int rows,
1305 int cols,
1306 int flimit);
1307
1308 void vpx_mbpost_proc_down_c(unsigned char* dst,
1309 int pitch,
1310 int rows,
1311 int cols,
1312 int flimit);
1313 void vpx_mbpost_proc_down_neon(unsigned char* dst,
1314 int pitch,
1315 int rows,
1316 int cols,
1317 int flimit);
1318 RTCD_EXTERN void (*vpx_mbpost_proc_down)(unsigned char* dst,
1319 int pitch,
1320 int rows,
1321 int cols,
1322 int flimit);
1323
1324 void vpx_minmax_8x8_c(const uint8_t* s,
1325 int p,
1326 const uint8_t* d,
1327 int dp,
1328 int* min,
1329 int* max);
1330 void vpx_minmax_8x8_neon(const uint8_t* s,
1331 int p,
1332 const uint8_t* d,
1333 int dp,
1334 int* min,
1335 int* max);
1336 RTCD_EXTERN void (*vpx_minmax_8x8)(const uint8_t* s,
1337 int p,
1338 const uint8_t* d,
1339 int dp,
1340 int* min,
1341 int* max);
1342
1343 unsigned int vpx_mse16x16_c(const uint8_t* src_ptr,
1344 int src_stride,
1345 const uint8_t* ref_ptr,
1346 int ref_stride,
1347 unsigned int* sse);
1348 unsigned int vpx_mse16x16_neon(const uint8_t* src_ptr,
1349 int src_stride,
1350 const uint8_t* ref_ptr,
1351 int ref_stride,
1352 unsigned int* sse);
1353 RTCD_EXTERN unsigned int (*vpx_mse16x16)(const uint8_t* src_ptr,
1354 int src_stride,
1355 const uint8_t* ref_ptr,
1356 int ref_stride,
1357 unsigned int* sse);
1358
1359 unsigned int vpx_mse16x8_c(const uint8_t* src_ptr,
1360 int src_stride,
1361 const uint8_t* ref_ptr,
1362 int ref_stride,
1363 unsigned int* sse);
1364 #define vpx_mse16x8 vpx_mse16x8_c
1365
1366 unsigned int vpx_mse8x16_c(const uint8_t* src_ptr,
1367 int src_stride,
1368 const uint8_t* ref_ptr,
1369 int ref_stride,
1370 unsigned int* sse);
1371 #define vpx_mse8x16 vpx_mse8x16_c
1372
1373 unsigned int vpx_mse8x8_c(const uint8_t* src_ptr,
1374 int src_stride,
1375 const uint8_t* ref_ptr,
1376 int ref_stride,
1377 unsigned int* sse);
1378 #define vpx_mse8x8 vpx_mse8x8_c
1379
1380 void vpx_plane_add_noise_c(uint8_t* start,
1381 const int8_t* noise,
1382 int blackclamp,
1383 int whiteclamp,
1384 int width,
1385 int height,
1386 int pitch);
1387 #define vpx_plane_add_noise vpx_plane_add_noise_c
1388
1389 void vpx_post_proc_down_and_across_mb_row_c(unsigned char* src,
1390 unsigned char* dst,
1391 int src_pitch,
1392 int dst_pitch,
1393 int cols,
1394 unsigned char* flimits,
1395 int size);
1396 void vpx_post_proc_down_and_across_mb_row_neon(unsigned char* src,
1397 unsigned char* dst,
1398 int src_pitch,
1399 int dst_pitch,
1400 int cols,
1401 unsigned char* flimits,
1402 int size);
1403 RTCD_EXTERN void (*vpx_post_proc_down_and_across_mb_row)(unsigned char* src,
1404 unsigned char* dst,
1405 int src_pitch,
1406 int dst_pitch,
1407 int cols,
1408 unsigned char* flimits,
1409 int size);
1410
1411 void vpx_quantize_b_c(const tran_low_t* coeff_ptr,
1412 intptr_t n_coeffs,
1413 int skip_block,
1414 const int16_t* zbin_ptr,
1415 const int16_t* round_ptr,
1416 const int16_t* quant_ptr,
1417 const int16_t* quant_shift_ptr,
1418 tran_low_t* qcoeff_ptr,
1419 tran_low_t* dqcoeff_ptr,
1420 const int16_t* dequant_ptr,
1421 uint16_t* eob_ptr,
1422 const int16_t* scan,
1423 const int16_t* iscan);
1424 void vpx_quantize_b_neon(const tran_low_t* coeff_ptr,
1425 intptr_t n_coeffs,
1426 int skip_block,
1427 const int16_t* zbin_ptr,
1428 const int16_t* round_ptr,
1429 const int16_t* quant_ptr,
1430 const int16_t* quant_shift_ptr,
1431 tran_low_t* qcoeff_ptr,
1432 tran_low_t* dqcoeff_ptr,
1433 const int16_t* dequant_ptr,
1434 uint16_t* eob_ptr,
1435 const int16_t* scan,
1436 const int16_t* iscan);
1437 RTCD_EXTERN void (*vpx_quantize_b)(const tran_low_t* coeff_ptr,
1438 intptr_t n_coeffs,
1439 int skip_block,
1440 const int16_t* zbin_ptr,
1441 const int16_t* round_ptr,
1442 const int16_t* quant_ptr,
1443 const int16_t* quant_shift_ptr,
1444 tran_low_t* qcoeff_ptr,
1445 tran_low_t* dqcoeff_ptr,
1446 const int16_t* dequant_ptr,
1447 uint16_t* eob_ptr,
1448 const int16_t* scan,
1449 const int16_t* iscan);
1450
1451 void vpx_quantize_b_32x32_c(const tran_low_t* coeff_ptr,
1452 intptr_t n_coeffs,
1453 int skip_block,
1454 const int16_t* zbin_ptr,
1455 const int16_t* round_ptr,
1456 const int16_t* quant_ptr,
1457 const int16_t* quant_shift_ptr,
1458 tran_low_t* qcoeff_ptr,
1459 tran_low_t* dqcoeff_ptr,
1460 const int16_t* dequant_ptr,
1461 uint16_t* eob_ptr,
1462 const int16_t* scan,
1463 const int16_t* iscan);
1464 void vpx_quantize_b_32x32_neon(const tran_low_t* coeff_ptr,
1465 intptr_t n_coeffs,
1466 int skip_block,
1467 const int16_t* zbin_ptr,
1468 const int16_t* round_ptr,
1469 const int16_t* quant_ptr,
1470 const int16_t* quant_shift_ptr,
1471 tran_low_t* qcoeff_ptr,
1472 tran_low_t* dqcoeff_ptr,
1473 const int16_t* dequant_ptr,
1474 uint16_t* eob_ptr,
1475 const int16_t* scan,
1476 const int16_t* iscan);
1477 RTCD_EXTERN void (*vpx_quantize_b_32x32)(const tran_low_t* coeff_ptr,
1478 intptr_t n_coeffs,
1479 int skip_block,
1480 const int16_t* zbin_ptr,
1481 const int16_t* round_ptr,
1482 const int16_t* quant_ptr,
1483 const int16_t* quant_shift_ptr,
1484 tran_low_t* qcoeff_ptr,
1485 tran_low_t* dqcoeff_ptr,
1486 const int16_t* dequant_ptr,
1487 uint16_t* eob_ptr,
1488 const int16_t* scan,
1489 const int16_t* iscan);
1490
1491 unsigned int vpx_sad16x16_c(const uint8_t* src_ptr,
1492 int src_stride,
1493 const uint8_t* ref_ptr,
1494 int ref_stride);
1495 unsigned int vpx_sad16x16_neon(const uint8_t* src_ptr,
1496 int src_stride,
1497 const uint8_t* ref_ptr,
1498 int ref_stride);
1499 RTCD_EXTERN unsigned int (*vpx_sad16x16)(const uint8_t* src_ptr,
1500 int src_stride,
1501 const uint8_t* ref_ptr,
1502 int ref_stride);
1503
1504 unsigned int vpx_sad16x16_avg_c(const uint8_t* src_ptr,
1505 int src_stride,
1506 const uint8_t* ref_ptr,
1507 int ref_stride,
1508 const uint8_t* second_pred);
1509 unsigned int vpx_sad16x16_avg_neon(const uint8_t* src_ptr,
1510 int src_stride,
1511 const uint8_t* ref_ptr,
1512 int ref_stride,
1513 const uint8_t* second_pred);
1514 RTCD_EXTERN unsigned int (*vpx_sad16x16_avg)(const uint8_t* src_ptr,
1515 int src_stride,
1516 const uint8_t* ref_ptr,
1517 int ref_stride,
1518 const uint8_t* second_pred);
1519
1520 void vpx_sad16x16x3_c(const uint8_t* src_ptr,
1521 int src_stride,
1522 const uint8_t* ref_ptr,
1523 int ref_stride,
1524 uint32_t* sad_array);
1525 #define vpx_sad16x16x3 vpx_sad16x16x3_c
1526
1527 void vpx_sad16x16x4d_c(const uint8_t* src_ptr,
1528 int src_stride,
1529 const uint8_t* const ref_array[],
1530 int ref_stride,
1531 uint32_t* sad_array);
1532 void vpx_sad16x16x4d_neon(const uint8_t* src_ptr,
1533 int src_stride,
1534 const uint8_t* const ref_array[],
1535 int ref_stride,
1536 uint32_t* sad_array);
1537 RTCD_EXTERN void (*vpx_sad16x16x4d)(const uint8_t* src_ptr,
1538 int src_stride,
1539 const uint8_t* const ref_array[],
1540 int ref_stride,
1541 uint32_t* sad_array);
1542
1543 void vpx_sad16x16x8_c(const uint8_t* src_ptr,
1544 int src_stride,
1545 const uint8_t* ref_ptr,
1546 int ref_stride,
1547 uint32_t* sad_array);
1548 #define vpx_sad16x16x8 vpx_sad16x16x8_c
1549
1550 unsigned int vpx_sad16x32_c(const uint8_t* src_ptr,
1551 int src_stride,
1552 const uint8_t* ref_ptr,
1553 int ref_stride);
1554 unsigned int vpx_sad16x32_neon(const uint8_t* src_ptr,
1555 int src_stride,
1556 const uint8_t* ref_ptr,
1557 int ref_stride);
1558 RTCD_EXTERN unsigned int (*vpx_sad16x32)(const uint8_t* src_ptr,
1559 int src_stride,
1560 const uint8_t* ref_ptr,
1561 int ref_stride);
1562
1563 unsigned int vpx_sad16x32_avg_c(const uint8_t* src_ptr,
1564 int src_stride,
1565 const uint8_t* ref_ptr,
1566 int ref_stride,
1567 const uint8_t* second_pred);
1568 unsigned int vpx_sad16x32_avg_neon(const uint8_t* src_ptr,
1569 int src_stride,
1570 const uint8_t* ref_ptr,
1571 int ref_stride,
1572 const uint8_t* second_pred);
1573 RTCD_EXTERN unsigned int (*vpx_sad16x32_avg)(const uint8_t* src_ptr,
1574 int src_stride,
1575 const uint8_t* ref_ptr,
1576 int ref_stride,
1577 const uint8_t* second_pred);
1578
1579 void vpx_sad16x32x4d_c(const uint8_t* src_ptr,
1580 int src_stride,
1581 const uint8_t* const ref_array[],
1582 int ref_stride,
1583 uint32_t* sad_array);
1584 void vpx_sad16x32x4d_neon(const uint8_t* src_ptr,
1585 int src_stride,
1586 const uint8_t* const ref_array[],
1587 int ref_stride,
1588 uint32_t* sad_array);
1589 RTCD_EXTERN void (*vpx_sad16x32x4d)(const uint8_t* src_ptr,
1590 int src_stride,
1591 const uint8_t* const ref_array[],
1592 int ref_stride,
1593 uint32_t* sad_array);
1594
1595 unsigned int vpx_sad16x8_c(const uint8_t* src_ptr,
1596 int src_stride,
1597 const uint8_t* ref_ptr,
1598 int ref_stride);
1599 unsigned int vpx_sad16x8_neon(const uint8_t* src_ptr,
1600 int src_stride,
1601 const uint8_t* ref_ptr,
1602 int ref_stride);
1603 RTCD_EXTERN unsigned int (*vpx_sad16x8)(const uint8_t* src_ptr,
1604 int src_stride,
1605 const uint8_t* ref_ptr,
1606 int ref_stride);
1607
1608 unsigned int vpx_sad16x8_avg_c(const uint8_t* src_ptr,
1609 int src_stride,
1610 const uint8_t* ref_ptr,
1611 int ref_stride,
1612 const uint8_t* second_pred);
1613 unsigned int vpx_sad16x8_avg_neon(const uint8_t* src_ptr,
1614 int src_stride,
1615 const uint8_t* ref_ptr,
1616 int ref_stride,
1617 const uint8_t* second_pred);
1618 RTCD_EXTERN unsigned int (*vpx_sad16x8_avg)(const uint8_t* src_ptr,
1619 int src_stride,
1620 const uint8_t* ref_ptr,
1621 int ref_stride,
1622 const uint8_t* second_pred);
1623
1624 void vpx_sad16x8x3_c(const uint8_t* src_ptr,
1625 int src_stride,
1626 const uint8_t* ref_ptr,
1627 int ref_stride,
1628 uint32_t* sad_array);
1629 #define vpx_sad16x8x3 vpx_sad16x8x3_c
1630
1631 void vpx_sad16x8x4d_c(const uint8_t* src_ptr,
1632 int src_stride,
1633 const uint8_t* const ref_array[],
1634 int ref_stride,
1635 uint32_t* sad_array);
1636 void vpx_sad16x8x4d_neon(const uint8_t* src_ptr,
1637 int src_stride,
1638 const uint8_t* const ref_array[],
1639 int ref_stride,
1640 uint32_t* sad_array);
1641 RTCD_EXTERN void (*vpx_sad16x8x4d)(const uint8_t* src_ptr,
1642 int src_stride,
1643 const uint8_t* const ref_array[],
1644 int ref_stride,
1645 uint32_t* sad_array);
1646
1647 void vpx_sad16x8x8_c(const uint8_t* src_ptr,
1648 int src_stride,
1649 const uint8_t* ref_ptr,
1650 int ref_stride,
1651 uint32_t* sad_array);
1652 #define vpx_sad16x8x8 vpx_sad16x8x8_c
1653
1654 unsigned int vpx_sad32x16_c(const uint8_t* src_ptr,
1655 int src_stride,
1656 const uint8_t* ref_ptr,
1657 int ref_stride);
1658 unsigned int vpx_sad32x16_neon(const uint8_t* src_ptr,
1659 int src_stride,
1660 const uint8_t* ref_ptr,
1661 int ref_stride);
1662 RTCD_EXTERN unsigned int (*vpx_sad32x16)(const uint8_t* src_ptr,
1663 int src_stride,
1664 const uint8_t* ref_ptr,
1665 int ref_stride);
1666
1667 unsigned int vpx_sad32x16_avg_c(const uint8_t* src_ptr,
1668 int src_stride,
1669 const uint8_t* ref_ptr,
1670 int ref_stride,
1671 const uint8_t* second_pred);
1672 unsigned int vpx_sad32x16_avg_neon(const uint8_t* src_ptr,
1673 int src_stride,
1674 const uint8_t* ref_ptr,
1675 int ref_stride,
1676 const uint8_t* second_pred);
1677 RTCD_EXTERN unsigned int (*vpx_sad32x16_avg)(const uint8_t* src_ptr,
1678 int src_stride,
1679 const uint8_t* ref_ptr,
1680 int ref_stride,
1681 const uint8_t* second_pred);
1682
1683 void vpx_sad32x16x4d_c(const uint8_t* src_ptr,
1684 int src_stride,
1685 const uint8_t* const ref_array[],
1686 int ref_stride,
1687 uint32_t* sad_array);
1688 void vpx_sad32x16x4d_neon(const uint8_t* src_ptr,
1689 int src_stride,
1690 const uint8_t* const ref_array[],
1691 int ref_stride,
1692 uint32_t* sad_array);
1693 RTCD_EXTERN void (*vpx_sad32x16x4d)(const uint8_t* src_ptr,
1694 int src_stride,
1695 const uint8_t* const ref_array[],
1696 int ref_stride,
1697 uint32_t* sad_array);
1698
1699 unsigned int vpx_sad32x32_c(const uint8_t* src_ptr,
1700 int src_stride,
1701 const uint8_t* ref_ptr,
1702 int ref_stride);
1703 unsigned int vpx_sad32x32_neon(const uint8_t* src_ptr,
1704 int src_stride,
1705 const uint8_t* ref_ptr,
1706 int ref_stride);
1707 RTCD_EXTERN unsigned int (*vpx_sad32x32)(const uint8_t* src_ptr,
1708 int src_stride,
1709 const uint8_t* ref_ptr,
1710 int ref_stride);
1711
1712 unsigned int vpx_sad32x32_avg_c(const uint8_t* src_ptr,
1713 int src_stride,
1714 const uint8_t* ref_ptr,
1715 int ref_stride,
1716 const uint8_t* second_pred);
1717 unsigned int vpx_sad32x32_avg_neon(const uint8_t* src_ptr,
1718 int src_stride,
1719 const uint8_t* ref_ptr,
1720 int ref_stride,
1721 const uint8_t* second_pred);
1722 RTCD_EXTERN unsigned int (*vpx_sad32x32_avg)(const uint8_t* src_ptr,
1723 int src_stride,
1724 const uint8_t* ref_ptr,
1725 int ref_stride,
1726 const uint8_t* second_pred);
1727
1728 void vpx_sad32x32x4d_c(const uint8_t* src_ptr,
1729 int src_stride,
1730 const uint8_t* const ref_array[],
1731 int ref_stride,
1732 uint32_t* sad_array);
1733 void vpx_sad32x32x4d_neon(const uint8_t* src_ptr,
1734 int src_stride,
1735 const uint8_t* const ref_array[],
1736 int ref_stride,
1737 uint32_t* sad_array);
1738 RTCD_EXTERN void (*vpx_sad32x32x4d)(const uint8_t* src_ptr,
1739 int src_stride,
1740 const uint8_t* const ref_array[],
1741 int ref_stride,
1742 uint32_t* sad_array);
1743
1744 void vpx_sad32x32x8_c(const uint8_t* src_ptr,
1745 int src_stride,
1746 const uint8_t* ref_ptr,
1747 int ref_stride,
1748 uint32_t* sad_array);
1749 #define vpx_sad32x32x8 vpx_sad32x32x8_c
1750
1751 unsigned int vpx_sad32x64_c(const uint8_t* src_ptr,
1752 int src_stride,
1753 const uint8_t* ref_ptr,
1754 int ref_stride);
1755 unsigned int vpx_sad32x64_neon(const uint8_t* src_ptr,
1756 int src_stride,
1757 const uint8_t* ref_ptr,
1758 int ref_stride);
1759 RTCD_EXTERN unsigned int (*vpx_sad32x64)(const uint8_t* src_ptr,
1760 int src_stride,
1761 const uint8_t* ref_ptr,
1762 int ref_stride);
1763
1764 unsigned int vpx_sad32x64_avg_c(const uint8_t* src_ptr,
1765 int src_stride,
1766 const uint8_t* ref_ptr,
1767 int ref_stride,
1768 const uint8_t* second_pred);
1769 unsigned int vpx_sad32x64_avg_neon(const uint8_t* src_ptr,
1770 int src_stride,
1771 const uint8_t* ref_ptr,
1772 int ref_stride,
1773 const uint8_t* second_pred);
1774 RTCD_EXTERN unsigned int (*vpx_sad32x64_avg)(const uint8_t* src_ptr,
1775 int src_stride,
1776 const uint8_t* ref_ptr,
1777 int ref_stride,
1778 const uint8_t* second_pred);
1779
1780 void vpx_sad32x64x4d_c(const uint8_t* src_ptr,
1781 int src_stride,
1782 const uint8_t* const ref_array[],
1783 int ref_stride,
1784 uint32_t* sad_array);
1785 void vpx_sad32x64x4d_neon(const uint8_t* src_ptr,
1786 int src_stride,
1787 const uint8_t* const ref_array[],
1788 int ref_stride,
1789 uint32_t* sad_array);
1790 RTCD_EXTERN void (*vpx_sad32x64x4d)(const uint8_t* src_ptr,
1791 int src_stride,
1792 const uint8_t* const ref_array[],
1793 int ref_stride,
1794 uint32_t* sad_array);
1795
1796 unsigned int vpx_sad4x4_c(const uint8_t* src_ptr,
1797 int src_stride,
1798 const uint8_t* ref_ptr,
1799 int ref_stride);
1800 unsigned int vpx_sad4x4_neon(const uint8_t* src_ptr,
1801 int src_stride,
1802 const uint8_t* ref_ptr,
1803 int ref_stride);
1804 RTCD_EXTERN unsigned int (*vpx_sad4x4)(const uint8_t* src_ptr,
1805 int src_stride,
1806 const uint8_t* ref_ptr,
1807 int ref_stride);
1808
1809 unsigned int vpx_sad4x4_avg_c(const uint8_t* src_ptr,
1810 int src_stride,
1811 const uint8_t* ref_ptr,
1812 int ref_stride,
1813 const uint8_t* second_pred);
1814 unsigned int vpx_sad4x4_avg_neon(const uint8_t* src_ptr,
1815 int src_stride,
1816 const uint8_t* ref_ptr,
1817 int ref_stride,
1818 const uint8_t* second_pred);
1819 RTCD_EXTERN unsigned int (*vpx_sad4x4_avg)(const uint8_t* src_ptr,
1820 int src_stride,
1821 const uint8_t* ref_ptr,
1822 int ref_stride,
1823 const uint8_t* second_pred);
1824
1825 void vpx_sad4x4x3_c(const uint8_t* src_ptr,
1826 int src_stride,
1827 const uint8_t* ref_ptr,
1828 int ref_stride,
1829 uint32_t* sad_array);
1830 #define vpx_sad4x4x3 vpx_sad4x4x3_c
1831
1832 void vpx_sad4x4x4d_c(const uint8_t* src_ptr,
1833 int src_stride,
1834 const uint8_t* const ref_array[],
1835 int ref_stride,
1836 uint32_t* sad_array);
1837 void vpx_sad4x4x4d_neon(const uint8_t* src_ptr,
1838 int src_stride,
1839 const uint8_t* const ref_array[],
1840 int ref_stride,
1841 uint32_t* sad_array);
1842 RTCD_EXTERN void (*vpx_sad4x4x4d)(const uint8_t* src_ptr,
1843 int src_stride,
1844 const uint8_t* const ref_array[],
1845 int ref_stride,
1846 uint32_t* sad_array);
1847
1848 void vpx_sad4x4x8_c(const uint8_t* src_ptr,
1849 int src_stride,
1850 const uint8_t* ref_ptr,
1851 int ref_stride,
1852 uint32_t* sad_array);
1853 #define vpx_sad4x4x8 vpx_sad4x4x8_c
1854
1855 unsigned int vpx_sad4x8_c(const uint8_t* src_ptr,
1856 int src_stride,
1857 const uint8_t* ref_ptr,
1858 int ref_stride);
1859 unsigned int vpx_sad4x8_neon(const uint8_t* src_ptr,
1860 int src_stride,
1861 const uint8_t* ref_ptr,
1862 int ref_stride);
1863 RTCD_EXTERN unsigned int (*vpx_sad4x8)(const uint8_t* src_ptr,
1864 int src_stride,
1865 const uint8_t* ref_ptr,
1866 int ref_stride);
1867
1868 unsigned int vpx_sad4x8_avg_c(const uint8_t* src_ptr,
1869 int src_stride,
1870 const uint8_t* ref_ptr,
1871 int ref_stride,
1872 const uint8_t* second_pred);
1873 unsigned int vpx_sad4x8_avg_neon(const uint8_t* src_ptr,
1874 int src_stride,
1875 const uint8_t* ref_ptr,
1876 int ref_stride,
1877 const uint8_t* second_pred);
1878 RTCD_EXTERN unsigned int (*vpx_sad4x8_avg)(const uint8_t* src_ptr,
1879 int src_stride,
1880 const uint8_t* ref_ptr,
1881 int ref_stride,
1882 const uint8_t* second_pred);
1883
1884 void vpx_sad4x8x4d_c(const uint8_t* src_ptr,
1885 int src_stride,
1886 const uint8_t* const ref_array[],
1887 int ref_stride,
1888 uint32_t* sad_array);
1889 void vpx_sad4x8x4d_neon(const uint8_t* src_ptr,
1890 int src_stride,
1891 const uint8_t* const ref_array[],
1892 int ref_stride,
1893 uint32_t* sad_array);
1894 RTCD_EXTERN void (*vpx_sad4x8x4d)(const uint8_t* src_ptr,
1895 int src_stride,
1896 const uint8_t* const ref_array[],
1897 int ref_stride,
1898 uint32_t* sad_array);
1899
1900 unsigned int vpx_sad64x32_c(const uint8_t* src_ptr,
1901 int src_stride,
1902 const uint8_t* ref_ptr,
1903 int ref_stride);
1904 unsigned int vpx_sad64x32_neon(const uint8_t* src_ptr,
1905 int src_stride,
1906 const uint8_t* ref_ptr,
1907 int ref_stride);
1908 RTCD_EXTERN unsigned int (*vpx_sad64x32)(const uint8_t* src_ptr,
1909 int src_stride,
1910 const uint8_t* ref_ptr,
1911 int ref_stride);
1912
1913 unsigned int vpx_sad64x32_avg_c(const uint8_t* src_ptr,
1914 int src_stride,
1915 const uint8_t* ref_ptr,
1916 int ref_stride,
1917 const uint8_t* second_pred);
1918 unsigned int vpx_sad64x32_avg_neon(const uint8_t* src_ptr,
1919 int src_stride,
1920 const uint8_t* ref_ptr,
1921 int ref_stride,
1922 const uint8_t* second_pred);
1923 RTCD_EXTERN unsigned int (*vpx_sad64x32_avg)(const uint8_t* src_ptr,
1924 int src_stride,
1925 const uint8_t* ref_ptr,
1926 int ref_stride,
1927 const uint8_t* second_pred);
1928
1929 void vpx_sad64x32x4d_c(const uint8_t* src_ptr,
1930 int src_stride,
1931 const uint8_t* const ref_array[],
1932 int ref_stride,
1933 uint32_t* sad_array);
1934 void vpx_sad64x32x4d_neon(const uint8_t* src_ptr,
1935 int src_stride,
1936 const uint8_t* const ref_array[],
1937 int ref_stride,
1938 uint32_t* sad_array);
1939 RTCD_EXTERN void (*vpx_sad64x32x4d)(const uint8_t* src_ptr,
1940 int src_stride,
1941 const uint8_t* const ref_array[],
1942 int ref_stride,
1943 uint32_t* sad_array);
1944
1945 unsigned int vpx_sad64x64_c(const uint8_t* src_ptr,
1946 int src_stride,
1947 const uint8_t* ref_ptr,
1948 int ref_stride);
1949 unsigned int vpx_sad64x64_neon(const uint8_t* src_ptr,
1950 int src_stride,
1951 const uint8_t* ref_ptr,
1952 int ref_stride);
1953 RTCD_EXTERN unsigned int (*vpx_sad64x64)(const uint8_t* src_ptr,
1954 int src_stride,
1955 const uint8_t* ref_ptr,
1956 int ref_stride);
1957
1958 unsigned int vpx_sad64x64_avg_c(const uint8_t* src_ptr,
1959 int src_stride,
1960 const uint8_t* ref_ptr,
1961 int ref_stride,
1962 const uint8_t* second_pred);
1963 unsigned int vpx_sad64x64_avg_neon(const uint8_t* src_ptr,
1964 int src_stride,
1965 const uint8_t* ref_ptr,
1966 int ref_stride,
1967 const uint8_t* second_pred);
1968 RTCD_EXTERN unsigned int (*vpx_sad64x64_avg)(const uint8_t* src_ptr,
1969 int src_stride,
1970 const uint8_t* ref_ptr,
1971 int ref_stride,
1972 const uint8_t* second_pred);
1973
1974 void vpx_sad64x64x4d_c(const uint8_t* src_ptr,
1975 int src_stride,
1976 const uint8_t* const ref_array[],
1977 int ref_stride,
1978 uint32_t* sad_array);
1979 void vpx_sad64x64x4d_neon(const uint8_t* src_ptr,
1980 int src_stride,
1981 const uint8_t* const ref_array[],
1982 int ref_stride,
1983 uint32_t* sad_array);
1984 RTCD_EXTERN void (*vpx_sad64x64x4d)(const uint8_t* src_ptr,
1985 int src_stride,
1986 const uint8_t* const ref_array[],
1987 int ref_stride,
1988 uint32_t* sad_array);
1989
1990 unsigned int vpx_sad8x16_c(const uint8_t* src_ptr,
1991 int src_stride,
1992 const uint8_t* ref_ptr,
1993 int ref_stride);
1994 unsigned int vpx_sad8x16_neon(const uint8_t* src_ptr,
1995 int src_stride,
1996 const uint8_t* ref_ptr,
1997 int ref_stride);
1998 RTCD_EXTERN unsigned int (*vpx_sad8x16)(const uint8_t* src_ptr,
1999 int src_stride,
2000 const uint8_t* ref_ptr,
2001 int ref_stride);
2002
2003 unsigned int vpx_sad8x16_avg_c(const uint8_t* src_ptr,
2004 int src_stride,
2005 const uint8_t* ref_ptr,
2006 int ref_stride,
2007 const uint8_t* second_pred);
2008 unsigned int vpx_sad8x16_avg_neon(const uint8_t* src_ptr,
2009 int src_stride,
2010 const uint8_t* ref_ptr,
2011 int ref_stride,
2012 const uint8_t* second_pred);
2013 RTCD_EXTERN unsigned int (*vpx_sad8x16_avg)(const uint8_t* src_ptr,
2014 int src_stride,
2015 const uint8_t* ref_ptr,
2016 int ref_stride,
2017 const uint8_t* second_pred);
2018
2019 void vpx_sad8x16x3_c(const uint8_t* src_ptr,
2020 int src_stride,
2021 const uint8_t* ref_ptr,
2022 int ref_stride,
2023 uint32_t* sad_array);
2024 #define vpx_sad8x16x3 vpx_sad8x16x3_c
2025
2026 void vpx_sad8x16x4d_c(const uint8_t* src_ptr,
2027 int src_stride,
2028 const uint8_t* const ref_array[],
2029 int ref_stride,
2030 uint32_t* sad_array);
2031 void vpx_sad8x16x4d_neon(const uint8_t* src_ptr,
2032 int src_stride,
2033 const uint8_t* const ref_array[],
2034 int ref_stride,
2035 uint32_t* sad_array);
2036 RTCD_EXTERN void (*vpx_sad8x16x4d)(const uint8_t* src_ptr,
2037 int src_stride,
2038 const uint8_t* const ref_array[],
2039 int ref_stride,
2040 uint32_t* sad_array);
2041
2042 void vpx_sad8x16x8_c(const uint8_t* src_ptr,
2043 int src_stride,
2044 const uint8_t* ref_ptr,
2045 int ref_stride,
2046 uint32_t* sad_array);
2047 #define vpx_sad8x16x8 vpx_sad8x16x8_c
2048
2049 unsigned int vpx_sad8x4_c(const uint8_t* src_ptr,
2050 int src_stride,
2051 const uint8_t* ref_ptr,
2052 int ref_stride);
2053 unsigned int vpx_sad8x4_neon(const uint8_t* src_ptr,
2054 int src_stride,
2055 const uint8_t* ref_ptr,
2056 int ref_stride);
2057 RTCD_EXTERN unsigned int (*vpx_sad8x4)(const uint8_t* src_ptr,
2058 int src_stride,
2059 const uint8_t* ref_ptr,
2060 int ref_stride);
2061
2062 unsigned int vpx_sad8x4_avg_c(const uint8_t* src_ptr,
2063 int src_stride,
2064 const uint8_t* ref_ptr,
2065 int ref_stride,
2066 const uint8_t* second_pred);
2067 unsigned int vpx_sad8x4_avg_neon(const uint8_t* src_ptr,
2068 int src_stride,
2069 const uint8_t* ref_ptr,
2070 int ref_stride,
2071 const uint8_t* second_pred);
2072 RTCD_EXTERN unsigned int (*vpx_sad8x4_avg)(const uint8_t* src_ptr,
2073 int src_stride,
2074 const uint8_t* ref_ptr,
2075 int ref_stride,
2076 const uint8_t* second_pred);
2077
2078 void vpx_sad8x4x4d_c(const uint8_t* src_ptr,
2079 int src_stride,
2080 const uint8_t* const ref_array[],
2081 int ref_stride,
2082 uint32_t* sad_array);
2083 void vpx_sad8x4x4d_neon(const uint8_t* src_ptr,
2084 int src_stride,
2085 const uint8_t* const ref_array[],
2086 int ref_stride,
2087 uint32_t* sad_array);
2088 RTCD_EXTERN void (*vpx_sad8x4x4d)(const uint8_t* src_ptr,
2089 int src_stride,
2090 const uint8_t* const ref_array[],
2091 int ref_stride,
2092 uint32_t* sad_array);
2093
2094 unsigned int vpx_sad8x8_c(const uint8_t* src_ptr,
2095 int src_stride,
2096 const uint8_t* ref_ptr,
2097 int ref_stride);
2098 unsigned int vpx_sad8x8_neon(const uint8_t* src_ptr,
2099 int src_stride,
2100 const uint8_t* ref_ptr,
2101 int ref_stride);
2102 RTCD_EXTERN unsigned int (*vpx_sad8x8)(const uint8_t* src_ptr,
2103 int src_stride,
2104 const uint8_t* ref_ptr,
2105 int ref_stride);
2106
2107 unsigned int vpx_sad8x8_avg_c(const uint8_t* src_ptr,
2108 int src_stride,
2109 const uint8_t* ref_ptr,
2110 int ref_stride,
2111 const uint8_t* second_pred);
2112 unsigned int vpx_sad8x8_avg_neon(const uint8_t* src_ptr,
2113 int src_stride,
2114 const uint8_t* ref_ptr,
2115 int ref_stride,
2116 const uint8_t* second_pred);
2117 RTCD_EXTERN unsigned int (*vpx_sad8x8_avg)(const uint8_t* src_ptr,
2118 int src_stride,
2119 const uint8_t* ref_ptr,
2120 int ref_stride,
2121 const uint8_t* second_pred);
2122
2123 void vpx_sad8x8x3_c(const uint8_t* src_ptr,
2124 int src_stride,
2125 const uint8_t* ref_ptr,
2126 int ref_stride,
2127 uint32_t* sad_array);
2128 #define vpx_sad8x8x3 vpx_sad8x8x3_c
2129
2130 void vpx_sad8x8x4d_c(const uint8_t* src_ptr,
2131 int src_stride,
2132 const uint8_t* const ref_array[],
2133 int ref_stride,
2134 uint32_t* sad_array);
2135 void vpx_sad8x8x4d_neon(const uint8_t* src_ptr,
2136 int src_stride,
2137 const uint8_t* const ref_array[],
2138 int ref_stride,
2139 uint32_t* sad_array);
2140 RTCD_EXTERN void (*vpx_sad8x8x4d)(const uint8_t* src_ptr,
2141 int src_stride,
2142 const uint8_t* const ref_array[],
2143 int ref_stride,
2144 uint32_t* sad_array);
2145
2146 void vpx_sad8x8x8_c(const uint8_t* src_ptr,
2147 int src_stride,
2148 const uint8_t* ref_ptr,
2149 int ref_stride,
2150 uint32_t* sad_array);
2151 #define vpx_sad8x8x8 vpx_sad8x8x8_c
2152
2153 int vpx_satd_c(const int16_t* coeff, int length);
2154 int vpx_satd_neon(const int16_t* coeff, int length);
2155 RTCD_EXTERN int (*vpx_satd)(const int16_t* coeff, int length);
2156
2157 void vpx_scaled_2d_c(const uint8_t* src,
2158 ptrdiff_t src_stride,
2159 uint8_t* dst,
2160 ptrdiff_t dst_stride,
2161 const InterpKernel* filter,
2162 int x0_q4,
2163 int x_step_q4,
2164 int y0_q4,
2165 int y_step_q4,
2166 int w,
2167 int h);
2168 void vpx_scaled_2d_neon(const uint8_t* src,
2169 ptrdiff_t src_stride,
2170 uint8_t* dst,
2171 ptrdiff_t dst_stride,
2172 const InterpKernel* filter,
2173 int x0_q4,
2174 int x_step_q4,
2175 int y0_q4,
2176 int y_step_q4,
2177 int w,
2178 int h);
2179 RTCD_EXTERN void (*vpx_scaled_2d)(const uint8_t* src,
2180 ptrdiff_t src_stride,
2181 uint8_t* dst,
2182 ptrdiff_t dst_stride,
2183 const InterpKernel* filter,
2184 int x0_q4,
2185 int x_step_q4,
2186 int y0_q4,
2187 int y_step_q4,
2188 int w,
2189 int h);
2190
2191 void vpx_scaled_avg_2d_c(const uint8_t* src,
2192 ptrdiff_t src_stride,
2193 uint8_t* dst,
2194 ptrdiff_t dst_stride,
2195 const InterpKernel* filter,
2196 int x0_q4,
2197 int x_step_q4,
2198 int y0_q4,
2199 int y_step_q4,
2200 int w,
2201 int h);
2202 #define vpx_scaled_avg_2d vpx_scaled_avg_2d_c
2203
2204 void vpx_scaled_avg_horiz_c(const uint8_t* src,
2205 ptrdiff_t src_stride,
2206 uint8_t* dst,
2207 ptrdiff_t dst_stride,
2208 const InterpKernel* filter,
2209 int x0_q4,
2210 int x_step_q4,
2211 int y0_q4,
2212 int y_step_q4,
2213 int w,
2214 int h);
2215 #define vpx_scaled_avg_horiz vpx_scaled_avg_horiz_c
2216
2217 void vpx_scaled_avg_vert_c(const uint8_t* src,
2218 ptrdiff_t src_stride,
2219 uint8_t* dst,
2220 ptrdiff_t dst_stride,
2221 const InterpKernel* filter,
2222 int x0_q4,
2223 int x_step_q4,
2224 int y0_q4,
2225 int y_step_q4,
2226 int w,
2227 int h);
2228 #define vpx_scaled_avg_vert vpx_scaled_avg_vert_c
2229
2230 void vpx_scaled_horiz_c(const uint8_t* src,
2231 ptrdiff_t src_stride,
2232 uint8_t* dst,
2233 ptrdiff_t dst_stride,
2234 const InterpKernel* filter,
2235 int x0_q4,
2236 int x_step_q4,
2237 int y0_q4,
2238 int y_step_q4,
2239 int w,
2240 int h);
2241 #define vpx_scaled_horiz vpx_scaled_horiz_c
2242
2243 void vpx_scaled_vert_c(const uint8_t* src,
2244 ptrdiff_t src_stride,
2245 uint8_t* dst,
2246 ptrdiff_t dst_stride,
2247 const InterpKernel* filter,
2248 int x0_q4,
2249 int x_step_q4,
2250 int y0_q4,
2251 int y_step_q4,
2252 int w,
2253 int h);
2254 #define vpx_scaled_vert vpx_scaled_vert_c
2255
2256 uint32_t vpx_sub_pixel_avg_variance16x16_c(const uint8_t* src_ptr,
2257 int src_stride,
2258 int x_offset,
2259 int y_offset,
2260 const uint8_t* ref_ptr,
2261 int ref_stride,
2262 uint32_t* sse,
2263 const uint8_t* second_pred);
2264 uint32_t vpx_sub_pixel_avg_variance16x16_neon(const uint8_t* src_ptr,
2265 int src_stride,
2266 int x_offset,
2267 int y_offset,
2268 const uint8_t* ref_ptr,
2269 int ref_stride,
2270 uint32_t* sse,
2271 const uint8_t* second_pred);
2272 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance16x16)(
2273 const uint8_t* src_ptr,
2274 int src_stride,
2275 int x_offset,
2276 int y_offset,
2277 const uint8_t* ref_ptr,
2278 int ref_stride,
2279 uint32_t* sse,
2280 const uint8_t* second_pred);
2281
2282 uint32_t vpx_sub_pixel_avg_variance16x32_c(const uint8_t* src_ptr,
2283 int src_stride,
2284 int x_offset,
2285 int y_offset,
2286 const uint8_t* ref_ptr,
2287 int ref_stride,
2288 uint32_t* sse,
2289 const uint8_t* second_pred);
2290 uint32_t vpx_sub_pixel_avg_variance16x32_neon(const uint8_t* src_ptr,
2291 int src_stride,
2292 int x_offset,
2293 int y_offset,
2294 const uint8_t* ref_ptr,
2295 int ref_stride,
2296 uint32_t* sse,
2297 const uint8_t* second_pred);
2298 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance16x32)(
2299 const uint8_t* src_ptr,
2300 int src_stride,
2301 int x_offset,
2302 int y_offset,
2303 const uint8_t* ref_ptr,
2304 int ref_stride,
2305 uint32_t* sse,
2306 const uint8_t* second_pred);
2307
2308 uint32_t vpx_sub_pixel_avg_variance16x8_c(const uint8_t* src_ptr,
2309 int src_stride,
2310 int x_offset,
2311 int y_offset,
2312 const uint8_t* ref_ptr,
2313 int ref_stride,
2314 uint32_t* sse,
2315 const uint8_t* second_pred);
2316 uint32_t vpx_sub_pixel_avg_variance16x8_neon(const uint8_t* src_ptr,
2317 int src_stride,
2318 int x_offset,
2319 int y_offset,
2320 const uint8_t* ref_ptr,
2321 int ref_stride,
2322 uint32_t* sse,
2323 const uint8_t* second_pred);
2324 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance16x8)(
2325 const uint8_t* src_ptr,
2326 int src_stride,
2327 int x_offset,
2328 int y_offset,
2329 const uint8_t* ref_ptr,
2330 int ref_stride,
2331 uint32_t* sse,
2332 const uint8_t* second_pred);
2333
2334 uint32_t vpx_sub_pixel_avg_variance32x16_c(const uint8_t* src_ptr,
2335 int src_stride,
2336 int x_offset,
2337 int y_offset,
2338 const uint8_t* ref_ptr,
2339 int ref_stride,
2340 uint32_t* sse,
2341 const uint8_t* second_pred);
2342 uint32_t vpx_sub_pixel_avg_variance32x16_neon(const uint8_t* src_ptr,
2343 int src_stride,
2344 int x_offset,
2345 int y_offset,
2346 const uint8_t* ref_ptr,
2347 int ref_stride,
2348 uint32_t* sse,
2349 const uint8_t* second_pred);
2350 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance32x16)(
2351 const uint8_t* src_ptr,
2352 int src_stride,
2353 int x_offset,
2354 int y_offset,
2355 const uint8_t* ref_ptr,
2356 int ref_stride,
2357 uint32_t* sse,
2358 const uint8_t* second_pred);
2359
2360 uint32_t vpx_sub_pixel_avg_variance32x32_c(const uint8_t* src_ptr,
2361 int src_stride,
2362 int x_offset,
2363 int y_offset,
2364 const uint8_t* ref_ptr,
2365 int ref_stride,
2366 uint32_t* sse,
2367 const uint8_t* second_pred);
2368 uint32_t vpx_sub_pixel_avg_variance32x32_neon(const uint8_t* src_ptr,
2369 int src_stride,
2370 int x_offset,
2371 int y_offset,
2372 const uint8_t* ref_ptr,
2373 int ref_stride,
2374 uint32_t* sse,
2375 const uint8_t* second_pred);
2376 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance32x32)(
2377 const uint8_t* src_ptr,
2378 int src_stride,
2379 int x_offset,
2380 int y_offset,
2381 const uint8_t* ref_ptr,
2382 int ref_stride,
2383 uint32_t* sse,
2384 const uint8_t* second_pred);
2385
2386 uint32_t vpx_sub_pixel_avg_variance32x64_c(const uint8_t* src_ptr,
2387 int src_stride,
2388 int x_offset,
2389 int y_offset,
2390 const uint8_t* ref_ptr,
2391 int ref_stride,
2392 uint32_t* sse,
2393 const uint8_t* second_pred);
2394 uint32_t vpx_sub_pixel_avg_variance32x64_neon(const uint8_t* src_ptr,
2395 int src_stride,
2396 int x_offset,
2397 int y_offset,
2398 const uint8_t* ref_ptr,
2399 int ref_stride,
2400 uint32_t* sse,
2401 const uint8_t* second_pred);
2402 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance32x64)(
2403 const uint8_t* src_ptr,
2404 int src_stride,
2405 int x_offset,
2406 int y_offset,
2407 const uint8_t* ref_ptr,
2408 int ref_stride,
2409 uint32_t* sse,
2410 const uint8_t* second_pred);
2411
2412 uint32_t vpx_sub_pixel_avg_variance4x4_c(const uint8_t* src_ptr,
2413 int src_stride,
2414 int x_offset,
2415 int y_offset,
2416 const uint8_t* ref_ptr,
2417 int ref_stride,
2418 uint32_t* sse,
2419 const uint8_t* second_pred);
2420 uint32_t vpx_sub_pixel_avg_variance4x4_neon(const uint8_t* src_ptr,
2421 int src_stride,
2422 int x_offset,
2423 int y_offset,
2424 const uint8_t* ref_ptr,
2425 int ref_stride,
2426 uint32_t* sse,
2427 const uint8_t* second_pred);
2428 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance4x4)(
2429 const uint8_t* src_ptr,
2430 int src_stride,
2431 int x_offset,
2432 int y_offset,
2433 const uint8_t* ref_ptr,
2434 int ref_stride,
2435 uint32_t* sse,
2436 const uint8_t* second_pred);
2437
2438 uint32_t vpx_sub_pixel_avg_variance4x8_c(const uint8_t* src_ptr,
2439 int src_stride,
2440 int x_offset,
2441 int y_offset,
2442 const uint8_t* ref_ptr,
2443 int ref_stride,
2444 uint32_t* sse,
2445 const uint8_t* second_pred);
2446 uint32_t vpx_sub_pixel_avg_variance4x8_neon(const uint8_t* src_ptr,
2447 int src_stride,
2448 int x_offset,
2449 int y_offset,
2450 const uint8_t* ref_ptr,
2451 int ref_stride,
2452 uint32_t* sse,
2453 const uint8_t* second_pred);
2454 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance4x8)(
2455 const uint8_t* src_ptr,
2456 int src_stride,
2457 int x_offset,
2458 int y_offset,
2459 const uint8_t* ref_ptr,
2460 int ref_stride,
2461 uint32_t* sse,
2462 const uint8_t* second_pred);
2463
2464 uint32_t vpx_sub_pixel_avg_variance64x32_c(const uint8_t* src_ptr,
2465 int src_stride,
2466 int x_offset,
2467 int y_offset,
2468 const uint8_t* ref_ptr,
2469 int ref_stride,
2470 uint32_t* sse,
2471 const uint8_t* second_pred);
2472 uint32_t vpx_sub_pixel_avg_variance64x32_neon(const uint8_t* src_ptr,
2473 int src_stride,
2474 int x_offset,
2475 int y_offset,
2476 const uint8_t* ref_ptr,
2477 int ref_stride,
2478 uint32_t* sse,
2479 const uint8_t* second_pred);
2480 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance64x32)(
2481 const uint8_t* src_ptr,
2482 int src_stride,
2483 int x_offset,
2484 int y_offset,
2485 const uint8_t* ref_ptr,
2486 int ref_stride,
2487 uint32_t* sse,
2488 const uint8_t* second_pred);
2489
2490 uint32_t vpx_sub_pixel_avg_variance64x64_c(const uint8_t* src_ptr,
2491 int src_stride,
2492 int x_offset,
2493 int y_offset,
2494 const uint8_t* ref_ptr,
2495 int ref_stride,
2496 uint32_t* sse,
2497 const uint8_t* second_pred);
2498 uint32_t vpx_sub_pixel_avg_variance64x64_neon(const uint8_t* src_ptr,
2499 int src_stride,
2500 int x_offset,
2501 int y_offset,
2502 const uint8_t* ref_ptr,
2503 int ref_stride,
2504 uint32_t* sse,
2505 const uint8_t* second_pred);
2506 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance64x64)(
2507 const uint8_t* src_ptr,
2508 int src_stride,
2509 int x_offset,
2510 int y_offset,
2511 const uint8_t* ref_ptr,
2512 int ref_stride,
2513 uint32_t* sse,
2514 const uint8_t* second_pred);
2515
2516 uint32_t vpx_sub_pixel_avg_variance8x16_c(const uint8_t* src_ptr,
2517 int src_stride,
2518 int x_offset,
2519 int y_offset,
2520 const uint8_t* ref_ptr,
2521 int ref_stride,
2522 uint32_t* sse,
2523 const uint8_t* second_pred);
2524 uint32_t vpx_sub_pixel_avg_variance8x16_neon(const uint8_t* src_ptr,
2525 int src_stride,
2526 int x_offset,
2527 int y_offset,
2528 const uint8_t* ref_ptr,
2529 int ref_stride,
2530 uint32_t* sse,
2531 const uint8_t* second_pred);
2532 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance8x16)(
2533 const uint8_t* src_ptr,
2534 int src_stride,
2535 int x_offset,
2536 int y_offset,
2537 const uint8_t* ref_ptr,
2538 int ref_stride,
2539 uint32_t* sse,
2540 const uint8_t* second_pred);
2541
2542 uint32_t vpx_sub_pixel_avg_variance8x4_c(const uint8_t* src_ptr,
2543 int src_stride,
2544 int x_offset,
2545 int y_offset,
2546 const uint8_t* ref_ptr,
2547 int ref_stride,
2548 uint32_t* sse,
2549 const uint8_t* second_pred);
2550 uint32_t vpx_sub_pixel_avg_variance8x4_neon(const uint8_t* src_ptr,
2551 int src_stride,
2552 int x_offset,
2553 int y_offset,
2554 const uint8_t* ref_ptr,
2555 int ref_stride,
2556 uint32_t* sse,
2557 const uint8_t* second_pred);
2558 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance8x4)(
2559 const uint8_t* src_ptr,
2560 int src_stride,
2561 int x_offset,
2562 int y_offset,
2563 const uint8_t* ref_ptr,
2564 int ref_stride,
2565 uint32_t* sse,
2566 const uint8_t* second_pred);
2567
2568 uint32_t vpx_sub_pixel_avg_variance8x8_c(const uint8_t* src_ptr,
2569 int src_stride,
2570 int x_offset,
2571 int y_offset,
2572 const uint8_t* ref_ptr,
2573 int ref_stride,
2574 uint32_t* sse,
2575 const uint8_t* second_pred);
2576 uint32_t vpx_sub_pixel_avg_variance8x8_neon(const uint8_t* src_ptr,
2577 int src_stride,
2578 int x_offset,
2579 int y_offset,
2580 const uint8_t* ref_ptr,
2581 int ref_stride,
2582 uint32_t* sse,
2583 const uint8_t* second_pred);
2584 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance8x8)(
2585 const uint8_t* src_ptr,
2586 int src_stride,
2587 int x_offset,
2588 int y_offset,
2589 const uint8_t* ref_ptr,
2590 int ref_stride,
2591 uint32_t* sse,
2592 const uint8_t* second_pred);
2593
2594 uint32_t vpx_sub_pixel_variance16x16_c(const uint8_t* src_ptr,
2595 int src_stride,
2596 int x_offset,
2597 int y_offset,
2598 const uint8_t* ref_ptr,
2599 int ref_stride,
2600 uint32_t* sse);
2601 uint32_t vpx_sub_pixel_variance16x16_neon(const uint8_t* src_ptr,
2602 int src_stride,
2603 int x_offset,
2604 int y_offset,
2605 const uint8_t* ref_ptr,
2606 int ref_stride,
2607 uint32_t* sse);
2608 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance16x16)(const uint8_t* src_ptr,
2609 int src_stride,
2610 int x_offset,
2611 int y_offset,
2612 const uint8_t* ref_ptr,
2613 int ref_stride,
2614 uint32_t* sse);
2615
2616 uint32_t vpx_sub_pixel_variance16x32_c(const uint8_t* src_ptr,
2617 int src_stride,
2618 int x_offset,
2619 int y_offset,
2620 const uint8_t* ref_ptr,
2621 int ref_stride,
2622 uint32_t* sse);
2623 uint32_t vpx_sub_pixel_variance16x32_neon(const uint8_t* src_ptr,
2624 int src_stride,
2625 int x_offset,
2626 int y_offset,
2627 const uint8_t* ref_ptr,
2628 int ref_stride,
2629 uint32_t* sse);
2630 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance16x32)(const uint8_t* src_ptr,
2631 int src_stride,
2632 int x_offset,
2633 int y_offset,
2634 const uint8_t* ref_ptr,
2635 int ref_stride,
2636 uint32_t* sse);
2637
2638 uint32_t vpx_sub_pixel_variance16x8_c(const uint8_t* src_ptr,
2639 int src_stride,
2640 int x_offset,
2641 int y_offset,
2642 const uint8_t* ref_ptr,
2643 int ref_stride,
2644 uint32_t* sse);
2645 uint32_t vpx_sub_pixel_variance16x8_neon(const uint8_t* src_ptr,
2646 int src_stride,
2647 int x_offset,
2648 int y_offset,
2649 const uint8_t* ref_ptr,
2650 int ref_stride,
2651 uint32_t* sse);
2652 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance16x8)(const uint8_t* src_ptr,
2653 int src_stride,
2654 int x_offset,
2655 int y_offset,
2656 const uint8_t* ref_ptr,
2657 int ref_stride,
2658 uint32_t* sse);
2659
2660 uint32_t vpx_sub_pixel_variance32x16_c(const uint8_t* src_ptr,
2661 int src_stride,
2662 int x_offset,
2663 int y_offset,
2664 const uint8_t* ref_ptr,
2665 int ref_stride,
2666 uint32_t* sse);
2667 uint32_t vpx_sub_pixel_variance32x16_neon(const uint8_t* src_ptr,
2668 int src_stride,
2669 int x_offset,
2670 int y_offset,
2671 const uint8_t* ref_ptr,
2672 int ref_stride,
2673 uint32_t* sse);
2674 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance32x16)(const uint8_t* src_ptr,
2675 int src_stride,
2676 int x_offset,
2677 int y_offset,
2678 const uint8_t* ref_ptr,
2679 int ref_stride,
2680 uint32_t* sse);
2681
2682 uint32_t vpx_sub_pixel_variance32x32_c(const uint8_t* src_ptr,
2683 int src_stride,
2684 int x_offset,
2685 int y_offset,
2686 const uint8_t* ref_ptr,
2687 int ref_stride,
2688 uint32_t* sse);
2689 uint32_t vpx_sub_pixel_variance32x32_neon(const uint8_t* src_ptr,
2690 int src_stride,
2691 int x_offset,
2692 int y_offset,
2693 const uint8_t* ref_ptr,
2694 int ref_stride,
2695 uint32_t* sse);
2696 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance32x32)(const uint8_t* src_ptr,
2697 int src_stride,
2698 int x_offset,
2699 int y_offset,
2700 const uint8_t* ref_ptr,
2701 int ref_stride,
2702 uint32_t* sse);
2703
2704 uint32_t vpx_sub_pixel_variance32x64_c(const uint8_t* src_ptr,
2705 int src_stride,
2706 int x_offset,
2707 int y_offset,
2708 const uint8_t* ref_ptr,
2709 int ref_stride,
2710 uint32_t* sse);
2711 uint32_t vpx_sub_pixel_variance32x64_neon(const uint8_t* src_ptr,
2712 int src_stride,
2713 int x_offset,
2714 int y_offset,
2715 const uint8_t* ref_ptr,
2716 int ref_stride,
2717 uint32_t* sse);
2718 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance32x64)(const uint8_t* src_ptr,
2719 int src_stride,
2720 int x_offset,
2721 int y_offset,
2722 const uint8_t* ref_ptr,
2723 int ref_stride,
2724 uint32_t* sse);
2725
2726 uint32_t vpx_sub_pixel_variance4x4_c(const uint8_t* src_ptr,
2727 int src_stride,
2728 int x_offset,
2729 int y_offset,
2730 const uint8_t* ref_ptr,
2731 int ref_stride,
2732 uint32_t* sse);
2733 uint32_t vpx_sub_pixel_variance4x4_neon(const uint8_t* src_ptr,
2734 int src_stride,
2735 int x_offset,
2736 int y_offset,
2737 const uint8_t* ref_ptr,
2738 int ref_stride,
2739 uint32_t* sse);
2740 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance4x4)(const uint8_t* src_ptr,
2741 int src_stride,
2742 int x_offset,
2743 int y_offset,
2744 const uint8_t* ref_ptr,
2745 int ref_stride,
2746 uint32_t* sse);
2747
2748 uint32_t vpx_sub_pixel_variance4x8_c(const uint8_t* src_ptr,
2749 int src_stride,
2750 int x_offset,
2751 int y_offset,
2752 const uint8_t* ref_ptr,
2753 int ref_stride,
2754 uint32_t* sse);
2755 uint32_t vpx_sub_pixel_variance4x8_neon(const uint8_t* src_ptr,
2756 int src_stride,
2757 int x_offset,
2758 int y_offset,
2759 const uint8_t* ref_ptr,
2760 int ref_stride,
2761 uint32_t* sse);
2762 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance4x8)(const uint8_t* src_ptr,
2763 int src_stride,
2764 int x_offset,
2765 int y_offset,
2766 const uint8_t* ref_ptr,
2767 int ref_stride,
2768 uint32_t* sse);
2769
2770 uint32_t vpx_sub_pixel_variance64x32_c(const uint8_t* src_ptr,
2771 int src_stride,
2772 int x_offset,
2773 int y_offset,
2774 const uint8_t* ref_ptr,
2775 int ref_stride,
2776 uint32_t* sse);
2777 uint32_t vpx_sub_pixel_variance64x32_neon(const uint8_t* src_ptr,
2778 int src_stride,
2779 int x_offset,
2780 int y_offset,
2781 const uint8_t* ref_ptr,
2782 int ref_stride,
2783 uint32_t* sse);
2784 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance64x32)(const uint8_t* src_ptr,
2785 int src_stride,
2786 int x_offset,
2787 int y_offset,
2788 const uint8_t* ref_ptr,
2789 int ref_stride,
2790 uint32_t* sse);
2791
2792 uint32_t vpx_sub_pixel_variance64x64_c(const uint8_t* src_ptr,
2793 int src_stride,
2794 int x_offset,
2795 int y_offset,
2796 const uint8_t* ref_ptr,
2797 int ref_stride,
2798 uint32_t* sse);
2799 uint32_t vpx_sub_pixel_variance64x64_neon(const uint8_t* src_ptr,
2800 int src_stride,
2801 int x_offset,
2802 int y_offset,
2803 const uint8_t* ref_ptr,
2804 int ref_stride,
2805 uint32_t* sse);
2806 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance64x64)(const uint8_t* src_ptr,
2807 int src_stride,
2808 int x_offset,
2809 int y_offset,
2810 const uint8_t* ref_ptr,
2811 int ref_stride,
2812 uint32_t* sse);
2813
2814 uint32_t vpx_sub_pixel_variance8x16_c(const uint8_t* src_ptr,
2815 int src_stride,
2816 int x_offset,
2817 int y_offset,
2818 const uint8_t* ref_ptr,
2819 int ref_stride,
2820 uint32_t* sse);
2821 uint32_t vpx_sub_pixel_variance8x16_neon(const uint8_t* src_ptr,
2822 int src_stride,
2823 int x_offset,
2824 int y_offset,
2825 const uint8_t* ref_ptr,
2826 int ref_stride,
2827 uint32_t* sse);
2828 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance8x16)(const uint8_t* src_ptr,
2829 int src_stride,
2830 int x_offset,
2831 int y_offset,
2832 const uint8_t* ref_ptr,
2833 int ref_stride,
2834 uint32_t* sse);
2835
2836 uint32_t vpx_sub_pixel_variance8x4_c(const uint8_t* src_ptr,
2837 int src_stride,
2838 int x_offset,
2839 int y_offset,
2840 const uint8_t* ref_ptr,
2841 int ref_stride,
2842 uint32_t* sse);
2843 uint32_t vpx_sub_pixel_variance8x4_neon(const uint8_t* src_ptr,
2844 int src_stride,
2845 int x_offset,
2846 int y_offset,
2847 const uint8_t* ref_ptr,
2848 int ref_stride,
2849 uint32_t* sse);
2850 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance8x4)(const uint8_t* src_ptr,
2851 int src_stride,
2852 int x_offset,
2853 int y_offset,
2854 const uint8_t* ref_ptr,
2855 int ref_stride,
2856 uint32_t* sse);
2857
2858 uint32_t vpx_sub_pixel_variance8x8_c(const uint8_t* src_ptr,
2859 int src_stride,
2860 int x_offset,
2861 int y_offset,
2862 const uint8_t* ref_ptr,
2863 int ref_stride,
2864 uint32_t* sse);
2865 uint32_t vpx_sub_pixel_variance8x8_neon(const uint8_t* src_ptr,
2866 int src_stride,
2867 int x_offset,
2868 int y_offset,
2869 const uint8_t* ref_ptr,
2870 int ref_stride,
2871 uint32_t* sse);
2872 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance8x8)(const uint8_t* src_ptr,
2873 int src_stride,
2874 int x_offset,
2875 int y_offset,
2876 const uint8_t* ref_ptr,
2877 int ref_stride,
2878 uint32_t* sse);
2879
2880 void vpx_subtract_block_c(int rows,
2881 int cols,
2882 int16_t* diff_ptr,
2883 ptrdiff_t diff_stride,
2884 const uint8_t* src_ptr,
2885 ptrdiff_t src_stride,
2886 const uint8_t* pred_ptr,
2887 ptrdiff_t pred_stride);
2888 void vpx_subtract_block_neon(int rows,
2889 int cols,
2890 int16_t* diff_ptr,
2891 ptrdiff_t diff_stride,
2892 const uint8_t* src_ptr,
2893 ptrdiff_t src_stride,
2894 const uint8_t* pred_ptr,
2895 ptrdiff_t pred_stride);
2896 RTCD_EXTERN void (*vpx_subtract_block)(int rows,
2897 int cols,
2898 int16_t* diff_ptr,
2899 ptrdiff_t diff_stride,
2900 const uint8_t* src_ptr,
2901 ptrdiff_t src_stride,
2902 const uint8_t* pred_ptr,
2903 ptrdiff_t pred_stride);
2904
2905 uint64_t vpx_sum_squares_2d_i16_c(const int16_t* src, int stride, int size);
2906 uint64_t vpx_sum_squares_2d_i16_neon(const int16_t* src, int stride, int size);
2907 RTCD_EXTERN uint64_t (*vpx_sum_squares_2d_i16)(const int16_t* src,
2908 int stride,
2909 int size);
2910
2911 void vpx_tm_predictor_16x16_c(uint8_t* dst,
2912 ptrdiff_t stride,
2913 const uint8_t* above,
2914 const uint8_t* left);
2915 void vpx_tm_predictor_16x16_neon(uint8_t* dst,
2916 ptrdiff_t stride,
2917 const uint8_t* above,
2918 const uint8_t* left);
2919 RTCD_EXTERN void (*vpx_tm_predictor_16x16)(uint8_t* dst,
2920 ptrdiff_t stride,
2921 const uint8_t* above,
2922 const uint8_t* left);
2923
2924 void vpx_tm_predictor_32x32_c(uint8_t* dst,
2925 ptrdiff_t stride,
2926 const uint8_t* above,
2927 const uint8_t* left);
2928 void vpx_tm_predictor_32x32_neon(uint8_t* dst,
2929 ptrdiff_t stride,
2930 const uint8_t* above,
2931 const uint8_t* left);
2932 RTCD_EXTERN void (*vpx_tm_predictor_32x32)(uint8_t* dst,
2933 ptrdiff_t stride,
2934 const uint8_t* above,
2935 const uint8_t* left);
2936
2937 void vpx_tm_predictor_4x4_c(uint8_t* dst,
2938 ptrdiff_t stride,
2939 const uint8_t* above,
2940 const uint8_t* left);
2941 void vpx_tm_predictor_4x4_neon(uint8_t* dst,
2942 ptrdiff_t stride,
2943 const uint8_t* above,
2944 const uint8_t* left);
2945 RTCD_EXTERN void (*vpx_tm_predictor_4x4)(uint8_t* dst,
2946 ptrdiff_t stride,
2947 const uint8_t* above,
2948 const uint8_t* left);
2949
2950 void vpx_tm_predictor_8x8_c(uint8_t* dst,
2951 ptrdiff_t stride,
2952 const uint8_t* above,
2953 const uint8_t* left);
2954 void vpx_tm_predictor_8x8_neon(uint8_t* dst,
2955 ptrdiff_t stride,
2956 const uint8_t* above,
2957 const uint8_t* left);
2958 RTCD_EXTERN void (*vpx_tm_predictor_8x8)(uint8_t* dst,
2959 ptrdiff_t stride,
2960 const uint8_t* above,
2961 const uint8_t* left);
2962
2963 void vpx_v_predictor_16x16_c(uint8_t* dst,
2964 ptrdiff_t stride,
2965 const uint8_t* above,
2966 const uint8_t* left);
2967 void vpx_v_predictor_16x16_neon(uint8_t* dst,
2968 ptrdiff_t stride,
2969 const uint8_t* above,
2970 const uint8_t* left);
2971 RTCD_EXTERN void (*vpx_v_predictor_16x16)(uint8_t* dst,
2972 ptrdiff_t stride,
2973 const uint8_t* above,
2974 const uint8_t* left);
2975
2976 void vpx_v_predictor_32x32_c(uint8_t* dst,
2977 ptrdiff_t stride,
2978 const uint8_t* above,
2979 const uint8_t* left);
2980 void vpx_v_predictor_32x32_neon(uint8_t* dst,
2981 ptrdiff_t stride,
2982 const uint8_t* above,
2983 const uint8_t* left);
2984 RTCD_EXTERN void (*vpx_v_predictor_32x32)(uint8_t* dst,
2985 ptrdiff_t stride,
2986 const uint8_t* above,
2987 const uint8_t* left);
2988
2989 void vpx_v_predictor_4x4_c(uint8_t* dst,
2990 ptrdiff_t stride,
2991 const uint8_t* above,
2992 const uint8_t* left);
2993 void vpx_v_predictor_4x4_neon(uint8_t* dst,
2994 ptrdiff_t stride,
2995 const uint8_t* above,
2996 const uint8_t* left);
2997 RTCD_EXTERN void (*vpx_v_predictor_4x4)(uint8_t* dst,
2998 ptrdiff_t stride,
2999 const uint8_t* above,
3000 const uint8_t* left);
3001
3002 void vpx_v_predictor_8x8_c(uint8_t* dst,
3003 ptrdiff_t stride,
3004 const uint8_t* above,
3005 const uint8_t* left);
3006 void vpx_v_predictor_8x8_neon(uint8_t* dst,
3007 ptrdiff_t stride,
3008 const uint8_t* above,
3009 const uint8_t* left);
3010 RTCD_EXTERN void (*vpx_v_predictor_8x8)(uint8_t* dst,
3011 ptrdiff_t stride,
3012 const uint8_t* above,
3013 const uint8_t* left);
3014
3015 unsigned int vpx_variance16x16_c(const uint8_t* src_ptr,
3016 int src_stride,
3017 const uint8_t* ref_ptr,
3018 int ref_stride,
3019 unsigned int* sse);
3020 unsigned int vpx_variance16x16_neon(const uint8_t* src_ptr,
3021 int src_stride,
3022 const uint8_t* ref_ptr,
3023 int ref_stride,
3024 unsigned int* sse);
3025 RTCD_EXTERN unsigned int (*vpx_variance16x16)(const uint8_t* src_ptr,
3026 int src_stride,
3027 const uint8_t* ref_ptr,
3028 int ref_stride,
3029 unsigned int* sse);
3030
3031 unsigned int vpx_variance16x32_c(const uint8_t* src_ptr,
3032 int src_stride,
3033 const uint8_t* ref_ptr,
3034 int ref_stride,
3035 unsigned int* sse);
3036 unsigned int vpx_variance16x32_neon(const uint8_t* src_ptr,
3037 int src_stride,
3038 const uint8_t* ref_ptr,
3039 int ref_stride,
3040 unsigned int* sse);
3041 RTCD_EXTERN unsigned int (*vpx_variance16x32)(const uint8_t* src_ptr,
3042 int src_stride,
3043 const uint8_t* ref_ptr,
3044 int ref_stride,
3045 unsigned int* sse);
3046
3047 unsigned int vpx_variance16x8_c(const uint8_t* src_ptr,
3048 int src_stride,
3049 const uint8_t* ref_ptr,
3050 int ref_stride,
3051 unsigned int* sse);
3052 unsigned int vpx_variance16x8_neon(const uint8_t* src_ptr,
3053 int src_stride,
3054 const uint8_t* ref_ptr,
3055 int ref_stride,
3056 unsigned int* sse);
3057 RTCD_EXTERN unsigned int (*vpx_variance16x8)(const uint8_t* src_ptr,
3058 int src_stride,
3059 const uint8_t* ref_ptr,
3060 int ref_stride,
3061 unsigned int* sse);
3062
3063 unsigned int vpx_variance32x16_c(const uint8_t* src_ptr,
3064 int src_stride,
3065 const uint8_t* ref_ptr,
3066 int ref_stride,
3067 unsigned int* sse);
3068 unsigned int vpx_variance32x16_neon(const uint8_t* src_ptr,
3069 int src_stride,
3070 const uint8_t* ref_ptr,
3071 int ref_stride,
3072 unsigned int* sse);
3073 RTCD_EXTERN unsigned int (*vpx_variance32x16)(const uint8_t* src_ptr,
3074 int src_stride,
3075 const uint8_t* ref_ptr,
3076 int ref_stride,
3077 unsigned int* sse);
3078
3079 unsigned int vpx_variance32x32_c(const uint8_t* src_ptr,
3080 int src_stride,
3081 const uint8_t* ref_ptr,
3082 int ref_stride,
3083 unsigned int* sse);
3084 unsigned int vpx_variance32x32_neon(const uint8_t* src_ptr,
3085 int src_stride,
3086 const uint8_t* ref_ptr,
3087 int ref_stride,
3088 unsigned int* sse);
3089 RTCD_EXTERN unsigned int (*vpx_variance32x32)(const uint8_t* src_ptr,
3090 int src_stride,
3091 const uint8_t* ref_ptr,
3092 int ref_stride,
3093 unsigned int* sse);
3094
3095 unsigned int vpx_variance32x64_c(const uint8_t* src_ptr,
3096 int src_stride,
3097 const uint8_t* ref_ptr,
3098 int ref_stride,
3099 unsigned int* sse);
3100 unsigned int vpx_variance32x64_neon(const uint8_t* src_ptr,
3101 int src_stride,
3102 const uint8_t* ref_ptr,
3103 int ref_stride,
3104 unsigned int* sse);
3105 RTCD_EXTERN unsigned int (*vpx_variance32x64)(const uint8_t* src_ptr,
3106 int src_stride,
3107 const uint8_t* ref_ptr,
3108 int ref_stride,
3109 unsigned int* sse);
3110
3111 unsigned int vpx_variance4x4_c(const uint8_t* src_ptr,
3112 int src_stride,
3113 const uint8_t* ref_ptr,
3114 int ref_stride,
3115 unsigned int* sse);
3116 unsigned int vpx_variance4x4_neon(const uint8_t* src_ptr,
3117 int src_stride,
3118 const uint8_t* ref_ptr,
3119 int ref_stride,
3120 unsigned int* sse);
3121 RTCD_EXTERN unsigned int (*vpx_variance4x4)(const uint8_t* src_ptr,
3122 int src_stride,
3123 const uint8_t* ref_ptr,
3124 int ref_stride,
3125 unsigned int* sse);
3126
3127 unsigned int vpx_variance4x8_c(const uint8_t* src_ptr,
3128 int src_stride,
3129 const uint8_t* ref_ptr,
3130 int ref_stride,
3131 unsigned int* sse);
3132 unsigned int vpx_variance4x8_neon(const uint8_t* src_ptr,
3133 int src_stride,
3134 const uint8_t* ref_ptr,
3135 int ref_stride,
3136 unsigned int* sse);
3137 RTCD_EXTERN unsigned int (*vpx_variance4x8)(const uint8_t* src_ptr,
3138 int src_stride,
3139 const uint8_t* ref_ptr,
3140 int ref_stride,
3141 unsigned int* sse);
3142
3143 unsigned int vpx_variance64x32_c(const uint8_t* src_ptr,
3144 int src_stride,
3145 const uint8_t* ref_ptr,
3146 int ref_stride,
3147 unsigned int* sse);
3148 unsigned int vpx_variance64x32_neon(const uint8_t* src_ptr,
3149 int src_stride,
3150 const uint8_t* ref_ptr,
3151 int ref_stride,
3152 unsigned int* sse);
3153 RTCD_EXTERN unsigned int (*vpx_variance64x32)(const uint8_t* src_ptr,
3154 int src_stride,
3155 const uint8_t* ref_ptr,
3156 int ref_stride,
3157 unsigned int* sse);
3158
3159 unsigned int vpx_variance64x64_c(const uint8_t* src_ptr,
3160 int src_stride,
3161 const uint8_t* ref_ptr,
3162 int ref_stride,
3163 unsigned int* sse);
3164 unsigned int vpx_variance64x64_neon(const uint8_t* src_ptr,
3165 int src_stride,
3166 const uint8_t* ref_ptr,
3167 int ref_stride,
3168 unsigned int* sse);
3169 RTCD_EXTERN unsigned int (*vpx_variance64x64)(const uint8_t* src_ptr,
3170 int src_stride,
3171 const uint8_t* ref_ptr,
3172 int ref_stride,
3173 unsigned int* sse);
3174
3175 unsigned int vpx_variance8x16_c(const uint8_t* src_ptr,
3176 int src_stride,
3177 const uint8_t* ref_ptr,
3178 int ref_stride,
3179 unsigned int* sse);
3180 unsigned int vpx_variance8x16_neon(const uint8_t* src_ptr,
3181 int src_stride,
3182 const uint8_t* ref_ptr,
3183 int ref_stride,
3184 unsigned int* sse);
3185 RTCD_EXTERN unsigned int (*vpx_variance8x16)(const uint8_t* src_ptr,
3186 int src_stride,
3187 const uint8_t* ref_ptr,
3188 int ref_stride,
3189 unsigned int* sse);
3190
3191 unsigned int vpx_variance8x4_c(const uint8_t* src_ptr,
3192 int src_stride,
3193 const uint8_t* ref_ptr,
3194 int ref_stride,
3195 unsigned int* sse);
3196 unsigned int vpx_variance8x4_neon(const uint8_t* src_ptr,
3197 int src_stride,
3198 const uint8_t* ref_ptr,
3199 int ref_stride,
3200 unsigned int* sse);
3201 RTCD_EXTERN unsigned int (*vpx_variance8x4)(const uint8_t* src_ptr,
3202 int src_stride,
3203 const uint8_t* ref_ptr,
3204 int ref_stride,
3205 unsigned int* sse);
3206
3207 unsigned int vpx_variance8x8_c(const uint8_t* src_ptr,
3208 int src_stride,
3209 const uint8_t* ref_ptr,
3210 int ref_stride,
3211 unsigned int* sse);
3212 unsigned int vpx_variance8x8_neon(const uint8_t* src_ptr,
3213 int src_stride,
3214 const uint8_t* ref_ptr,
3215 int ref_stride,
3216 unsigned int* sse);
3217 RTCD_EXTERN unsigned int (*vpx_variance8x8)(const uint8_t* src_ptr,
3218 int src_stride,
3219 const uint8_t* ref_ptr,
3220 int ref_stride,
3221 unsigned int* sse);
3222
3223 void vpx_ve_predictor_4x4_c(uint8_t* dst,
3224 ptrdiff_t stride,
3225 const uint8_t* above,
3226 const uint8_t* left);
3227 #define vpx_ve_predictor_4x4 vpx_ve_predictor_4x4_c
3228
3229 int vpx_vector_var_c(const int16_t* ref, const int16_t* src, const int bwl);
3230 int vpx_vector_var_neon(const int16_t* ref, const int16_t* src, const int bwl);
3231 RTCD_EXTERN int (*vpx_vector_var)(const int16_t* ref,
3232 const int16_t* src,
3233 const int bwl);
3234
3235 void vpx_dsp_rtcd(void);
3236
3237 #include "vpx_config.h"
3238
3239 #ifdef RTCD_C
3240 #include "vpx_ports/arm.h"
setup_rtcd_internal(void)3241 static void setup_rtcd_internal(void) {
3242 int flags = arm_cpu_caps();
3243
3244 (void)flags;
3245
3246 vpx_avg_4x4 = vpx_avg_4x4_c;
3247 if (flags & HAS_NEON)
3248 vpx_avg_4x4 = vpx_avg_4x4_neon;
3249 vpx_avg_8x8 = vpx_avg_8x8_c;
3250 if (flags & HAS_NEON)
3251 vpx_avg_8x8 = vpx_avg_8x8_neon;
3252 vpx_comp_avg_pred = vpx_comp_avg_pred_c;
3253 if (flags & HAS_NEON)
3254 vpx_comp_avg_pred = vpx_comp_avg_pred_neon;
3255 vpx_convolve8 = vpx_convolve8_c;
3256 if (flags & HAS_NEON)
3257 vpx_convolve8 = vpx_convolve8_neon;
3258 vpx_convolve8_avg = vpx_convolve8_avg_c;
3259 if (flags & HAS_NEON)
3260 vpx_convolve8_avg = vpx_convolve8_avg_neon;
3261 vpx_convolve8_avg_horiz = vpx_convolve8_avg_horiz_c;
3262 if (flags & HAS_NEON)
3263 vpx_convolve8_avg_horiz = vpx_convolve8_avg_horiz_neon;
3264 vpx_convolve8_avg_vert = vpx_convolve8_avg_vert_c;
3265 if (flags & HAS_NEON)
3266 vpx_convolve8_avg_vert = vpx_convolve8_avg_vert_neon;
3267 vpx_convolve8_horiz = vpx_convolve8_horiz_c;
3268 if (flags & HAS_NEON)
3269 vpx_convolve8_horiz = vpx_convolve8_horiz_neon;
3270 vpx_convolve8_vert = vpx_convolve8_vert_c;
3271 if (flags & HAS_NEON)
3272 vpx_convolve8_vert = vpx_convolve8_vert_neon;
3273 vpx_convolve_avg = vpx_convolve_avg_c;
3274 if (flags & HAS_NEON)
3275 vpx_convolve_avg = vpx_convolve_avg_neon;
3276 vpx_convolve_copy = vpx_convolve_copy_c;
3277 if (flags & HAS_NEON)
3278 vpx_convolve_copy = vpx_convolve_copy_neon;
3279 vpx_d135_predictor_16x16 = vpx_d135_predictor_16x16_c;
3280 if (flags & HAS_NEON)
3281 vpx_d135_predictor_16x16 = vpx_d135_predictor_16x16_neon;
3282 vpx_d135_predictor_32x32 = vpx_d135_predictor_32x32_c;
3283 if (flags & HAS_NEON)
3284 vpx_d135_predictor_32x32 = vpx_d135_predictor_32x32_neon;
3285 vpx_d135_predictor_4x4 = vpx_d135_predictor_4x4_c;
3286 if (flags & HAS_NEON)
3287 vpx_d135_predictor_4x4 = vpx_d135_predictor_4x4_neon;
3288 vpx_d135_predictor_8x8 = vpx_d135_predictor_8x8_c;
3289 if (flags & HAS_NEON)
3290 vpx_d135_predictor_8x8 = vpx_d135_predictor_8x8_neon;
3291 vpx_d45_predictor_16x16 = vpx_d45_predictor_16x16_c;
3292 if (flags & HAS_NEON)
3293 vpx_d45_predictor_16x16 = vpx_d45_predictor_16x16_neon;
3294 vpx_d45_predictor_32x32 = vpx_d45_predictor_32x32_c;
3295 if (flags & HAS_NEON)
3296 vpx_d45_predictor_32x32 = vpx_d45_predictor_32x32_neon;
3297 vpx_d45_predictor_4x4 = vpx_d45_predictor_4x4_c;
3298 if (flags & HAS_NEON)
3299 vpx_d45_predictor_4x4 = vpx_d45_predictor_4x4_neon;
3300 vpx_d45_predictor_8x8 = vpx_d45_predictor_8x8_c;
3301 if (flags & HAS_NEON)
3302 vpx_d45_predictor_8x8 = vpx_d45_predictor_8x8_neon;
3303 vpx_dc_128_predictor_16x16 = vpx_dc_128_predictor_16x16_c;
3304 if (flags & HAS_NEON)
3305 vpx_dc_128_predictor_16x16 = vpx_dc_128_predictor_16x16_neon;
3306 vpx_dc_128_predictor_32x32 = vpx_dc_128_predictor_32x32_c;
3307 if (flags & HAS_NEON)
3308 vpx_dc_128_predictor_32x32 = vpx_dc_128_predictor_32x32_neon;
3309 vpx_dc_128_predictor_4x4 = vpx_dc_128_predictor_4x4_c;
3310 if (flags & HAS_NEON)
3311 vpx_dc_128_predictor_4x4 = vpx_dc_128_predictor_4x4_neon;
3312 vpx_dc_128_predictor_8x8 = vpx_dc_128_predictor_8x8_c;
3313 if (flags & HAS_NEON)
3314 vpx_dc_128_predictor_8x8 = vpx_dc_128_predictor_8x8_neon;
3315 vpx_dc_left_predictor_16x16 = vpx_dc_left_predictor_16x16_c;
3316 if (flags & HAS_NEON)
3317 vpx_dc_left_predictor_16x16 = vpx_dc_left_predictor_16x16_neon;
3318 vpx_dc_left_predictor_32x32 = vpx_dc_left_predictor_32x32_c;
3319 if (flags & HAS_NEON)
3320 vpx_dc_left_predictor_32x32 = vpx_dc_left_predictor_32x32_neon;
3321 vpx_dc_left_predictor_4x4 = vpx_dc_left_predictor_4x4_c;
3322 if (flags & HAS_NEON)
3323 vpx_dc_left_predictor_4x4 = vpx_dc_left_predictor_4x4_neon;
3324 vpx_dc_left_predictor_8x8 = vpx_dc_left_predictor_8x8_c;
3325 if (flags & HAS_NEON)
3326 vpx_dc_left_predictor_8x8 = vpx_dc_left_predictor_8x8_neon;
3327 vpx_dc_predictor_16x16 = vpx_dc_predictor_16x16_c;
3328 if (flags & HAS_NEON)
3329 vpx_dc_predictor_16x16 = vpx_dc_predictor_16x16_neon;
3330 vpx_dc_predictor_32x32 = vpx_dc_predictor_32x32_c;
3331 if (flags & HAS_NEON)
3332 vpx_dc_predictor_32x32 = vpx_dc_predictor_32x32_neon;
3333 vpx_dc_predictor_4x4 = vpx_dc_predictor_4x4_c;
3334 if (flags & HAS_NEON)
3335 vpx_dc_predictor_4x4 = vpx_dc_predictor_4x4_neon;
3336 vpx_dc_predictor_8x8 = vpx_dc_predictor_8x8_c;
3337 if (flags & HAS_NEON)
3338 vpx_dc_predictor_8x8 = vpx_dc_predictor_8x8_neon;
3339 vpx_dc_top_predictor_16x16 = vpx_dc_top_predictor_16x16_c;
3340 if (flags & HAS_NEON)
3341 vpx_dc_top_predictor_16x16 = vpx_dc_top_predictor_16x16_neon;
3342 vpx_dc_top_predictor_32x32 = vpx_dc_top_predictor_32x32_c;
3343 if (flags & HAS_NEON)
3344 vpx_dc_top_predictor_32x32 = vpx_dc_top_predictor_32x32_neon;
3345 vpx_dc_top_predictor_4x4 = vpx_dc_top_predictor_4x4_c;
3346 if (flags & HAS_NEON)
3347 vpx_dc_top_predictor_4x4 = vpx_dc_top_predictor_4x4_neon;
3348 vpx_dc_top_predictor_8x8 = vpx_dc_top_predictor_8x8_c;
3349 if (flags & HAS_NEON)
3350 vpx_dc_top_predictor_8x8 = vpx_dc_top_predictor_8x8_neon;
3351 vpx_fdct16x16 = vpx_fdct16x16_c;
3352 if (flags & HAS_NEON)
3353 vpx_fdct16x16 = vpx_fdct16x16_neon;
3354 vpx_fdct16x16_1 = vpx_fdct16x16_1_c;
3355 if (flags & HAS_NEON)
3356 vpx_fdct16x16_1 = vpx_fdct16x16_1_neon;
3357 vpx_fdct32x32 = vpx_fdct32x32_c;
3358 if (flags & HAS_NEON)
3359 vpx_fdct32x32 = vpx_fdct32x32_neon;
3360 vpx_fdct32x32_1 = vpx_fdct32x32_1_c;
3361 if (flags & HAS_NEON)
3362 vpx_fdct32x32_1 = vpx_fdct32x32_1_neon;
3363 vpx_fdct32x32_rd = vpx_fdct32x32_rd_c;
3364 if (flags & HAS_NEON)
3365 vpx_fdct32x32_rd = vpx_fdct32x32_rd_neon;
3366 vpx_fdct4x4 = vpx_fdct4x4_c;
3367 if (flags & HAS_NEON)
3368 vpx_fdct4x4 = vpx_fdct4x4_neon;
3369 vpx_fdct4x4_1 = vpx_fdct4x4_1_c;
3370 if (flags & HAS_NEON)
3371 vpx_fdct4x4_1 = vpx_fdct4x4_1_neon;
3372 vpx_fdct8x8 = vpx_fdct8x8_c;
3373 if (flags & HAS_NEON)
3374 vpx_fdct8x8 = vpx_fdct8x8_neon;
3375 vpx_fdct8x8_1 = vpx_fdct8x8_1_c;
3376 if (flags & HAS_NEON)
3377 vpx_fdct8x8_1 = vpx_fdct8x8_1_neon;
3378 vpx_get16x16var = vpx_get16x16var_c;
3379 if (flags & HAS_NEON)
3380 vpx_get16x16var = vpx_get16x16var_neon;
3381 vpx_get4x4sse_cs = vpx_get4x4sse_cs_c;
3382 if (flags & HAS_NEON)
3383 vpx_get4x4sse_cs = vpx_get4x4sse_cs_neon;
3384 vpx_get8x8var = vpx_get8x8var_c;
3385 if (flags & HAS_NEON)
3386 vpx_get8x8var = vpx_get8x8var_neon;
3387 vpx_h_predictor_16x16 = vpx_h_predictor_16x16_c;
3388 if (flags & HAS_NEON)
3389 vpx_h_predictor_16x16 = vpx_h_predictor_16x16_neon;
3390 vpx_h_predictor_32x32 = vpx_h_predictor_32x32_c;
3391 if (flags & HAS_NEON)
3392 vpx_h_predictor_32x32 = vpx_h_predictor_32x32_neon;
3393 vpx_h_predictor_4x4 = vpx_h_predictor_4x4_c;
3394 if (flags & HAS_NEON)
3395 vpx_h_predictor_4x4 = vpx_h_predictor_4x4_neon;
3396 vpx_h_predictor_8x8 = vpx_h_predictor_8x8_c;
3397 if (flags & HAS_NEON)
3398 vpx_h_predictor_8x8 = vpx_h_predictor_8x8_neon;
3399 vpx_hadamard_16x16 = vpx_hadamard_16x16_c;
3400 if (flags & HAS_NEON)
3401 vpx_hadamard_16x16 = vpx_hadamard_16x16_neon;
3402 vpx_hadamard_8x8 = vpx_hadamard_8x8_c;
3403 if (flags & HAS_NEON)
3404 vpx_hadamard_8x8 = vpx_hadamard_8x8_neon;
3405 vpx_idct16x16_10_add = vpx_idct16x16_10_add_c;
3406 if (flags & HAS_NEON)
3407 vpx_idct16x16_10_add = vpx_idct16x16_10_add_neon;
3408 vpx_idct16x16_1_add = vpx_idct16x16_1_add_c;
3409 if (flags & HAS_NEON)
3410 vpx_idct16x16_1_add = vpx_idct16x16_1_add_neon;
3411 vpx_idct16x16_256_add = vpx_idct16x16_256_add_c;
3412 if (flags & HAS_NEON)
3413 vpx_idct16x16_256_add = vpx_idct16x16_256_add_neon;
3414 vpx_idct16x16_38_add = vpx_idct16x16_38_add_c;
3415 if (flags & HAS_NEON)
3416 vpx_idct16x16_38_add = vpx_idct16x16_38_add_neon;
3417 vpx_idct32x32_1024_add = vpx_idct32x32_1024_add_c;
3418 if (flags & HAS_NEON)
3419 vpx_idct32x32_1024_add = vpx_idct32x32_1024_add_neon;
3420 vpx_idct32x32_135_add = vpx_idct32x32_135_add_c;
3421 if (flags & HAS_NEON)
3422 vpx_idct32x32_135_add = vpx_idct32x32_135_add_neon;
3423 vpx_idct32x32_1_add = vpx_idct32x32_1_add_c;
3424 if (flags & HAS_NEON)
3425 vpx_idct32x32_1_add = vpx_idct32x32_1_add_neon;
3426 vpx_idct32x32_34_add = vpx_idct32x32_34_add_c;
3427 if (flags & HAS_NEON)
3428 vpx_idct32x32_34_add = vpx_idct32x32_34_add_neon;
3429 vpx_idct4x4_16_add = vpx_idct4x4_16_add_c;
3430 if (flags & HAS_NEON)
3431 vpx_idct4x4_16_add = vpx_idct4x4_16_add_neon;
3432 vpx_idct4x4_1_add = vpx_idct4x4_1_add_c;
3433 if (flags & HAS_NEON)
3434 vpx_idct4x4_1_add = vpx_idct4x4_1_add_neon;
3435 vpx_idct8x8_12_add = vpx_idct8x8_12_add_c;
3436 if (flags & HAS_NEON)
3437 vpx_idct8x8_12_add = vpx_idct8x8_12_add_neon;
3438 vpx_idct8x8_1_add = vpx_idct8x8_1_add_c;
3439 if (flags & HAS_NEON)
3440 vpx_idct8x8_1_add = vpx_idct8x8_1_add_neon;
3441 vpx_idct8x8_64_add = vpx_idct8x8_64_add_c;
3442 if (flags & HAS_NEON)
3443 vpx_idct8x8_64_add = vpx_idct8x8_64_add_neon;
3444 vpx_int_pro_col = vpx_int_pro_col_c;
3445 if (flags & HAS_NEON)
3446 vpx_int_pro_col = vpx_int_pro_col_neon;
3447 vpx_int_pro_row = vpx_int_pro_row_c;
3448 if (flags & HAS_NEON)
3449 vpx_int_pro_row = vpx_int_pro_row_neon;
3450 vpx_lpf_horizontal_16 = vpx_lpf_horizontal_16_c;
3451 if (flags & HAS_NEON)
3452 vpx_lpf_horizontal_16 = vpx_lpf_horizontal_16_neon;
3453 vpx_lpf_horizontal_16_dual = vpx_lpf_horizontal_16_dual_c;
3454 if (flags & HAS_NEON)
3455 vpx_lpf_horizontal_16_dual = vpx_lpf_horizontal_16_dual_neon;
3456 vpx_lpf_horizontal_4 = vpx_lpf_horizontal_4_c;
3457 if (flags & HAS_NEON)
3458 vpx_lpf_horizontal_4 = vpx_lpf_horizontal_4_neon;
3459 vpx_lpf_horizontal_4_dual = vpx_lpf_horizontal_4_dual_c;
3460 if (flags & HAS_NEON)
3461 vpx_lpf_horizontal_4_dual = vpx_lpf_horizontal_4_dual_neon;
3462 vpx_lpf_horizontal_8 = vpx_lpf_horizontal_8_c;
3463 if (flags & HAS_NEON)
3464 vpx_lpf_horizontal_8 = vpx_lpf_horizontal_8_neon;
3465 vpx_lpf_horizontal_8_dual = vpx_lpf_horizontal_8_dual_c;
3466 if (flags & HAS_NEON)
3467 vpx_lpf_horizontal_8_dual = vpx_lpf_horizontal_8_dual_neon;
3468 vpx_lpf_vertical_16 = vpx_lpf_vertical_16_c;
3469 if (flags & HAS_NEON)
3470 vpx_lpf_vertical_16 = vpx_lpf_vertical_16_neon;
3471 vpx_lpf_vertical_16_dual = vpx_lpf_vertical_16_dual_c;
3472 if (flags & HAS_NEON)
3473 vpx_lpf_vertical_16_dual = vpx_lpf_vertical_16_dual_neon;
3474 vpx_lpf_vertical_4 = vpx_lpf_vertical_4_c;
3475 if (flags & HAS_NEON)
3476 vpx_lpf_vertical_4 = vpx_lpf_vertical_4_neon;
3477 vpx_lpf_vertical_4_dual = vpx_lpf_vertical_4_dual_c;
3478 if (flags & HAS_NEON)
3479 vpx_lpf_vertical_4_dual = vpx_lpf_vertical_4_dual_neon;
3480 vpx_lpf_vertical_8 = vpx_lpf_vertical_8_c;
3481 if (flags & HAS_NEON)
3482 vpx_lpf_vertical_8 = vpx_lpf_vertical_8_neon;
3483 vpx_lpf_vertical_8_dual = vpx_lpf_vertical_8_dual_c;
3484 if (flags & HAS_NEON)
3485 vpx_lpf_vertical_8_dual = vpx_lpf_vertical_8_dual_neon;
3486 vpx_mbpost_proc_across_ip = vpx_mbpost_proc_across_ip_c;
3487 if (flags & HAS_NEON)
3488 vpx_mbpost_proc_across_ip = vpx_mbpost_proc_across_ip_neon;
3489 vpx_mbpost_proc_down = vpx_mbpost_proc_down_c;
3490 if (flags & HAS_NEON)
3491 vpx_mbpost_proc_down = vpx_mbpost_proc_down_neon;
3492 vpx_minmax_8x8 = vpx_minmax_8x8_c;
3493 if (flags & HAS_NEON)
3494 vpx_minmax_8x8 = vpx_minmax_8x8_neon;
3495 vpx_mse16x16 = vpx_mse16x16_c;
3496 if (flags & HAS_NEON)
3497 vpx_mse16x16 = vpx_mse16x16_neon;
3498 vpx_post_proc_down_and_across_mb_row = vpx_post_proc_down_and_across_mb_row_c;
3499 if (flags & HAS_NEON)
3500 vpx_post_proc_down_and_across_mb_row =
3501 vpx_post_proc_down_and_across_mb_row_neon;
3502 vpx_quantize_b = vpx_quantize_b_c;
3503 if (flags & HAS_NEON)
3504 vpx_quantize_b = vpx_quantize_b_neon;
3505 vpx_quantize_b_32x32 = vpx_quantize_b_32x32_c;
3506 if (flags & HAS_NEON)
3507 vpx_quantize_b_32x32 = vpx_quantize_b_32x32_neon;
3508 vpx_sad16x16 = vpx_sad16x16_c;
3509 if (flags & HAS_NEON)
3510 vpx_sad16x16 = vpx_sad16x16_neon;
3511 vpx_sad16x16_avg = vpx_sad16x16_avg_c;
3512 if (flags & HAS_NEON)
3513 vpx_sad16x16_avg = vpx_sad16x16_avg_neon;
3514 vpx_sad16x16x4d = vpx_sad16x16x4d_c;
3515 if (flags & HAS_NEON)
3516 vpx_sad16x16x4d = vpx_sad16x16x4d_neon;
3517 vpx_sad16x32 = vpx_sad16x32_c;
3518 if (flags & HAS_NEON)
3519 vpx_sad16x32 = vpx_sad16x32_neon;
3520 vpx_sad16x32_avg = vpx_sad16x32_avg_c;
3521 if (flags & HAS_NEON)
3522 vpx_sad16x32_avg = vpx_sad16x32_avg_neon;
3523 vpx_sad16x32x4d = vpx_sad16x32x4d_c;
3524 if (flags & HAS_NEON)
3525 vpx_sad16x32x4d = vpx_sad16x32x4d_neon;
3526 vpx_sad16x8 = vpx_sad16x8_c;
3527 if (flags & HAS_NEON)
3528 vpx_sad16x8 = vpx_sad16x8_neon;
3529 vpx_sad16x8_avg = vpx_sad16x8_avg_c;
3530 if (flags & HAS_NEON)
3531 vpx_sad16x8_avg = vpx_sad16x8_avg_neon;
3532 vpx_sad16x8x4d = vpx_sad16x8x4d_c;
3533 if (flags & HAS_NEON)
3534 vpx_sad16x8x4d = vpx_sad16x8x4d_neon;
3535 vpx_sad32x16 = vpx_sad32x16_c;
3536 if (flags & HAS_NEON)
3537 vpx_sad32x16 = vpx_sad32x16_neon;
3538 vpx_sad32x16_avg = vpx_sad32x16_avg_c;
3539 if (flags & HAS_NEON)
3540 vpx_sad32x16_avg = vpx_sad32x16_avg_neon;
3541 vpx_sad32x16x4d = vpx_sad32x16x4d_c;
3542 if (flags & HAS_NEON)
3543 vpx_sad32x16x4d = vpx_sad32x16x4d_neon;
3544 vpx_sad32x32 = vpx_sad32x32_c;
3545 if (flags & HAS_NEON)
3546 vpx_sad32x32 = vpx_sad32x32_neon;
3547 vpx_sad32x32_avg = vpx_sad32x32_avg_c;
3548 if (flags & HAS_NEON)
3549 vpx_sad32x32_avg = vpx_sad32x32_avg_neon;
3550 vpx_sad32x32x4d = vpx_sad32x32x4d_c;
3551 if (flags & HAS_NEON)
3552 vpx_sad32x32x4d = vpx_sad32x32x4d_neon;
3553 vpx_sad32x64 = vpx_sad32x64_c;
3554 if (flags & HAS_NEON)
3555 vpx_sad32x64 = vpx_sad32x64_neon;
3556 vpx_sad32x64_avg = vpx_sad32x64_avg_c;
3557 if (flags & HAS_NEON)
3558 vpx_sad32x64_avg = vpx_sad32x64_avg_neon;
3559 vpx_sad32x64x4d = vpx_sad32x64x4d_c;
3560 if (flags & HAS_NEON)
3561 vpx_sad32x64x4d = vpx_sad32x64x4d_neon;
3562 vpx_sad4x4 = vpx_sad4x4_c;
3563 if (flags & HAS_NEON)
3564 vpx_sad4x4 = vpx_sad4x4_neon;
3565 vpx_sad4x4_avg = vpx_sad4x4_avg_c;
3566 if (flags & HAS_NEON)
3567 vpx_sad4x4_avg = vpx_sad4x4_avg_neon;
3568 vpx_sad4x4x4d = vpx_sad4x4x4d_c;
3569 if (flags & HAS_NEON)
3570 vpx_sad4x4x4d = vpx_sad4x4x4d_neon;
3571 vpx_sad4x8 = vpx_sad4x8_c;
3572 if (flags & HAS_NEON)
3573 vpx_sad4x8 = vpx_sad4x8_neon;
3574 vpx_sad4x8_avg = vpx_sad4x8_avg_c;
3575 if (flags & HAS_NEON)
3576 vpx_sad4x8_avg = vpx_sad4x8_avg_neon;
3577 vpx_sad4x8x4d = vpx_sad4x8x4d_c;
3578 if (flags & HAS_NEON)
3579 vpx_sad4x8x4d = vpx_sad4x8x4d_neon;
3580 vpx_sad64x32 = vpx_sad64x32_c;
3581 if (flags & HAS_NEON)
3582 vpx_sad64x32 = vpx_sad64x32_neon;
3583 vpx_sad64x32_avg = vpx_sad64x32_avg_c;
3584 if (flags & HAS_NEON)
3585 vpx_sad64x32_avg = vpx_sad64x32_avg_neon;
3586 vpx_sad64x32x4d = vpx_sad64x32x4d_c;
3587 if (flags & HAS_NEON)
3588 vpx_sad64x32x4d = vpx_sad64x32x4d_neon;
3589 vpx_sad64x64 = vpx_sad64x64_c;
3590 if (flags & HAS_NEON)
3591 vpx_sad64x64 = vpx_sad64x64_neon;
3592 vpx_sad64x64_avg = vpx_sad64x64_avg_c;
3593 if (flags & HAS_NEON)
3594 vpx_sad64x64_avg = vpx_sad64x64_avg_neon;
3595 vpx_sad64x64x4d = vpx_sad64x64x4d_c;
3596 if (flags & HAS_NEON)
3597 vpx_sad64x64x4d = vpx_sad64x64x4d_neon;
3598 vpx_sad8x16 = vpx_sad8x16_c;
3599 if (flags & HAS_NEON)
3600 vpx_sad8x16 = vpx_sad8x16_neon;
3601 vpx_sad8x16_avg = vpx_sad8x16_avg_c;
3602 if (flags & HAS_NEON)
3603 vpx_sad8x16_avg = vpx_sad8x16_avg_neon;
3604 vpx_sad8x16x4d = vpx_sad8x16x4d_c;
3605 if (flags & HAS_NEON)
3606 vpx_sad8x16x4d = vpx_sad8x16x4d_neon;
3607 vpx_sad8x4 = vpx_sad8x4_c;
3608 if (flags & HAS_NEON)
3609 vpx_sad8x4 = vpx_sad8x4_neon;
3610 vpx_sad8x4_avg = vpx_sad8x4_avg_c;
3611 if (flags & HAS_NEON)
3612 vpx_sad8x4_avg = vpx_sad8x4_avg_neon;
3613 vpx_sad8x4x4d = vpx_sad8x4x4d_c;
3614 if (flags & HAS_NEON)
3615 vpx_sad8x4x4d = vpx_sad8x4x4d_neon;
3616 vpx_sad8x8 = vpx_sad8x8_c;
3617 if (flags & HAS_NEON)
3618 vpx_sad8x8 = vpx_sad8x8_neon;
3619 vpx_sad8x8_avg = vpx_sad8x8_avg_c;
3620 if (flags & HAS_NEON)
3621 vpx_sad8x8_avg = vpx_sad8x8_avg_neon;
3622 vpx_sad8x8x4d = vpx_sad8x8x4d_c;
3623 if (flags & HAS_NEON)
3624 vpx_sad8x8x4d = vpx_sad8x8x4d_neon;
3625 vpx_satd = vpx_satd_c;
3626 if (flags & HAS_NEON)
3627 vpx_satd = vpx_satd_neon;
3628 vpx_scaled_2d = vpx_scaled_2d_c;
3629 if (flags & HAS_NEON)
3630 vpx_scaled_2d = vpx_scaled_2d_neon;
3631 vpx_sub_pixel_avg_variance16x16 = vpx_sub_pixel_avg_variance16x16_c;
3632 if (flags & HAS_NEON)
3633 vpx_sub_pixel_avg_variance16x16 = vpx_sub_pixel_avg_variance16x16_neon;
3634 vpx_sub_pixel_avg_variance16x32 = vpx_sub_pixel_avg_variance16x32_c;
3635 if (flags & HAS_NEON)
3636 vpx_sub_pixel_avg_variance16x32 = vpx_sub_pixel_avg_variance16x32_neon;
3637 vpx_sub_pixel_avg_variance16x8 = vpx_sub_pixel_avg_variance16x8_c;
3638 if (flags & HAS_NEON)
3639 vpx_sub_pixel_avg_variance16x8 = vpx_sub_pixel_avg_variance16x8_neon;
3640 vpx_sub_pixel_avg_variance32x16 = vpx_sub_pixel_avg_variance32x16_c;
3641 if (flags & HAS_NEON)
3642 vpx_sub_pixel_avg_variance32x16 = vpx_sub_pixel_avg_variance32x16_neon;
3643 vpx_sub_pixel_avg_variance32x32 = vpx_sub_pixel_avg_variance32x32_c;
3644 if (flags & HAS_NEON)
3645 vpx_sub_pixel_avg_variance32x32 = vpx_sub_pixel_avg_variance32x32_neon;
3646 vpx_sub_pixel_avg_variance32x64 = vpx_sub_pixel_avg_variance32x64_c;
3647 if (flags & HAS_NEON)
3648 vpx_sub_pixel_avg_variance32x64 = vpx_sub_pixel_avg_variance32x64_neon;
3649 vpx_sub_pixel_avg_variance4x4 = vpx_sub_pixel_avg_variance4x4_c;
3650 if (flags & HAS_NEON)
3651 vpx_sub_pixel_avg_variance4x4 = vpx_sub_pixel_avg_variance4x4_neon;
3652 vpx_sub_pixel_avg_variance4x8 = vpx_sub_pixel_avg_variance4x8_c;
3653 if (flags & HAS_NEON)
3654 vpx_sub_pixel_avg_variance4x8 = vpx_sub_pixel_avg_variance4x8_neon;
3655 vpx_sub_pixel_avg_variance64x32 = vpx_sub_pixel_avg_variance64x32_c;
3656 if (flags & HAS_NEON)
3657 vpx_sub_pixel_avg_variance64x32 = vpx_sub_pixel_avg_variance64x32_neon;
3658 vpx_sub_pixel_avg_variance64x64 = vpx_sub_pixel_avg_variance64x64_c;
3659 if (flags & HAS_NEON)
3660 vpx_sub_pixel_avg_variance64x64 = vpx_sub_pixel_avg_variance64x64_neon;
3661 vpx_sub_pixel_avg_variance8x16 = vpx_sub_pixel_avg_variance8x16_c;
3662 if (flags & HAS_NEON)
3663 vpx_sub_pixel_avg_variance8x16 = vpx_sub_pixel_avg_variance8x16_neon;
3664 vpx_sub_pixel_avg_variance8x4 = vpx_sub_pixel_avg_variance8x4_c;
3665 if (flags & HAS_NEON)
3666 vpx_sub_pixel_avg_variance8x4 = vpx_sub_pixel_avg_variance8x4_neon;
3667 vpx_sub_pixel_avg_variance8x8 = vpx_sub_pixel_avg_variance8x8_c;
3668 if (flags & HAS_NEON)
3669 vpx_sub_pixel_avg_variance8x8 = vpx_sub_pixel_avg_variance8x8_neon;
3670 vpx_sub_pixel_variance16x16 = vpx_sub_pixel_variance16x16_c;
3671 if (flags & HAS_NEON)
3672 vpx_sub_pixel_variance16x16 = vpx_sub_pixel_variance16x16_neon;
3673 vpx_sub_pixel_variance16x32 = vpx_sub_pixel_variance16x32_c;
3674 if (flags & HAS_NEON)
3675 vpx_sub_pixel_variance16x32 = vpx_sub_pixel_variance16x32_neon;
3676 vpx_sub_pixel_variance16x8 = vpx_sub_pixel_variance16x8_c;
3677 if (flags & HAS_NEON)
3678 vpx_sub_pixel_variance16x8 = vpx_sub_pixel_variance16x8_neon;
3679 vpx_sub_pixel_variance32x16 = vpx_sub_pixel_variance32x16_c;
3680 if (flags & HAS_NEON)
3681 vpx_sub_pixel_variance32x16 = vpx_sub_pixel_variance32x16_neon;
3682 vpx_sub_pixel_variance32x32 = vpx_sub_pixel_variance32x32_c;
3683 if (flags & HAS_NEON)
3684 vpx_sub_pixel_variance32x32 = vpx_sub_pixel_variance32x32_neon;
3685 vpx_sub_pixel_variance32x64 = vpx_sub_pixel_variance32x64_c;
3686 if (flags & HAS_NEON)
3687 vpx_sub_pixel_variance32x64 = vpx_sub_pixel_variance32x64_neon;
3688 vpx_sub_pixel_variance4x4 = vpx_sub_pixel_variance4x4_c;
3689 if (flags & HAS_NEON)
3690 vpx_sub_pixel_variance4x4 = vpx_sub_pixel_variance4x4_neon;
3691 vpx_sub_pixel_variance4x8 = vpx_sub_pixel_variance4x8_c;
3692 if (flags & HAS_NEON)
3693 vpx_sub_pixel_variance4x8 = vpx_sub_pixel_variance4x8_neon;
3694 vpx_sub_pixel_variance64x32 = vpx_sub_pixel_variance64x32_c;
3695 if (flags & HAS_NEON)
3696 vpx_sub_pixel_variance64x32 = vpx_sub_pixel_variance64x32_neon;
3697 vpx_sub_pixel_variance64x64 = vpx_sub_pixel_variance64x64_c;
3698 if (flags & HAS_NEON)
3699 vpx_sub_pixel_variance64x64 = vpx_sub_pixel_variance64x64_neon;
3700 vpx_sub_pixel_variance8x16 = vpx_sub_pixel_variance8x16_c;
3701 if (flags & HAS_NEON)
3702 vpx_sub_pixel_variance8x16 = vpx_sub_pixel_variance8x16_neon;
3703 vpx_sub_pixel_variance8x4 = vpx_sub_pixel_variance8x4_c;
3704 if (flags & HAS_NEON)
3705 vpx_sub_pixel_variance8x4 = vpx_sub_pixel_variance8x4_neon;
3706 vpx_sub_pixel_variance8x8 = vpx_sub_pixel_variance8x8_c;
3707 if (flags & HAS_NEON)
3708 vpx_sub_pixel_variance8x8 = vpx_sub_pixel_variance8x8_neon;
3709 vpx_subtract_block = vpx_subtract_block_c;
3710 if (flags & HAS_NEON)
3711 vpx_subtract_block = vpx_subtract_block_neon;
3712 vpx_sum_squares_2d_i16 = vpx_sum_squares_2d_i16_c;
3713 if (flags & HAS_NEON)
3714 vpx_sum_squares_2d_i16 = vpx_sum_squares_2d_i16_neon;
3715 vpx_tm_predictor_16x16 = vpx_tm_predictor_16x16_c;
3716 if (flags & HAS_NEON)
3717 vpx_tm_predictor_16x16 = vpx_tm_predictor_16x16_neon;
3718 vpx_tm_predictor_32x32 = vpx_tm_predictor_32x32_c;
3719 if (flags & HAS_NEON)
3720 vpx_tm_predictor_32x32 = vpx_tm_predictor_32x32_neon;
3721 vpx_tm_predictor_4x4 = vpx_tm_predictor_4x4_c;
3722 if (flags & HAS_NEON)
3723 vpx_tm_predictor_4x4 = vpx_tm_predictor_4x4_neon;
3724 vpx_tm_predictor_8x8 = vpx_tm_predictor_8x8_c;
3725 if (flags & HAS_NEON)
3726 vpx_tm_predictor_8x8 = vpx_tm_predictor_8x8_neon;
3727 vpx_v_predictor_16x16 = vpx_v_predictor_16x16_c;
3728 if (flags & HAS_NEON)
3729 vpx_v_predictor_16x16 = vpx_v_predictor_16x16_neon;
3730 vpx_v_predictor_32x32 = vpx_v_predictor_32x32_c;
3731 if (flags & HAS_NEON)
3732 vpx_v_predictor_32x32 = vpx_v_predictor_32x32_neon;
3733 vpx_v_predictor_4x4 = vpx_v_predictor_4x4_c;
3734 if (flags & HAS_NEON)
3735 vpx_v_predictor_4x4 = vpx_v_predictor_4x4_neon;
3736 vpx_v_predictor_8x8 = vpx_v_predictor_8x8_c;
3737 if (flags & HAS_NEON)
3738 vpx_v_predictor_8x8 = vpx_v_predictor_8x8_neon;
3739 vpx_variance16x16 = vpx_variance16x16_c;
3740 if (flags & HAS_NEON)
3741 vpx_variance16x16 = vpx_variance16x16_neon;
3742 vpx_variance16x32 = vpx_variance16x32_c;
3743 if (flags & HAS_NEON)
3744 vpx_variance16x32 = vpx_variance16x32_neon;
3745 vpx_variance16x8 = vpx_variance16x8_c;
3746 if (flags & HAS_NEON)
3747 vpx_variance16x8 = vpx_variance16x8_neon;
3748 vpx_variance32x16 = vpx_variance32x16_c;
3749 if (flags & HAS_NEON)
3750 vpx_variance32x16 = vpx_variance32x16_neon;
3751 vpx_variance32x32 = vpx_variance32x32_c;
3752 if (flags & HAS_NEON)
3753 vpx_variance32x32 = vpx_variance32x32_neon;
3754 vpx_variance32x64 = vpx_variance32x64_c;
3755 if (flags & HAS_NEON)
3756 vpx_variance32x64 = vpx_variance32x64_neon;
3757 vpx_variance4x4 = vpx_variance4x4_c;
3758 if (flags & HAS_NEON)
3759 vpx_variance4x4 = vpx_variance4x4_neon;
3760 vpx_variance4x8 = vpx_variance4x8_c;
3761 if (flags & HAS_NEON)
3762 vpx_variance4x8 = vpx_variance4x8_neon;
3763 vpx_variance64x32 = vpx_variance64x32_c;
3764 if (flags & HAS_NEON)
3765 vpx_variance64x32 = vpx_variance64x32_neon;
3766 vpx_variance64x64 = vpx_variance64x64_c;
3767 if (flags & HAS_NEON)
3768 vpx_variance64x64 = vpx_variance64x64_neon;
3769 vpx_variance8x16 = vpx_variance8x16_c;
3770 if (flags & HAS_NEON)
3771 vpx_variance8x16 = vpx_variance8x16_neon;
3772 vpx_variance8x4 = vpx_variance8x4_c;
3773 if (flags & HAS_NEON)
3774 vpx_variance8x4 = vpx_variance8x4_neon;
3775 vpx_variance8x8 = vpx_variance8x8_c;
3776 if (flags & HAS_NEON)
3777 vpx_variance8x8 = vpx_variance8x8_neon;
3778 vpx_vector_var = vpx_vector_var_c;
3779 if (flags & HAS_NEON)
3780 vpx_vector_var = vpx_vector_var_neon;
3781 }
3782 #endif
3783
3784 #ifdef __cplusplus
3785 } // extern "C"
3786 #endif
3787
3788 #endif
3789