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 #define vpx_avg_4x4 vpx_avg_4x4_neon
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 #define vpx_avg_8x8 vpx_avg_8x8_neon
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 #define vpx_comp_avg_pred vpx_comp_avg_pred_neon
44 
45 void vpx_convolve8_c(const uint8_t* src,
46                      ptrdiff_t src_stride,
47                      uint8_t* dst,
48                      ptrdiff_t dst_stride,
49                      const InterpKernel* filter,
50                      int x0_q4,
51                      int x_step_q4,
52                      int y0_q4,
53                      int y_step_q4,
54                      int w,
55                      int h);
56 void vpx_convolve8_neon(const uint8_t* src,
57                         ptrdiff_t src_stride,
58                         uint8_t* dst,
59                         ptrdiff_t dst_stride,
60                         const InterpKernel* filter,
61                         int x0_q4,
62                         int x_step_q4,
63                         int y0_q4,
64                         int y_step_q4,
65                         int w,
66                         int h);
67 #define vpx_convolve8 vpx_convolve8_neon
68 
69 void vpx_convolve8_avg_c(const uint8_t* src,
70                          ptrdiff_t src_stride,
71                          uint8_t* dst,
72                          ptrdiff_t dst_stride,
73                          const InterpKernel* filter,
74                          int x0_q4,
75                          int x_step_q4,
76                          int y0_q4,
77                          int y_step_q4,
78                          int w,
79                          int h);
80 void vpx_convolve8_avg_neon(const uint8_t* src,
81                             ptrdiff_t src_stride,
82                             uint8_t* dst,
83                             ptrdiff_t dst_stride,
84                             const InterpKernel* filter,
85                             int x0_q4,
86                             int x_step_q4,
87                             int y0_q4,
88                             int y_step_q4,
89                             int w,
90                             int h);
91 #define vpx_convolve8_avg vpx_convolve8_avg_neon
92 
93 void vpx_convolve8_avg_horiz_c(const uint8_t* src,
94                                ptrdiff_t src_stride,
95                                uint8_t* dst,
96                                ptrdiff_t dst_stride,
97                                const InterpKernel* filter,
98                                int x0_q4,
99                                int x_step_q4,
100                                int y0_q4,
101                                int y_step_q4,
102                                int w,
103                                int h);
104 void vpx_convolve8_avg_horiz_neon(const uint8_t* src,
105                                   ptrdiff_t src_stride,
106                                   uint8_t* dst,
107                                   ptrdiff_t dst_stride,
108                                   const InterpKernel* filter,
109                                   int x0_q4,
110                                   int x_step_q4,
111                                   int y0_q4,
112                                   int y_step_q4,
113                                   int w,
114                                   int h);
115 #define vpx_convolve8_avg_horiz vpx_convolve8_avg_horiz_neon
116 
117 void vpx_convolve8_avg_vert_c(const uint8_t* src,
118                               ptrdiff_t src_stride,
119                               uint8_t* dst,
120                               ptrdiff_t dst_stride,
121                               const InterpKernel* filter,
122                               int x0_q4,
123                               int x_step_q4,
124                               int y0_q4,
125                               int y_step_q4,
126                               int w,
127                               int h);
128 void vpx_convolve8_avg_vert_neon(const uint8_t* src,
129                                  ptrdiff_t src_stride,
130                                  uint8_t* dst,
131                                  ptrdiff_t dst_stride,
132                                  const InterpKernel* filter,
133                                  int x0_q4,
134                                  int x_step_q4,
135                                  int y0_q4,
136                                  int y_step_q4,
137                                  int w,
138                                  int h);
139 #define vpx_convolve8_avg_vert vpx_convolve8_avg_vert_neon
140 
141 void vpx_convolve8_horiz_c(const uint8_t* src,
142                            ptrdiff_t src_stride,
143                            uint8_t* dst,
144                            ptrdiff_t dst_stride,
145                            const InterpKernel* filter,
146                            int x0_q4,
147                            int x_step_q4,
148                            int y0_q4,
149                            int y_step_q4,
150                            int w,
151                            int h);
152 void vpx_convolve8_horiz_neon(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 #define vpx_convolve8_horiz vpx_convolve8_horiz_neon
164 
165 void vpx_convolve8_vert_c(const uint8_t* src,
166                           ptrdiff_t src_stride,
167                           uint8_t* dst,
168                           ptrdiff_t dst_stride,
169                           const InterpKernel* filter,
170                           int x0_q4,
171                           int x_step_q4,
172                           int y0_q4,
173                           int y_step_q4,
174                           int w,
175                           int h);
176 void vpx_convolve8_vert_neon(const uint8_t* src,
177                              ptrdiff_t src_stride,
178                              uint8_t* dst,
179                              ptrdiff_t dst_stride,
180                              const InterpKernel* filter,
181                              int x0_q4,
182                              int x_step_q4,
183                              int y0_q4,
184                              int y_step_q4,
185                              int w,
186                              int h);
187 #define vpx_convolve8_vert vpx_convolve8_vert_neon
188 
189 void vpx_convolve_avg_c(const uint8_t* src,
190                         ptrdiff_t src_stride,
191                         uint8_t* dst,
192                         ptrdiff_t dst_stride,
193                         const InterpKernel* filter,
194                         int x0_q4,
195                         int x_step_q4,
196                         int y0_q4,
197                         int y_step_q4,
198                         int w,
199                         int h);
200 void vpx_convolve_avg_neon(const uint8_t* src,
201                            ptrdiff_t src_stride,
202                            uint8_t* dst,
203                            ptrdiff_t dst_stride,
204                            const InterpKernel* filter,
205                            int x0_q4,
206                            int x_step_q4,
207                            int y0_q4,
208                            int y_step_q4,
209                            int w,
210                            int h);
211 #define vpx_convolve_avg vpx_convolve_avg_neon
212 
213 void vpx_convolve_copy_c(const uint8_t* src,
214                          ptrdiff_t src_stride,
215                          uint8_t* dst,
216                          ptrdiff_t dst_stride,
217                          const InterpKernel* filter,
218                          int x0_q4,
219                          int x_step_q4,
220                          int y0_q4,
221                          int y_step_q4,
222                          int w,
223                          int h);
224 void vpx_convolve_copy_neon(const uint8_t* src,
225                             ptrdiff_t src_stride,
226                             uint8_t* dst,
227                             ptrdiff_t dst_stride,
228                             const InterpKernel* filter,
229                             int x0_q4,
230                             int x_step_q4,
231                             int y0_q4,
232                             int y_step_q4,
233                             int w,
234                             int h);
235 #define vpx_convolve_copy vpx_convolve_copy_neon
236 
237 void vpx_d117_predictor_16x16_c(uint8_t* dst,
238                                 ptrdiff_t stride,
239                                 const uint8_t* above,
240                                 const uint8_t* left);
241 #define vpx_d117_predictor_16x16 vpx_d117_predictor_16x16_c
242 
243 void vpx_d117_predictor_32x32_c(uint8_t* dst,
244                                 ptrdiff_t stride,
245                                 const uint8_t* above,
246                                 const uint8_t* left);
247 #define vpx_d117_predictor_32x32 vpx_d117_predictor_32x32_c
248 
249 void vpx_d117_predictor_4x4_c(uint8_t* dst,
250                               ptrdiff_t stride,
251                               const uint8_t* above,
252                               const uint8_t* left);
253 #define vpx_d117_predictor_4x4 vpx_d117_predictor_4x4_c
254 
255 void vpx_d117_predictor_8x8_c(uint8_t* dst,
256                               ptrdiff_t stride,
257                               const uint8_t* above,
258                               const uint8_t* left);
259 #define vpx_d117_predictor_8x8 vpx_d117_predictor_8x8_c
260 
261 void vpx_d135_predictor_16x16_c(uint8_t* dst,
262                                 ptrdiff_t stride,
263                                 const uint8_t* above,
264                                 const uint8_t* left);
265 void vpx_d135_predictor_16x16_neon(uint8_t* dst,
266                                    ptrdiff_t stride,
267                                    const uint8_t* above,
268                                    const uint8_t* left);
269 #define vpx_d135_predictor_16x16 vpx_d135_predictor_16x16_neon
270 
271 void vpx_d135_predictor_32x32_c(uint8_t* dst,
272                                 ptrdiff_t stride,
273                                 const uint8_t* above,
274                                 const uint8_t* left);
275 void vpx_d135_predictor_32x32_neon(uint8_t* dst,
276                                    ptrdiff_t stride,
277                                    const uint8_t* above,
278                                    const uint8_t* left);
279 #define vpx_d135_predictor_32x32 vpx_d135_predictor_32x32_neon
280 
281 void vpx_d135_predictor_4x4_c(uint8_t* dst,
282                               ptrdiff_t stride,
283                               const uint8_t* above,
284                               const uint8_t* left);
285 void vpx_d135_predictor_4x4_neon(uint8_t* dst,
286                                  ptrdiff_t stride,
287                                  const uint8_t* above,
288                                  const uint8_t* left);
289 #define vpx_d135_predictor_4x4 vpx_d135_predictor_4x4_neon
290 
291 void vpx_d135_predictor_8x8_c(uint8_t* dst,
292                               ptrdiff_t stride,
293                               const uint8_t* above,
294                               const uint8_t* left);
295 void vpx_d135_predictor_8x8_neon(uint8_t* dst,
296                                  ptrdiff_t stride,
297                                  const uint8_t* above,
298                                  const uint8_t* left);
299 #define vpx_d135_predictor_8x8 vpx_d135_predictor_8x8_neon
300 
301 void vpx_d153_predictor_16x16_c(uint8_t* dst,
302                                 ptrdiff_t stride,
303                                 const uint8_t* above,
304                                 const uint8_t* left);
305 #define vpx_d153_predictor_16x16 vpx_d153_predictor_16x16_c
306 
307 void vpx_d153_predictor_32x32_c(uint8_t* dst,
308                                 ptrdiff_t stride,
309                                 const uint8_t* above,
310                                 const uint8_t* left);
311 #define vpx_d153_predictor_32x32 vpx_d153_predictor_32x32_c
312 
313 void vpx_d153_predictor_4x4_c(uint8_t* dst,
314                               ptrdiff_t stride,
315                               const uint8_t* above,
316                               const uint8_t* left);
317 #define vpx_d153_predictor_4x4 vpx_d153_predictor_4x4_c
318 
319 void vpx_d153_predictor_8x8_c(uint8_t* dst,
320                               ptrdiff_t stride,
321                               const uint8_t* above,
322                               const uint8_t* left);
323 #define vpx_d153_predictor_8x8 vpx_d153_predictor_8x8_c
324 
325 void vpx_d207_predictor_16x16_c(uint8_t* dst,
326                                 ptrdiff_t stride,
327                                 const uint8_t* above,
328                                 const uint8_t* left);
329 #define vpx_d207_predictor_16x16 vpx_d207_predictor_16x16_c
330 
331 void vpx_d207_predictor_32x32_c(uint8_t* dst,
332                                 ptrdiff_t stride,
333                                 const uint8_t* above,
334                                 const uint8_t* left);
335 #define vpx_d207_predictor_32x32 vpx_d207_predictor_32x32_c
336 
337 void vpx_d207_predictor_4x4_c(uint8_t* dst,
338                               ptrdiff_t stride,
339                               const uint8_t* above,
340                               const uint8_t* left);
341 #define vpx_d207_predictor_4x4 vpx_d207_predictor_4x4_c
342 
343 void vpx_d207_predictor_8x8_c(uint8_t* dst,
344                               ptrdiff_t stride,
345                               const uint8_t* above,
346                               const uint8_t* left);
347 #define vpx_d207_predictor_8x8 vpx_d207_predictor_8x8_c
348 
349 void vpx_d45_predictor_16x16_c(uint8_t* dst,
350                                ptrdiff_t stride,
351                                const uint8_t* above,
352                                const uint8_t* left);
353 void vpx_d45_predictor_16x16_neon(uint8_t* dst,
354                                   ptrdiff_t stride,
355                                   const uint8_t* above,
356                                   const uint8_t* left);
357 #define vpx_d45_predictor_16x16 vpx_d45_predictor_16x16_neon
358 
359 void vpx_d45_predictor_32x32_c(uint8_t* dst,
360                                ptrdiff_t stride,
361                                const uint8_t* above,
362                                const uint8_t* left);
363 void vpx_d45_predictor_32x32_neon(uint8_t* dst,
364                                   ptrdiff_t stride,
365                                   const uint8_t* above,
366                                   const uint8_t* left);
367 #define vpx_d45_predictor_32x32 vpx_d45_predictor_32x32_neon
368 
369 void vpx_d45_predictor_4x4_c(uint8_t* dst,
370                              ptrdiff_t stride,
371                              const uint8_t* above,
372                              const uint8_t* left);
373 void vpx_d45_predictor_4x4_neon(uint8_t* dst,
374                                 ptrdiff_t stride,
375                                 const uint8_t* above,
376                                 const uint8_t* left);
377 #define vpx_d45_predictor_4x4 vpx_d45_predictor_4x4_neon
378 
379 void vpx_d45_predictor_8x8_c(uint8_t* dst,
380                              ptrdiff_t stride,
381                              const uint8_t* above,
382                              const uint8_t* left);
383 void vpx_d45_predictor_8x8_neon(uint8_t* dst,
384                                 ptrdiff_t stride,
385                                 const uint8_t* above,
386                                 const uint8_t* left);
387 #define vpx_d45_predictor_8x8 vpx_d45_predictor_8x8_neon
388 
389 void vpx_d45e_predictor_4x4_c(uint8_t* dst,
390                               ptrdiff_t stride,
391                               const uint8_t* above,
392                               const uint8_t* left);
393 #define vpx_d45e_predictor_4x4 vpx_d45e_predictor_4x4_c
394 
395 void vpx_d63_predictor_16x16_c(uint8_t* dst,
396                                ptrdiff_t stride,
397                                const uint8_t* above,
398                                const uint8_t* left);
399 #define vpx_d63_predictor_16x16 vpx_d63_predictor_16x16_c
400 
401 void vpx_d63_predictor_32x32_c(uint8_t* dst,
402                                ptrdiff_t stride,
403                                const uint8_t* above,
404                                const uint8_t* left);
405 #define vpx_d63_predictor_32x32 vpx_d63_predictor_32x32_c
406 
407 void vpx_d63_predictor_4x4_c(uint8_t* dst,
408                              ptrdiff_t stride,
409                              const uint8_t* above,
410                              const uint8_t* left);
411 #define vpx_d63_predictor_4x4 vpx_d63_predictor_4x4_c
412 
413 void vpx_d63_predictor_8x8_c(uint8_t* dst,
414                              ptrdiff_t stride,
415                              const uint8_t* above,
416                              const uint8_t* left);
417 #define vpx_d63_predictor_8x8 vpx_d63_predictor_8x8_c
418 
419 void vpx_d63e_predictor_4x4_c(uint8_t* dst,
420                               ptrdiff_t stride,
421                               const uint8_t* above,
422                               const uint8_t* left);
423 #define vpx_d63e_predictor_4x4 vpx_d63e_predictor_4x4_c
424 
425 void vpx_dc_128_predictor_16x16_c(uint8_t* dst,
426                                   ptrdiff_t stride,
427                                   const uint8_t* above,
428                                   const uint8_t* left);
429 void vpx_dc_128_predictor_16x16_neon(uint8_t* dst,
430                                      ptrdiff_t stride,
431                                      const uint8_t* above,
432                                      const uint8_t* left);
433 #define vpx_dc_128_predictor_16x16 vpx_dc_128_predictor_16x16_neon
434 
435 void vpx_dc_128_predictor_32x32_c(uint8_t* dst,
436                                   ptrdiff_t stride,
437                                   const uint8_t* above,
438                                   const uint8_t* left);
439 void vpx_dc_128_predictor_32x32_neon(uint8_t* dst,
440                                      ptrdiff_t stride,
441                                      const uint8_t* above,
442                                      const uint8_t* left);
443 #define vpx_dc_128_predictor_32x32 vpx_dc_128_predictor_32x32_neon
444 
445 void vpx_dc_128_predictor_4x4_c(uint8_t* dst,
446                                 ptrdiff_t stride,
447                                 const uint8_t* above,
448                                 const uint8_t* left);
449 void vpx_dc_128_predictor_4x4_neon(uint8_t* dst,
450                                    ptrdiff_t stride,
451                                    const uint8_t* above,
452                                    const uint8_t* left);
453 #define vpx_dc_128_predictor_4x4 vpx_dc_128_predictor_4x4_neon
454 
455 void vpx_dc_128_predictor_8x8_c(uint8_t* dst,
456                                 ptrdiff_t stride,
457                                 const uint8_t* above,
458                                 const uint8_t* left);
459 void vpx_dc_128_predictor_8x8_neon(uint8_t* dst,
460                                    ptrdiff_t stride,
461                                    const uint8_t* above,
462                                    const uint8_t* left);
463 #define vpx_dc_128_predictor_8x8 vpx_dc_128_predictor_8x8_neon
464 
465 void vpx_dc_left_predictor_16x16_c(uint8_t* dst,
466                                    ptrdiff_t stride,
467                                    const uint8_t* above,
468                                    const uint8_t* left);
469 void vpx_dc_left_predictor_16x16_neon(uint8_t* dst,
470                                       ptrdiff_t stride,
471                                       const uint8_t* above,
472                                       const uint8_t* left);
473 #define vpx_dc_left_predictor_16x16 vpx_dc_left_predictor_16x16_neon
474 
475 void vpx_dc_left_predictor_32x32_c(uint8_t* dst,
476                                    ptrdiff_t stride,
477                                    const uint8_t* above,
478                                    const uint8_t* left);
479 void vpx_dc_left_predictor_32x32_neon(uint8_t* dst,
480                                       ptrdiff_t stride,
481                                       const uint8_t* above,
482                                       const uint8_t* left);
483 #define vpx_dc_left_predictor_32x32 vpx_dc_left_predictor_32x32_neon
484 
485 void vpx_dc_left_predictor_4x4_c(uint8_t* dst,
486                                  ptrdiff_t stride,
487                                  const uint8_t* above,
488                                  const uint8_t* left);
489 void vpx_dc_left_predictor_4x4_neon(uint8_t* dst,
490                                     ptrdiff_t stride,
491                                     const uint8_t* above,
492                                     const uint8_t* left);
493 #define vpx_dc_left_predictor_4x4 vpx_dc_left_predictor_4x4_neon
494 
495 void vpx_dc_left_predictor_8x8_c(uint8_t* dst,
496                                  ptrdiff_t stride,
497                                  const uint8_t* above,
498                                  const uint8_t* left);
499 void vpx_dc_left_predictor_8x8_neon(uint8_t* dst,
500                                     ptrdiff_t stride,
501                                     const uint8_t* above,
502                                     const uint8_t* left);
503 #define vpx_dc_left_predictor_8x8 vpx_dc_left_predictor_8x8_neon
504 
505 void vpx_dc_predictor_16x16_c(uint8_t* dst,
506                               ptrdiff_t stride,
507                               const uint8_t* above,
508                               const uint8_t* left);
509 void vpx_dc_predictor_16x16_neon(uint8_t* dst,
510                                  ptrdiff_t stride,
511                                  const uint8_t* above,
512                                  const uint8_t* left);
513 #define vpx_dc_predictor_16x16 vpx_dc_predictor_16x16_neon
514 
515 void vpx_dc_predictor_32x32_c(uint8_t* dst,
516                               ptrdiff_t stride,
517                               const uint8_t* above,
518                               const uint8_t* left);
519 void vpx_dc_predictor_32x32_neon(uint8_t* dst,
520                                  ptrdiff_t stride,
521                                  const uint8_t* above,
522                                  const uint8_t* left);
523 #define vpx_dc_predictor_32x32 vpx_dc_predictor_32x32_neon
524 
525 void vpx_dc_predictor_4x4_c(uint8_t* dst,
526                             ptrdiff_t stride,
527                             const uint8_t* above,
528                             const uint8_t* left);
529 void vpx_dc_predictor_4x4_neon(uint8_t* dst,
530                                ptrdiff_t stride,
531                                const uint8_t* above,
532                                const uint8_t* left);
533 #define vpx_dc_predictor_4x4 vpx_dc_predictor_4x4_neon
534 
535 void vpx_dc_predictor_8x8_c(uint8_t* dst,
536                             ptrdiff_t stride,
537                             const uint8_t* above,
538                             const uint8_t* left);
539 void vpx_dc_predictor_8x8_neon(uint8_t* dst,
540                                ptrdiff_t stride,
541                                const uint8_t* above,
542                                const uint8_t* left);
543 #define vpx_dc_predictor_8x8 vpx_dc_predictor_8x8_neon
544 
545 void vpx_dc_top_predictor_16x16_c(uint8_t* dst,
546                                   ptrdiff_t stride,
547                                   const uint8_t* above,
548                                   const uint8_t* left);
549 void vpx_dc_top_predictor_16x16_neon(uint8_t* dst,
550                                      ptrdiff_t stride,
551                                      const uint8_t* above,
552                                      const uint8_t* left);
553 #define vpx_dc_top_predictor_16x16 vpx_dc_top_predictor_16x16_neon
554 
555 void vpx_dc_top_predictor_32x32_c(uint8_t* dst,
556                                   ptrdiff_t stride,
557                                   const uint8_t* above,
558                                   const uint8_t* left);
559 void vpx_dc_top_predictor_32x32_neon(uint8_t* dst,
560                                      ptrdiff_t stride,
561                                      const uint8_t* above,
562                                      const uint8_t* left);
563 #define vpx_dc_top_predictor_32x32 vpx_dc_top_predictor_32x32_neon
564 
565 void vpx_dc_top_predictor_4x4_c(uint8_t* dst,
566                                 ptrdiff_t stride,
567                                 const uint8_t* above,
568                                 const uint8_t* left);
569 void vpx_dc_top_predictor_4x4_neon(uint8_t* dst,
570                                    ptrdiff_t stride,
571                                    const uint8_t* above,
572                                    const uint8_t* left);
573 #define vpx_dc_top_predictor_4x4 vpx_dc_top_predictor_4x4_neon
574 
575 void vpx_dc_top_predictor_8x8_c(uint8_t* dst,
576                                 ptrdiff_t stride,
577                                 const uint8_t* above,
578                                 const uint8_t* left);
579 void vpx_dc_top_predictor_8x8_neon(uint8_t* dst,
580                                    ptrdiff_t stride,
581                                    const uint8_t* above,
582                                    const uint8_t* left);
583 #define vpx_dc_top_predictor_8x8 vpx_dc_top_predictor_8x8_neon
584 
585 void vpx_fdct16x16_c(const int16_t* input, tran_low_t* output, int stride);
586 void vpx_fdct16x16_neon(const int16_t* input, tran_low_t* output, int stride);
587 #define vpx_fdct16x16 vpx_fdct16x16_neon
588 
589 void vpx_fdct16x16_1_c(const int16_t* input, tran_low_t* output, int stride);
590 void vpx_fdct16x16_1_neon(const int16_t* input, tran_low_t* output, int stride);
591 #define vpx_fdct16x16_1 vpx_fdct16x16_1_neon
592 
593 void vpx_fdct32x32_c(const int16_t* input, tran_low_t* output, int stride);
594 void vpx_fdct32x32_neon(const int16_t* input, tran_low_t* output, int stride);
595 #define vpx_fdct32x32 vpx_fdct32x32_neon
596 
597 void vpx_fdct32x32_1_c(const int16_t* input, tran_low_t* output, int stride);
598 void vpx_fdct32x32_1_neon(const int16_t* input, tran_low_t* output, int stride);
599 #define vpx_fdct32x32_1 vpx_fdct32x32_1_neon
600 
601 void vpx_fdct32x32_rd_c(const int16_t* input, tran_low_t* output, int stride);
602 void vpx_fdct32x32_rd_neon(const int16_t* input,
603                            tran_low_t* output,
604                            int stride);
605 #define vpx_fdct32x32_rd vpx_fdct32x32_rd_neon
606 
607 void vpx_fdct4x4_c(const int16_t* input, tran_low_t* output, int stride);
608 void vpx_fdct4x4_neon(const int16_t* input, tran_low_t* output, int stride);
609 #define vpx_fdct4x4 vpx_fdct4x4_neon
610 
611 void vpx_fdct4x4_1_c(const int16_t* input, tran_low_t* output, int stride);
612 void vpx_fdct4x4_1_neon(const int16_t* input, tran_low_t* output, int stride);
613 #define vpx_fdct4x4_1 vpx_fdct4x4_1_neon
614 
615 void vpx_fdct8x8_c(const int16_t* input, tran_low_t* output, int stride);
616 void vpx_fdct8x8_neon(const int16_t* input, tran_low_t* output, int stride);
617 #define vpx_fdct8x8 vpx_fdct8x8_neon
618 
619 void vpx_fdct8x8_1_c(const int16_t* input, tran_low_t* output, int stride);
620 void vpx_fdct8x8_1_neon(const int16_t* input, tran_low_t* output, int stride);
621 #define vpx_fdct8x8_1 vpx_fdct8x8_1_neon
622 
623 void vpx_get16x16var_c(const uint8_t* src_ptr,
624                        int src_stride,
625                        const uint8_t* ref_ptr,
626                        int ref_stride,
627                        unsigned int* sse,
628                        int* sum);
629 void vpx_get16x16var_neon(const uint8_t* src_ptr,
630                           int src_stride,
631                           const uint8_t* ref_ptr,
632                           int ref_stride,
633                           unsigned int* sse,
634                           int* sum);
635 #define vpx_get16x16var vpx_get16x16var_neon
636 
637 unsigned int vpx_get4x4sse_cs_c(const unsigned char* src_ptr,
638                                 int src_stride,
639                                 const unsigned char* ref_ptr,
640                                 int ref_stride);
641 unsigned int vpx_get4x4sse_cs_neon(const unsigned char* src_ptr,
642                                    int src_stride,
643                                    const unsigned char* ref_ptr,
644                                    int ref_stride);
645 #define vpx_get4x4sse_cs vpx_get4x4sse_cs_neon
646 
647 void vpx_get8x8var_c(const uint8_t* src_ptr,
648                      int src_stride,
649                      const uint8_t* ref_ptr,
650                      int ref_stride,
651                      unsigned int* sse,
652                      int* sum);
653 void vpx_get8x8var_neon(const uint8_t* src_ptr,
654                         int src_stride,
655                         const uint8_t* ref_ptr,
656                         int ref_stride,
657                         unsigned int* sse,
658                         int* sum);
659 #define vpx_get8x8var vpx_get8x8var_neon
660 
661 unsigned int vpx_get_mb_ss_c(const int16_t*);
662 #define vpx_get_mb_ss vpx_get_mb_ss_c
663 
664 void vpx_h_predictor_16x16_c(uint8_t* dst,
665                              ptrdiff_t stride,
666                              const uint8_t* above,
667                              const uint8_t* left);
668 void vpx_h_predictor_16x16_neon(uint8_t* dst,
669                                 ptrdiff_t stride,
670                                 const uint8_t* above,
671                                 const uint8_t* left);
672 #define vpx_h_predictor_16x16 vpx_h_predictor_16x16_neon
673 
674 void vpx_h_predictor_32x32_c(uint8_t* dst,
675                              ptrdiff_t stride,
676                              const uint8_t* above,
677                              const uint8_t* left);
678 void vpx_h_predictor_32x32_neon(uint8_t* dst,
679                                 ptrdiff_t stride,
680                                 const uint8_t* above,
681                                 const uint8_t* left);
682 #define vpx_h_predictor_32x32 vpx_h_predictor_32x32_neon
683 
684 void vpx_h_predictor_4x4_c(uint8_t* dst,
685                            ptrdiff_t stride,
686                            const uint8_t* above,
687                            const uint8_t* left);
688 void vpx_h_predictor_4x4_neon(uint8_t* dst,
689                               ptrdiff_t stride,
690                               const uint8_t* above,
691                               const uint8_t* left);
692 #define vpx_h_predictor_4x4 vpx_h_predictor_4x4_neon
693 
694 void vpx_h_predictor_8x8_c(uint8_t* dst,
695                            ptrdiff_t stride,
696                            const uint8_t* above,
697                            const uint8_t* left);
698 void vpx_h_predictor_8x8_neon(uint8_t* dst,
699                               ptrdiff_t stride,
700                               const uint8_t* above,
701                               const uint8_t* left);
702 #define vpx_h_predictor_8x8 vpx_h_predictor_8x8_neon
703 
704 void vpx_hadamard_16x16_c(const int16_t* src_diff,
705                           ptrdiff_t src_stride,
706                           tran_low_t* coeff);
707 void vpx_hadamard_16x16_neon(const int16_t* src_diff,
708                              ptrdiff_t src_stride,
709                              tran_low_t* coeff);
710 #define vpx_hadamard_16x16 vpx_hadamard_16x16_neon
711 
712 void vpx_hadamard_32x32_c(const int16_t* src_diff,
713                           ptrdiff_t src_stride,
714                           tran_low_t* coeff);
715 #define vpx_hadamard_32x32 vpx_hadamard_32x32_c
716 
717 void vpx_hadamard_8x8_c(const int16_t* src_diff,
718                         ptrdiff_t src_stride,
719                         tran_low_t* coeff);
720 void vpx_hadamard_8x8_neon(const int16_t* src_diff,
721                            ptrdiff_t src_stride,
722                            tran_low_t* coeff);
723 #define vpx_hadamard_8x8 vpx_hadamard_8x8_neon
724 
725 void vpx_he_predictor_4x4_c(uint8_t* dst,
726                             ptrdiff_t stride,
727                             const uint8_t* above,
728                             const uint8_t* left);
729 #define vpx_he_predictor_4x4 vpx_he_predictor_4x4_c
730 
731 void vpx_highbd_10_get16x16var_c(const uint8_t* src_ptr,
732                                  int src_stride,
733                                  const uint8_t* ref_ptr,
734                                  int ref_stride,
735                                  unsigned int* sse,
736                                  int* sum);
737 #define vpx_highbd_10_get16x16var vpx_highbd_10_get16x16var_c
738 
739 void vpx_highbd_10_get8x8var_c(const uint8_t* src_ptr,
740                                int src_stride,
741                                const uint8_t* ref_ptr,
742                                int ref_stride,
743                                unsigned int* sse,
744                                int* sum);
745 #define vpx_highbd_10_get8x8var vpx_highbd_10_get8x8var_c
746 
747 unsigned int vpx_highbd_10_mse16x16_c(const uint8_t* src_ptr,
748                                       int src_stride,
749                                       const uint8_t* ref_ptr,
750                                       int ref_stride,
751                                       unsigned int* sse);
752 #define vpx_highbd_10_mse16x16 vpx_highbd_10_mse16x16_c
753 
754 unsigned int vpx_highbd_10_mse16x8_c(const uint8_t* src_ptr,
755                                      int src_stride,
756                                      const uint8_t* ref_ptr,
757                                      int ref_stride,
758                                      unsigned int* sse);
759 #define vpx_highbd_10_mse16x8 vpx_highbd_10_mse16x8_c
760 
761 unsigned int vpx_highbd_10_mse8x16_c(const uint8_t* src_ptr,
762                                      int src_stride,
763                                      const uint8_t* ref_ptr,
764                                      int ref_stride,
765                                      unsigned int* sse);
766 #define vpx_highbd_10_mse8x16 vpx_highbd_10_mse8x16_c
767 
768 unsigned int vpx_highbd_10_mse8x8_c(const uint8_t* src_ptr,
769                                     int src_stride,
770                                     const uint8_t* ref_ptr,
771                                     int ref_stride,
772                                     unsigned int* sse);
773 #define vpx_highbd_10_mse8x8 vpx_highbd_10_mse8x8_c
774 
775 uint32_t vpx_highbd_10_sub_pixel_avg_variance16x16_c(
776     const uint8_t* src_ptr,
777     int src_stride,
778     int x_offset,
779     int y_offset,
780     const uint8_t* ref_ptr,
781     int ref_stride,
782     uint32_t* sse,
783     const uint8_t* second_pred);
784 #define vpx_highbd_10_sub_pixel_avg_variance16x16 \
785   vpx_highbd_10_sub_pixel_avg_variance16x16_c
786 
787 uint32_t vpx_highbd_10_sub_pixel_avg_variance16x32_c(
788     const uint8_t* src_ptr,
789     int src_stride,
790     int x_offset,
791     int y_offset,
792     const uint8_t* ref_ptr,
793     int ref_stride,
794     uint32_t* sse,
795     const uint8_t* second_pred);
796 #define vpx_highbd_10_sub_pixel_avg_variance16x32 \
797   vpx_highbd_10_sub_pixel_avg_variance16x32_c
798 
799 uint32_t vpx_highbd_10_sub_pixel_avg_variance16x8_c(const uint8_t* src_ptr,
800                                                     int src_stride,
801                                                     int x_offset,
802                                                     int y_offset,
803                                                     const uint8_t* ref_ptr,
804                                                     int ref_stride,
805                                                     uint32_t* sse,
806                                                     const uint8_t* second_pred);
807 #define vpx_highbd_10_sub_pixel_avg_variance16x8 \
808   vpx_highbd_10_sub_pixel_avg_variance16x8_c
809 
810 uint32_t vpx_highbd_10_sub_pixel_avg_variance32x16_c(
811     const uint8_t* src_ptr,
812     int src_stride,
813     int x_offset,
814     int y_offset,
815     const uint8_t* ref_ptr,
816     int ref_stride,
817     uint32_t* sse,
818     const uint8_t* second_pred);
819 #define vpx_highbd_10_sub_pixel_avg_variance32x16 \
820   vpx_highbd_10_sub_pixel_avg_variance32x16_c
821 
822 uint32_t vpx_highbd_10_sub_pixel_avg_variance32x32_c(
823     const uint8_t* src_ptr,
824     int src_stride,
825     int x_offset,
826     int y_offset,
827     const uint8_t* ref_ptr,
828     int ref_stride,
829     uint32_t* sse,
830     const uint8_t* second_pred);
831 #define vpx_highbd_10_sub_pixel_avg_variance32x32 \
832   vpx_highbd_10_sub_pixel_avg_variance32x32_c
833 
834 uint32_t vpx_highbd_10_sub_pixel_avg_variance32x64_c(
835     const uint8_t* src_ptr,
836     int src_stride,
837     int x_offset,
838     int y_offset,
839     const uint8_t* ref_ptr,
840     int ref_stride,
841     uint32_t* sse,
842     const uint8_t* second_pred);
843 #define vpx_highbd_10_sub_pixel_avg_variance32x64 \
844   vpx_highbd_10_sub_pixel_avg_variance32x64_c
845 
846 uint32_t vpx_highbd_10_sub_pixel_avg_variance4x4_c(const uint8_t* src_ptr,
847                                                    int src_stride,
848                                                    int x_offset,
849                                                    int y_offset,
850                                                    const uint8_t* ref_ptr,
851                                                    int ref_stride,
852                                                    uint32_t* sse,
853                                                    const uint8_t* second_pred);
854 #define vpx_highbd_10_sub_pixel_avg_variance4x4 \
855   vpx_highbd_10_sub_pixel_avg_variance4x4_c
856 
857 uint32_t vpx_highbd_10_sub_pixel_avg_variance4x8_c(const uint8_t* src_ptr,
858                                                    int src_stride,
859                                                    int x_offset,
860                                                    int y_offset,
861                                                    const uint8_t* ref_ptr,
862                                                    int ref_stride,
863                                                    uint32_t* sse,
864                                                    const uint8_t* second_pred);
865 #define vpx_highbd_10_sub_pixel_avg_variance4x8 \
866   vpx_highbd_10_sub_pixel_avg_variance4x8_c
867 
868 uint32_t vpx_highbd_10_sub_pixel_avg_variance64x32_c(
869     const uint8_t* src_ptr,
870     int src_stride,
871     int x_offset,
872     int y_offset,
873     const uint8_t* ref_ptr,
874     int ref_stride,
875     uint32_t* sse,
876     const uint8_t* second_pred);
877 #define vpx_highbd_10_sub_pixel_avg_variance64x32 \
878   vpx_highbd_10_sub_pixel_avg_variance64x32_c
879 
880 uint32_t vpx_highbd_10_sub_pixel_avg_variance64x64_c(
881     const uint8_t* src_ptr,
882     int src_stride,
883     int x_offset,
884     int y_offset,
885     const uint8_t* ref_ptr,
886     int ref_stride,
887     uint32_t* sse,
888     const uint8_t* second_pred);
889 #define vpx_highbd_10_sub_pixel_avg_variance64x64 \
890   vpx_highbd_10_sub_pixel_avg_variance64x64_c
891 
892 uint32_t vpx_highbd_10_sub_pixel_avg_variance8x16_c(const uint8_t* src_ptr,
893                                                     int src_stride,
894                                                     int x_offset,
895                                                     int y_offset,
896                                                     const uint8_t* ref_ptr,
897                                                     int ref_stride,
898                                                     uint32_t* sse,
899                                                     const uint8_t* second_pred);
900 #define vpx_highbd_10_sub_pixel_avg_variance8x16 \
901   vpx_highbd_10_sub_pixel_avg_variance8x16_c
902 
903 uint32_t vpx_highbd_10_sub_pixel_avg_variance8x4_c(const uint8_t* src_ptr,
904                                                    int src_stride,
905                                                    int x_offset,
906                                                    int y_offset,
907                                                    const uint8_t* ref_ptr,
908                                                    int ref_stride,
909                                                    uint32_t* sse,
910                                                    const uint8_t* second_pred);
911 #define vpx_highbd_10_sub_pixel_avg_variance8x4 \
912   vpx_highbd_10_sub_pixel_avg_variance8x4_c
913 
914 uint32_t vpx_highbd_10_sub_pixel_avg_variance8x8_c(const uint8_t* src_ptr,
915                                                    int src_stride,
916                                                    int x_offset,
917                                                    int y_offset,
918                                                    const uint8_t* ref_ptr,
919                                                    int ref_stride,
920                                                    uint32_t* sse,
921                                                    const uint8_t* second_pred);
922 #define vpx_highbd_10_sub_pixel_avg_variance8x8 \
923   vpx_highbd_10_sub_pixel_avg_variance8x8_c
924 
925 uint32_t vpx_highbd_10_sub_pixel_variance16x16_c(const uint8_t* src_ptr,
926                                                  int src_stride,
927                                                  int x_offset,
928                                                  int y_offset,
929                                                  const uint8_t* ref_ptr,
930                                                  int ref_stride,
931                                                  uint32_t* sse);
932 #define vpx_highbd_10_sub_pixel_variance16x16 \
933   vpx_highbd_10_sub_pixel_variance16x16_c
934 
935 uint32_t vpx_highbd_10_sub_pixel_variance16x32_c(const uint8_t* src_ptr,
936                                                  int src_stride,
937                                                  int x_offset,
938                                                  int y_offset,
939                                                  const uint8_t* ref_ptr,
940                                                  int ref_stride,
941                                                  uint32_t* sse);
942 #define vpx_highbd_10_sub_pixel_variance16x32 \
943   vpx_highbd_10_sub_pixel_variance16x32_c
944 
945 uint32_t vpx_highbd_10_sub_pixel_variance16x8_c(const uint8_t* src_ptr,
946                                                 int src_stride,
947                                                 int x_offset,
948                                                 int y_offset,
949                                                 const uint8_t* ref_ptr,
950                                                 int ref_stride,
951                                                 uint32_t* sse);
952 #define vpx_highbd_10_sub_pixel_variance16x8 \
953   vpx_highbd_10_sub_pixel_variance16x8_c
954 
955 uint32_t vpx_highbd_10_sub_pixel_variance32x16_c(const uint8_t* src_ptr,
956                                                  int src_stride,
957                                                  int x_offset,
958                                                  int y_offset,
959                                                  const uint8_t* ref_ptr,
960                                                  int ref_stride,
961                                                  uint32_t* sse);
962 #define vpx_highbd_10_sub_pixel_variance32x16 \
963   vpx_highbd_10_sub_pixel_variance32x16_c
964 
965 uint32_t vpx_highbd_10_sub_pixel_variance32x32_c(const uint8_t* src_ptr,
966                                                  int src_stride,
967                                                  int x_offset,
968                                                  int y_offset,
969                                                  const uint8_t* ref_ptr,
970                                                  int ref_stride,
971                                                  uint32_t* sse);
972 #define vpx_highbd_10_sub_pixel_variance32x32 \
973   vpx_highbd_10_sub_pixel_variance32x32_c
974 
975 uint32_t vpx_highbd_10_sub_pixel_variance32x64_c(const uint8_t* src_ptr,
976                                                  int src_stride,
977                                                  int x_offset,
978                                                  int y_offset,
979                                                  const uint8_t* ref_ptr,
980                                                  int ref_stride,
981                                                  uint32_t* sse);
982 #define vpx_highbd_10_sub_pixel_variance32x64 \
983   vpx_highbd_10_sub_pixel_variance32x64_c
984 
985 uint32_t vpx_highbd_10_sub_pixel_variance4x4_c(const uint8_t* src_ptr,
986                                                int src_stride,
987                                                int x_offset,
988                                                int y_offset,
989                                                const uint8_t* ref_ptr,
990                                                int ref_stride,
991                                                uint32_t* sse);
992 #define vpx_highbd_10_sub_pixel_variance4x4 \
993   vpx_highbd_10_sub_pixel_variance4x4_c
994 
995 uint32_t vpx_highbd_10_sub_pixel_variance4x8_c(const uint8_t* src_ptr,
996                                                int src_stride,
997                                                int x_offset,
998                                                int y_offset,
999                                                const uint8_t* ref_ptr,
1000                                                int ref_stride,
1001                                                uint32_t* sse);
1002 #define vpx_highbd_10_sub_pixel_variance4x8 \
1003   vpx_highbd_10_sub_pixel_variance4x8_c
1004 
1005 uint32_t vpx_highbd_10_sub_pixel_variance64x32_c(const uint8_t* src_ptr,
1006                                                  int src_stride,
1007                                                  int x_offset,
1008                                                  int y_offset,
1009                                                  const uint8_t* ref_ptr,
1010                                                  int ref_stride,
1011                                                  uint32_t* sse);
1012 #define vpx_highbd_10_sub_pixel_variance64x32 \
1013   vpx_highbd_10_sub_pixel_variance64x32_c
1014 
1015 uint32_t vpx_highbd_10_sub_pixel_variance64x64_c(const uint8_t* src_ptr,
1016                                                  int src_stride,
1017                                                  int x_offset,
1018                                                  int y_offset,
1019                                                  const uint8_t* ref_ptr,
1020                                                  int ref_stride,
1021                                                  uint32_t* sse);
1022 #define vpx_highbd_10_sub_pixel_variance64x64 \
1023   vpx_highbd_10_sub_pixel_variance64x64_c
1024 
1025 uint32_t vpx_highbd_10_sub_pixel_variance8x16_c(const uint8_t* src_ptr,
1026                                                 int src_stride,
1027                                                 int x_offset,
1028                                                 int y_offset,
1029                                                 const uint8_t* ref_ptr,
1030                                                 int ref_stride,
1031                                                 uint32_t* sse);
1032 #define vpx_highbd_10_sub_pixel_variance8x16 \
1033   vpx_highbd_10_sub_pixel_variance8x16_c
1034 
1035 uint32_t vpx_highbd_10_sub_pixel_variance8x4_c(const uint8_t* src_ptr,
1036                                                int src_stride,
1037                                                int x_offset,
1038                                                int y_offset,
1039                                                const uint8_t* ref_ptr,
1040                                                int ref_stride,
1041                                                uint32_t* sse);
1042 #define vpx_highbd_10_sub_pixel_variance8x4 \
1043   vpx_highbd_10_sub_pixel_variance8x4_c
1044 
1045 uint32_t vpx_highbd_10_sub_pixel_variance8x8_c(const uint8_t* src_ptr,
1046                                                int src_stride,
1047                                                int x_offset,
1048                                                int y_offset,
1049                                                const uint8_t* ref_ptr,
1050                                                int ref_stride,
1051                                                uint32_t* sse);
1052 #define vpx_highbd_10_sub_pixel_variance8x8 \
1053   vpx_highbd_10_sub_pixel_variance8x8_c
1054 
1055 unsigned int vpx_highbd_10_variance16x16_c(const uint8_t* src_ptr,
1056                                            int src_stride,
1057                                            const uint8_t* ref_ptr,
1058                                            int ref_stride,
1059                                            unsigned int* sse);
1060 #define vpx_highbd_10_variance16x16 vpx_highbd_10_variance16x16_c
1061 
1062 unsigned int vpx_highbd_10_variance16x32_c(const uint8_t* src_ptr,
1063                                            int src_stride,
1064                                            const uint8_t* ref_ptr,
1065                                            int ref_stride,
1066                                            unsigned int* sse);
1067 #define vpx_highbd_10_variance16x32 vpx_highbd_10_variance16x32_c
1068 
1069 unsigned int vpx_highbd_10_variance16x8_c(const uint8_t* src_ptr,
1070                                           int src_stride,
1071                                           const uint8_t* ref_ptr,
1072                                           int ref_stride,
1073                                           unsigned int* sse);
1074 #define vpx_highbd_10_variance16x8 vpx_highbd_10_variance16x8_c
1075 
1076 unsigned int vpx_highbd_10_variance32x16_c(const uint8_t* src_ptr,
1077                                            int src_stride,
1078                                            const uint8_t* ref_ptr,
1079                                            int ref_stride,
1080                                            unsigned int* sse);
1081 #define vpx_highbd_10_variance32x16 vpx_highbd_10_variance32x16_c
1082 
1083 unsigned int vpx_highbd_10_variance32x32_c(const uint8_t* src_ptr,
1084                                            int src_stride,
1085                                            const uint8_t* ref_ptr,
1086                                            int ref_stride,
1087                                            unsigned int* sse);
1088 #define vpx_highbd_10_variance32x32 vpx_highbd_10_variance32x32_c
1089 
1090 unsigned int vpx_highbd_10_variance32x64_c(const uint8_t* src_ptr,
1091                                            int src_stride,
1092                                            const uint8_t* ref_ptr,
1093                                            int ref_stride,
1094                                            unsigned int* sse);
1095 #define vpx_highbd_10_variance32x64 vpx_highbd_10_variance32x64_c
1096 
1097 unsigned int vpx_highbd_10_variance4x4_c(const uint8_t* src_ptr,
1098                                          int src_stride,
1099                                          const uint8_t* ref_ptr,
1100                                          int ref_stride,
1101                                          unsigned int* sse);
1102 #define vpx_highbd_10_variance4x4 vpx_highbd_10_variance4x4_c
1103 
1104 unsigned int vpx_highbd_10_variance4x8_c(const uint8_t* src_ptr,
1105                                          int src_stride,
1106                                          const uint8_t* ref_ptr,
1107                                          int ref_stride,
1108                                          unsigned int* sse);
1109 #define vpx_highbd_10_variance4x8 vpx_highbd_10_variance4x8_c
1110 
1111 unsigned int vpx_highbd_10_variance64x32_c(const uint8_t* src_ptr,
1112                                            int src_stride,
1113                                            const uint8_t* ref_ptr,
1114                                            int ref_stride,
1115                                            unsigned int* sse);
1116 #define vpx_highbd_10_variance64x32 vpx_highbd_10_variance64x32_c
1117 
1118 unsigned int vpx_highbd_10_variance64x64_c(const uint8_t* src_ptr,
1119                                            int src_stride,
1120                                            const uint8_t* ref_ptr,
1121                                            int ref_stride,
1122                                            unsigned int* sse);
1123 #define vpx_highbd_10_variance64x64 vpx_highbd_10_variance64x64_c
1124 
1125 unsigned int vpx_highbd_10_variance8x16_c(const uint8_t* src_ptr,
1126                                           int src_stride,
1127                                           const uint8_t* ref_ptr,
1128                                           int ref_stride,
1129                                           unsigned int* sse);
1130 #define vpx_highbd_10_variance8x16 vpx_highbd_10_variance8x16_c
1131 
1132 unsigned int vpx_highbd_10_variance8x4_c(const uint8_t* src_ptr,
1133                                          int src_stride,
1134                                          const uint8_t* ref_ptr,
1135                                          int ref_stride,
1136                                          unsigned int* sse);
1137 #define vpx_highbd_10_variance8x4 vpx_highbd_10_variance8x4_c
1138 
1139 unsigned int vpx_highbd_10_variance8x8_c(const uint8_t* src_ptr,
1140                                          int src_stride,
1141                                          const uint8_t* ref_ptr,
1142                                          int ref_stride,
1143                                          unsigned int* sse);
1144 #define vpx_highbd_10_variance8x8 vpx_highbd_10_variance8x8_c
1145 
1146 void vpx_highbd_12_get16x16var_c(const uint8_t* src_ptr,
1147                                  int src_stride,
1148                                  const uint8_t* ref_ptr,
1149                                  int ref_stride,
1150                                  unsigned int* sse,
1151                                  int* sum);
1152 #define vpx_highbd_12_get16x16var vpx_highbd_12_get16x16var_c
1153 
1154 void vpx_highbd_12_get8x8var_c(const uint8_t* src_ptr,
1155                                int src_stride,
1156                                const uint8_t* ref_ptr,
1157                                int ref_stride,
1158                                unsigned int* sse,
1159                                int* sum);
1160 #define vpx_highbd_12_get8x8var vpx_highbd_12_get8x8var_c
1161 
1162 unsigned int vpx_highbd_12_mse16x16_c(const uint8_t* src_ptr,
1163                                       int src_stride,
1164                                       const uint8_t* ref_ptr,
1165                                       int ref_stride,
1166                                       unsigned int* sse);
1167 #define vpx_highbd_12_mse16x16 vpx_highbd_12_mse16x16_c
1168 
1169 unsigned int vpx_highbd_12_mse16x8_c(const uint8_t* src_ptr,
1170                                      int src_stride,
1171                                      const uint8_t* ref_ptr,
1172                                      int ref_stride,
1173                                      unsigned int* sse);
1174 #define vpx_highbd_12_mse16x8 vpx_highbd_12_mse16x8_c
1175 
1176 unsigned int vpx_highbd_12_mse8x16_c(const uint8_t* src_ptr,
1177                                      int src_stride,
1178                                      const uint8_t* ref_ptr,
1179                                      int ref_stride,
1180                                      unsigned int* sse);
1181 #define vpx_highbd_12_mse8x16 vpx_highbd_12_mse8x16_c
1182 
1183 unsigned int vpx_highbd_12_mse8x8_c(const uint8_t* src_ptr,
1184                                     int src_stride,
1185                                     const uint8_t* ref_ptr,
1186                                     int ref_stride,
1187                                     unsigned int* sse);
1188 #define vpx_highbd_12_mse8x8 vpx_highbd_12_mse8x8_c
1189 
1190 uint32_t vpx_highbd_12_sub_pixel_avg_variance16x16_c(
1191     const uint8_t* src_ptr,
1192     int src_stride,
1193     int x_offset,
1194     int y_offset,
1195     const uint8_t* ref_ptr,
1196     int ref_stride,
1197     uint32_t* sse,
1198     const uint8_t* second_pred);
1199 #define vpx_highbd_12_sub_pixel_avg_variance16x16 \
1200   vpx_highbd_12_sub_pixel_avg_variance16x16_c
1201 
1202 uint32_t vpx_highbd_12_sub_pixel_avg_variance16x32_c(
1203     const uint8_t* src_ptr,
1204     int src_stride,
1205     int x_offset,
1206     int y_offset,
1207     const uint8_t* ref_ptr,
1208     int ref_stride,
1209     uint32_t* sse,
1210     const uint8_t* second_pred);
1211 #define vpx_highbd_12_sub_pixel_avg_variance16x32 \
1212   vpx_highbd_12_sub_pixel_avg_variance16x32_c
1213 
1214 uint32_t vpx_highbd_12_sub_pixel_avg_variance16x8_c(const uint8_t* src_ptr,
1215                                                     int src_stride,
1216                                                     int x_offset,
1217                                                     int y_offset,
1218                                                     const uint8_t* ref_ptr,
1219                                                     int ref_stride,
1220                                                     uint32_t* sse,
1221                                                     const uint8_t* second_pred);
1222 #define vpx_highbd_12_sub_pixel_avg_variance16x8 \
1223   vpx_highbd_12_sub_pixel_avg_variance16x8_c
1224 
1225 uint32_t vpx_highbd_12_sub_pixel_avg_variance32x16_c(
1226     const uint8_t* src_ptr,
1227     int src_stride,
1228     int x_offset,
1229     int y_offset,
1230     const uint8_t* ref_ptr,
1231     int ref_stride,
1232     uint32_t* sse,
1233     const uint8_t* second_pred);
1234 #define vpx_highbd_12_sub_pixel_avg_variance32x16 \
1235   vpx_highbd_12_sub_pixel_avg_variance32x16_c
1236 
1237 uint32_t vpx_highbd_12_sub_pixel_avg_variance32x32_c(
1238     const uint8_t* src_ptr,
1239     int src_stride,
1240     int x_offset,
1241     int y_offset,
1242     const uint8_t* ref_ptr,
1243     int ref_stride,
1244     uint32_t* sse,
1245     const uint8_t* second_pred);
1246 #define vpx_highbd_12_sub_pixel_avg_variance32x32 \
1247   vpx_highbd_12_sub_pixel_avg_variance32x32_c
1248 
1249 uint32_t vpx_highbd_12_sub_pixel_avg_variance32x64_c(
1250     const uint8_t* src_ptr,
1251     int src_stride,
1252     int x_offset,
1253     int y_offset,
1254     const uint8_t* ref_ptr,
1255     int ref_stride,
1256     uint32_t* sse,
1257     const uint8_t* second_pred);
1258 #define vpx_highbd_12_sub_pixel_avg_variance32x64 \
1259   vpx_highbd_12_sub_pixel_avg_variance32x64_c
1260 
1261 uint32_t vpx_highbd_12_sub_pixel_avg_variance4x4_c(const uint8_t* src_ptr,
1262                                                    int src_stride,
1263                                                    int x_offset,
1264                                                    int y_offset,
1265                                                    const uint8_t* ref_ptr,
1266                                                    int ref_stride,
1267                                                    uint32_t* sse,
1268                                                    const uint8_t* second_pred);
1269 #define vpx_highbd_12_sub_pixel_avg_variance4x4 \
1270   vpx_highbd_12_sub_pixel_avg_variance4x4_c
1271 
1272 uint32_t vpx_highbd_12_sub_pixel_avg_variance4x8_c(const uint8_t* src_ptr,
1273                                                    int src_stride,
1274                                                    int x_offset,
1275                                                    int y_offset,
1276                                                    const uint8_t* ref_ptr,
1277                                                    int ref_stride,
1278                                                    uint32_t* sse,
1279                                                    const uint8_t* second_pred);
1280 #define vpx_highbd_12_sub_pixel_avg_variance4x8 \
1281   vpx_highbd_12_sub_pixel_avg_variance4x8_c
1282 
1283 uint32_t vpx_highbd_12_sub_pixel_avg_variance64x32_c(
1284     const uint8_t* src_ptr,
1285     int src_stride,
1286     int x_offset,
1287     int y_offset,
1288     const uint8_t* ref_ptr,
1289     int ref_stride,
1290     uint32_t* sse,
1291     const uint8_t* second_pred);
1292 #define vpx_highbd_12_sub_pixel_avg_variance64x32 \
1293   vpx_highbd_12_sub_pixel_avg_variance64x32_c
1294 
1295 uint32_t vpx_highbd_12_sub_pixel_avg_variance64x64_c(
1296     const uint8_t* src_ptr,
1297     int src_stride,
1298     int x_offset,
1299     int y_offset,
1300     const uint8_t* ref_ptr,
1301     int ref_stride,
1302     uint32_t* sse,
1303     const uint8_t* second_pred);
1304 #define vpx_highbd_12_sub_pixel_avg_variance64x64 \
1305   vpx_highbd_12_sub_pixel_avg_variance64x64_c
1306 
1307 uint32_t vpx_highbd_12_sub_pixel_avg_variance8x16_c(const uint8_t* src_ptr,
1308                                                     int src_stride,
1309                                                     int x_offset,
1310                                                     int y_offset,
1311                                                     const uint8_t* ref_ptr,
1312                                                     int ref_stride,
1313                                                     uint32_t* sse,
1314                                                     const uint8_t* second_pred);
1315 #define vpx_highbd_12_sub_pixel_avg_variance8x16 \
1316   vpx_highbd_12_sub_pixel_avg_variance8x16_c
1317 
1318 uint32_t vpx_highbd_12_sub_pixel_avg_variance8x4_c(const uint8_t* src_ptr,
1319                                                    int src_stride,
1320                                                    int x_offset,
1321                                                    int y_offset,
1322                                                    const uint8_t* ref_ptr,
1323                                                    int ref_stride,
1324                                                    uint32_t* sse,
1325                                                    const uint8_t* second_pred);
1326 #define vpx_highbd_12_sub_pixel_avg_variance8x4 \
1327   vpx_highbd_12_sub_pixel_avg_variance8x4_c
1328 
1329 uint32_t vpx_highbd_12_sub_pixel_avg_variance8x8_c(const uint8_t* src_ptr,
1330                                                    int src_stride,
1331                                                    int x_offset,
1332                                                    int y_offset,
1333                                                    const uint8_t* ref_ptr,
1334                                                    int ref_stride,
1335                                                    uint32_t* sse,
1336                                                    const uint8_t* second_pred);
1337 #define vpx_highbd_12_sub_pixel_avg_variance8x8 \
1338   vpx_highbd_12_sub_pixel_avg_variance8x8_c
1339 
1340 uint32_t vpx_highbd_12_sub_pixel_variance16x16_c(const uint8_t* src_ptr,
1341                                                  int src_stride,
1342                                                  int x_offset,
1343                                                  int y_offset,
1344                                                  const uint8_t* ref_ptr,
1345                                                  int ref_stride,
1346                                                  uint32_t* sse);
1347 #define vpx_highbd_12_sub_pixel_variance16x16 \
1348   vpx_highbd_12_sub_pixel_variance16x16_c
1349 
1350 uint32_t vpx_highbd_12_sub_pixel_variance16x32_c(const uint8_t* src_ptr,
1351                                                  int src_stride,
1352                                                  int x_offset,
1353                                                  int y_offset,
1354                                                  const uint8_t* ref_ptr,
1355                                                  int ref_stride,
1356                                                  uint32_t* sse);
1357 #define vpx_highbd_12_sub_pixel_variance16x32 \
1358   vpx_highbd_12_sub_pixel_variance16x32_c
1359 
1360 uint32_t vpx_highbd_12_sub_pixel_variance16x8_c(const uint8_t* src_ptr,
1361                                                 int src_stride,
1362                                                 int x_offset,
1363                                                 int y_offset,
1364                                                 const uint8_t* ref_ptr,
1365                                                 int ref_stride,
1366                                                 uint32_t* sse);
1367 #define vpx_highbd_12_sub_pixel_variance16x8 \
1368   vpx_highbd_12_sub_pixel_variance16x8_c
1369 
1370 uint32_t vpx_highbd_12_sub_pixel_variance32x16_c(const uint8_t* src_ptr,
1371                                                  int src_stride,
1372                                                  int x_offset,
1373                                                  int y_offset,
1374                                                  const uint8_t* ref_ptr,
1375                                                  int ref_stride,
1376                                                  uint32_t* sse);
1377 #define vpx_highbd_12_sub_pixel_variance32x16 \
1378   vpx_highbd_12_sub_pixel_variance32x16_c
1379 
1380 uint32_t vpx_highbd_12_sub_pixel_variance32x32_c(const uint8_t* src_ptr,
1381                                                  int src_stride,
1382                                                  int x_offset,
1383                                                  int y_offset,
1384                                                  const uint8_t* ref_ptr,
1385                                                  int ref_stride,
1386                                                  uint32_t* sse);
1387 #define vpx_highbd_12_sub_pixel_variance32x32 \
1388   vpx_highbd_12_sub_pixel_variance32x32_c
1389 
1390 uint32_t vpx_highbd_12_sub_pixel_variance32x64_c(const uint8_t* src_ptr,
1391                                                  int src_stride,
1392                                                  int x_offset,
1393                                                  int y_offset,
1394                                                  const uint8_t* ref_ptr,
1395                                                  int ref_stride,
1396                                                  uint32_t* sse);
1397 #define vpx_highbd_12_sub_pixel_variance32x64 \
1398   vpx_highbd_12_sub_pixel_variance32x64_c
1399 
1400 uint32_t vpx_highbd_12_sub_pixel_variance4x4_c(const uint8_t* src_ptr,
1401                                                int src_stride,
1402                                                int x_offset,
1403                                                int y_offset,
1404                                                const uint8_t* ref_ptr,
1405                                                int ref_stride,
1406                                                uint32_t* sse);
1407 #define vpx_highbd_12_sub_pixel_variance4x4 \
1408   vpx_highbd_12_sub_pixel_variance4x4_c
1409 
1410 uint32_t vpx_highbd_12_sub_pixel_variance4x8_c(const uint8_t* src_ptr,
1411                                                int src_stride,
1412                                                int x_offset,
1413                                                int y_offset,
1414                                                const uint8_t* ref_ptr,
1415                                                int ref_stride,
1416                                                uint32_t* sse);
1417 #define vpx_highbd_12_sub_pixel_variance4x8 \
1418   vpx_highbd_12_sub_pixel_variance4x8_c
1419 
1420 uint32_t vpx_highbd_12_sub_pixel_variance64x32_c(const uint8_t* src_ptr,
1421                                                  int src_stride,
1422                                                  int x_offset,
1423                                                  int y_offset,
1424                                                  const uint8_t* ref_ptr,
1425                                                  int ref_stride,
1426                                                  uint32_t* sse);
1427 #define vpx_highbd_12_sub_pixel_variance64x32 \
1428   vpx_highbd_12_sub_pixel_variance64x32_c
1429 
1430 uint32_t vpx_highbd_12_sub_pixel_variance64x64_c(const uint8_t* src_ptr,
1431                                                  int src_stride,
1432                                                  int x_offset,
1433                                                  int y_offset,
1434                                                  const uint8_t* ref_ptr,
1435                                                  int ref_stride,
1436                                                  uint32_t* sse);
1437 #define vpx_highbd_12_sub_pixel_variance64x64 \
1438   vpx_highbd_12_sub_pixel_variance64x64_c
1439 
1440 uint32_t vpx_highbd_12_sub_pixel_variance8x16_c(const uint8_t* src_ptr,
1441                                                 int src_stride,
1442                                                 int x_offset,
1443                                                 int y_offset,
1444                                                 const uint8_t* ref_ptr,
1445                                                 int ref_stride,
1446                                                 uint32_t* sse);
1447 #define vpx_highbd_12_sub_pixel_variance8x16 \
1448   vpx_highbd_12_sub_pixel_variance8x16_c
1449 
1450 uint32_t vpx_highbd_12_sub_pixel_variance8x4_c(const uint8_t* src_ptr,
1451                                                int src_stride,
1452                                                int x_offset,
1453                                                int y_offset,
1454                                                const uint8_t* ref_ptr,
1455                                                int ref_stride,
1456                                                uint32_t* sse);
1457 #define vpx_highbd_12_sub_pixel_variance8x4 \
1458   vpx_highbd_12_sub_pixel_variance8x4_c
1459 
1460 uint32_t vpx_highbd_12_sub_pixel_variance8x8_c(const uint8_t* src_ptr,
1461                                                int src_stride,
1462                                                int x_offset,
1463                                                int y_offset,
1464                                                const uint8_t* ref_ptr,
1465                                                int ref_stride,
1466                                                uint32_t* sse);
1467 #define vpx_highbd_12_sub_pixel_variance8x8 \
1468   vpx_highbd_12_sub_pixel_variance8x8_c
1469 
1470 unsigned int vpx_highbd_12_variance16x16_c(const uint8_t* src_ptr,
1471                                            int src_stride,
1472                                            const uint8_t* ref_ptr,
1473                                            int ref_stride,
1474                                            unsigned int* sse);
1475 #define vpx_highbd_12_variance16x16 vpx_highbd_12_variance16x16_c
1476 
1477 unsigned int vpx_highbd_12_variance16x32_c(const uint8_t* src_ptr,
1478                                            int src_stride,
1479                                            const uint8_t* ref_ptr,
1480                                            int ref_stride,
1481                                            unsigned int* sse);
1482 #define vpx_highbd_12_variance16x32 vpx_highbd_12_variance16x32_c
1483 
1484 unsigned int vpx_highbd_12_variance16x8_c(const uint8_t* src_ptr,
1485                                           int src_stride,
1486                                           const uint8_t* ref_ptr,
1487                                           int ref_stride,
1488                                           unsigned int* sse);
1489 #define vpx_highbd_12_variance16x8 vpx_highbd_12_variance16x8_c
1490 
1491 unsigned int vpx_highbd_12_variance32x16_c(const uint8_t* src_ptr,
1492                                            int src_stride,
1493                                            const uint8_t* ref_ptr,
1494                                            int ref_stride,
1495                                            unsigned int* sse);
1496 #define vpx_highbd_12_variance32x16 vpx_highbd_12_variance32x16_c
1497 
1498 unsigned int vpx_highbd_12_variance32x32_c(const uint8_t* src_ptr,
1499                                            int src_stride,
1500                                            const uint8_t* ref_ptr,
1501                                            int ref_stride,
1502                                            unsigned int* sse);
1503 #define vpx_highbd_12_variance32x32 vpx_highbd_12_variance32x32_c
1504 
1505 unsigned int vpx_highbd_12_variance32x64_c(const uint8_t* src_ptr,
1506                                            int src_stride,
1507                                            const uint8_t* ref_ptr,
1508                                            int ref_stride,
1509                                            unsigned int* sse);
1510 #define vpx_highbd_12_variance32x64 vpx_highbd_12_variance32x64_c
1511 
1512 unsigned int vpx_highbd_12_variance4x4_c(const uint8_t* src_ptr,
1513                                          int src_stride,
1514                                          const uint8_t* ref_ptr,
1515                                          int ref_stride,
1516                                          unsigned int* sse);
1517 #define vpx_highbd_12_variance4x4 vpx_highbd_12_variance4x4_c
1518 
1519 unsigned int vpx_highbd_12_variance4x8_c(const uint8_t* src_ptr,
1520                                          int src_stride,
1521                                          const uint8_t* ref_ptr,
1522                                          int ref_stride,
1523                                          unsigned int* sse);
1524 #define vpx_highbd_12_variance4x8 vpx_highbd_12_variance4x8_c
1525 
1526 unsigned int vpx_highbd_12_variance64x32_c(const uint8_t* src_ptr,
1527                                            int src_stride,
1528                                            const uint8_t* ref_ptr,
1529                                            int ref_stride,
1530                                            unsigned int* sse);
1531 #define vpx_highbd_12_variance64x32 vpx_highbd_12_variance64x32_c
1532 
1533 unsigned int vpx_highbd_12_variance64x64_c(const uint8_t* src_ptr,
1534                                            int src_stride,
1535                                            const uint8_t* ref_ptr,
1536                                            int ref_stride,
1537                                            unsigned int* sse);
1538 #define vpx_highbd_12_variance64x64 vpx_highbd_12_variance64x64_c
1539 
1540 unsigned int vpx_highbd_12_variance8x16_c(const uint8_t* src_ptr,
1541                                           int src_stride,
1542                                           const uint8_t* ref_ptr,
1543                                           int ref_stride,
1544                                           unsigned int* sse);
1545 #define vpx_highbd_12_variance8x16 vpx_highbd_12_variance8x16_c
1546 
1547 unsigned int vpx_highbd_12_variance8x4_c(const uint8_t* src_ptr,
1548                                          int src_stride,
1549                                          const uint8_t* ref_ptr,
1550                                          int ref_stride,
1551                                          unsigned int* sse);
1552 #define vpx_highbd_12_variance8x4 vpx_highbd_12_variance8x4_c
1553 
1554 unsigned int vpx_highbd_12_variance8x8_c(const uint8_t* src_ptr,
1555                                          int src_stride,
1556                                          const uint8_t* ref_ptr,
1557                                          int ref_stride,
1558                                          unsigned int* sse);
1559 #define vpx_highbd_12_variance8x8 vpx_highbd_12_variance8x8_c
1560 
1561 void vpx_highbd_8_get16x16var_c(const uint8_t* src_ptr,
1562                                 int src_stride,
1563                                 const uint8_t* ref_ptr,
1564                                 int ref_stride,
1565                                 unsigned int* sse,
1566                                 int* sum);
1567 #define vpx_highbd_8_get16x16var vpx_highbd_8_get16x16var_c
1568 
1569 void vpx_highbd_8_get8x8var_c(const uint8_t* src_ptr,
1570                               int src_stride,
1571                               const uint8_t* ref_ptr,
1572                               int ref_stride,
1573                               unsigned int* sse,
1574                               int* sum);
1575 #define vpx_highbd_8_get8x8var vpx_highbd_8_get8x8var_c
1576 
1577 unsigned int vpx_highbd_8_mse16x16_c(const uint8_t* src_ptr,
1578                                      int src_stride,
1579                                      const uint8_t* ref_ptr,
1580                                      int ref_stride,
1581                                      unsigned int* sse);
1582 #define vpx_highbd_8_mse16x16 vpx_highbd_8_mse16x16_c
1583 
1584 unsigned int vpx_highbd_8_mse16x8_c(const uint8_t* src_ptr,
1585                                     int src_stride,
1586                                     const uint8_t* ref_ptr,
1587                                     int ref_stride,
1588                                     unsigned int* sse);
1589 #define vpx_highbd_8_mse16x8 vpx_highbd_8_mse16x8_c
1590 
1591 unsigned int vpx_highbd_8_mse8x16_c(const uint8_t* src_ptr,
1592                                     int src_stride,
1593                                     const uint8_t* ref_ptr,
1594                                     int ref_stride,
1595                                     unsigned int* sse);
1596 #define vpx_highbd_8_mse8x16 vpx_highbd_8_mse8x16_c
1597 
1598 unsigned int vpx_highbd_8_mse8x8_c(const uint8_t* src_ptr,
1599                                    int src_stride,
1600                                    const uint8_t* ref_ptr,
1601                                    int ref_stride,
1602                                    unsigned int* sse);
1603 #define vpx_highbd_8_mse8x8 vpx_highbd_8_mse8x8_c
1604 
1605 uint32_t vpx_highbd_8_sub_pixel_avg_variance16x16_c(const uint8_t* src_ptr,
1606                                                     int src_stride,
1607                                                     int x_offset,
1608                                                     int y_offset,
1609                                                     const uint8_t* ref_ptr,
1610                                                     int ref_stride,
1611                                                     uint32_t* sse,
1612                                                     const uint8_t* second_pred);
1613 #define vpx_highbd_8_sub_pixel_avg_variance16x16 \
1614   vpx_highbd_8_sub_pixel_avg_variance16x16_c
1615 
1616 uint32_t vpx_highbd_8_sub_pixel_avg_variance16x32_c(const uint8_t* src_ptr,
1617                                                     int src_stride,
1618                                                     int x_offset,
1619                                                     int y_offset,
1620                                                     const uint8_t* ref_ptr,
1621                                                     int ref_stride,
1622                                                     uint32_t* sse,
1623                                                     const uint8_t* second_pred);
1624 #define vpx_highbd_8_sub_pixel_avg_variance16x32 \
1625   vpx_highbd_8_sub_pixel_avg_variance16x32_c
1626 
1627 uint32_t vpx_highbd_8_sub_pixel_avg_variance16x8_c(const uint8_t* src_ptr,
1628                                                    int src_stride,
1629                                                    int x_offset,
1630                                                    int y_offset,
1631                                                    const uint8_t* ref_ptr,
1632                                                    int ref_stride,
1633                                                    uint32_t* sse,
1634                                                    const uint8_t* second_pred);
1635 #define vpx_highbd_8_sub_pixel_avg_variance16x8 \
1636   vpx_highbd_8_sub_pixel_avg_variance16x8_c
1637 
1638 uint32_t vpx_highbd_8_sub_pixel_avg_variance32x16_c(const uint8_t* src_ptr,
1639                                                     int src_stride,
1640                                                     int x_offset,
1641                                                     int y_offset,
1642                                                     const uint8_t* ref_ptr,
1643                                                     int ref_stride,
1644                                                     uint32_t* sse,
1645                                                     const uint8_t* second_pred);
1646 #define vpx_highbd_8_sub_pixel_avg_variance32x16 \
1647   vpx_highbd_8_sub_pixel_avg_variance32x16_c
1648 
1649 uint32_t vpx_highbd_8_sub_pixel_avg_variance32x32_c(const uint8_t* src_ptr,
1650                                                     int src_stride,
1651                                                     int x_offset,
1652                                                     int y_offset,
1653                                                     const uint8_t* ref_ptr,
1654                                                     int ref_stride,
1655                                                     uint32_t* sse,
1656                                                     const uint8_t* second_pred);
1657 #define vpx_highbd_8_sub_pixel_avg_variance32x32 \
1658   vpx_highbd_8_sub_pixel_avg_variance32x32_c
1659 
1660 uint32_t vpx_highbd_8_sub_pixel_avg_variance32x64_c(const uint8_t* src_ptr,
1661                                                     int src_stride,
1662                                                     int x_offset,
1663                                                     int y_offset,
1664                                                     const uint8_t* ref_ptr,
1665                                                     int ref_stride,
1666                                                     uint32_t* sse,
1667                                                     const uint8_t* second_pred);
1668 #define vpx_highbd_8_sub_pixel_avg_variance32x64 \
1669   vpx_highbd_8_sub_pixel_avg_variance32x64_c
1670 
1671 uint32_t vpx_highbd_8_sub_pixel_avg_variance4x4_c(const uint8_t* src_ptr,
1672                                                   int src_stride,
1673                                                   int x_offset,
1674                                                   int y_offset,
1675                                                   const uint8_t* ref_ptr,
1676                                                   int ref_stride,
1677                                                   uint32_t* sse,
1678                                                   const uint8_t* second_pred);
1679 #define vpx_highbd_8_sub_pixel_avg_variance4x4 \
1680   vpx_highbd_8_sub_pixel_avg_variance4x4_c
1681 
1682 uint32_t vpx_highbd_8_sub_pixel_avg_variance4x8_c(const uint8_t* src_ptr,
1683                                                   int src_stride,
1684                                                   int x_offset,
1685                                                   int y_offset,
1686                                                   const uint8_t* ref_ptr,
1687                                                   int ref_stride,
1688                                                   uint32_t* sse,
1689                                                   const uint8_t* second_pred);
1690 #define vpx_highbd_8_sub_pixel_avg_variance4x8 \
1691   vpx_highbd_8_sub_pixel_avg_variance4x8_c
1692 
1693 uint32_t vpx_highbd_8_sub_pixel_avg_variance64x32_c(const uint8_t* src_ptr,
1694                                                     int src_stride,
1695                                                     int x_offset,
1696                                                     int y_offset,
1697                                                     const uint8_t* ref_ptr,
1698                                                     int ref_stride,
1699                                                     uint32_t* sse,
1700                                                     const uint8_t* second_pred);
1701 #define vpx_highbd_8_sub_pixel_avg_variance64x32 \
1702   vpx_highbd_8_sub_pixel_avg_variance64x32_c
1703 
1704 uint32_t vpx_highbd_8_sub_pixel_avg_variance64x64_c(const uint8_t* src_ptr,
1705                                                     int src_stride,
1706                                                     int x_offset,
1707                                                     int y_offset,
1708                                                     const uint8_t* ref_ptr,
1709                                                     int ref_stride,
1710                                                     uint32_t* sse,
1711                                                     const uint8_t* second_pred);
1712 #define vpx_highbd_8_sub_pixel_avg_variance64x64 \
1713   vpx_highbd_8_sub_pixel_avg_variance64x64_c
1714 
1715 uint32_t vpx_highbd_8_sub_pixel_avg_variance8x16_c(const uint8_t* src_ptr,
1716                                                    int src_stride,
1717                                                    int x_offset,
1718                                                    int y_offset,
1719                                                    const uint8_t* ref_ptr,
1720                                                    int ref_stride,
1721                                                    uint32_t* sse,
1722                                                    const uint8_t* second_pred);
1723 #define vpx_highbd_8_sub_pixel_avg_variance8x16 \
1724   vpx_highbd_8_sub_pixel_avg_variance8x16_c
1725 
1726 uint32_t vpx_highbd_8_sub_pixel_avg_variance8x4_c(const uint8_t* src_ptr,
1727                                                   int src_stride,
1728                                                   int x_offset,
1729                                                   int y_offset,
1730                                                   const uint8_t* ref_ptr,
1731                                                   int ref_stride,
1732                                                   uint32_t* sse,
1733                                                   const uint8_t* second_pred);
1734 #define vpx_highbd_8_sub_pixel_avg_variance8x4 \
1735   vpx_highbd_8_sub_pixel_avg_variance8x4_c
1736 
1737 uint32_t vpx_highbd_8_sub_pixel_avg_variance8x8_c(const uint8_t* src_ptr,
1738                                                   int src_stride,
1739                                                   int x_offset,
1740                                                   int y_offset,
1741                                                   const uint8_t* ref_ptr,
1742                                                   int ref_stride,
1743                                                   uint32_t* sse,
1744                                                   const uint8_t* second_pred);
1745 #define vpx_highbd_8_sub_pixel_avg_variance8x8 \
1746   vpx_highbd_8_sub_pixel_avg_variance8x8_c
1747 
1748 uint32_t vpx_highbd_8_sub_pixel_variance16x16_c(const uint8_t* src_ptr,
1749                                                 int src_stride,
1750                                                 int x_offset,
1751                                                 int y_offset,
1752                                                 const uint8_t* ref_ptr,
1753                                                 int ref_stride,
1754                                                 uint32_t* sse);
1755 #define vpx_highbd_8_sub_pixel_variance16x16 \
1756   vpx_highbd_8_sub_pixel_variance16x16_c
1757 
1758 uint32_t vpx_highbd_8_sub_pixel_variance16x32_c(const uint8_t* src_ptr,
1759                                                 int src_stride,
1760                                                 int x_offset,
1761                                                 int y_offset,
1762                                                 const uint8_t* ref_ptr,
1763                                                 int ref_stride,
1764                                                 uint32_t* sse);
1765 #define vpx_highbd_8_sub_pixel_variance16x32 \
1766   vpx_highbd_8_sub_pixel_variance16x32_c
1767 
1768 uint32_t vpx_highbd_8_sub_pixel_variance16x8_c(const uint8_t* src_ptr,
1769                                                int src_stride,
1770                                                int x_offset,
1771                                                int y_offset,
1772                                                const uint8_t* ref_ptr,
1773                                                int ref_stride,
1774                                                uint32_t* sse);
1775 #define vpx_highbd_8_sub_pixel_variance16x8 \
1776   vpx_highbd_8_sub_pixel_variance16x8_c
1777 
1778 uint32_t vpx_highbd_8_sub_pixel_variance32x16_c(const uint8_t* src_ptr,
1779                                                 int src_stride,
1780                                                 int x_offset,
1781                                                 int y_offset,
1782                                                 const uint8_t* ref_ptr,
1783                                                 int ref_stride,
1784                                                 uint32_t* sse);
1785 #define vpx_highbd_8_sub_pixel_variance32x16 \
1786   vpx_highbd_8_sub_pixel_variance32x16_c
1787 
1788 uint32_t vpx_highbd_8_sub_pixel_variance32x32_c(const uint8_t* src_ptr,
1789                                                 int src_stride,
1790                                                 int x_offset,
1791                                                 int y_offset,
1792                                                 const uint8_t* ref_ptr,
1793                                                 int ref_stride,
1794                                                 uint32_t* sse);
1795 #define vpx_highbd_8_sub_pixel_variance32x32 \
1796   vpx_highbd_8_sub_pixel_variance32x32_c
1797 
1798 uint32_t vpx_highbd_8_sub_pixel_variance32x64_c(const uint8_t* src_ptr,
1799                                                 int src_stride,
1800                                                 int x_offset,
1801                                                 int y_offset,
1802                                                 const uint8_t* ref_ptr,
1803                                                 int ref_stride,
1804                                                 uint32_t* sse);
1805 #define vpx_highbd_8_sub_pixel_variance32x64 \
1806   vpx_highbd_8_sub_pixel_variance32x64_c
1807 
1808 uint32_t vpx_highbd_8_sub_pixel_variance4x4_c(const uint8_t* src_ptr,
1809                                               int src_stride,
1810                                               int x_offset,
1811                                               int y_offset,
1812                                               const uint8_t* ref_ptr,
1813                                               int ref_stride,
1814                                               uint32_t* sse);
1815 #define vpx_highbd_8_sub_pixel_variance4x4 vpx_highbd_8_sub_pixel_variance4x4_c
1816 
1817 uint32_t vpx_highbd_8_sub_pixel_variance4x8_c(const uint8_t* src_ptr,
1818                                               int src_stride,
1819                                               int x_offset,
1820                                               int y_offset,
1821                                               const uint8_t* ref_ptr,
1822                                               int ref_stride,
1823                                               uint32_t* sse);
1824 #define vpx_highbd_8_sub_pixel_variance4x8 vpx_highbd_8_sub_pixel_variance4x8_c
1825 
1826 uint32_t vpx_highbd_8_sub_pixel_variance64x32_c(const uint8_t* src_ptr,
1827                                                 int src_stride,
1828                                                 int x_offset,
1829                                                 int y_offset,
1830                                                 const uint8_t* ref_ptr,
1831                                                 int ref_stride,
1832                                                 uint32_t* sse);
1833 #define vpx_highbd_8_sub_pixel_variance64x32 \
1834   vpx_highbd_8_sub_pixel_variance64x32_c
1835 
1836 uint32_t vpx_highbd_8_sub_pixel_variance64x64_c(const uint8_t* src_ptr,
1837                                                 int src_stride,
1838                                                 int x_offset,
1839                                                 int y_offset,
1840                                                 const uint8_t* ref_ptr,
1841                                                 int ref_stride,
1842                                                 uint32_t* sse);
1843 #define vpx_highbd_8_sub_pixel_variance64x64 \
1844   vpx_highbd_8_sub_pixel_variance64x64_c
1845 
1846 uint32_t vpx_highbd_8_sub_pixel_variance8x16_c(const uint8_t* src_ptr,
1847                                                int src_stride,
1848                                                int x_offset,
1849                                                int y_offset,
1850                                                const uint8_t* ref_ptr,
1851                                                int ref_stride,
1852                                                uint32_t* sse);
1853 #define vpx_highbd_8_sub_pixel_variance8x16 \
1854   vpx_highbd_8_sub_pixel_variance8x16_c
1855 
1856 uint32_t vpx_highbd_8_sub_pixel_variance8x4_c(const uint8_t* src_ptr,
1857                                               int src_stride,
1858                                               int x_offset,
1859                                               int y_offset,
1860                                               const uint8_t* ref_ptr,
1861                                               int ref_stride,
1862                                               uint32_t* sse);
1863 #define vpx_highbd_8_sub_pixel_variance8x4 vpx_highbd_8_sub_pixel_variance8x4_c
1864 
1865 uint32_t vpx_highbd_8_sub_pixel_variance8x8_c(const uint8_t* src_ptr,
1866                                               int src_stride,
1867                                               int x_offset,
1868                                               int y_offset,
1869                                               const uint8_t* ref_ptr,
1870                                               int ref_stride,
1871                                               uint32_t* sse);
1872 #define vpx_highbd_8_sub_pixel_variance8x8 vpx_highbd_8_sub_pixel_variance8x8_c
1873 
1874 unsigned int vpx_highbd_8_variance16x16_c(const uint8_t* src_ptr,
1875                                           int src_stride,
1876                                           const uint8_t* ref_ptr,
1877                                           int ref_stride,
1878                                           unsigned int* sse);
1879 #define vpx_highbd_8_variance16x16 vpx_highbd_8_variance16x16_c
1880 
1881 unsigned int vpx_highbd_8_variance16x32_c(const uint8_t* src_ptr,
1882                                           int src_stride,
1883                                           const uint8_t* ref_ptr,
1884                                           int ref_stride,
1885                                           unsigned int* sse);
1886 #define vpx_highbd_8_variance16x32 vpx_highbd_8_variance16x32_c
1887 
1888 unsigned int vpx_highbd_8_variance16x8_c(const uint8_t* src_ptr,
1889                                          int src_stride,
1890                                          const uint8_t* ref_ptr,
1891                                          int ref_stride,
1892                                          unsigned int* sse);
1893 #define vpx_highbd_8_variance16x8 vpx_highbd_8_variance16x8_c
1894 
1895 unsigned int vpx_highbd_8_variance32x16_c(const uint8_t* src_ptr,
1896                                           int src_stride,
1897                                           const uint8_t* ref_ptr,
1898                                           int ref_stride,
1899                                           unsigned int* sse);
1900 #define vpx_highbd_8_variance32x16 vpx_highbd_8_variance32x16_c
1901 
1902 unsigned int vpx_highbd_8_variance32x32_c(const uint8_t* src_ptr,
1903                                           int src_stride,
1904                                           const uint8_t* ref_ptr,
1905                                           int ref_stride,
1906                                           unsigned int* sse);
1907 #define vpx_highbd_8_variance32x32 vpx_highbd_8_variance32x32_c
1908 
1909 unsigned int vpx_highbd_8_variance32x64_c(const uint8_t* src_ptr,
1910                                           int src_stride,
1911                                           const uint8_t* ref_ptr,
1912                                           int ref_stride,
1913                                           unsigned int* sse);
1914 #define vpx_highbd_8_variance32x64 vpx_highbd_8_variance32x64_c
1915 
1916 unsigned int vpx_highbd_8_variance4x4_c(const uint8_t* src_ptr,
1917                                         int src_stride,
1918                                         const uint8_t* ref_ptr,
1919                                         int ref_stride,
1920                                         unsigned int* sse);
1921 #define vpx_highbd_8_variance4x4 vpx_highbd_8_variance4x4_c
1922 
1923 unsigned int vpx_highbd_8_variance4x8_c(const uint8_t* src_ptr,
1924                                         int src_stride,
1925                                         const uint8_t* ref_ptr,
1926                                         int ref_stride,
1927                                         unsigned int* sse);
1928 #define vpx_highbd_8_variance4x8 vpx_highbd_8_variance4x8_c
1929 
1930 unsigned int vpx_highbd_8_variance64x32_c(const uint8_t* src_ptr,
1931                                           int src_stride,
1932                                           const uint8_t* ref_ptr,
1933                                           int ref_stride,
1934                                           unsigned int* sse);
1935 #define vpx_highbd_8_variance64x32 vpx_highbd_8_variance64x32_c
1936 
1937 unsigned int vpx_highbd_8_variance64x64_c(const uint8_t* src_ptr,
1938                                           int src_stride,
1939                                           const uint8_t* ref_ptr,
1940                                           int ref_stride,
1941                                           unsigned int* sse);
1942 #define vpx_highbd_8_variance64x64 vpx_highbd_8_variance64x64_c
1943 
1944 unsigned int vpx_highbd_8_variance8x16_c(const uint8_t* src_ptr,
1945                                          int src_stride,
1946                                          const uint8_t* ref_ptr,
1947                                          int ref_stride,
1948                                          unsigned int* sse);
1949 #define vpx_highbd_8_variance8x16 vpx_highbd_8_variance8x16_c
1950 
1951 unsigned int vpx_highbd_8_variance8x4_c(const uint8_t* src_ptr,
1952                                         int src_stride,
1953                                         const uint8_t* ref_ptr,
1954                                         int ref_stride,
1955                                         unsigned int* sse);
1956 #define vpx_highbd_8_variance8x4 vpx_highbd_8_variance8x4_c
1957 
1958 unsigned int vpx_highbd_8_variance8x8_c(const uint8_t* src_ptr,
1959                                         int src_stride,
1960                                         const uint8_t* ref_ptr,
1961                                         int ref_stride,
1962                                         unsigned int* sse);
1963 #define vpx_highbd_8_variance8x8 vpx_highbd_8_variance8x8_c
1964 
1965 unsigned int vpx_highbd_avg_4x4_c(const uint8_t* s8, int p);
1966 #define vpx_highbd_avg_4x4 vpx_highbd_avg_4x4_c
1967 
1968 unsigned int vpx_highbd_avg_8x8_c(const uint8_t* s8, int p);
1969 #define vpx_highbd_avg_8x8 vpx_highbd_avg_8x8_c
1970 
1971 void vpx_highbd_comp_avg_pred_c(uint16_t* comp_pred,
1972                                 const uint16_t* pred,
1973                                 int width,
1974                                 int height,
1975                                 const uint16_t* ref,
1976                                 int ref_stride);
1977 #define vpx_highbd_comp_avg_pred vpx_highbd_comp_avg_pred_c
1978 
1979 void vpx_highbd_convolve8_c(const uint16_t* src,
1980                             ptrdiff_t src_stride,
1981                             uint16_t* dst,
1982                             ptrdiff_t dst_stride,
1983                             const InterpKernel* filter,
1984                             int x0_q4,
1985                             int x_step_q4,
1986                             int y0_q4,
1987                             int y_step_q4,
1988                             int w,
1989                             int h,
1990                             int bd);
1991 void vpx_highbd_convolve8_neon(const uint16_t* src,
1992                                ptrdiff_t src_stride,
1993                                uint16_t* dst,
1994                                ptrdiff_t dst_stride,
1995                                const InterpKernel* filter,
1996                                int x0_q4,
1997                                int x_step_q4,
1998                                int y0_q4,
1999                                int y_step_q4,
2000                                int w,
2001                                int h,
2002                                int bd);
2003 #define vpx_highbd_convolve8 vpx_highbd_convolve8_neon
2004 
2005 void vpx_highbd_convolve8_avg_c(const uint16_t* src,
2006                                 ptrdiff_t src_stride,
2007                                 uint16_t* dst,
2008                                 ptrdiff_t dst_stride,
2009                                 const InterpKernel* filter,
2010                                 int x0_q4,
2011                                 int x_step_q4,
2012                                 int y0_q4,
2013                                 int y_step_q4,
2014                                 int w,
2015                                 int h,
2016                                 int bd);
2017 void vpx_highbd_convolve8_avg_neon(const uint16_t* src,
2018                                    ptrdiff_t src_stride,
2019                                    uint16_t* dst,
2020                                    ptrdiff_t dst_stride,
2021                                    const InterpKernel* filter,
2022                                    int x0_q4,
2023                                    int x_step_q4,
2024                                    int y0_q4,
2025                                    int y_step_q4,
2026                                    int w,
2027                                    int h,
2028                                    int bd);
2029 #define vpx_highbd_convolve8_avg vpx_highbd_convolve8_avg_neon
2030 
2031 void vpx_highbd_convolve8_avg_horiz_c(const uint16_t* src,
2032                                       ptrdiff_t src_stride,
2033                                       uint16_t* dst,
2034                                       ptrdiff_t dst_stride,
2035                                       const InterpKernel* filter,
2036                                       int x0_q4,
2037                                       int x_step_q4,
2038                                       int y0_q4,
2039                                       int y_step_q4,
2040                                       int w,
2041                                       int h,
2042                                       int bd);
2043 void vpx_highbd_convolve8_avg_horiz_neon(const uint16_t* src,
2044                                          ptrdiff_t src_stride,
2045                                          uint16_t* dst,
2046                                          ptrdiff_t dst_stride,
2047                                          const InterpKernel* filter,
2048                                          int x0_q4,
2049                                          int x_step_q4,
2050                                          int y0_q4,
2051                                          int y_step_q4,
2052                                          int w,
2053                                          int h,
2054                                          int bd);
2055 #define vpx_highbd_convolve8_avg_horiz vpx_highbd_convolve8_avg_horiz_neon
2056 
2057 void vpx_highbd_convolve8_avg_vert_c(const uint16_t* src,
2058                                      ptrdiff_t src_stride,
2059                                      uint16_t* dst,
2060                                      ptrdiff_t dst_stride,
2061                                      const InterpKernel* filter,
2062                                      int x0_q4,
2063                                      int x_step_q4,
2064                                      int y0_q4,
2065                                      int y_step_q4,
2066                                      int w,
2067                                      int h,
2068                                      int bd);
2069 void vpx_highbd_convolve8_avg_vert_neon(const uint16_t* src,
2070                                         ptrdiff_t src_stride,
2071                                         uint16_t* dst,
2072                                         ptrdiff_t dst_stride,
2073                                         const InterpKernel* filter,
2074                                         int x0_q4,
2075                                         int x_step_q4,
2076                                         int y0_q4,
2077                                         int y_step_q4,
2078                                         int w,
2079                                         int h,
2080                                         int bd);
2081 #define vpx_highbd_convolve8_avg_vert vpx_highbd_convolve8_avg_vert_neon
2082 
2083 void vpx_highbd_convolve8_horiz_c(const uint16_t* src,
2084                                   ptrdiff_t src_stride,
2085                                   uint16_t* dst,
2086                                   ptrdiff_t dst_stride,
2087                                   const InterpKernel* filter,
2088                                   int x0_q4,
2089                                   int x_step_q4,
2090                                   int y0_q4,
2091                                   int y_step_q4,
2092                                   int w,
2093                                   int h,
2094                                   int bd);
2095 void vpx_highbd_convolve8_horiz_neon(const uint16_t* src,
2096                                      ptrdiff_t src_stride,
2097                                      uint16_t* dst,
2098                                      ptrdiff_t dst_stride,
2099                                      const InterpKernel* filter,
2100                                      int x0_q4,
2101                                      int x_step_q4,
2102                                      int y0_q4,
2103                                      int y_step_q4,
2104                                      int w,
2105                                      int h,
2106                                      int bd);
2107 #define vpx_highbd_convolve8_horiz vpx_highbd_convolve8_horiz_neon
2108 
2109 void vpx_highbd_convolve8_vert_c(const uint16_t* src,
2110                                  ptrdiff_t src_stride,
2111                                  uint16_t* dst,
2112                                  ptrdiff_t dst_stride,
2113                                  const InterpKernel* filter,
2114                                  int x0_q4,
2115                                  int x_step_q4,
2116                                  int y0_q4,
2117                                  int y_step_q4,
2118                                  int w,
2119                                  int h,
2120                                  int bd);
2121 void vpx_highbd_convolve8_vert_neon(const uint16_t* src,
2122                                     ptrdiff_t src_stride,
2123                                     uint16_t* dst,
2124                                     ptrdiff_t dst_stride,
2125                                     const InterpKernel* filter,
2126                                     int x0_q4,
2127                                     int x_step_q4,
2128                                     int y0_q4,
2129                                     int y_step_q4,
2130                                     int w,
2131                                     int h,
2132                                     int bd);
2133 #define vpx_highbd_convolve8_vert vpx_highbd_convolve8_vert_neon
2134 
2135 void vpx_highbd_convolve_avg_c(const uint16_t* src,
2136                                ptrdiff_t src_stride,
2137                                uint16_t* dst,
2138                                ptrdiff_t dst_stride,
2139                                const InterpKernel* filter,
2140                                int x0_q4,
2141                                int x_step_q4,
2142                                int y0_q4,
2143                                int y_step_q4,
2144                                int w,
2145                                int h,
2146                                int bd);
2147 void vpx_highbd_convolve_avg_neon(const uint16_t* src,
2148                                   ptrdiff_t src_stride,
2149                                   uint16_t* dst,
2150                                   ptrdiff_t dst_stride,
2151                                   const InterpKernel* filter,
2152                                   int x0_q4,
2153                                   int x_step_q4,
2154                                   int y0_q4,
2155                                   int y_step_q4,
2156                                   int w,
2157                                   int h,
2158                                   int bd);
2159 #define vpx_highbd_convolve_avg vpx_highbd_convolve_avg_neon
2160 
2161 void vpx_highbd_convolve_copy_c(const uint16_t* src,
2162                                 ptrdiff_t src_stride,
2163                                 uint16_t* dst,
2164                                 ptrdiff_t dst_stride,
2165                                 const InterpKernel* filter,
2166                                 int x0_q4,
2167                                 int x_step_q4,
2168                                 int y0_q4,
2169                                 int y_step_q4,
2170                                 int w,
2171                                 int h,
2172                                 int bd);
2173 void vpx_highbd_convolve_copy_neon(const uint16_t* src,
2174                                    ptrdiff_t src_stride,
2175                                    uint16_t* dst,
2176                                    ptrdiff_t dst_stride,
2177                                    const InterpKernel* filter,
2178                                    int x0_q4,
2179                                    int x_step_q4,
2180                                    int y0_q4,
2181                                    int y_step_q4,
2182                                    int w,
2183                                    int h,
2184                                    int bd);
2185 #define vpx_highbd_convolve_copy vpx_highbd_convolve_copy_neon
2186 
2187 void vpx_highbd_d117_predictor_16x16_c(uint16_t* dst,
2188                                        ptrdiff_t stride,
2189                                        const uint16_t* above,
2190                                        const uint16_t* left,
2191                                        int bd);
2192 #define vpx_highbd_d117_predictor_16x16 vpx_highbd_d117_predictor_16x16_c
2193 
2194 void vpx_highbd_d117_predictor_32x32_c(uint16_t* dst,
2195                                        ptrdiff_t stride,
2196                                        const uint16_t* above,
2197                                        const uint16_t* left,
2198                                        int bd);
2199 #define vpx_highbd_d117_predictor_32x32 vpx_highbd_d117_predictor_32x32_c
2200 
2201 void vpx_highbd_d117_predictor_4x4_c(uint16_t* dst,
2202                                      ptrdiff_t stride,
2203                                      const uint16_t* above,
2204                                      const uint16_t* left,
2205                                      int bd);
2206 #define vpx_highbd_d117_predictor_4x4 vpx_highbd_d117_predictor_4x4_c
2207 
2208 void vpx_highbd_d117_predictor_8x8_c(uint16_t* dst,
2209                                      ptrdiff_t stride,
2210                                      const uint16_t* above,
2211                                      const uint16_t* left,
2212                                      int bd);
2213 #define vpx_highbd_d117_predictor_8x8 vpx_highbd_d117_predictor_8x8_c
2214 
2215 void vpx_highbd_d135_predictor_16x16_c(uint16_t* dst,
2216                                        ptrdiff_t stride,
2217                                        const uint16_t* above,
2218                                        const uint16_t* left,
2219                                        int bd);
2220 void vpx_highbd_d135_predictor_16x16_neon(uint16_t* dst,
2221                                           ptrdiff_t stride,
2222                                           const uint16_t* above,
2223                                           const uint16_t* left,
2224                                           int bd);
2225 #define vpx_highbd_d135_predictor_16x16 vpx_highbd_d135_predictor_16x16_neon
2226 
2227 void vpx_highbd_d135_predictor_32x32_c(uint16_t* dst,
2228                                        ptrdiff_t stride,
2229                                        const uint16_t* above,
2230                                        const uint16_t* left,
2231                                        int bd);
2232 void vpx_highbd_d135_predictor_32x32_neon(uint16_t* dst,
2233                                           ptrdiff_t stride,
2234                                           const uint16_t* above,
2235                                           const uint16_t* left,
2236                                           int bd);
2237 #define vpx_highbd_d135_predictor_32x32 vpx_highbd_d135_predictor_32x32_neon
2238 
2239 void vpx_highbd_d135_predictor_4x4_c(uint16_t* dst,
2240                                      ptrdiff_t stride,
2241                                      const uint16_t* above,
2242                                      const uint16_t* left,
2243                                      int bd);
2244 void vpx_highbd_d135_predictor_4x4_neon(uint16_t* dst,
2245                                         ptrdiff_t stride,
2246                                         const uint16_t* above,
2247                                         const uint16_t* left,
2248                                         int bd);
2249 #define vpx_highbd_d135_predictor_4x4 vpx_highbd_d135_predictor_4x4_neon
2250 
2251 void vpx_highbd_d135_predictor_8x8_c(uint16_t* dst,
2252                                      ptrdiff_t stride,
2253                                      const uint16_t* above,
2254                                      const uint16_t* left,
2255                                      int bd);
2256 void vpx_highbd_d135_predictor_8x8_neon(uint16_t* dst,
2257                                         ptrdiff_t stride,
2258                                         const uint16_t* above,
2259                                         const uint16_t* left,
2260                                         int bd);
2261 #define vpx_highbd_d135_predictor_8x8 vpx_highbd_d135_predictor_8x8_neon
2262 
2263 void vpx_highbd_d153_predictor_16x16_c(uint16_t* dst,
2264                                        ptrdiff_t stride,
2265                                        const uint16_t* above,
2266                                        const uint16_t* left,
2267                                        int bd);
2268 #define vpx_highbd_d153_predictor_16x16 vpx_highbd_d153_predictor_16x16_c
2269 
2270 void vpx_highbd_d153_predictor_32x32_c(uint16_t* dst,
2271                                        ptrdiff_t stride,
2272                                        const uint16_t* above,
2273                                        const uint16_t* left,
2274                                        int bd);
2275 #define vpx_highbd_d153_predictor_32x32 vpx_highbd_d153_predictor_32x32_c
2276 
2277 void vpx_highbd_d153_predictor_4x4_c(uint16_t* dst,
2278                                      ptrdiff_t stride,
2279                                      const uint16_t* above,
2280                                      const uint16_t* left,
2281                                      int bd);
2282 #define vpx_highbd_d153_predictor_4x4 vpx_highbd_d153_predictor_4x4_c
2283 
2284 void vpx_highbd_d153_predictor_8x8_c(uint16_t* dst,
2285                                      ptrdiff_t stride,
2286                                      const uint16_t* above,
2287                                      const uint16_t* left,
2288                                      int bd);
2289 #define vpx_highbd_d153_predictor_8x8 vpx_highbd_d153_predictor_8x8_c
2290 
2291 void vpx_highbd_d207_predictor_16x16_c(uint16_t* dst,
2292                                        ptrdiff_t stride,
2293                                        const uint16_t* above,
2294                                        const uint16_t* left,
2295                                        int bd);
2296 #define vpx_highbd_d207_predictor_16x16 vpx_highbd_d207_predictor_16x16_c
2297 
2298 void vpx_highbd_d207_predictor_32x32_c(uint16_t* dst,
2299                                        ptrdiff_t stride,
2300                                        const uint16_t* above,
2301                                        const uint16_t* left,
2302                                        int bd);
2303 #define vpx_highbd_d207_predictor_32x32 vpx_highbd_d207_predictor_32x32_c
2304 
2305 void vpx_highbd_d207_predictor_4x4_c(uint16_t* dst,
2306                                      ptrdiff_t stride,
2307                                      const uint16_t* above,
2308                                      const uint16_t* left,
2309                                      int bd);
2310 #define vpx_highbd_d207_predictor_4x4 vpx_highbd_d207_predictor_4x4_c
2311 
2312 void vpx_highbd_d207_predictor_8x8_c(uint16_t* dst,
2313                                      ptrdiff_t stride,
2314                                      const uint16_t* above,
2315                                      const uint16_t* left,
2316                                      int bd);
2317 #define vpx_highbd_d207_predictor_8x8 vpx_highbd_d207_predictor_8x8_c
2318 
2319 void vpx_highbd_d45_predictor_16x16_c(uint16_t* dst,
2320                                       ptrdiff_t stride,
2321                                       const uint16_t* above,
2322                                       const uint16_t* left,
2323                                       int bd);
2324 void vpx_highbd_d45_predictor_16x16_neon(uint16_t* dst,
2325                                          ptrdiff_t stride,
2326                                          const uint16_t* above,
2327                                          const uint16_t* left,
2328                                          int bd);
2329 #define vpx_highbd_d45_predictor_16x16 vpx_highbd_d45_predictor_16x16_neon
2330 
2331 void vpx_highbd_d45_predictor_32x32_c(uint16_t* dst,
2332                                       ptrdiff_t stride,
2333                                       const uint16_t* above,
2334                                       const uint16_t* left,
2335                                       int bd);
2336 void vpx_highbd_d45_predictor_32x32_neon(uint16_t* dst,
2337                                          ptrdiff_t stride,
2338                                          const uint16_t* above,
2339                                          const uint16_t* left,
2340                                          int bd);
2341 #define vpx_highbd_d45_predictor_32x32 vpx_highbd_d45_predictor_32x32_neon
2342 
2343 void vpx_highbd_d45_predictor_4x4_c(uint16_t* dst,
2344                                     ptrdiff_t stride,
2345                                     const uint16_t* above,
2346                                     const uint16_t* left,
2347                                     int bd);
2348 void vpx_highbd_d45_predictor_4x4_neon(uint16_t* dst,
2349                                        ptrdiff_t stride,
2350                                        const uint16_t* above,
2351                                        const uint16_t* left,
2352                                        int bd);
2353 #define vpx_highbd_d45_predictor_4x4 vpx_highbd_d45_predictor_4x4_neon
2354 
2355 void vpx_highbd_d45_predictor_8x8_c(uint16_t* dst,
2356                                     ptrdiff_t stride,
2357                                     const uint16_t* above,
2358                                     const uint16_t* left,
2359                                     int bd);
2360 void vpx_highbd_d45_predictor_8x8_neon(uint16_t* dst,
2361                                        ptrdiff_t stride,
2362                                        const uint16_t* above,
2363                                        const uint16_t* left,
2364                                        int bd);
2365 #define vpx_highbd_d45_predictor_8x8 vpx_highbd_d45_predictor_8x8_neon
2366 
2367 void vpx_highbd_d63_predictor_16x16_c(uint16_t* dst,
2368                                       ptrdiff_t stride,
2369                                       const uint16_t* above,
2370                                       const uint16_t* left,
2371                                       int bd);
2372 #define vpx_highbd_d63_predictor_16x16 vpx_highbd_d63_predictor_16x16_c
2373 
2374 void vpx_highbd_d63_predictor_32x32_c(uint16_t* dst,
2375                                       ptrdiff_t stride,
2376                                       const uint16_t* above,
2377                                       const uint16_t* left,
2378                                       int bd);
2379 #define vpx_highbd_d63_predictor_32x32 vpx_highbd_d63_predictor_32x32_c
2380 
2381 void vpx_highbd_d63_predictor_4x4_c(uint16_t* dst,
2382                                     ptrdiff_t stride,
2383                                     const uint16_t* above,
2384                                     const uint16_t* left,
2385                                     int bd);
2386 #define vpx_highbd_d63_predictor_4x4 vpx_highbd_d63_predictor_4x4_c
2387 
2388 void vpx_highbd_d63_predictor_8x8_c(uint16_t* dst,
2389                                     ptrdiff_t stride,
2390                                     const uint16_t* above,
2391                                     const uint16_t* left,
2392                                     int bd);
2393 #define vpx_highbd_d63_predictor_8x8 vpx_highbd_d63_predictor_8x8_c
2394 
2395 void vpx_highbd_dc_128_predictor_16x16_c(uint16_t* dst,
2396                                          ptrdiff_t stride,
2397                                          const uint16_t* above,
2398                                          const uint16_t* left,
2399                                          int bd);
2400 void vpx_highbd_dc_128_predictor_16x16_neon(uint16_t* dst,
2401                                             ptrdiff_t stride,
2402                                             const uint16_t* above,
2403                                             const uint16_t* left,
2404                                             int bd);
2405 #define vpx_highbd_dc_128_predictor_16x16 vpx_highbd_dc_128_predictor_16x16_neon
2406 
2407 void vpx_highbd_dc_128_predictor_32x32_c(uint16_t* dst,
2408                                          ptrdiff_t stride,
2409                                          const uint16_t* above,
2410                                          const uint16_t* left,
2411                                          int bd);
2412 void vpx_highbd_dc_128_predictor_32x32_neon(uint16_t* dst,
2413                                             ptrdiff_t stride,
2414                                             const uint16_t* above,
2415                                             const uint16_t* left,
2416                                             int bd);
2417 #define vpx_highbd_dc_128_predictor_32x32 vpx_highbd_dc_128_predictor_32x32_neon
2418 
2419 void vpx_highbd_dc_128_predictor_4x4_c(uint16_t* dst,
2420                                        ptrdiff_t stride,
2421                                        const uint16_t* above,
2422                                        const uint16_t* left,
2423                                        int bd);
2424 void vpx_highbd_dc_128_predictor_4x4_neon(uint16_t* dst,
2425                                           ptrdiff_t stride,
2426                                           const uint16_t* above,
2427                                           const uint16_t* left,
2428                                           int bd);
2429 #define vpx_highbd_dc_128_predictor_4x4 vpx_highbd_dc_128_predictor_4x4_neon
2430 
2431 void vpx_highbd_dc_128_predictor_8x8_c(uint16_t* dst,
2432                                        ptrdiff_t stride,
2433                                        const uint16_t* above,
2434                                        const uint16_t* left,
2435                                        int bd);
2436 void vpx_highbd_dc_128_predictor_8x8_neon(uint16_t* dst,
2437                                           ptrdiff_t stride,
2438                                           const uint16_t* above,
2439                                           const uint16_t* left,
2440                                           int bd);
2441 #define vpx_highbd_dc_128_predictor_8x8 vpx_highbd_dc_128_predictor_8x8_neon
2442 
2443 void vpx_highbd_dc_left_predictor_16x16_c(uint16_t* dst,
2444                                           ptrdiff_t stride,
2445                                           const uint16_t* above,
2446                                           const uint16_t* left,
2447                                           int bd);
2448 void vpx_highbd_dc_left_predictor_16x16_neon(uint16_t* dst,
2449                                              ptrdiff_t stride,
2450                                              const uint16_t* above,
2451                                              const uint16_t* left,
2452                                              int bd);
2453 #define vpx_highbd_dc_left_predictor_16x16 \
2454   vpx_highbd_dc_left_predictor_16x16_neon
2455 
2456 void vpx_highbd_dc_left_predictor_32x32_c(uint16_t* dst,
2457                                           ptrdiff_t stride,
2458                                           const uint16_t* above,
2459                                           const uint16_t* left,
2460                                           int bd);
2461 void vpx_highbd_dc_left_predictor_32x32_neon(uint16_t* dst,
2462                                              ptrdiff_t stride,
2463                                              const uint16_t* above,
2464                                              const uint16_t* left,
2465                                              int bd);
2466 #define vpx_highbd_dc_left_predictor_32x32 \
2467   vpx_highbd_dc_left_predictor_32x32_neon
2468 
2469 void vpx_highbd_dc_left_predictor_4x4_c(uint16_t* dst,
2470                                         ptrdiff_t stride,
2471                                         const uint16_t* above,
2472                                         const uint16_t* left,
2473                                         int bd);
2474 void vpx_highbd_dc_left_predictor_4x4_neon(uint16_t* dst,
2475                                            ptrdiff_t stride,
2476                                            const uint16_t* above,
2477                                            const uint16_t* left,
2478                                            int bd);
2479 #define vpx_highbd_dc_left_predictor_4x4 vpx_highbd_dc_left_predictor_4x4_neon
2480 
2481 void vpx_highbd_dc_left_predictor_8x8_c(uint16_t* dst,
2482                                         ptrdiff_t stride,
2483                                         const uint16_t* above,
2484                                         const uint16_t* left,
2485                                         int bd);
2486 void vpx_highbd_dc_left_predictor_8x8_neon(uint16_t* dst,
2487                                            ptrdiff_t stride,
2488                                            const uint16_t* above,
2489                                            const uint16_t* left,
2490                                            int bd);
2491 #define vpx_highbd_dc_left_predictor_8x8 vpx_highbd_dc_left_predictor_8x8_neon
2492 
2493 void vpx_highbd_dc_predictor_16x16_c(uint16_t* dst,
2494                                      ptrdiff_t stride,
2495                                      const uint16_t* above,
2496                                      const uint16_t* left,
2497                                      int bd);
2498 void vpx_highbd_dc_predictor_16x16_neon(uint16_t* dst,
2499                                         ptrdiff_t stride,
2500                                         const uint16_t* above,
2501                                         const uint16_t* left,
2502                                         int bd);
2503 #define vpx_highbd_dc_predictor_16x16 vpx_highbd_dc_predictor_16x16_neon
2504 
2505 void vpx_highbd_dc_predictor_32x32_c(uint16_t* dst,
2506                                      ptrdiff_t stride,
2507                                      const uint16_t* above,
2508                                      const uint16_t* left,
2509                                      int bd);
2510 void vpx_highbd_dc_predictor_32x32_neon(uint16_t* dst,
2511                                         ptrdiff_t stride,
2512                                         const uint16_t* above,
2513                                         const uint16_t* left,
2514                                         int bd);
2515 #define vpx_highbd_dc_predictor_32x32 vpx_highbd_dc_predictor_32x32_neon
2516 
2517 void vpx_highbd_dc_predictor_4x4_c(uint16_t* dst,
2518                                    ptrdiff_t stride,
2519                                    const uint16_t* above,
2520                                    const uint16_t* left,
2521                                    int bd);
2522 void vpx_highbd_dc_predictor_4x4_neon(uint16_t* dst,
2523                                       ptrdiff_t stride,
2524                                       const uint16_t* above,
2525                                       const uint16_t* left,
2526                                       int bd);
2527 #define vpx_highbd_dc_predictor_4x4 vpx_highbd_dc_predictor_4x4_neon
2528 
2529 void vpx_highbd_dc_predictor_8x8_c(uint16_t* dst,
2530                                    ptrdiff_t stride,
2531                                    const uint16_t* above,
2532                                    const uint16_t* left,
2533                                    int bd);
2534 void vpx_highbd_dc_predictor_8x8_neon(uint16_t* dst,
2535                                       ptrdiff_t stride,
2536                                       const uint16_t* above,
2537                                       const uint16_t* left,
2538                                       int bd);
2539 #define vpx_highbd_dc_predictor_8x8 vpx_highbd_dc_predictor_8x8_neon
2540 
2541 void vpx_highbd_dc_top_predictor_16x16_c(uint16_t* dst,
2542                                          ptrdiff_t stride,
2543                                          const uint16_t* above,
2544                                          const uint16_t* left,
2545                                          int bd);
2546 void vpx_highbd_dc_top_predictor_16x16_neon(uint16_t* dst,
2547                                             ptrdiff_t stride,
2548                                             const uint16_t* above,
2549                                             const uint16_t* left,
2550                                             int bd);
2551 #define vpx_highbd_dc_top_predictor_16x16 vpx_highbd_dc_top_predictor_16x16_neon
2552 
2553 void vpx_highbd_dc_top_predictor_32x32_c(uint16_t* dst,
2554                                          ptrdiff_t stride,
2555                                          const uint16_t* above,
2556                                          const uint16_t* left,
2557                                          int bd);
2558 void vpx_highbd_dc_top_predictor_32x32_neon(uint16_t* dst,
2559                                             ptrdiff_t stride,
2560                                             const uint16_t* above,
2561                                             const uint16_t* left,
2562                                             int bd);
2563 #define vpx_highbd_dc_top_predictor_32x32 vpx_highbd_dc_top_predictor_32x32_neon
2564 
2565 void vpx_highbd_dc_top_predictor_4x4_c(uint16_t* dst,
2566                                        ptrdiff_t stride,
2567                                        const uint16_t* above,
2568                                        const uint16_t* left,
2569                                        int bd);
2570 void vpx_highbd_dc_top_predictor_4x4_neon(uint16_t* dst,
2571                                           ptrdiff_t stride,
2572                                           const uint16_t* above,
2573                                           const uint16_t* left,
2574                                           int bd);
2575 #define vpx_highbd_dc_top_predictor_4x4 vpx_highbd_dc_top_predictor_4x4_neon
2576 
2577 void vpx_highbd_dc_top_predictor_8x8_c(uint16_t* dst,
2578                                        ptrdiff_t stride,
2579                                        const uint16_t* above,
2580                                        const uint16_t* left,
2581                                        int bd);
2582 void vpx_highbd_dc_top_predictor_8x8_neon(uint16_t* dst,
2583                                           ptrdiff_t stride,
2584                                           const uint16_t* above,
2585                                           const uint16_t* left,
2586                                           int bd);
2587 #define vpx_highbd_dc_top_predictor_8x8 vpx_highbd_dc_top_predictor_8x8_neon
2588 
2589 void vpx_highbd_fdct16x16_c(const int16_t* input,
2590                             tran_low_t* output,
2591                             int stride);
2592 #define vpx_highbd_fdct16x16 vpx_highbd_fdct16x16_c
2593 
2594 void vpx_highbd_fdct16x16_1_c(const int16_t* input,
2595                               tran_low_t* output,
2596                               int stride);
2597 #define vpx_highbd_fdct16x16_1 vpx_highbd_fdct16x16_1_c
2598 
2599 void vpx_highbd_fdct32x32_c(const int16_t* input,
2600                             tran_low_t* output,
2601                             int stride);
2602 #define vpx_highbd_fdct32x32 vpx_highbd_fdct32x32_c
2603 
2604 void vpx_highbd_fdct32x32_1_c(const int16_t* input,
2605                               tran_low_t* output,
2606                               int stride);
2607 #define vpx_highbd_fdct32x32_1 vpx_highbd_fdct32x32_1_c
2608 
2609 void vpx_highbd_fdct32x32_rd_c(const int16_t* input,
2610                                tran_low_t* output,
2611                                int stride);
2612 #define vpx_highbd_fdct32x32_rd vpx_highbd_fdct32x32_rd_c
2613 
2614 void vpx_highbd_fdct4x4_c(const int16_t* input, tran_low_t* output, int stride);
2615 #define vpx_highbd_fdct4x4 vpx_highbd_fdct4x4_c
2616 
2617 void vpx_highbd_fdct8x8_c(const int16_t* input, tran_low_t* output, int stride);
2618 #define vpx_highbd_fdct8x8 vpx_highbd_fdct8x8_c
2619 
2620 void vpx_highbd_fdct8x8_1_c(const int16_t* input,
2621                             tran_low_t* output,
2622                             int stride);
2623 void vpx_fdct8x8_1_neon(const int16_t* input, tran_low_t* output, int stride);
2624 #define vpx_highbd_fdct8x8_1 vpx_fdct8x8_1_neon
2625 
2626 void vpx_highbd_h_predictor_16x16_c(uint16_t* dst,
2627                                     ptrdiff_t stride,
2628                                     const uint16_t* above,
2629                                     const uint16_t* left,
2630                                     int bd);
2631 void vpx_highbd_h_predictor_16x16_neon(uint16_t* dst,
2632                                        ptrdiff_t stride,
2633                                        const uint16_t* above,
2634                                        const uint16_t* left,
2635                                        int bd);
2636 #define vpx_highbd_h_predictor_16x16 vpx_highbd_h_predictor_16x16_neon
2637 
2638 void vpx_highbd_h_predictor_32x32_c(uint16_t* dst,
2639                                     ptrdiff_t stride,
2640                                     const uint16_t* above,
2641                                     const uint16_t* left,
2642                                     int bd);
2643 void vpx_highbd_h_predictor_32x32_neon(uint16_t* dst,
2644                                        ptrdiff_t stride,
2645                                        const uint16_t* above,
2646                                        const uint16_t* left,
2647                                        int bd);
2648 #define vpx_highbd_h_predictor_32x32 vpx_highbd_h_predictor_32x32_neon
2649 
2650 void vpx_highbd_h_predictor_4x4_c(uint16_t* dst,
2651                                   ptrdiff_t stride,
2652                                   const uint16_t* above,
2653                                   const uint16_t* left,
2654                                   int bd);
2655 void vpx_highbd_h_predictor_4x4_neon(uint16_t* dst,
2656                                      ptrdiff_t stride,
2657                                      const uint16_t* above,
2658                                      const uint16_t* left,
2659                                      int bd);
2660 #define vpx_highbd_h_predictor_4x4 vpx_highbd_h_predictor_4x4_neon
2661 
2662 void vpx_highbd_h_predictor_8x8_c(uint16_t* dst,
2663                                   ptrdiff_t stride,
2664                                   const uint16_t* above,
2665                                   const uint16_t* left,
2666                                   int bd);
2667 void vpx_highbd_h_predictor_8x8_neon(uint16_t* dst,
2668                                      ptrdiff_t stride,
2669                                      const uint16_t* above,
2670                                      const uint16_t* left,
2671                                      int bd);
2672 #define vpx_highbd_h_predictor_8x8 vpx_highbd_h_predictor_8x8_neon
2673 
2674 void vpx_highbd_hadamard_16x16_c(const int16_t* src_diff,
2675                                  ptrdiff_t src_stride,
2676                                  tran_low_t* coeff);
2677 #define vpx_highbd_hadamard_16x16 vpx_highbd_hadamard_16x16_c
2678 
2679 void vpx_highbd_hadamard_32x32_c(const int16_t* src_diff,
2680                                  ptrdiff_t src_stride,
2681                                  tran_low_t* coeff);
2682 #define vpx_highbd_hadamard_32x32 vpx_highbd_hadamard_32x32_c
2683 
2684 void vpx_highbd_hadamard_8x8_c(const int16_t* src_diff,
2685                                ptrdiff_t src_stride,
2686                                tran_low_t* coeff);
2687 #define vpx_highbd_hadamard_8x8 vpx_highbd_hadamard_8x8_c
2688 
2689 void vpx_highbd_idct16x16_10_add_c(const tran_low_t* input,
2690                                    uint16_t* dest,
2691                                    int stride,
2692                                    int bd);
2693 void vpx_highbd_idct16x16_10_add_neon(const tran_low_t* input,
2694                                       uint16_t* dest,
2695                                       int stride,
2696                                       int bd);
2697 #define vpx_highbd_idct16x16_10_add vpx_highbd_idct16x16_10_add_neon
2698 
2699 void vpx_highbd_idct16x16_1_add_c(const tran_low_t* input,
2700                                   uint16_t* dest,
2701                                   int stride,
2702                                   int bd);
2703 void vpx_highbd_idct16x16_1_add_neon(const tran_low_t* input,
2704                                      uint16_t* dest,
2705                                      int stride,
2706                                      int bd);
2707 #define vpx_highbd_idct16x16_1_add vpx_highbd_idct16x16_1_add_neon
2708 
2709 void vpx_highbd_idct16x16_256_add_c(const tran_low_t* input,
2710                                     uint16_t* dest,
2711                                     int stride,
2712                                     int bd);
2713 void vpx_highbd_idct16x16_256_add_neon(const tran_low_t* input,
2714                                        uint16_t* dest,
2715                                        int stride,
2716                                        int bd);
2717 #define vpx_highbd_idct16x16_256_add vpx_highbd_idct16x16_256_add_neon
2718 
2719 void vpx_highbd_idct16x16_38_add_c(const tran_low_t* input,
2720                                    uint16_t* dest,
2721                                    int stride,
2722                                    int bd);
2723 void vpx_highbd_idct16x16_38_add_neon(const tran_low_t* input,
2724                                       uint16_t* dest,
2725                                       int stride,
2726                                       int bd);
2727 #define vpx_highbd_idct16x16_38_add vpx_highbd_idct16x16_38_add_neon
2728 
2729 void vpx_highbd_idct32x32_1024_add_c(const tran_low_t* input,
2730                                      uint16_t* dest,
2731                                      int stride,
2732                                      int bd);
2733 void vpx_highbd_idct32x32_1024_add_neon(const tran_low_t* input,
2734                                         uint16_t* dest,
2735                                         int stride,
2736                                         int bd);
2737 #define vpx_highbd_idct32x32_1024_add vpx_highbd_idct32x32_1024_add_neon
2738 
2739 void vpx_highbd_idct32x32_135_add_c(const tran_low_t* input,
2740                                     uint16_t* dest,
2741                                     int stride,
2742                                     int bd);
2743 void vpx_highbd_idct32x32_135_add_neon(const tran_low_t* input,
2744                                        uint16_t* dest,
2745                                        int stride,
2746                                        int bd);
2747 #define vpx_highbd_idct32x32_135_add vpx_highbd_idct32x32_135_add_neon
2748 
2749 void vpx_highbd_idct32x32_1_add_c(const tran_low_t* input,
2750                                   uint16_t* dest,
2751                                   int stride,
2752                                   int bd);
2753 void vpx_highbd_idct32x32_1_add_neon(const tran_low_t* input,
2754                                      uint16_t* dest,
2755                                      int stride,
2756                                      int bd);
2757 #define vpx_highbd_idct32x32_1_add vpx_highbd_idct32x32_1_add_neon
2758 
2759 void vpx_highbd_idct32x32_34_add_c(const tran_low_t* input,
2760                                    uint16_t* dest,
2761                                    int stride,
2762                                    int bd);
2763 void vpx_highbd_idct32x32_34_add_neon(const tran_low_t* input,
2764                                       uint16_t* dest,
2765                                       int stride,
2766                                       int bd);
2767 #define vpx_highbd_idct32x32_34_add vpx_highbd_idct32x32_34_add_neon
2768 
2769 void vpx_highbd_idct4x4_16_add_c(const tran_low_t* input,
2770                                  uint16_t* dest,
2771                                  int stride,
2772                                  int bd);
2773 void vpx_highbd_idct4x4_16_add_neon(const tran_low_t* input,
2774                                     uint16_t* dest,
2775                                     int stride,
2776                                     int bd);
2777 #define vpx_highbd_idct4x4_16_add vpx_highbd_idct4x4_16_add_neon
2778 
2779 void vpx_highbd_idct4x4_1_add_c(const tran_low_t* input,
2780                                 uint16_t* dest,
2781                                 int stride,
2782                                 int bd);
2783 void vpx_highbd_idct4x4_1_add_neon(const tran_low_t* input,
2784                                    uint16_t* dest,
2785                                    int stride,
2786                                    int bd);
2787 #define vpx_highbd_idct4x4_1_add vpx_highbd_idct4x4_1_add_neon
2788 
2789 void vpx_highbd_idct8x8_12_add_c(const tran_low_t* input,
2790                                  uint16_t* dest,
2791                                  int stride,
2792                                  int bd);
2793 void vpx_highbd_idct8x8_12_add_neon(const tran_low_t* input,
2794                                     uint16_t* dest,
2795                                     int stride,
2796                                     int bd);
2797 #define vpx_highbd_idct8x8_12_add vpx_highbd_idct8x8_12_add_neon
2798 
2799 void vpx_highbd_idct8x8_1_add_c(const tran_low_t* input,
2800                                 uint16_t* dest,
2801                                 int stride,
2802                                 int bd);
2803 void vpx_highbd_idct8x8_1_add_neon(const tran_low_t* input,
2804                                    uint16_t* dest,
2805                                    int stride,
2806                                    int bd);
2807 #define vpx_highbd_idct8x8_1_add vpx_highbd_idct8x8_1_add_neon
2808 
2809 void vpx_highbd_idct8x8_64_add_c(const tran_low_t* input,
2810                                  uint16_t* dest,
2811                                  int stride,
2812                                  int bd);
2813 void vpx_highbd_idct8x8_64_add_neon(const tran_low_t* input,
2814                                     uint16_t* dest,
2815                                     int stride,
2816                                     int bd);
2817 #define vpx_highbd_idct8x8_64_add vpx_highbd_idct8x8_64_add_neon
2818 
2819 void vpx_highbd_iwht4x4_16_add_c(const tran_low_t* input,
2820                                  uint16_t* dest,
2821                                  int stride,
2822                                  int bd);
2823 #define vpx_highbd_iwht4x4_16_add vpx_highbd_iwht4x4_16_add_c
2824 
2825 void vpx_highbd_iwht4x4_1_add_c(const tran_low_t* input,
2826                                 uint16_t* dest,
2827                                 int stride,
2828                                 int bd);
2829 #define vpx_highbd_iwht4x4_1_add vpx_highbd_iwht4x4_1_add_c
2830 
2831 void vpx_highbd_lpf_horizontal_16_c(uint16_t* s,
2832                                     int pitch,
2833                                     const uint8_t* blimit,
2834                                     const uint8_t* limit,
2835                                     const uint8_t* thresh,
2836                                     int bd);
2837 void vpx_highbd_lpf_horizontal_16_neon(uint16_t* s,
2838                                        int pitch,
2839                                        const uint8_t* blimit,
2840                                        const uint8_t* limit,
2841                                        const uint8_t* thresh,
2842                                        int bd);
2843 #define vpx_highbd_lpf_horizontal_16 vpx_highbd_lpf_horizontal_16_neon
2844 
2845 void vpx_highbd_lpf_horizontal_16_dual_c(uint16_t* s,
2846                                          int pitch,
2847                                          const uint8_t* blimit,
2848                                          const uint8_t* limit,
2849                                          const uint8_t* thresh,
2850                                          int bd);
2851 void vpx_highbd_lpf_horizontal_16_dual_neon(uint16_t* s,
2852                                             int pitch,
2853                                             const uint8_t* blimit,
2854                                             const uint8_t* limit,
2855                                             const uint8_t* thresh,
2856                                             int bd);
2857 #define vpx_highbd_lpf_horizontal_16_dual vpx_highbd_lpf_horizontal_16_dual_neon
2858 
2859 void vpx_highbd_lpf_horizontal_4_c(uint16_t* s,
2860                                    int pitch,
2861                                    const uint8_t* blimit,
2862                                    const uint8_t* limit,
2863                                    const uint8_t* thresh,
2864                                    int bd);
2865 void vpx_highbd_lpf_horizontal_4_neon(uint16_t* s,
2866                                       int pitch,
2867                                       const uint8_t* blimit,
2868                                       const uint8_t* limit,
2869                                       const uint8_t* thresh,
2870                                       int bd);
2871 #define vpx_highbd_lpf_horizontal_4 vpx_highbd_lpf_horizontal_4_neon
2872 
2873 void vpx_highbd_lpf_horizontal_4_dual_c(uint16_t* s,
2874                                         int pitch,
2875                                         const uint8_t* blimit0,
2876                                         const uint8_t* limit0,
2877                                         const uint8_t* thresh0,
2878                                         const uint8_t* blimit1,
2879                                         const uint8_t* limit1,
2880                                         const uint8_t* thresh1,
2881                                         int bd);
2882 void vpx_highbd_lpf_horizontal_4_dual_neon(uint16_t* s,
2883                                            int pitch,
2884                                            const uint8_t* blimit0,
2885                                            const uint8_t* limit0,
2886                                            const uint8_t* thresh0,
2887                                            const uint8_t* blimit1,
2888                                            const uint8_t* limit1,
2889                                            const uint8_t* thresh1,
2890                                            int bd);
2891 #define vpx_highbd_lpf_horizontal_4_dual vpx_highbd_lpf_horizontal_4_dual_neon
2892 
2893 void vpx_highbd_lpf_horizontal_8_c(uint16_t* s,
2894                                    int pitch,
2895                                    const uint8_t* blimit,
2896                                    const uint8_t* limit,
2897                                    const uint8_t* thresh,
2898                                    int bd);
2899 void vpx_highbd_lpf_horizontal_8_neon(uint16_t* s,
2900                                       int pitch,
2901                                       const uint8_t* blimit,
2902                                       const uint8_t* limit,
2903                                       const uint8_t* thresh,
2904                                       int bd);
2905 #define vpx_highbd_lpf_horizontal_8 vpx_highbd_lpf_horizontal_8_neon
2906 
2907 void vpx_highbd_lpf_horizontal_8_dual_c(uint16_t* s,
2908                                         int pitch,
2909                                         const uint8_t* blimit0,
2910                                         const uint8_t* limit0,
2911                                         const uint8_t* thresh0,
2912                                         const uint8_t* blimit1,
2913                                         const uint8_t* limit1,
2914                                         const uint8_t* thresh1,
2915                                         int bd);
2916 void vpx_highbd_lpf_horizontal_8_dual_neon(uint16_t* s,
2917                                            int pitch,
2918                                            const uint8_t* blimit0,
2919                                            const uint8_t* limit0,
2920                                            const uint8_t* thresh0,
2921                                            const uint8_t* blimit1,
2922                                            const uint8_t* limit1,
2923                                            const uint8_t* thresh1,
2924                                            int bd);
2925 #define vpx_highbd_lpf_horizontal_8_dual vpx_highbd_lpf_horizontal_8_dual_neon
2926 
2927 void vpx_highbd_lpf_vertical_16_c(uint16_t* s,
2928                                   int pitch,
2929                                   const uint8_t* blimit,
2930                                   const uint8_t* limit,
2931                                   const uint8_t* thresh,
2932                                   int bd);
2933 void vpx_highbd_lpf_vertical_16_neon(uint16_t* s,
2934                                      int pitch,
2935                                      const uint8_t* blimit,
2936                                      const uint8_t* limit,
2937                                      const uint8_t* thresh,
2938                                      int bd);
2939 #define vpx_highbd_lpf_vertical_16 vpx_highbd_lpf_vertical_16_neon
2940 
2941 void vpx_highbd_lpf_vertical_16_dual_c(uint16_t* s,
2942                                        int pitch,
2943                                        const uint8_t* blimit,
2944                                        const uint8_t* limit,
2945                                        const uint8_t* thresh,
2946                                        int bd);
2947 void vpx_highbd_lpf_vertical_16_dual_neon(uint16_t* s,
2948                                           int pitch,
2949                                           const uint8_t* blimit,
2950                                           const uint8_t* limit,
2951                                           const uint8_t* thresh,
2952                                           int bd);
2953 #define vpx_highbd_lpf_vertical_16_dual vpx_highbd_lpf_vertical_16_dual_neon
2954 
2955 void vpx_highbd_lpf_vertical_4_c(uint16_t* s,
2956                                  int pitch,
2957                                  const uint8_t* blimit,
2958                                  const uint8_t* limit,
2959                                  const uint8_t* thresh,
2960                                  int bd);
2961 void vpx_highbd_lpf_vertical_4_neon(uint16_t* s,
2962                                     int pitch,
2963                                     const uint8_t* blimit,
2964                                     const uint8_t* limit,
2965                                     const uint8_t* thresh,
2966                                     int bd);
2967 #define vpx_highbd_lpf_vertical_4 vpx_highbd_lpf_vertical_4_neon
2968 
2969 void vpx_highbd_lpf_vertical_4_dual_c(uint16_t* s,
2970                                       int pitch,
2971                                       const uint8_t* blimit0,
2972                                       const uint8_t* limit0,
2973                                       const uint8_t* thresh0,
2974                                       const uint8_t* blimit1,
2975                                       const uint8_t* limit1,
2976                                       const uint8_t* thresh1,
2977                                       int bd);
2978 void vpx_highbd_lpf_vertical_4_dual_neon(uint16_t* s,
2979                                          int pitch,
2980                                          const uint8_t* blimit0,
2981                                          const uint8_t* limit0,
2982                                          const uint8_t* thresh0,
2983                                          const uint8_t* blimit1,
2984                                          const uint8_t* limit1,
2985                                          const uint8_t* thresh1,
2986                                          int bd);
2987 #define vpx_highbd_lpf_vertical_4_dual vpx_highbd_lpf_vertical_4_dual_neon
2988 
2989 void vpx_highbd_lpf_vertical_8_c(uint16_t* s,
2990                                  int pitch,
2991                                  const uint8_t* blimit,
2992                                  const uint8_t* limit,
2993                                  const uint8_t* thresh,
2994                                  int bd);
2995 void vpx_highbd_lpf_vertical_8_neon(uint16_t* s,
2996                                     int pitch,
2997                                     const uint8_t* blimit,
2998                                     const uint8_t* limit,
2999                                     const uint8_t* thresh,
3000                                     int bd);
3001 #define vpx_highbd_lpf_vertical_8 vpx_highbd_lpf_vertical_8_neon
3002 
3003 void vpx_highbd_lpf_vertical_8_dual_c(uint16_t* s,
3004                                       int pitch,
3005                                       const uint8_t* blimit0,
3006                                       const uint8_t* limit0,
3007                                       const uint8_t* thresh0,
3008                                       const uint8_t* blimit1,
3009                                       const uint8_t* limit1,
3010                                       const uint8_t* thresh1,
3011                                       int bd);
3012 void vpx_highbd_lpf_vertical_8_dual_neon(uint16_t* s,
3013                                          int pitch,
3014                                          const uint8_t* blimit0,
3015                                          const uint8_t* limit0,
3016                                          const uint8_t* thresh0,
3017                                          const uint8_t* blimit1,
3018                                          const uint8_t* limit1,
3019                                          const uint8_t* thresh1,
3020                                          int bd);
3021 #define vpx_highbd_lpf_vertical_8_dual vpx_highbd_lpf_vertical_8_dual_neon
3022 
3023 void vpx_highbd_minmax_8x8_c(const uint8_t* s8,
3024                              int p,
3025                              const uint8_t* d8,
3026                              int dp,
3027                              int* min,
3028                              int* max);
3029 #define vpx_highbd_minmax_8x8 vpx_highbd_minmax_8x8_c
3030 
3031 void vpx_highbd_quantize_b_c(const tran_low_t* coeff_ptr,
3032                              intptr_t n_coeffs,
3033                              int skip_block,
3034                              const int16_t* zbin_ptr,
3035                              const int16_t* round_ptr,
3036                              const int16_t* quant_ptr,
3037                              const int16_t* quant_shift_ptr,
3038                              tran_low_t* qcoeff_ptr,
3039                              tran_low_t* dqcoeff_ptr,
3040                              const int16_t* dequant_ptr,
3041                              uint16_t* eob_ptr,
3042                              const int16_t* scan,
3043                              const int16_t* iscan);
3044 #define vpx_highbd_quantize_b vpx_highbd_quantize_b_c
3045 
3046 void vpx_highbd_quantize_b_32x32_c(const tran_low_t* coeff_ptr,
3047                                    intptr_t n_coeffs,
3048                                    int skip_block,
3049                                    const int16_t* zbin_ptr,
3050                                    const int16_t* round_ptr,
3051                                    const int16_t* quant_ptr,
3052                                    const int16_t* quant_shift_ptr,
3053                                    tran_low_t* qcoeff_ptr,
3054                                    tran_low_t* dqcoeff_ptr,
3055                                    const int16_t* dequant_ptr,
3056                                    uint16_t* eob_ptr,
3057                                    const int16_t* scan,
3058                                    const int16_t* iscan);
3059 #define vpx_highbd_quantize_b_32x32 vpx_highbd_quantize_b_32x32_c
3060 
3061 unsigned int vpx_highbd_sad16x16_c(const uint8_t* src_ptr,
3062                                    int src_stride,
3063                                    const uint8_t* ref_ptr,
3064                                    int ref_stride);
3065 #define vpx_highbd_sad16x16 vpx_highbd_sad16x16_c
3066 
3067 unsigned int vpx_highbd_sad16x16_avg_c(const uint8_t* src_ptr,
3068                                        int src_stride,
3069                                        const uint8_t* ref_ptr,
3070                                        int ref_stride,
3071                                        const uint8_t* second_pred);
3072 #define vpx_highbd_sad16x16_avg vpx_highbd_sad16x16_avg_c
3073 
3074 void vpx_highbd_sad16x16x4d_c(const uint8_t* src_ptr,
3075                               int src_stride,
3076                               const uint8_t* const ref_array[],
3077                               int ref_stride,
3078                               uint32_t* sad_array);
3079 #define vpx_highbd_sad16x16x4d vpx_highbd_sad16x16x4d_c
3080 
3081 unsigned int vpx_highbd_sad16x32_c(const uint8_t* src_ptr,
3082                                    int src_stride,
3083                                    const uint8_t* ref_ptr,
3084                                    int ref_stride);
3085 #define vpx_highbd_sad16x32 vpx_highbd_sad16x32_c
3086 
3087 unsigned int vpx_highbd_sad16x32_avg_c(const uint8_t* src_ptr,
3088                                        int src_stride,
3089                                        const uint8_t* ref_ptr,
3090                                        int ref_stride,
3091                                        const uint8_t* second_pred);
3092 #define vpx_highbd_sad16x32_avg vpx_highbd_sad16x32_avg_c
3093 
3094 void vpx_highbd_sad16x32x4d_c(const uint8_t* src_ptr,
3095                               int src_stride,
3096                               const uint8_t* const ref_array[],
3097                               int ref_stride,
3098                               uint32_t* sad_array);
3099 #define vpx_highbd_sad16x32x4d vpx_highbd_sad16x32x4d_c
3100 
3101 unsigned int vpx_highbd_sad16x8_c(const uint8_t* src_ptr,
3102                                   int src_stride,
3103                                   const uint8_t* ref_ptr,
3104                                   int ref_stride);
3105 #define vpx_highbd_sad16x8 vpx_highbd_sad16x8_c
3106 
3107 unsigned int vpx_highbd_sad16x8_avg_c(const uint8_t* src_ptr,
3108                                       int src_stride,
3109                                       const uint8_t* ref_ptr,
3110                                       int ref_stride,
3111                                       const uint8_t* second_pred);
3112 #define vpx_highbd_sad16x8_avg vpx_highbd_sad16x8_avg_c
3113 
3114 void vpx_highbd_sad16x8x4d_c(const uint8_t* src_ptr,
3115                              int src_stride,
3116                              const uint8_t* const ref_array[],
3117                              int ref_stride,
3118                              uint32_t* sad_array);
3119 #define vpx_highbd_sad16x8x4d vpx_highbd_sad16x8x4d_c
3120 
3121 unsigned int vpx_highbd_sad32x16_c(const uint8_t* src_ptr,
3122                                    int src_stride,
3123                                    const uint8_t* ref_ptr,
3124                                    int ref_stride);
3125 #define vpx_highbd_sad32x16 vpx_highbd_sad32x16_c
3126 
3127 unsigned int vpx_highbd_sad32x16_avg_c(const uint8_t* src_ptr,
3128                                        int src_stride,
3129                                        const uint8_t* ref_ptr,
3130                                        int ref_stride,
3131                                        const uint8_t* second_pred);
3132 #define vpx_highbd_sad32x16_avg vpx_highbd_sad32x16_avg_c
3133 
3134 void vpx_highbd_sad32x16x4d_c(const uint8_t* src_ptr,
3135                               int src_stride,
3136                               const uint8_t* const ref_array[],
3137                               int ref_stride,
3138                               uint32_t* sad_array);
3139 #define vpx_highbd_sad32x16x4d vpx_highbd_sad32x16x4d_c
3140 
3141 unsigned int vpx_highbd_sad32x32_c(const uint8_t* src_ptr,
3142                                    int src_stride,
3143                                    const uint8_t* ref_ptr,
3144                                    int ref_stride);
3145 #define vpx_highbd_sad32x32 vpx_highbd_sad32x32_c
3146 
3147 unsigned int vpx_highbd_sad32x32_avg_c(const uint8_t* src_ptr,
3148                                        int src_stride,
3149                                        const uint8_t* ref_ptr,
3150                                        int ref_stride,
3151                                        const uint8_t* second_pred);
3152 #define vpx_highbd_sad32x32_avg vpx_highbd_sad32x32_avg_c
3153 
3154 void vpx_highbd_sad32x32x4d_c(const uint8_t* src_ptr,
3155                               int src_stride,
3156                               const uint8_t* const ref_array[],
3157                               int ref_stride,
3158                               uint32_t* sad_array);
3159 #define vpx_highbd_sad32x32x4d vpx_highbd_sad32x32x4d_c
3160 
3161 unsigned int vpx_highbd_sad32x64_c(const uint8_t* src_ptr,
3162                                    int src_stride,
3163                                    const uint8_t* ref_ptr,
3164                                    int ref_stride);
3165 #define vpx_highbd_sad32x64 vpx_highbd_sad32x64_c
3166 
3167 unsigned int vpx_highbd_sad32x64_avg_c(const uint8_t* src_ptr,
3168                                        int src_stride,
3169                                        const uint8_t* ref_ptr,
3170                                        int ref_stride,
3171                                        const uint8_t* second_pred);
3172 #define vpx_highbd_sad32x64_avg vpx_highbd_sad32x64_avg_c
3173 
3174 void vpx_highbd_sad32x64x4d_c(const uint8_t* src_ptr,
3175                               int src_stride,
3176                               const uint8_t* const ref_array[],
3177                               int ref_stride,
3178                               uint32_t* sad_array);
3179 #define vpx_highbd_sad32x64x4d vpx_highbd_sad32x64x4d_c
3180 
3181 unsigned int vpx_highbd_sad4x4_c(const uint8_t* src_ptr,
3182                                  int src_stride,
3183                                  const uint8_t* ref_ptr,
3184                                  int ref_stride);
3185 #define vpx_highbd_sad4x4 vpx_highbd_sad4x4_c
3186 
3187 unsigned int vpx_highbd_sad4x4_avg_c(const uint8_t* src_ptr,
3188                                      int src_stride,
3189                                      const uint8_t* ref_ptr,
3190                                      int ref_stride,
3191                                      const uint8_t* second_pred);
3192 #define vpx_highbd_sad4x4_avg vpx_highbd_sad4x4_avg_c
3193 
3194 void vpx_highbd_sad4x4x4d_c(const uint8_t* src_ptr,
3195                             int src_stride,
3196                             const uint8_t* const ref_array[],
3197                             int ref_stride,
3198                             uint32_t* sad_array);
3199 #define vpx_highbd_sad4x4x4d vpx_highbd_sad4x4x4d_c
3200 
3201 unsigned int vpx_highbd_sad4x8_c(const uint8_t* src_ptr,
3202                                  int src_stride,
3203                                  const uint8_t* ref_ptr,
3204                                  int ref_stride);
3205 #define vpx_highbd_sad4x8 vpx_highbd_sad4x8_c
3206 
3207 unsigned int vpx_highbd_sad4x8_avg_c(const uint8_t* src_ptr,
3208                                      int src_stride,
3209                                      const uint8_t* ref_ptr,
3210                                      int ref_stride,
3211                                      const uint8_t* second_pred);
3212 #define vpx_highbd_sad4x8_avg vpx_highbd_sad4x8_avg_c
3213 
3214 void vpx_highbd_sad4x8x4d_c(const uint8_t* src_ptr,
3215                             int src_stride,
3216                             const uint8_t* const ref_array[],
3217                             int ref_stride,
3218                             uint32_t* sad_array);
3219 #define vpx_highbd_sad4x8x4d vpx_highbd_sad4x8x4d_c
3220 
3221 unsigned int vpx_highbd_sad64x32_c(const uint8_t* src_ptr,
3222                                    int src_stride,
3223                                    const uint8_t* ref_ptr,
3224                                    int ref_stride);
3225 #define vpx_highbd_sad64x32 vpx_highbd_sad64x32_c
3226 
3227 unsigned int vpx_highbd_sad64x32_avg_c(const uint8_t* src_ptr,
3228                                        int src_stride,
3229                                        const uint8_t* ref_ptr,
3230                                        int ref_stride,
3231                                        const uint8_t* second_pred);
3232 #define vpx_highbd_sad64x32_avg vpx_highbd_sad64x32_avg_c
3233 
3234 void vpx_highbd_sad64x32x4d_c(const uint8_t* src_ptr,
3235                               int src_stride,
3236                               const uint8_t* const ref_array[],
3237                               int ref_stride,
3238                               uint32_t* sad_array);
3239 #define vpx_highbd_sad64x32x4d vpx_highbd_sad64x32x4d_c
3240 
3241 unsigned int vpx_highbd_sad64x64_c(const uint8_t* src_ptr,
3242                                    int src_stride,
3243                                    const uint8_t* ref_ptr,
3244                                    int ref_stride);
3245 #define vpx_highbd_sad64x64 vpx_highbd_sad64x64_c
3246 
3247 unsigned int vpx_highbd_sad64x64_avg_c(const uint8_t* src_ptr,
3248                                        int src_stride,
3249                                        const uint8_t* ref_ptr,
3250                                        int ref_stride,
3251                                        const uint8_t* second_pred);
3252 #define vpx_highbd_sad64x64_avg vpx_highbd_sad64x64_avg_c
3253 
3254 void vpx_highbd_sad64x64x4d_c(const uint8_t* src_ptr,
3255                               int src_stride,
3256                               const uint8_t* const ref_array[],
3257                               int ref_stride,
3258                               uint32_t* sad_array);
3259 #define vpx_highbd_sad64x64x4d vpx_highbd_sad64x64x4d_c
3260 
3261 unsigned int vpx_highbd_sad8x16_c(const uint8_t* src_ptr,
3262                                   int src_stride,
3263                                   const uint8_t* ref_ptr,
3264                                   int ref_stride);
3265 #define vpx_highbd_sad8x16 vpx_highbd_sad8x16_c
3266 
3267 unsigned int vpx_highbd_sad8x16_avg_c(const uint8_t* src_ptr,
3268                                       int src_stride,
3269                                       const uint8_t* ref_ptr,
3270                                       int ref_stride,
3271                                       const uint8_t* second_pred);
3272 #define vpx_highbd_sad8x16_avg vpx_highbd_sad8x16_avg_c
3273 
3274 void vpx_highbd_sad8x16x4d_c(const uint8_t* src_ptr,
3275                              int src_stride,
3276                              const uint8_t* const ref_array[],
3277                              int ref_stride,
3278                              uint32_t* sad_array);
3279 #define vpx_highbd_sad8x16x4d vpx_highbd_sad8x16x4d_c
3280 
3281 unsigned int vpx_highbd_sad8x4_c(const uint8_t* src_ptr,
3282                                  int src_stride,
3283                                  const uint8_t* ref_ptr,
3284                                  int ref_stride);
3285 #define vpx_highbd_sad8x4 vpx_highbd_sad8x4_c
3286 
3287 unsigned int vpx_highbd_sad8x4_avg_c(const uint8_t* src_ptr,
3288                                      int src_stride,
3289                                      const uint8_t* ref_ptr,
3290                                      int ref_stride,
3291                                      const uint8_t* second_pred);
3292 #define vpx_highbd_sad8x4_avg vpx_highbd_sad8x4_avg_c
3293 
3294 void vpx_highbd_sad8x4x4d_c(const uint8_t* src_ptr,
3295                             int src_stride,
3296                             const uint8_t* const ref_array[],
3297                             int ref_stride,
3298                             uint32_t* sad_array);
3299 #define vpx_highbd_sad8x4x4d vpx_highbd_sad8x4x4d_c
3300 
3301 unsigned int vpx_highbd_sad8x8_c(const uint8_t* src_ptr,
3302                                  int src_stride,
3303                                  const uint8_t* ref_ptr,
3304                                  int ref_stride);
3305 #define vpx_highbd_sad8x8 vpx_highbd_sad8x8_c
3306 
3307 unsigned int vpx_highbd_sad8x8_avg_c(const uint8_t* src_ptr,
3308                                      int src_stride,
3309                                      const uint8_t* ref_ptr,
3310                                      int ref_stride,
3311                                      const uint8_t* second_pred);
3312 #define vpx_highbd_sad8x8_avg vpx_highbd_sad8x8_avg_c
3313 
3314 void vpx_highbd_sad8x8x4d_c(const uint8_t* src_ptr,
3315                             int src_stride,
3316                             const uint8_t* const ref_array[],
3317                             int ref_stride,
3318                             uint32_t* sad_array);
3319 #define vpx_highbd_sad8x8x4d vpx_highbd_sad8x8x4d_c
3320 
3321 int vpx_highbd_satd_c(const tran_low_t* coeff, int length);
3322 #define vpx_highbd_satd vpx_highbd_satd_c
3323 
3324 void vpx_highbd_subtract_block_c(int rows,
3325                                  int cols,
3326                                  int16_t* diff_ptr,
3327                                  ptrdiff_t diff_stride,
3328                                  const uint8_t* src8_ptr,
3329                                  ptrdiff_t src_stride,
3330                                  const uint8_t* pred8_ptr,
3331                                  ptrdiff_t pred_stride,
3332                                  int bd);
3333 #define vpx_highbd_subtract_block vpx_highbd_subtract_block_c
3334 
3335 void vpx_highbd_tm_predictor_16x16_c(uint16_t* dst,
3336                                      ptrdiff_t stride,
3337                                      const uint16_t* above,
3338                                      const uint16_t* left,
3339                                      int bd);
3340 void vpx_highbd_tm_predictor_16x16_neon(uint16_t* dst,
3341                                         ptrdiff_t stride,
3342                                         const uint16_t* above,
3343                                         const uint16_t* left,
3344                                         int bd);
3345 #define vpx_highbd_tm_predictor_16x16 vpx_highbd_tm_predictor_16x16_neon
3346 
3347 void vpx_highbd_tm_predictor_32x32_c(uint16_t* dst,
3348                                      ptrdiff_t stride,
3349                                      const uint16_t* above,
3350                                      const uint16_t* left,
3351                                      int bd);
3352 void vpx_highbd_tm_predictor_32x32_neon(uint16_t* dst,
3353                                         ptrdiff_t stride,
3354                                         const uint16_t* above,
3355                                         const uint16_t* left,
3356                                         int bd);
3357 #define vpx_highbd_tm_predictor_32x32 vpx_highbd_tm_predictor_32x32_neon
3358 
3359 void vpx_highbd_tm_predictor_4x4_c(uint16_t* dst,
3360                                    ptrdiff_t stride,
3361                                    const uint16_t* above,
3362                                    const uint16_t* left,
3363                                    int bd);
3364 void vpx_highbd_tm_predictor_4x4_neon(uint16_t* dst,
3365                                       ptrdiff_t stride,
3366                                       const uint16_t* above,
3367                                       const uint16_t* left,
3368                                       int bd);
3369 #define vpx_highbd_tm_predictor_4x4 vpx_highbd_tm_predictor_4x4_neon
3370 
3371 void vpx_highbd_tm_predictor_8x8_c(uint16_t* dst,
3372                                    ptrdiff_t stride,
3373                                    const uint16_t* above,
3374                                    const uint16_t* left,
3375                                    int bd);
3376 void vpx_highbd_tm_predictor_8x8_neon(uint16_t* dst,
3377                                       ptrdiff_t stride,
3378                                       const uint16_t* above,
3379                                       const uint16_t* left,
3380                                       int bd);
3381 #define vpx_highbd_tm_predictor_8x8 vpx_highbd_tm_predictor_8x8_neon
3382 
3383 void vpx_highbd_v_predictor_16x16_c(uint16_t* dst,
3384                                     ptrdiff_t stride,
3385                                     const uint16_t* above,
3386                                     const uint16_t* left,
3387                                     int bd);
3388 void vpx_highbd_v_predictor_16x16_neon(uint16_t* dst,
3389                                        ptrdiff_t stride,
3390                                        const uint16_t* above,
3391                                        const uint16_t* left,
3392                                        int bd);
3393 #define vpx_highbd_v_predictor_16x16 vpx_highbd_v_predictor_16x16_neon
3394 
3395 void vpx_highbd_v_predictor_32x32_c(uint16_t* dst,
3396                                     ptrdiff_t stride,
3397                                     const uint16_t* above,
3398                                     const uint16_t* left,
3399                                     int bd);
3400 void vpx_highbd_v_predictor_32x32_neon(uint16_t* dst,
3401                                        ptrdiff_t stride,
3402                                        const uint16_t* above,
3403                                        const uint16_t* left,
3404                                        int bd);
3405 #define vpx_highbd_v_predictor_32x32 vpx_highbd_v_predictor_32x32_neon
3406 
3407 void vpx_highbd_v_predictor_4x4_c(uint16_t* dst,
3408                                   ptrdiff_t stride,
3409                                   const uint16_t* above,
3410                                   const uint16_t* left,
3411                                   int bd);
3412 void vpx_highbd_v_predictor_4x4_neon(uint16_t* dst,
3413                                      ptrdiff_t stride,
3414                                      const uint16_t* above,
3415                                      const uint16_t* left,
3416                                      int bd);
3417 #define vpx_highbd_v_predictor_4x4 vpx_highbd_v_predictor_4x4_neon
3418 
3419 void vpx_highbd_v_predictor_8x8_c(uint16_t* dst,
3420                                   ptrdiff_t stride,
3421                                   const uint16_t* above,
3422                                   const uint16_t* left,
3423                                   int bd);
3424 void vpx_highbd_v_predictor_8x8_neon(uint16_t* dst,
3425                                      ptrdiff_t stride,
3426                                      const uint16_t* above,
3427                                      const uint16_t* left,
3428                                      int bd);
3429 #define vpx_highbd_v_predictor_8x8 vpx_highbd_v_predictor_8x8_neon
3430 
3431 void vpx_idct16x16_10_add_c(const tran_low_t* input, uint8_t* dest, int stride);
3432 void vpx_idct16x16_10_add_neon(const tran_low_t* input,
3433                                uint8_t* dest,
3434                                int stride);
3435 #define vpx_idct16x16_10_add vpx_idct16x16_10_add_neon
3436 
3437 void vpx_idct16x16_1_add_c(const tran_low_t* input, uint8_t* dest, int stride);
3438 void vpx_idct16x16_1_add_neon(const tran_low_t* input,
3439                               uint8_t* dest,
3440                               int stride);
3441 #define vpx_idct16x16_1_add vpx_idct16x16_1_add_neon
3442 
3443 void vpx_idct16x16_256_add_c(const tran_low_t* input,
3444                              uint8_t* dest,
3445                              int stride);
3446 void vpx_idct16x16_256_add_neon(const tran_low_t* input,
3447                                 uint8_t* dest,
3448                                 int stride);
3449 #define vpx_idct16x16_256_add vpx_idct16x16_256_add_neon
3450 
3451 void vpx_idct16x16_38_add_c(const tran_low_t* input, uint8_t* dest, int stride);
3452 void vpx_idct16x16_38_add_neon(const tran_low_t* input,
3453                                uint8_t* dest,
3454                                int stride);
3455 #define vpx_idct16x16_38_add vpx_idct16x16_38_add_neon
3456 
3457 void vpx_idct32x32_1024_add_c(const tran_low_t* input,
3458                               uint8_t* dest,
3459                               int stride);
3460 void vpx_idct32x32_1024_add_neon(const tran_low_t* input,
3461                                  uint8_t* dest,
3462                                  int stride);
3463 #define vpx_idct32x32_1024_add vpx_idct32x32_1024_add_neon
3464 
3465 void vpx_idct32x32_135_add_c(const tran_low_t* input,
3466                              uint8_t* dest,
3467                              int stride);
3468 void vpx_idct32x32_135_add_neon(const tran_low_t* input,
3469                                 uint8_t* dest,
3470                                 int stride);
3471 #define vpx_idct32x32_135_add vpx_idct32x32_135_add_neon
3472 
3473 void vpx_idct32x32_1_add_c(const tran_low_t* input, uint8_t* dest, int stride);
3474 void vpx_idct32x32_1_add_neon(const tran_low_t* input,
3475                               uint8_t* dest,
3476                               int stride);
3477 #define vpx_idct32x32_1_add vpx_idct32x32_1_add_neon
3478 
3479 void vpx_idct32x32_34_add_c(const tran_low_t* input, uint8_t* dest, int stride);
3480 void vpx_idct32x32_34_add_neon(const tran_low_t* input,
3481                                uint8_t* dest,
3482                                int stride);
3483 #define vpx_idct32x32_34_add vpx_idct32x32_34_add_neon
3484 
3485 void vpx_idct4x4_16_add_c(const tran_low_t* input, uint8_t* dest, int stride);
3486 void vpx_idct4x4_16_add_neon(const tran_low_t* input,
3487                              uint8_t* dest,
3488                              int stride);
3489 #define vpx_idct4x4_16_add vpx_idct4x4_16_add_neon
3490 
3491 void vpx_idct4x4_1_add_c(const tran_low_t* input, uint8_t* dest, int stride);
3492 void vpx_idct4x4_1_add_neon(const tran_low_t* input, uint8_t* dest, int stride);
3493 #define vpx_idct4x4_1_add vpx_idct4x4_1_add_neon
3494 
3495 void vpx_idct8x8_12_add_c(const tran_low_t* input, uint8_t* dest, int stride);
3496 void vpx_idct8x8_12_add_neon(const tran_low_t* input,
3497                              uint8_t* dest,
3498                              int stride);
3499 #define vpx_idct8x8_12_add vpx_idct8x8_12_add_neon
3500 
3501 void vpx_idct8x8_1_add_c(const tran_low_t* input, uint8_t* dest, int stride);
3502 void vpx_idct8x8_1_add_neon(const tran_low_t* input, uint8_t* dest, int stride);
3503 #define vpx_idct8x8_1_add vpx_idct8x8_1_add_neon
3504 
3505 void vpx_idct8x8_64_add_c(const tran_low_t* input, uint8_t* dest, int stride);
3506 void vpx_idct8x8_64_add_neon(const tran_low_t* input,
3507                              uint8_t* dest,
3508                              int stride);
3509 #define vpx_idct8x8_64_add vpx_idct8x8_64_add_neon
3510 
3511 int16_t vpx_int_pro_col_c(const uint8_t* ref, const int width);
3512 int16_t vpx_int_pro_col_neon(const uint8_t* ref, const int width);
3513 #define vpx_int_pro_col vpx_int_pro_col_neon
3514 
3515 void vpx_int_pro_row_c(int16_t* hbuf,
3516                        const uint8_t* ref,
3517                        const int ref_stride,
3518                        const int height);
3519 void vpx_int_pro_row_neon(int16_t* hbuf,
3520                           const uint8_t* ref,
3521                           const int ref_stride,
3522                           const int height);
3523 #define vpx_int_pro_row vpx_int_pro_row_neon
3524 
3525 void vpx_iwht4x4_16_add_c(const tran_low_t* input, uint8_t* dest, int stride);
3526 #define vpx_iwht4x4_16_add vpx_iwht4x4_16_add_c
3527 
3528 void vpx_iwht4x4_1_add_c(const tran_low_t* input, uint8_t* dest, int stride);
3529 #define vpx_iwht4x4_1_add vpx_iwht4x4_1_add_c
3530 
3531 void vpx_lpf_horizontal_16_c(uint8_t* s,
3532                              int pitch,
3533                              const uint8_t* blimit,
3534                              const uint8_t* limit,
3535                              const uint8_t* thresh);
3536 void vpx_lpf_horizontal_16_neon(uint8_t* s,
3537                                 int pitch,
3538                                 const uint8_t* blimit,
3539                                 const uint8_t* limit,
3540                                 const uint8_t* thresh);
3541 #define vpx_lpf_horizontal_16 vpx_lpf_horizontal_16_neon
3542 
3543 void vpx_lpf_horizontal_16_dual_c(uint8_t* s,
3544                                   int pitch,
3545                                   const uint8_t* blimit,
3546                                   const uint8_t* limit,
3547                                   const uint8_t* thresh);
3548 void vpx_lpf_horizontal_16_dual_neon(uint8_t* s,
3549                                      int pitch,
3550                                      const uint8_t* blimit,
3551                                      const uint8_t* limit,
3552                                      const uint8_t* thresh);
3553 #define vpx_lpf_horizontal_16_dual vpx_lpf_horizontal_16_dual_neon
3554 
3555 void vpx_lpf_horizontal_4_c(uint8_t* s,
3556                             int pitch,
3557                             const uint8_t* blimit,
3558                             const uint8_t* limit,
3559                             const uint8_t* thresh);
3560 void vpx_lpf_horizontal_4_neon(uint8_t* s,
3561                                int pitch,
3562                                const uint8_t* blimit,
3563                                const uint8_t* limit,
3564                                const uint8_t* thresh);
3565 #define vpx_lpf_horizontal_4 vpx_lpf_horizontal_4_neon
3566 
3567 void vpx_lpf_horizontal_4_dual_c(uint8_t* s,
3568                                  int pitch,
3569                                  const uint8_t* blimit0,
3570                                  const uint8_t* limit0,
3571                                  const uint8_t* thresh0,
3572                                  const uint8_t* blimit1,
3573                                  const uint8_t* limit1,
3574                                  const uint8_t* thresh1);
3575 void vpx_lpf_horizontal_4_dual_neon(uint8_t* s,
3576                                     int pitch,
3577                                     const uint8_t* blimit0,
3578                                     const uint8_t* limit0,
3579                                     const uint8_t* thresh0,
3580                                     const uint8_t* blimit1,
3581                                     const uint8_t* limit1,
3582                                     const uint8_t* thresh1);
3583 #define vpx_lpf_horizontal_4_dual vpx_lpf_horizontal_4_dual_neon
3584 
3585 void vpx_lpf_horizontal_8_c(uint8_t* s,
3586                             int pitch,
3587                             const uint8_t* blimit,
3588                             const uint8_t* limit,
3589                             const uint8_t* thresh);
3590 void vpx_lpf_horizontal_8_neon(uint8_t* s,
3591                                int pitch,
3592                                const uint8_t* blimit,
3593                                const uint8_t* limit,
3594                                const uint8_t* thresh);
3595 #define vpx_lpf_horizontal_8 vpx_lpf_horizontal_8_neon
3596 
3597 void vpx_lpf_horizontal_8_dual_c(uint8_t* s,
3598                                  int pitch,
3599                                  const uint8_t* blimit0,
3600                                  const uint8_t* limit0,
3601                                  const uint8_t* thresh0,
3602                                  const uint8_t* blimit1,
3603                                  const uint8_t* limit1,
3604                                  const uint8_t* thresh1);
3605 void vpx_lpf_horizontal_8_dual_neon(uint8_t* s,
3606                                     int pitch,
3607                                     const uint8_t* blimit0,
3608                                     const uint8_t* limit0,
3609                                     const uint8_t* thresh0,
3610                                     const uint8_t* blimit1,
3611                                     const uint8_t* limit1,
3612                                     const uint8_t* thresh1);
3613 #define vpx_lpf_horizontal_8_dual vpx_lpf_horizontal_8_dual_neon
3614 
3615 void vpx_lpf_vertical_16_c(uint8_t* s,
3616                            int pitch,
3617                            const uint8_t* blimit,
3618                            const uint8_t* limit,
3619                            const uint8_t* thresh);
3620 void vpx_lpf_vertical_16_neon(uint8_t* s,
3621                               int pitch,
3622                               const uint8_t* blimit,
3623                               const uint8_t* limit,
3624                               const uint8_t* thresh);
3625 #define vpx_lpf_vertical_16 vpx_lpf_vertical_16_neon
3626 
3627 void vpx_lpf_vertical_16_dual_c(uint8_t* s,
3628                                 int pitch,
3629                                 const uint8_t* blimit,
3630                                 const uint8_t* limit,
3631                                 const uint8_t* thresh);
3632 void vpx_lpf_vertical_16_dual_neon(uint8_t* s,
3633                                    int pitch,
3634                                    const uint8_t* blimit,
3635                                    const uint8_t* limit,
3636                                    const uint8_t* thresh);
3637 #define vpx_lpf_vertical_16_dual vpx_lpf_vertical_16_dual_neon
3638 
3639 void vpx_lpf_vertical_4_c(uint8_t* s,
3640                           int pitch,
3641                           const uint8_t* blimit,
3642                           const uint8_t* limit,
3643                           const uint8_t* thresh);
3644 void vpx_lpf_vertical_4_neon(uint8_t* s,
3645                              int pitch,
3646                              const uint8_t* blimit,
3647                              const uint8_t* limit,
3648                              const uint8_t* thresh);
3649 #define vpx_lpf_vertical_4 vpx_lpf_vertical_4_neon
3650 
3651 void vpx_lpf_vertical_4_dual_c(uint8_t* s,
3652                                int pitch,
3653                                const uint8_t* blimit0,
3654                                const uint8_t* limit0,
3655                                const uint8_t* thresh0,
3656                                const uint8_t* blimit1,
3657                                const uint8_t* limit1,
3658                                const uint8_t* thresh1);
3659 void vpx_lpf_vertical_4_dual_neon(uint8_t* s,
3660                                   int pitch,
3661                                   const uint8_t* blimit0,
3662                                   const uint8_t* limit0,
3663                                   const uint8_t* thresh0,
3664                                   const uint8_t* blimit1,
3665                                   const uint8_t* limit1,
3666                                   const uint8_t* thresh1);
3667 #define vpx_lpf_vertical_4_dual vpx_lpf_vertical_4_dual_neon
3668 
3669 void vpx_lpf_vertical_8_c(uint8_t* s,
3670                           int pitch,
3671                           const uint8_t* blimit,
3672                           const uint8_t* limit,
3673                           const uint8_t* thresh);
3674 void vpx_lpf_vertical_8_neon(uint8_t* s,
3675                              int pitch,
3676                              const uint8_t* blimit,
3677                              const uint8_t* limit,
3678                              const uint8_t* thresh);
3679 #define vpx_lpf_vertical_8 vpx_lpf_vertical_8_neon
3680 
3681 void vpx_lpf_vertical_8_dual_c(uint8_t* s,
3682                                int pitch,
3683                                const uint8_t* blimit0,
3684                                const uint8_t* limit0,
3685                                const uint8_t* thresh0,
3686                                const uint8_t* blimit1,
3687                                const uint8_t* limit1,
3688                                const uint8_t* thresh1);
3689 void vpx_lpf_vertical_8_dual_neon(uint8_t* s,
3690                                   int pitch,
3691                                   const uint8_t* blimit0,
3692                                   const uint8_t* limit0,
3693                                   const uint8_t* thresh0,
3694                                   const uint8_t* blimit1,
3695                                   const uint8_t* limit1,
3696                                   const uint8_t* thresh1);
3697 #define vpx_lpf_vertical_8_dual vpx_lpf_vertical_8_dual_neon
3698 
3699 void vpx_mbpost_proc_across_ip_c(unsigned char* src,
3700                                  int pitch,
3701                                  int rows,
3702                                  int cols,
3703                                  int flimit);
3704 void vpx_mbpost_proc_across_ip_neon(unsigned char* src,
3705                                     int pitch,
3706                                     int rows,
3707                                     int cols,
3708                                     int flimit);
3709 #define vpx_mbpost_proc_across_ip vpx_mbpost_proc_across_ip_neon
3710 
3711 void vpx_mbpost_proc_down_c(unsigned char* dst,
3712                             int pitch,
3713                             int rows,
3714                             int cols,
3715                             int flimit);
3716 void vpx_mbpost_proc_down_neon(unsigned char* dst,
3717                                int pitch,
3718                                int rows,
3719                                int cols,
3720                                int flimit);
3721 #define vpx_mbpost_proc_down vpx_mbpost_proc_down_neon
3722 
3723 void vpx_minmax_8x8_c(const uint8_t* s,
3724                       int p,
3725                       const uint8_t* d,
3726                       int dp,
3727                       int* min,
3728                       int* max);
3729 void vpx_minmax_8x8_neon(const uint8_t* s,
3730                          int p,
3731                          const uint8_t* d,
3732                          int dp,
3733                          int* min,
3734                          int* max);
3735 #define vpx_minmax_8x8 vpx_minmax_8x8_neon
3736 
3737 unsigned int vpx_mse16x16_c(const uint8_t* src_ptr,
3738                             int src_stride,
3739                             const uint8_t* ref_ptr,
3740                             int ref_stride,
3741                             unsigned int* sse);
3742 unsigned int vpx_mse16x16_neon(const uint8_t* src_ptr,
3743                                int src_stride,
3744                                const uint8_t* ref_ptr,
3745                                int ref_stride,
3746                                unsigned int* sse);
3747 #define vpx_mse16x16 vpx_mse16x16_neon
3748 
3749 unsigned int vpx_mse16x8_c(const uint8_t* src_ptr,
3750                            int src_stride,
3751                            const uint8_t* ref_ptr,
3752                            int ref_stride,
3753                            unsigned int* sse);
3754 #define vpx_mse16x8 vpx_mse16x8_c
3755 
3756 unsigned int vpx_mse8x16_c(const uint8_t* src_ptr,
3757                            int src_stride,
3758                            const uint8_t* ref_ptr,
3759                            int ref_stride,
3760                            unsigned int* sse);
3761 #define vpx_mse8x16 vpx_mse8x16_c
3762 
3763 unsigned int vpx_mse8x8_c(const uint8_t* src_ptr,
3764                           int src_stride,
3765                           const uint8_t* ref_ptr,
3766                           int ref_stride,
3767                           unsigned int* sse);
3768 #define vpx_mse8x8 vpx_mse8x8_c
3769 
3770 void vpx_plane_add_noise_c(uint8_t* start,
3771                            const int8_t* noise,
3772                            int blackclamp,
3773                            int whiteclamp,
3774                            int width,
3775                            int height,
3776                            int pitch);
3777 #define vpx_plane_add_noise vpx_plane_add_noise_c
3778 
3779 void vpx_post_proc_down_and_across_mb_row_c(unsigned char* src,
3780                                             unsigned char* dst,
3781                                             int src_pitch,
3782                                             int dst_pitch,
3783                                             int cols,
3784                                             unsigned char* flimits,
3785                                             int size);
3786 void vpx_post_proc_down_and_across_mb_row_neon(unsigned char* src,
3787                                                unsigned char* dst,
3788                                                int src_pitch,
3789                                                int dst_pitch,
3790                                                int cols,
3791                                                unsigned char* flimits,
3792                                                int size);
3793 #define vpx_post_proc_down_and_across_mb_row \
3794   vpx_post_proc_down_and_across_mb_row_neon
3795 
3796 void vpx_quantize_b_c(const tran_low_t* coeff_ptr,
3797                       intptr_t n_coeffs,
3798                       int skip_block,
3799                       const int16_t* zbin_ptr,
3800                       const int16_t* round_ptr,
3801                       const int16_t* quant_ptr,
3802                       const int16_t* quant_shift_ptr,
3803                       tran_low_t* qcoeff_ptr,
3804                       tran_low_t* dqcoeff_ptr,
3805                       const int16_t* dequant_ptr,
3806                       uint16_t* eob_ptr,
3807                       const int16_t* scan,
3808                       const int16_t* iscan);
3809 void vpx_quantize_b_neon(const tran_low_t* coeff_ptr,
3810                          intptr_t n_coeffs,
3811                          int skip_block,
3812                          const int16_t* zbin_ptr,
3813                          const int16_t* round_ptr,
3814                          const int16_t* quant_ptr,
3815                          const int16_t* quant_shift_ptr,
3816                          tran_low_t* qcoeff_ptr,
3817                          tran_low_t* dqcoeff_ptr,
3818                          const int16_t* dequant_ptr,
3819                          uint16_t* eob_ptr,
3820                          const int16_t* scan,
3821                          const int16_t* iscan);
3822 #define vpx_quantize_b vpx_quantize_b_neon
3823 
3824 void vpx_quantize_b_32x32_c(const tran_low_t* coeff_ptr,
3825                             intptr_t n_coeffs,
3826                             int skip_block,
3827                             const int16_t* zbin_ptr,
3828                             const int16_t* round_ptr,
3829                             const int16_t* quant_ptr,
3830                             const int16_t* quant_shift_ptr,
3831                             tran_low_t* qcoeff_ptr,
3832                             tran_low_t* dqcoeff_ptr,
3833                             const int16_t* dequant_ptr,
3834                             uint16_t* eob_ptr,
3835                             const int16_t* scan,
3836                             const int16_t* iscan);
3837 void vpx_quantize_b_32x32_neon(const tran_low_t* coeff_ptr,
3838                                intptr_t n_coeffs,
3839                                int skip_block,
3840                                const int16_t* zbin_ptr,
3841                                const int16_t* round_ptr,
3842                                const int16_t* quant_ptr,
3843                                const int16_t* quant_shift_ptr,
3844                                tran_low_t* qcoeff_ptr,
3845                                tran_low_t* dqcoeff_ptr,
3846                                const int16_t* dequant_ptr,
3847                                uint16_t* eob_ptr,
3848                                const int16_t* scan,
3849                                const int16_t* iscan);
3850 #define vpx_quantize_b_32x32 vpx_quantize_b_32x32_neon
3851 
3852 unsigned int vpx_sad16x16_c(const uint8_t* src_ptr,
3853                             int src_stride,
3854                             const uint8_t* ref_ptr,
3855                             int ref_stride);
3856 unsigned int vpx_sad16x16_neon(const uint8_t* src_ptr,
3857                                int src_stride,
3858                                const uint8_t* ref_ptr,
3859                                int ref_stride);
3860 #define vpx_sad16x16 vpx_sad16x16_neon
3861 
3862 unsigned int vpx_sad16x16_avg_c(const uint8_t* src_ptr,
3863                                 int src_stride,
3864                                 const uint8_t* ref_ptr,
3865                                 int ref_stride,
3866                                 const uint8_t* second_pred);
3867 unsigned int vpx_sad16x16_avg_neon(const uint8_t* src_ptr,
3868                                    int src_stride,
3869                                    const uint8_t* ref_ptr,
3870                                    int ref_stride,
3871                                    const uint8_t* second_pred);
3872 #define vpx_sad16x16_avg vpx_sad16x16_avg_neon
3873 
3874 void vpx_sad16x16x3_c(const uint8_t* src_ptr,
3875                       int src_stride,
3876                       const uint8_t* ref_ptr,
3877                       int ref_stride,
3878                       uint32_t* sad_array);
3879 #define vpx_sad16x16x3 vpx_sad16x16x3_c
3880 
3881 void vpx_sad16x16x4d_c(const uint8_t* src_ptr,
3882                        int src_stride,
3883                        const uint8_t* const ref_array[],
3884                        int ref_stride,
3885                        uint32_t* sad_array);
3886 void vpx_sad16x16x4d_neon(const uint8_t* src_ptr,
3887                           int src_stride,
3888                           const uint8_t* const ref_array[],
3889                           int ref_stride,
3890                           uint32_t* sad_array);
3891 #define vpx_sad16x16x4d vpx_sad16x16x4d_neon
3892 
3893 void vpx_sad16x16x8_c(const uint8_t* src_ptr,
3894                       int src_stride,
3895                       const uint8_t* ref_ptr,
3896                       int ref_stride,
3897                       uint32_t* sad_array);
3898 #define vpx_sad16x16x8 vpx_sad16x16x8_c
3899 
3900 unsigned int vpx_sad16x32_c(const uint8_t* src_ptr,
3901                             int src_stride,
3902                             const uint8_t* ref_ptr,
3903                             int ref_stride);
3904 unsigned int vpx_sad16x32_neon(const uint8_t* src_ptr,
3905                                int src_stride,
3906                                const uint8_t* ref_ptr,
3907                                int ref_stride);
3908 #define vpx_sad16x32 vpx_sad16x32_neon
3909 
3910 unsigned int vpx_sad16x32_avg_c(const uint8_t* src_ptr,
3911                                 int src_stride,
3912                                 const uint8_t* ref_ptr,
3913                                 int ref_stride,
3914                                 const uint8_t* second_pred);
3915 unsigned int vpx_sad16x32_avg_neon(const uint8_t* src_ptr,
3916                                    int src_stride,
3917                                    const uint8_t* ref_ptr,
3918                                    int ref_stride,
3919                                    const uint8_t* second_pred);
3920 #define vpx_sad16x32_avg vpx_sad16x32_avg_neon
3921 
3922 void vpx_sad16x32x4d_c(const uint8_t* src_ptr,
3923                        int src_stride,
3924                        const uint8_t* const ref_array[],
3925                        int ref_stride,
3926                        uint32_t* sad_array);
3927 void vpx_sad16x32x4d_neon(const uint8_t* src_ptr,
3928                           int src_stride,
3929                           const uint8_t* const ref_array[],
3930                           int ref_stride,
3931                           uint32_t* sad_array);
3932 #define vpx_sad16x32x4d vpx_sad16x32x4d_neon
3933 
3934 unsigned int vpx_sad16x8_c(const uint8_t* src_ptr,
3935                            int src_stride,
3936                            const uint8_t* ref_ptr,
3937                            int ref_stride);
3938 unsigned int vpx_sad16x8_neon(const uint8_t* src_ptr,
3939                               int src_stride,
3940                               const uint8_t* ref_ptr,
3941                               int ref_stride);
3942 #define vpx_sad16x8 vpx_sad16x8_neon
3943 
3944 unsigned int vpx_sad16x8_avg_c(const uint8_t* src_ptr,
3945                                int src_stride,
3946                                const uint8_t* ref_ptr,
3947                                int ref_stride,
3948                                const uint8_t* second_pred);
3949 unsigned int vpx_sad16x8_avg_neon(const uint8_t* src_ptr,
3950                                   int src_stride,
3951                                   const uint8_t* ref_ptr,
3952                                   int ref_stride,
3953                                   const uint8_t* second_pred);
3954 #define vpx_sad16x8_avg vpx_sad16x8_avg_neon
3955 
3956 void vpx_sad16x8x3_c(const uint8_t* src_ptr,
3957                      int src_stride,
3958                      const uint8_t* ref_ptr,
3959                      int ref_stride,
3960                      uint32_t* sad_array);
3961 #define vpx_sad16x8x3 vpx_sad16x8x3_c
3962 
3963 void vpx_sad16x8x4d_c(const uint8_t* src_ptr,
3964                       int src_stride,
3965                       const uint8_t* const ref_array[],
3966                       int ref_stride,
3967                       uint32_t* sad_array);
3968 void vpx_sad16x8x4d_neon(const uint8_t* src_ptr,
3969                          int src_stride,
3970                          const uint8_t* const ref_array[],
3971                          int ref_stride,
3972                          uint32_t* sad_array);
3973 #define vpx_sad16x8x4d vpx_sad16x8x4d_neon
3974 
3975 void vpx_sad16x8x8_c(const uint8_t* src_ptr,
3976                      int src_stride,
3977                      const uint8_t* ref_ptr,
3978                      int ref_stride,
3979                      uint32_t* sad_array);
3980 #define vpx_sad16x8x8 vpx_sad16x8x8_c
3981 
3982 unsigned int vpx_sad32x16_c(const uint8_t* src_ptr,
3983                             int src_stride,
3984                             const uint8_t* ref_ptr,
3985                             int ref_stride);
3986 unsigned int vpx_sad32x16_neon(const uint8_t* src_ptr,
3987                                int src_stride,
3988                                const uint8_t* ref_ptr,
3989                                int ref_stride);
3990 #define vpx_sad32x16 vpx_sad32x16_neon
3991 
3992 unsigned int vpx_sad32x16_avg_c(const uint8_t* src_ptr,
3993                                 int src_stride,
3994                                 const uint8_t* ref_ptr,
3995                                 int ref_stride,
3996                                 const uint8_t* second_pred);
3997 unsigned int vpx_sad32x16_avg_neon(const uint8_t* src_ptr,
3998                                    int src_stride,
3999                                    const uint8_t* ref_ptr,
4000                                    int ref_stride,
4001                                    const uint8_t* second_pred);
4002 #define vpx_sad32x16_avg vpx_sad32x16_avg_neon
4003 
4004 void vpx_sad32x16x4d_c(const uint8_t* src_ptr,
4005                        int src_stride,
4006                        const uint8_t* const ref_array[],
4007                        int ref_stride,
4008                        uint32_t* sad_array);
4009 void vpx_sad32x16x4d_neon(const uint8_t* src_ptr,
4010                           int src_stride,
4011                           const uint8_t* const ref_array[],
4012                           int ref_stride,
4013                           uint32_t* sad_array);
4014 #define vpx_sad32x16x4d vpx_sad32x16x4d_neon
4015 
4016 unsigned int vpx_sad32x32_c(const uint8_t* src_ptr,
4017                             int src_stride,
4018                             const uint8_t* ref_ptr,
4019                             int ref_stride);
4020 unsigned int vpx_sad32x32_neon(const uint8_t* src_ptr,
4021                                int src_stride,
4022                                const uint8_t* ref_ptr,
4023                                int ref_stride);
4024 #define vpx_sad32x32 vpx_sad32x32_neon
4025 
4026 unsigned int vpx_sad32x32_avg_c(const uint8_t* src_ptr,
4027                                 int src_stride,
4028                                 const uint8_t* ref_ptr,
4029                                 int ref_stride,
4030                                 const uint8_t* second_pred);
4031 unsigned int vpx_sad32x32_avg_neon(const uint8_t* src_ptr,
4032                                    int src_stride,
4033                                    const uint8_t* ref_ptr,
4034                                    int ref_stride,
4035                                    const uint8_t* second_pred);
4036 #define vpx_sad32x32_avg vpx_sad32x32_avg_neon
4037 
4038 void vpx_sad32x32x4d_c(const uint8_t* src_ptr,
4039                        int src_stride,
4040                        const uint8_t* const ref_array[],
4041                        int ref_stride,
4042                        uint32_t* sad_array);
4043 void vpx_sad32x32x4d_neon(const uint8_t* src_ptr,
4044                           int src_stride,
4045                           const uint8_t* const ref_array[],
4046                           int ref_stride,
4047                           uint32_t* sad_array);
4048 #define vpx_sad32x32x4d vpx_sad32x32x4d_neon
4049 
4050 void vpx_sad32x32x8_c(const uint8_t* src_ptr,
4051                       int src_stride,
4052                       const uint8_t* ref_ptr,
4053                       int ref_stride,
4054                       uint32_t* sad_array);
4055 #define vpx_sad32x32x8 vpx_sad32x32x8_c
4056 
4057 unsigned int vpx_sad32x64_c(const uint8_t* src_ptr,
4058                             int src_stride,
4059                             const uint8_t* ref_ptr,
4060                             int ref_stride);
4061 unsigned int vpx_sad32x64_neon(const uint8_t* src_ptr,
4062                                int src_stride,
4063                                const uint8_t* ref_ptr,
4064                                int ref_stride);
4065 #define vpx_sad32x64 vpx_sad32x64_neon
4066 
4067 unsigned int vpx_sad32x64_avg_c(const uint8_t* src_ptr,
4068                                 int src_stride,
4069                                 const uint8_t* ref_ptr,
4070                                 int ref_stride,
4071                                 const uint8_t* second_pred);
4072 unsigned int vpx_sad32x64_avg_neon(const uint8_t* src_ptr,
4073                                    int src_stride,
4074                                    const uint8_t* ref_ptr,
4075                                    int ref_stride,
4076                                    const uint8_t* second_pred);
4077 #define vpx_sad32x64_avg vpx_sad32x64_avg_neon
4078 
4079 void vpx_sad32x64x4d_c(const uint8_t* src_ptr,
4080                        int src_stride,
4081                        const uint8_t* const ref_array[],
4082                        int ref_stride,
4083                        uint32_t* sad_array);
4084 void vpx_sad32x64x4d_neon(const uint8_t* src_ptr,
4085                           int src_stride,
4086                           const uint8_t* const ref_array[],
4087                           int ref_stride,
4088                           uint32_t* sad_array);
4089 #define vpx_sad32x64x4d vpx_sad32x64x4d_neon
4090 
4091 unsigned int vpx_sad4x4_c(const uint8_t* src_ptr,
4092                           int src_stride,
4093                           const uint8_t* ref_ptr,
4094                           int ref_stride);
4095 unsigned int vpx_sad4x4_neon(const uint8_t* src_ptr,
4096                              int src_stride,
4097                              const uint8_t* ref_ptr,
4098                              int ref_stride);
4099 #define vpx_sad4x4 vpx_sad4x4_neon
4100 
4101 unsigned int vpx_sad4x4_avg_c(const uint8_t* src_ptr,
4102                               int src_stride,
4103                               const uint8_t* ref_ptr,
4104                               int ref_stride,
4105                               const uint8_t* second_pred);
4106 unsigned int vpx_sad4x4_avg_neon(const uint8_t* src_ptr,
4107                                  int src_stride,
4108                                  const uint8_t* ref_ptr,
4109                                  int ref_stride,
4110                                  const uint8_t* second_pred);
4111 #define vpx_sad4x4_avg vpx_sad4x4_avg_neon
4112 
4113 void vpx_sad4x4x3_c(const uint8_t* src_ptr,
4114                     int src_stride,
4115                     const uint8_t* ref_ptr,
4116                     int ref_stride,
4117                     uint32_t* sad_array);
4118 #define vpx_sad4x4x3 vpx_sad4x4x3_c
4119 
4120 void vpx_sad4x4x4d_c(const uint8_t* src_ptr,
4121                      int src_stride,
4122                      const uint8_t* const ref_array[],
4123                      int ref_stride,
4124                      uint32_t* sad_array);
4125 void vpx_sad4x4x4d_neon(const uint8_t* src_ptr,
4126                         int src_stride,
4127                         const uint8_t* const ref_array[],
4128                         int ref_stride,
4129                         uint32_t* sad_array);
4130 #define vpx_sad4x4x4d vpx_sad4x4x4d_neon
4131 
4132 void vpx_sad4x4x8_c(const uint8_t* src_ptr,
4133                     int src_stride,
4134                     const uint8_t* ref_ptr,
4135                     int ref_stride,
4136                     uint32_t* sad_array);
4137 #define vpx_sad4x4x8 vpx_sad4x4x8_c
4138 
4139 unsigned int vpx_sad4x8_c(const uint8_t* src_ptr,
4140                           int src_stride,
4141                           const uint8_t* ref_ptr,
4142                           int ref_stride);
4143 unsigned int vpx_sad4x8_neon(const uint8_t* src_ptr,
4144                              int src_stride,
4145                              const uint8_t* ref_ptr,
4146                              int ref_stride);
4147 #define vpx_sad4x8 vpx_sad4x8_neon
4148 
4149 unsigned int vpx_sad4x8_avg_c(const uint8_t* src_ptr,
4150                               int src_stride,
4151                               const uint8_t* ref_ptr,
4152                               int ref_stride,
4153                               const uint8_t* second_pred);
4154 unsigned int vpx_sad4x8_avg_neon(const uint8_t* src_ptr,
4155                                  int src_stride,
4156                                  const uint8_t* ref_ptr,
4157                                  int ref_stride,
4158                                  const uint8_t* second_pred);
4159 #define vpx_sad4x8_avg vpx_sad4x8_avg_neon
4160 
4161 void vpx_sad4x8x4d_c(const uint8_t* src_ptr,
4162                      int src_stride,
4163                      const uint8_t* const ref_array[],
4164                      int ref_stride,
4165                      uint32_t* sad_array);
4166 void vpx_sad4x8x4d_neon(const uint8_t* src_ptr,
4167                         int src_stride,
4168                         const uint8_t* const ref_array[],
4169                         int ref_stride,
4170                         uint32_t* sad_array);
4171 #define vpx_sad4x8x4d vpx_sad4x8x4d_neon
4172 
4173 unsigned int vpx_sad64x32_c(const uint8_t* src_ptr,
4174                             int src_stride,
4175                             const uint8_t* ref_ptr,
4176                             int ref_stride);
4177 unsigned int vpx_sad64x32_neon(const uint8_t* src_ptr,
4178                                int src_stride,
4179                                const uint8_t* ref_ptr,
4180                                int ref_stride);
4181 #define vpx_sad64x32 vpx_sad64x32_neon
4182 
4183 unsigned int vpx_sad64x32_avg_c(const uint8_t* src_ptr,
4184                                 int src_stride,
4185                                 const uint8_t* ref_ptr,
4186                                 int ref_stride,
4187                                 const uint8_t* second_pred);
4188 unsigned int vpx_sad64x32_avg_neon(const uint8_t* src_ptr,
4189                                    int src_stride,
4190                                    const uint8_t* ref_ptr,
4191                                    int ref_stride,
4192                                    const uint8_t* second_pred);
4193 #define vpx_sad64x32_avg vpx_sad64x32_avg_neon
4194 
4195 void vpx_sad64x32x4d_c(const uint8_t* src_ptr,
4196                        int src_stride,
4197                        const uint8_t* const ref_array[],
4198                        int ref_stride,
4199                        uint32_t* sad_array);
4200 void vpx_sad64x32x4d_neon(const uint8_t* src_ptr,
4201                           int src_stride,
4202                           const uint8_t* const ref_array[],
4203                           int ref_stride,
4204                           uint32_t* sad_array);
4205 #define vpx_sad64x32x4d vpx_sad64x32x4d_neon
4206 
4207 unsigned int vpx_sad64x64_c(const uint8_t* src_ptr,
4208                             int src_stride,
4209                             const uint8_t* ref_ptr,
4210                             int ref_stride);
4211 unsigned int vpx_sad64x64_neon(const uint8_t* src_ptr,
4212                                int src_stride,
4213                                const uint8_t* ref_ptr,
4214                                int ref_stride);
4215 #define vpx_sad64x64 vpx_sad64x64_neon
4216 
4217 unsigned int vpx_sad64x64_avg_c(const uint8_t* src_ptr,
4218                                 int src_stride,
4219                                 const uint8_t* ref_ptr,
4220                                 int ref_stride,
4221                                 const uint8_t* second_pred);
4222 unsigned int vpx_sad64x64_avg_neon(const uint8_t* src_ptr,
4223                                    int src_stride,
4224                                    const uint8_t* ref_ptr,
4225                                    int ref_stride,
4226                                    const uint8_t* second_pred);
4227 #define vpx_sad64x64_avg vpx_sad64x64_avg_neon
4228 
4229 void vpx_sad64x64x4d_c(const uint8_t* src_ptr,
4230                        int src_stride,
4231                        const uint8_t* const ref_array[],
4232                        int ref_stride,
4233                        uint32_t* sad_array);
4234 void vpx_sad64x64x4d_neon(const uint8_t* src_ptr,
4235                           int src_stride,
4236                           const uint8_t* const ref_array[],
4237                           int ref_stride,
4238                           uint32_t* sad_array);
4239 #define vpx_sad64x64x4d vpx_sad64x64x4d_neon
4240 
4241 unsigned int vpx_sad8x16_c(const uint8_t* src_ptr,
4242                            int src_stride,
4243                            const uint8_t* ref_ptr,
4244                            int ref_stride);
4245 unsigned int vpx_sad8x16_neon(const uint8_t* src_ptr,
4246                               int src_stride,
4247                               const uint8_t* ref_ptr,
4248                               int ref_stride);
4249 #define vpx_sad8x16 vpx_sad8x16_neon
4250 
4251 unsigned int vpx_sad8x16_avg_c(const uint8_t* src_ptr,
4252                                int src_stride,
4253                                const uint8_t* ref_ptr,
4254                                int ref_stride,
4255                                const uint8_t* second_pred);
4256 unsigned int vpx_sad8x16_avg_neon(const uint8_t* src_ptr,
4257                                   int src_stride,
4258                                   const uint8_t* ref_ptr,
4259                                   int ref_stride,
4260                                   const uint8_t* second_pred);
4261 #define vpx_sad8x16_avg vpx_sad8x16_avg_neon
4262 
4263 void vpx_sad8x16x3_c(const uint8_t* src_ptr,
4264                      int src_stride,
4265                      const uint8_t* ref_ptr,
4266                      int ref_stride,
4267                      uint32_t* sad_array);
4268 #define vpx_sad8x16x3 vpx_sad8x16x3_c
4269 
4270 void vpx_sad8x16x4d_c(const uint8_t* src_ptr,
4271                       int src_stride,
4272                       const uint8_t* const ref_array[],
4273                       int ref_stride,
4274                       uint32_t* sad_array);
4275 void vpx_sad8x16x4d_neon(const uint8_t* src_ptr,
4276                          int src_stride,
4277                          const uint8_t* const ref_array[],
4278                          int ref_stride,
4279                          uint32_t* sad_array);
4280 #define vpx_sad8x16x4d vpx_sad8x16x4d_neon
4281 
4282 void vpx_sad8x16x8_c(const uint8_t* src_ptr,
4283                      int src_stride,
4284                      const uint8_t* ref_ptr,
4285                      int ref_stride,
4286                      uint32_t* sad_array);
4287 #define vpx_sad8x16x8 vpx_sad8x16x8_c
4288 
4289 unsigned int vpx_sad8x4_c(const uint8_t* src_ptr,
4290                           int src_stride,
4291                           const uint8_t* ref_ptr,
4292                           int ref_stride);
4293 unsigned int vpx_sad8x4_neon(const uint8_t* src_ptr,
4294                              int src_stride,
4295                              const uint8_t* ref_ptr,
4296                              int ref_stride);
4297 #define vpx_sad8x4 vpx_sad8x4_neon
4298 
4299 unsigned int vpx_sad8x4_avg_c(const uint8_t* src_ptr,
4300                               int src_stride,
4301                               const uint8_t* ref_ptr,
4302                               int ref_stride,
4303                               const uint8_t* second_pred);
4304 unsigned int vpx_sad8x4_avg_neon(const uint8_t* src_ptr,
4305                                  int src_stride,
4306                                  const uint8_t* ref_ptr,
4307                                  int ref_stride,
4308                                  const uint8_t* second_pred);
4309 #define vpx_sad8x4_avg vpx_sad8x4_avg_neon
4310 
4311 void vpx_sad8x4x4d_c(const uint8_t* src_ptr,
4312                      int src_stride,
4313                      const uint8_t* const ref_array[],
4314                      int ref_stride,
4315                      uint32_t* sad_array);
4316 void vpx_sad8x4x4d_neon(const uint8_t* src_ptr,
4317                         int src_stride,
4318                         const uint8_t* const ref_array[],
4319                         int ref_stride,
4320                         uint32_t* sad_array);
4321 #define vpx_sad8x4x4d vpx_sad8x4x4d_neon
4322 
4323 unsigned int vpx_sad8x8_c(const uint8_t* src_ptr,
4324                           int src_stride,
4325                           const uint8_t* ref_ptr,
4326                           int ref_stride);
4327 unsigned int vpx_sad8x8_neon(const uint8_t* src_ptr,
4328                              int src_stride,
4329                              const uint8_t* ref_ptr,
4330                              int ref_stride);
4331 #define vpx_sad8x8 vpx_sad8x8_neon
4332 
4333 unsigned int vpx_sad8x8_avg_c(const uint8_t* src_ptr,
4334                               int src_stride,
4335                               const uint8_t* ref_ptr,
4336                               int ref_stride,
4337                               const uint8_t* second_pred);
4338 unsigned int vpx_sad8x8_avg_neon(const uint8_t* src_ptr,
4339                                  int src_stride,
4340                                  const uint8_t* ref_ptr,
4341                                  int ref_stride,
4342                                  const uint8_t* second_pred);
4343 #define vpx_sad8x8_avg vpx_sad8x8_avg_neon
4344 
4345 void vpx_sad8x8x3_c(const uint8_t* src_ptr,
4346                     int src_stride,
4347                     const uint8_t* ref_ptr,
4348                     int ref_stride,
4349                     uint32_t* sad_array);
4350 #define vpx_sad8x8x3 vpx_sad8x8x3_c
4351 
4352 void vpx_sad8x8x4d_c(const uint8_t* src_ptr,
4353                      int src_stride,
4354                      const uint8_t* const ref_array[],
4355                      int ref_stride,
4356                      uint32_t* sad_array);
4357 void vpx_sad8x8x4d_neon(const uint8_t* src_ptr,
4358                         int src_stride,
4359                         const uint8_t* const ref_array[],
4360                         int ref_stride,
4361                         uint32_t* sad_array);
4362 #define vpx_sad8x8x4d vpx_sad8x8x4d_neon
4363 
4364 void vpx_sad8x8x8_c(const uint8_t* src_ptr,
4365                     int src_stride,
4366                     const uint8_t* ref_ptr,
4367                     int ref_stride,
4368                     uint32_t* sad_array);
4369 #define vpx_sad8x8x8 vpx_sad8x8x8_c
4370 
4371 int vpx_satd_c(const tran_low_t* coeff, int length);
4372 int vpx_satd_neon(const tran_low_t* coeff, int length);
4373 #define vpx_satd vpx_satd_neon
4374 
4375 void vpx_scaled_2d_c(const uint8_t* src,
4376                      ptrdiff_t src_stride,
4377                      uint8_t* dst,
4378                      ptrdiff_t dst_stride,
4379                      const InterpKernel* filter,
4380                      int x0_q4,
4381                      int x_step_q4,
4382                      int y0_q4,
4383                      int y_step_q4,
4384                      int w,
4385                      int h);
4386 void vpx_scaled_2d_neon(const uint8_t* src,
4387                         ptrdiff_t src_stride,
4388                         uint8_t* dst,
4389                         ptrdiff_t dst_stride,
4390                         const InterpKernel* filter,
4391                         int x0_q4,
4392                         int x_step_q4,
4393                         int y0_q4,
4394                         int y_step_q4,
4395                         int w,
4396                         int h);
4397 #define vpx_scaled_2d vpx_scaled_2d_neon
4398 
4399 void vpx_scaled_avg_2d_c(const uint8_t* src,
4400                          ptrdiff_t src_stride,
4401                          uint8_t* dst,
4402                          ptrdiff_t dst_stride,
4403                          const InterpKernel* filter,
4404                          int x0_q4,
4405                          int x_step_q4,
4406                          int y0_q4,
4407                          int y_step_q4,
4408                          int w,
4409                          int h);
4410 #define vpx_scaled_avg_2d vpx_scaled_avg_2d_c
4411 
4412 void vpx_scaled_avg_horiz_c(const uint8_t* src,
4413                             ptrdiff_t src_stride,
4414                             uint8_t* dst,
4415                             ptrdiff_t dst_stride,
4416                             const InterpKernel* filter,
4417                             int x0_q4,
4418                             int x_step_q4,
4419                             int y0_q4,
4420                             int y_step_q4,
4421                             int w,
4422                             int h);
4423 #define vpx_scaled_avg_horiz vpx_scaled_avg_horiz_c
4424 
4425 void vpx_scaled_avg_vert_c(const uint8_t* src,
4426                            ptrdiff_t src_stride,
4427                            uint8_t* dst,
4428                            ptrdiff_t dst_stride,
4429                            const InterpKernel* filter,
4430                            int x0_q4,
4431                            int x_step_q4,
4432                            int y0_q4,
4433                            int y_step_q4,
4434                            int w,
4435                            int h);
4436 #define vpx_scaled_avg_vert vpx_scaled_avg_vert_c
4437 
4438 void vpx_scaled_horiz_c(const uint8_t* src,
4439                         ptrdiff_t src_stride,
4440                         uint8_t* dst,
4441                         ptrdiff_t dst_stride,
4442                         const InterpKernel* filter,
4443                         int x0_q4,
4444                         int x_step_q4,
4445                         int y0_q4,
4446                         int y_step_q4,
4447                         int w,
4448                         int h);
4449 #define vpx_scaled_horiz vpx_scaled_horiz_c
4450 
4451 void vpx_scaled_vert_c(const uint8_t* src,
4452                        ptrdiff_t src_stride,
4453                        uint8_t* dst,
4454                        ptrdiff_t dst_stride,
4455                        const InterpKernel* filter,
4456                        int x0_q4,
4457                        int x_step_q4,
4458                        int y0_q4,
4459                        int y_step_q4,
4460                        int w,
4461                        int h);
4462 #define vpx_scaled_vert vpx_scaled_vert_c
4463 
4464 uint32_t vpx_sub_pixel_avg_variance16x16_c(const uint8_t* src_ptr,
4465                                            int src_stride,
4466                                            int x_offset,
4467                                            int y_offset,
4468                                            const uint8_t* ref_ptr,
4469                                            int ref_stride,
4470                                            uint32_t* sse,
4471                                            const uint8_t* second_pred);
4472 uint32_t vpx_sub_pixel_avg_variance16x16_neon(const uint8_t* src_ptr,
4473                                               int src_stride,
4474                                               int x_offset,
4475                                               int y_offset,
4476                                               const uint8_t* ref_ptr,
4477                                               int ref_stride,
4478                                               uint32_t* sse,
4479                                               const uint8_t* second_pred);
4480 #define vpx_sub_pixel_avg_variance16x16 vpx_sub_pixel_avg_variance16x16_neon
4481 
4482 uint32_t vpx_sub_pixel_avg_variance16x32_c(const uint8_t* src_ptr,
4483                                            int src_stride,
4484                                            int x_offset,
4485                                            int y_offset,
4486                                            const uint8_t* ref_ptr,
4487                                            int ref_stride,
4488                                            uint32_t* sse,
4489                                            const uint8_t* second_pred);
4490 uint32_t vpx_sub_pixel_avg_variance16x32_neon(const uint8_t* src_ptr,
4491                                               int src_stride,
4492                                               int x_offset,
4493                                               int y_offset,
4494                                               const uint8_t* ref_ptr,
4495                                               int ref_stride,
4496                                               uint32_t* sse,
4497                                               const uint8_t* second_pred);
4498 #define vpx_sub_pixel_avg_variance16x32 vpx_sub_pixel_avg_variance16x32_neon
4499 
4500 uint32_t vpx_sub_pixel_avg_variance16x8_c(const uint8_t* src_ptr,
4501                                           int src_stride,
4502                                           int x_offset,
4503                                           int y_offset,
4504                                           const uint8_t* ref_ptr,
4505                                           int ref_stride,
4506                                           uint32_t* sse,
4507                                           const uint8_t* second_pred);
4508 uint32_t vpx_sub_pixel_avg_variance16x8_neon(const uint8_t* src_ptr,
4509                                              int src_stride,
4510                                              int x_offset,
4511                                              int y_offset,
4512                                              const uint8_t* ref_ptr,
4513                                              int ref_stride,
4514                                              uint32_t* sse,
4515                                              const uint8_t* second_pred);
4516 #define vpx_sub_pixel_avg_variance16x8 vpx_sub_pixel_avg_variance16x8_neon
4517 
4518 uint32_t vpx_sub_pixel_avg_variance32x16_c(const uint8_t* src_ptr,
4519                                            int src_stride,
4520                                            int x_offset,
4521                                            int y_offset,
4522                                            const uint8_t* ref_ptr,
4523                                            int ref_stride,
4524                                            uint32_t* sse,
4525                                            const uint8_t* second_pred);
4526 uint32_t vpx_sub_pixel_avg_variance32x16_neon(const uint8_t* src_ptr,
4527                                               int src_stride,
4528                                               int x_offset,
4529                                               int y_offset,
4530                                               const uint8_t* ref_ptr,
4531                                               int ref_stride,
4532                                               uint32_t* sse,
4533                                               const uint8_t* second_pred);
4534 #define vpx_sub_pixel_avg_variance32x16 vpx_sub_pixel_avg_variance32x16_neon
4535 
4536 uint32_t vpx_sub_pixel_avg_variance32x32_c(const uint8_t* src_ptr,
4537                                            int src_stride,
4538                                            int x_offset,
4539                                            int y_offset,
4540                                            const uint8_t* ref_ptr,
4541                                            int ref_stride,
4542                                            uint32_t* sse,
4543                                            const uint8_t* second_pred);
4544 uint32_t vpx_sub_pixel_avg_variance32x32_neon(const uint8_t* src_ptr,
4545                                               int src_stride,
4546                                               int x_offset,
4547                                               int y_offset,
4548                                               const uint8_t* ref_ptr,
4549                                               int ref_stride,
4550                                               uint32_t* sse,
4551                                               const uint8_t* second_pred);
4552 #define vpx_sub_pixel_avg_variance32x32 vpx_sub_pixel_avg_variance32x32_neon
4553 
4554 uint32_t vpx_sub_pixel_avg_variance32x64_c(const uint8_t* src_ptr,
4555                                            int src_stride,
4556                                            int x_offset,
4557                                            int y_offset,
4558                                            const uint8_t* ref_ptr,
4559                                            int ref_stride,
4560                                            uint32_t* sse,
4561                                            const uint8_t* second_pred);
4562 uint32_t vpx_sub_pixel_avg_variance32x64_neon(const uint8_t* src_ptr,
4563                                               int src_stride,
4564                                               int x_offset,
4565                                               int y_offset,
4566                                               const uint8_t* ref_ptr,
4567                                               int ref_stride,
4568                                               uint32_t* sse,
4569                                               const uint8_t* second_pred);
4570 #define vpx_sub_pixel_avg_variance32x64 vpx_sub_pixel_avg_variance32x64_neon
4571 
4572 uint32_t vpx_sub_pixel_avg_variance4x4_c(const uint8_t* src_ptr,
4573                                          int src_stride,
4574                                          int x_offset,
4575                                          int y_offset,
4576                                          const uint8_t* ref_ptr,
4577                                          int ref_stride,
4578                                          uint32_t* sse,
4579                                          const uint8_t* second_pred);
4580 uint32_t vpx_sub_pixel_avg_variance4x4_neon(const uint8_t* src_ptr,
4581                                             int src_stride,
4582                                             int x_offset,
4583                                             int y_offset,
4584                                             const uint8_t* ref_ptr,
4585                                             int ref_stride,
4586                                             uint32_t* sse,
4587                                             const uint8_t* second_pred);
4588 #define vpx_sub_pixel_avg_variance4x4 vpx_sub_pixel_avg_variance4x4_neon
4589 
4590 uint32_t vpx_sub_pixel_avg_variance4x8_c(const uint8_t* src_ptr,
4591                                          int src_stride,
4592                                          int x_offset,
4593                                          int y_offset,
4594                                          const uint8_t* ref_ptr,
4595                                          int ref_stride,
4596                                          uint32_t* sse,
4597                                          const uint8_t* second_pred);
4598 uint32_t vpx_sub_pixel_avg_variance4x8_neon(const uint8_t* src_ptr,
4599                                             int src_stride,
4600                                             int x_offset,
4601                                             int y_offset,
4602                                             const uint8_t* ref_ptr,
4603                                             int ref_stride,
4604                                             uint32_t* sse,
4605                                             const uint8_t* second_pred);
4606 #define vpx_sub_pixel_avg_variance4x8 vpx_sub_pixel_avg_variance4x8_neon
4607 
4608 uint32_t vpx_sub_pixel_avg_variance64x32_c(const uint8_t* src_ptr,
4609                                            int src_stride,
4610                                            int x_offset,
4611                                            int y_offset,
4612                                            const uint8_t* ref_ptr,
4613                                            int ref_stride,
4614                                            uint32_t* sse,
4615                                            const uint8_t* second_pred);
4616 uint32_t vpx_sub_pixel_avg_variance64x32_neon(const uint8_t* src_ptr,
4617                                               int src_stride,
4618                                               int x_offset,
4619                                               int y_offset,
4620                                               const uint8_t* ref_ptr,
4621                                               int ref_stride,
4622                                               uint32_t* sse,
4623                                               const uint8_t* second_pred);
4624 #define vpx_sub_pixel_avg_variance64x32 vpx_sub_pixel_avg_variance64x32_neon
4625 
4626 uint32_t vpx_sub_pixel_avg_variance64x64_c(const uint8_t* src_ptr,
4627                                            int src_stride,
4628                                            int x_offset,
4629                                            int y_offset,
4630                                            const uint8_t* ref_ptr,
4631                                            int ref_stride,
4632                                            uint32_t* sse,
4633                                            const uint8_t* second_pred);
4634 uint32_t vpx_sub_pixel_avg_variance64x64_neon(const uint8_t* src_ptr,
4635                                               int src_stride,
4636                                               int x_offset,
4637                                               int y_offset,
4638                                               const uint8_t* ref_ptr,
4639                                               int ref_stride,
4640                                               uint32_t* sse,
4641                                               const uint8_t* second_pred);
4642 #define vpx_sub_pixel_avg_variance64x64 vpx_sub_pixel_avg_variance64x64_neon
4643 
4644 uint32_t vpx_sub_pixel_avg_variance8x16_c(const uint8_t* src_ptr,
4645                                           int src_stride,
4646                                           int x_offset,
4647                                           int y_offset,
4648                                           const uint8_t* ref_ptr,
4649                                           int ref_stride,
4650                                           uint32_t* sse,
4651                                           const uint8_t* second_pred);
4652 uint32_t vpx_sub_pixel_avg_variance8x16_neon(const uint8_t* src_ptr,
4653                                              int src_stride,
4654                                              int x_offset,
4655                                              int y_offset,
4656                                              const uint8_t* ref_ptr,
4657                                              int ref_stride,
4658                                              uint32_t* sse,
4659                                              const uint8_t* second_pred);
4660 #define vpx_sub_pixel_avg_variance8x16 vpx_sub_pixel_avg_variance8x16_neon
4661 
4662 uint32_t vpx_sub_pixel_avg_variance8x4_c(const uint8_t* src_ptr,
4663                                          int src_stride,
4664                                          int x_offset,
4665                                          int y_offset,
4666                                          const uint8_t* ref_ptr,
4667                                          int ref_stride,
4668                                          uint32_t* sse,
4669                                          const uint8_t* second_pred);
4670 uint32_t vpx_sub_pixel_avg_variance8x4_neon(const uint8_t* src_ptr,
4671                                             int src_stride,
4672                                             int x_offset,
4673                                             int y_offset,
4674                                             const uint8_t* ref_ptr,
4675                                             int ref_stride,
4676                                             uint32_t* sse,
4677                                             const uint8_t* second_pred);
4678 #define vpx_sub_pixel_avg_variance8x4 vpx_sub_pixel_avg_variance8x4_neon
4679 
4680 uint32_t vpx_sub_pixel_avg_variance8x8_c(const uint8_t* src_ptr,
4681                                          int src_stride,
4682                                          int x_offset,
4683                                          int y_offset,
4684                                          const uint8_t* ref_ptr,
4685                                          int ref_stride,
4686                                          uint32_t* sse,
4687                                          const uint8_t* second_pred);
4688 uint32_t vpx_sub_pixel_avg_variance8x8_neon(const uint8_t* src_ptr,
4689                                             int src_stride,
4690                                             int x_offset,
4691                                             int y_offset,
4692                                             const uint8_t* ref_ptr,
4693                                             int ref_stride,
4694                                             uint32_t* sse,
4695                                             const uint8_t* second_pred);
4696 #define vpx_sub_pixel_avg_variance8x8 vpx_sub_pixel_avg_variance8x8_neon
4697 
4698 uint32_t vpx_sub_pixel_variance16x16_c(const uint8_t* src_ptr,
4699                                        int src_stride,
4700                                        int x_offset,
4701                                        int y_offset,
4702                                        const uint8_t* ref_ptr,
4703                                        int ref_stride,
4704                                        uint32_t* sse);
4705 uint32_t vpx_sub_pixel_variance16x16_neon(const uint8_t* src_ptr,
4706                                           int src_stride,
4707                                           int x_offset,
4708                                           int y_offset,
4709                                           const uint8_t* ref_ptr,
4710                                           int ref_stride,
4711                                           uint32_t* sse);
4712 #define vpx_sub_pixel_variance16x16 vpx_sub_pixel_variance16x16_neon
4713 
4714 uint32_t vpx_sub_pixel_variance16x32_c(const uint8_t* src_ptr,
4715                                        int src_stride,
4716                                        int x_offset,
4717                                        int y_offset,
4718                                        const uint8_t* ref_ptr,
4719                                        int ref_stride,
4720                                        uint32_t* sse);
4721 uint32_t vpx_sub_pixel_variance16x32_neon(const uint8_t* src_ptr,
4722                                           int src_stride,
4723                                           int x_offset,
4724                                           int y_offset,
4725                                           const uint8_t* ref_ptr,
4726                                           int ref_stride,
4727                                           uint32_t* sse);
4728 #define vpx_sub_pixel_variance16x32 vpx_sub_pixel_variance16x32_neon
4729 
4730 uint32_t vpx_sub_pixel_variance16x8_c(const uint8_t* src_ptr,
4731                                       int src_stride,
4732                                       int x_offset,
4733                                       int y_offset,
4734                                       const uint8_t* ref_ptr,
4735                                       int ref_stride,
4736                                       uint32_t* sse);
4737 uint32_t vpx_sub_pixel_variance16x8_neon(const uint8_t* src_ptr,
4738                                          int src_stride,
4739                                          int x_offset,
4740                                          int y_offset,
4741                                          const uint8_t* ref_ptr,
4742                                          int ref_stride,
4743                                          uint32_t* sse);
4744 #define vpx_sub_pixel_variance16x8 vpx_sub_pixel_variance16x8_neon
4745 
4746 uint32_t vpx_sub_pixel_variance32x16_c(const uint8_t* src_ptr,
4747                                        int src_stride,
4748                                        int x_offset,
4749                                        int y_offset,
4750                                        const uint8_t* ref_ptr,
4751                                        int ref_stride,
4752                                        uint32_t* sse);
4753 uint32_t vpx_sub_pixel_variance32x16_neon(const uint8_t* src_ptr,
4754                                           int src_stride,
4755                                           int x_offset,
4756                                           int y_offset,
4757                                           const uint8_t* ref_ptr,
4758                                           int ref_stride,
4759                                           uint32_t* sse);
4760 #define vpx_sub_pixel_variance32x16 vpx_sub_pixel_variance32x16_neon
4761 
4762 uint32_t vpx_sub_pixel_variance32x32_c(const uint8_t* src_ptr,
4763                                        int src_stride,
4764                                        int x_offset,
4765                                        int y_offset,
4766                                        const uint8_t* ref_ptr,
4767                                        int ref_stride,
4768                                        uint32_t* sse);
4769 uint32_t vpx_sub_pixel_variance32x32_neon(const uint8_t* src_ptr,
4770                                           int src_stride,
4771                                           int x_offset,
4772                                           int y_offset,
4773                                           const uint8_t* ref_ptr,
4774                                           int ref_stride,
4775                                           uint32_t* sse);
4776 #define vpx_sub_pixel_variance32x32 vpx_sub_pixel_variance32x32_neon
4777 
4778 uint32_t vpx_sub_pixel_variance32x64_c(const uint8_t* src_ptr,
4779                                        int src_stride,
4780                                        int x_offset,
4781                                        int y_offset,
4782                                        const uint8_t* ref_ptr,
4783                                        int ref_stride,
4784                                        uint32_t* sse);
4785 uint32_t vpx_sub_pixel_variance32x64_neon(const uint8_t* src_ptr,
4786                                           int src_stride,
4787                                           int x_offset,
4788                                           int y_offset,
4789                                           const uint8_t* ref_ptr,
4790                                           int ref_stride,
4791                                           uint32_t* sse);
4792 #define vpx_sub_pixel_variance32x64 vpx_sub_pixel_variance32x64_neon
4793 
4794 uint32_t vpx_sub_pixel_variance4x4_c(const uint8_t* src_ptr,
4795                                      int src_stride,
4796                                      int x_offset,
4797                                      int y_offset,
4798                                      const uint8_t* ref_ptr,
4799                                      int ref_stride,
4800                                      uint32_t* sse);
4801 uint32_t vpx_sub_pixel_variance4x4_neon(const uint8_t* src_ptr,
4802                                         int src_stride,
4803                                         int x_offset,
4804                                         int y_offset,
4805                                         const uint8_t* ref_ptr,
4806                                         int ref_stride,
4807                                         uint32_t* sse);
4808 #define vpx_sub_pixel_variance4x4 vpx_sub_pixel_variance4x4_neon
4809 
4810 uint32_t vpx_sub_pixel_variance4x8_c(const uint8_t* src_ptr,
4811                                      int src_stride,
4812                                      int x_offset,
4813                                      int y_offset,
4814                                      const uint8_t* ref_ptr,
4815                                      int ref_stride,
4816                                      uint32_t* sse);
4817 uint32_t vpx_sub_pixel_variance4x8_neon(const uint8_t* src_ptr,
4818                                         int src_stride,
4819                                         int x_offset,
4820                                         int y_offset,
4821                                         const uint8_t* ref_ptr,
4822                                         int ref_stride,
4823                                         uint32_t* sse);
4824 #define vpx_sub_pixel_variance4x8 vpx_sub_pixel_variance4x8_neon
4825 
4826 uint32_t vpx_sub_pixel_variance64x32_c(const uint8_t* src_ptr,
4827                                        int src_stride,
4828                                        int x_offset,
4829                                        int y_offset,
4830                                        const uint8_t* ref_ptr,
4831                                        int ref_stride,
4832                                        uint32_t* sse);
4833 uint32_t vpx_sub_pixel_variance64x32_neon(const uint8_t* src_ptr,
4834                                           int src_stride,
4835                                           int x_offset,
4836                                           int y_offset,
4837                                           const uint8_t* ref_ptr,
4838                                           int ref_stride,
4839                                           uint32_t* sse);
4840 #define vpx_sub_pixel_variance64x32 vpx_sub_pixel_variance64x32_neon
4841 
4842 uint32_t vpx_sub_pixel_variance64x64_c(const uint8_t* src_ptr,
4843                                        int src_stride,
4844                                        int x_offset,
4845                                        int y_offset,
4846                                        const uint8_t* ref_ptr,
4847                                        int ref_stride,
4848                                        uint32_t* sse);
4849 uint32_t vpx_sub_pixel_variance64x64_neon(const uint8_t* src_ptr,
4850                                           int src_stride,
4851                                           int x_offset,
4852                                           int y_offset,
4853                                           const uint8_t* ref_ptr,
4854                                           int ref_stride,
4855                                           uint32_t* sse);
4856 #define vpx_sub_pixel_variance64x64 vpx_sub_pixel_variance64x64_neon
4857 
4858 uint32_t vpx_sub_pixel_variance8x16_c(const uint8_t* src_ptr,
4859                                       int src_stride,
4860                                       int x_offset,
4861                                       int y_offset,
4862                                       const uint8_t* ref_ptr,
4863                                       int ref_stride,
4864                                       uint32_t* sse);
4865 uint32_t vpx_sub_pixel_variance8x16_neon(const uint8_t* src_ptr,
4866                                          int src_stride,
4867                                          int x_offset,
4868                                          int y_offset,
4869                                          const uint8_t* ref_ptr,
4870                                          int ref_stride,
4871                                          uint32_t* sse);
4872 #define vpx_sub_pixel_variance8x16 vpx_sub_pixel_variance8x16_neon
4873 
4874 uint32_t vpx_sub_pixel_variance8x4_c(const uint8_t* src_ptr,
4875                                      int src_stride,
4876                                      int x_offset,
4877                                      int y_offset,
4878                                      const uint8_t* ref_ptr,
4879                                      int ref_stride,
4880                                      uint32_t* sse);
4881 uint32_t vpx_sub_pixel_variance8x4_neon(const uint8_t* src_ptr,
4882                                         int src_stride,
4883                                         int x_offset,
4884                                         int y_offset,
4885                                         const uint8_t* ref_ptr,
4886                                         int ref_stride,
4887                                         uint32_t* sse);
4888 #define vpx_sub_pixel_variance8x4 vpx_sub_pixel_variance8x4_neon
4889 
4890 uint32_t vpx_sub_pixel_variance8x8_c(const uint8_t* src_ptr,
4891                                      int src_stride,
4892                                      int x_offset,
4893                                      int y_offset,
4894                                      const uint8_t* ref_ptr,
4895                                      int ref_stride,
4896                                      uint32_t* sse);
4897 uint32_t vpx_sub_pixel_variance8x8_neon(const uint8_t* src_ptr,
4898                                         int src_stride,
4899                                         int x_offset,
4900                                         int y_offset,
4901                                         const uint8_t* ref_ptr,
4902                                         int ref_stride,
4903                                         uint32_t* sse);
4904 #define vpx_sub_pixel_variance8x8 vpx_sub_pixel_variance8x8_neon
4905 
4906 void vpx_subtract_block_c(int rows,
4907                           int cols,
4908                           int16_t* diff_ptr,
4909                           ptrdiff_t diff_stride,
4910                           const uint8_t* src_ptr,
4911                           ptrdiff_t src_stride,
4912                           const uint8_t* pred_ptr,
4913                           ptrdiff_t pred_stride);
4914 void vpx_subtract_block_neon(int rows,
4915                              int cols,
4916                              int16_t* diff_ptr,
4917                              ptrdiff_t diff_stride,
4918                              const uint8_t* src_ptr,
4919                              ptrdiff_t src_stride,
4920                              const uint8_t* pred_ptr,
4921                              ptrdiff_t pred_stride);
4922 #define vpx_subtract_block vpx_subtract_block_neon
4923 
4924 uint64_t vpx_sum_squares_2d_i16_c(const int16_t* src, int stride, int size);
4925 uint64_t vpx_sum_squares_2d_i16_neon(const int16_t* src, int stride, int size);
4926 #define vpx_sum_squares_2d_i16 vpx_sum_squares_2d_i16_neon
4927 
4928 void vpx_tm_predictor_16x16_c(uint8_t* dst,
4929                               ptrdiff_t stride,
4930                               const uint8_t* above,
4931                               const uint8_t* left);
4932 void vpx_tm_predictor_16x16_neon(uint8_t* dst,
4933                                  ptrdiff_t stride,
4934                                  const uint8_t* above,
4935                                  const uint8_t* left);
4936 #define vpx_tm_predictor_16x16 vpx_tm_predictor_16x16_neon
4937 
4938 void vpx_tm_predictor_32x32_c(uint8_t* dst,
4939                               ptrdiff_t stride,
4940                               const uint8_t* above,
4941                               const uint8_t* left);
4942 void vpx_tm_predictor_32x32_neon(uint8_t* dst,
4943                                  ptrdiff_t stride,
4944                                  const uint8_t* above,
4945                                  const uint8_t* left);
4946 #define vpx_tm_predictor_32x32 vpx_tm_predictor_32x32_neon
4947 
4948 void vpx_tm_predictor_4x4_c(uint8_t* dst,
4949                             ptrdiff_t stride,
4950                             const uint8_t* above,
4951                             const uint8_t* left);
4952 void vpx_tm_predictor_4x4_neon(uint8_t* dst,
4953                                ptrdiff_t stride,
4954                                const uint8_t* above,
4955                                const uint8_t* left);
4956 #define vpx_tm_predictor_4x4 vpx_tm_predictor_4x4_neon
4957 
4958 void vpx_tm_predictor_8x8_c(uint8_t* dst,
4959                             ptrdiff_t stride,
4960                             const uint8_t* above,
4961                             const uint8_t* left);
4962 void vpx_tm_predictor_8x8_neon(uint8_t* dst,
4963                                ptrdiff_t stride,
4964                                const uint8_t* above,
4965                                const uint8_t* left);
4966 #define vpx_tm_predictor_8x8 vpx_tm_predictor_8x8_neon
4967 
4968 void vpx_v_predictor_16x16_c(uint8_t* dst,
4969                              ptrdiff_t stride,
4970                              const uint8_t* above,
4971                              const uint8_t* left);
4972 void vpx_v_predictor_16x16_neon(uint8_t* dst,
4973                                 ptrdiff_t stride,
4974                                 const uint8_t* above,
4975                                 const uint8_t* left);
4976 #define vpx_v_predictor_16x16 vpx_v_predictor_16x16_neon
4977 
4978 void vpx_v_predictor_32x32_c(uint8_t* dst,
4979                              ptrdiff_t stride,
4980                              const uint8_t* above,
4981                              const uint8_t* left);
4982 void vpx_v_predictor_32x32_neon(uint8_t* dst,
4983                                 ptrdiff_t stride,
4984                                 const uint8_t* above,
4985                                 const uint8_t* left);
4986 #define vpx_v_predictor_32x32 vpx_v_predictor_32x32_neon
4987 
4988 void vpx_v_predictor_4x4_c(uint8_t* dst,
4989                            ptrdiff_t stride,
4990                            const uint8_t* above,
4991                            const uint8_t* left);
4992 void vpx_v_predictor_4x4_neon(uint8_t* dst,
4993                               ptrdiff_t stride,
4994                               const uint8_t* above,
4995                               const uint8_t* left);
4996 #define vpx_v_predictor_4x4 vpx_v_predictor_4x4_neon
4997 
4998 void vpx_v_predictor_8x8_c(uint8_t* dst,
4999                            ptrdiff_t stride,
5000                            const uint8_t* above,
5001                            const uint8_t* left);
5002 void vpx_v_predictor_8x8_neon(uint8_t* dst,
5003                               ptrdiff_t stride,
5004                               const uint8_t* above,
5005                               const uint8_t* left);
5006 #define vpx_v_predictor_8x8 vpx_v_predictor_8x8_neon
5007 
5008 unsigned int vpx_variance16x16_c(const uint8_t* src_ptr,
5009                                  int src_stride,
5010                                  const uint8_t* ref_ptr,
5011                                  int ref_stride,
5012                                  unsigned int* sse);
5013 unsigned int vpx_variance16x16_neon(const uint8_t* src_ptr,
5014                                     int src_stride,
5015                                     const uint8_t* ref_ptr,
5016                                     int ref_stride,
5017                                     unsigned int* sse);
5018 #define vpx_variance16x16 vpx_variance16x16_neon
5019 
5020 unsigned int vpx_variance16x32_c(const uint8_t* src_ptr,
5021                                  int src_stride,
5022                                  const uint8_t* ref_ptr,
5023                                  int ref_stride,
5024                                  unsigned int* sse);
5025 unsigned int vpx_variance16x32_neon(const uint8_t* src_ptr,
5026                                     int src_stride,
5027                                     const uint8_t* ref_ptr,
5028                                     int ref_stride,
5029                                     unsigned int* sse);
5030 #define vpx_variance16x32 vpx_variance16x32_neon
5031 
5032 unsigned int vpx_variance16x8_c(const uint8_t* src_ptr,
5033                                 int src_stride,
5034                                 const uint8_t* ref_ptr,
5035                                 int ref_stride,
5036                                 unsigned int* sse);
5037 unsigned int vpx_variance16x8_neon(const uint8_t* src_ptr,
5038                                    int src_stride,
5039                                    const uint8_t* ref_ptr,
5040                                    int ref_stride,
5041                                    unsigned int* sse);
5042 #define vpx_variance16x8 vpx_variance16x8_neon
5043 
5044 unsigned int vpx_variance32x16_c(const uint8_t* src_ptr,
5045                                  int src_stride,
5046                                  const uint8_t* ref_ptr,
5047                                  int ref_stride,
5048                                  unsigned int* sse);
5049 unsigned int vpx_variance32x16_neon(const uint8_t* src_ptr,
5050                                     int src_stride,
5051                                     const uint8_t* ref_ptr,
5052                                     int ref_stride,
5053                                     unsigned int* sse);
5054 #define vpx_variance32x16 vpx_variance32x16_neon
5055 
5056 unsigned int vpx_variance32x32_c(const uint8_t* src_ptr,
5057                                  int src_stride,
5058                                  const uint8_t* ref_ptr,
5059                                  int ref_stride,
5060                                  unsigned int* sse);
5061 unsigned int vpx_variance32x32_neon(const uint8_t* src_ptr,
5062                                     int src_stride,
5063                                     const uint8_t* ref_ptr,
5064                                     int ref_stride,
5065                                     unsigned int* sse);
5066 #define vpx_variance32x32 vpx_variance32x32_neon
5067 
5068 unsigned int vpx_variance32x64_c(const uint8_t* src_ptr,
5069                                  int src_stride,
5070                                  const uint8_t* ref_ptr,
5071                                  int ref_stride,
5072                                  unsigned int* sse);
5073 unsigned int vpx_variance32x64_neon(const uint8_t* src_ptr,
5074                                     int src_stride,
5075                                     const uint8_t* ref_ptr,
5076                                     int ref_stride,
5077                                     unsigned int* sse);
5078 #define vpx_variance32x64 vpx_variance32x64_neon
5079 
5080 unsigned int vpx_variance4x4_c(const uint8_t* src_ptr,
5081                                int src_stride,
5082                                const uint8_t* ref_ptr,
5083                                int ref_stride,
5084                                unsigned int* sse);
5085 unsigned int vpx_variance4x4_neon(const uint8_t* src_ptr,
5086                                   int src_stride,
5087                                   const uint8_t* ref_ptr,
5088                                   int ref_stride,
5089                                   unsigned int* sse);
5090 #define vpx_variance4x4 vpx_variance4x4_neon
5091 
5092 unsigned int vpx_variance4x8_c(const uint8_t* src_ptr,
5093                                int src_stride,
5094                                const uint8_t* ref_ptr,
5095                                int ref_stride,
5096                                unsigned int* sse);
5097 unsigned int vpx_variance4x8_neon(const uint8_t* src_ptr,
5098                                   int src_stride,
5099                                   const uint8_t* ref_ptr,
5100                                   int ref_stride,
5101                                   unsigned int* sse);
5102 #define vpx_variance4x8 vpx_variance4x8_neon
5103 
5104 unsigned int vpx_variance64x32_c(const uint8_t* src_ptr,
5105                                  int src_stride,
5106                                  const uint8_t* ref_ptr,
5107                                  int ref_stride,
5108                                  unsigned int* sse);
5109 unsigned int vpx_variance64x32_neon(const uint8_t* src_ptr,
5110                                     int src_stride,
5111                                     const uint8_t* ref_ptr,
5112                                     int ref_stride,
5113                                     unsigned int* sse);
5114 #define vpx_variance64x32 vpx_variance64x32_neon
5115 
5116 unsigned int vpx_variance64x64_c(const uint8_t* src_ptr,
5117                                  int src_stride,
5118                                  const uint8_t* ref_ptr,
5119                                  int ref_stride,
5120                                  unsigned int* sse);
5121 unsigned int vpx_variance64x64_neon(const uint8_t* src_ptr,
5122                                     int src_stride,
5123                                     const uint8_t* ref_ptr,
5124                                     int ref_stride,
5125                                     unsigned int* sse);
5126 #define vpx_variance64x64 vpx_variance64x64_neon
5127 
5128 unsigned int vpx_variance8x16_c(const uint8_t* src_ptr,
5129                                 int src_stride,
5130                                 const uint8_t* ref_ptr,
5131                                 int ref_stride,
5132                                 unsigned int* sse);
5133 unsigned int vpx_variance8x16_neon(const uint8_t* src_ptr,
5134                                    int src_stride,
5135                                    const uint8_t* ref_ptr,
5136                                    int ref_stride,
5137                                    unsigned int* sse);
5138 #define vpx_variance8x16 vpx_variance8x16_neon
5139 
5140 unsigned int vpx_variance8x4_c(const uint8_t* src_ptr,
5141                                int src_stride,
5142                                const uint8_t* ref_ptr,
5143                                int ref_stride,
5144                                unsigned int* sse);
5145 unsigned int vpx_variance8x4_neon(const uint8_t* src_ptr,
5146                                   int src_stride,
5147                                   const uint8_t* ref_ptr,
5148                                   int ref_stride,
5149                                   unsigned int* sse);
5150 #define vpx_variance8x4 vpx_variance8x4_neon
5151 
5152 unsigned int vpx_variance8x8_c(const uint8_t* src_ptr,
5153                                int src_stride,
5154                                const uint8_t* ref_ptr,
5155                                int ref_stride,
5156                                unsigned int* sse);
5157 unsigned int vpx_variance8x8_neon(const uint8_t* src_ptr,
5158                                   int src_stride,
5159                                   const uint8_t* ref_ptr,
5160                                   int ref_stride,
5161                                   unsigned int* sse);
5162 #define vpx_variance8x8 vpx_variance8x8_neon
5163 
5164 void vpx_ve_predictor_4x4_c(uint8_t* dst,
5165                             ptrdiff_t stride,
5166                             const uint8_t* above,
5167                             const uint8_t* left);
5168 #define vpx_ve_predictor_4x4 vpx_ve_predictor_4x4_c
5169 
5170 int vpx_vector_var_c(const int16_t* ref, const int16_t* src, const int bwl);
5171 int vpx_vector_var_neon(const int16_t* ref, const int16_t* src, const int bwl);
5172 #define vpx_vector_var vpx_vector_var_neon
5173 
5174 void vpx_dsp_rtcd(void);
5175 
5176 #include "vpx_config.h"
5177 
5178 #ifdef RTCD_C
5179 #include "vpx_ports/arm.h"
setup_rtcd_internal(void)5180 static void setup_rtcd_internal(void) {
5181   int flags = arm_cpu_caps();
5182 
5183   (void)flags;
5184 }
5185 #endif
5186 
5187 #ifdef __cplusplus
5188 }  // extern "C"
5189 #endif
5190 
5191 #endif
5192