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