1 // This file is generated. Do not edit.
2 #ifndef VP8_RTCD_H_
3 #define VP8_RTCD_H_
4 
5 #ifdef RTCD_C
6 #define RTCD_EXTERN
7 #else
8 #define RTCD_EXTERN extern
9 #endif
10 
11 /*
12  * VP8
13  */
14 
15 struct blockd;
16 struct macroblockd;
17 struct loop_filter_info;
18 
19 /* Encoder forward decls */
20 struct block;
21 struct macroblock;
22 struct variance_vtable;
23 union int_mv;
24 struct yv12_buffer_config;
25 
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
29 
30 void vp8_bilinear_predict16x16_c(unsigned char* src_ptr,
31                                  int src_pixels_per_line,
32                                  int xoffset,
33                                  int yoffset,
34                                  unsigned char* dst_ptr,
35                                  int dst_pitch);
36 void vp8_bilinear_predict16x16_neon(unsigned char* src_ptr,
37                                     int src_pixels_per_line,
38                                     int xoffset,
39                                     int yoffset,
40                                     unsigned char* dst_ptr,
41                                     int dst_pitch);
42 RTCD_EXTERN void (*vp8_bilinear_predict16x16)(unsigned char* src_ptr,
43                                               int src_pixels_per_line,
44                                               int xoffset,
45                                               int yoffset,
46                                               unsigned char* dst_ptr,
47                                               int dst_pitch);
48 
49 void vp8_bilinear_predict4x4_c(unsigned char* src_ptr,
50                                int src_pixels_per_line,
51                                int xoffset,
52                                int yoffset,
53                                unsigned char* dst_ptr,
54                                int dst_pitch);
55 void vp8_bilinear_predict4x4_neon(unsigned char* src_ptr,
56                                   int src_pixels_per_line,
57                                   int xoffset,
58                                   int yoffset,
59                                   unsigned char* dst_ptr,
60                                   int dst_pitch);
61 RTCD_EXTERN void (*vp8_bilinear_predict4x4)(unsigned char* src_ptr,
62                                             int src_pixels_per_line,
63                                             int xoffset,
64                                             int yoffset,
65                                             unsigned char* dst_ptr,
66                                             int dst_pitch);
67 
68 void vp8_bilinear_predict8x4_c(unsigned char* src_ptr,
69                                int src_pixels_per_line,
70                                int xoffset,
71                                int yoffset,
72                                unsigned char* dst_ptr,
73                                int dst_pitch);
74 void vp8_bilinear_predict8x4_neon(unsigned char* src_ptr,
75                                   int src_pixels_per_line,
76                                   int xoffset,
77                                   int yoffset,
78                                   unsigned char* dst_ptr,
79                                   int dst_pitch);
80 RTCD_EXTERN void (*vp8_bilinear_predict8x4)(unsigned char* src_ptr,
81                                             int src_pixels_per_line,
82                                             int xoffset,
83                                             int yoffset,
84                                             unsigned char* dst_ptr,
85                                             int dst_pitch);
86 
87 void vp8_bilinear_predict8x8_c(unsigned char* src_ptr,
88                                int src_pixels_per_line,
89                                int xoffset,
90                                int yoffset,
91                                unsigned char* dst_ptr,
92                                int dst_pitch);
93 void vp8_bilinear_predict8x8_neon(unsigned char* src_ptr,
94                                   int src_pixels_per_line,
95                                   int xoffset,
96                                   int yoffset,
97                                   unsigned char* dst_ptr,
98                                   int dst_pitch);
99 RTCD_EXTERN void (*vp8_bilinear_predict8x8)(unsigned char* src_ptr,
100                                             int src_pixels_per_line,
101                                             int xoffset,
102                                             int yoffset,
103                                             unsigned char* dst_ptr,
104                                             int dst_pitch);
105 
106 void vp8_blend_b_c(unsigned char* y,
107                    unsigned char* u,
108                    unsigned char* v,
109                    int y_1,
110                    int u_1,
111                    int v_1,
112                    int alpha,
113                    int stride);
114 #define vp8_blend_b vp8_blend_b_c
115 
116 void vp8_blend_mb_inner_c(unsigned char* y,
117                           unsigned char* u,
118                           unsigned char* v,
119                           int y_1,
120                           int u_1,
121                           int v_1,
122                           int alpha,
123                           int stride);
124 #define vp8_blend_mb_inner vp8_blend_mb_inner_c
125 
126 void vp8_blend_mb_outer_c(unsigned char* y,
127                           unsigned char* u,
128                           unsigned char* v,
129                           int y_1,
130                           int u_1,
131                           int v_1,
132                           int alpha,
133                           int stride);
134 #define vp8_blend_mb_outer vp8_blend_mb_outer_c
135 
136 int vp8_block_error_c(short* coeff, short* dqcoeff);
137 #define vp8_block_error vp8_block_error_c
138 
139 void vp8_copy32xn_c(const unsigned char* src_ptr,
140                     int src_stride,
141                     unsigned char* dst_ptr,
142                     int dst_stride,
143                     int height);
144 #define vp8_copy32xn vp8_copy32xn_c
145 
146 void vp8_copy_mem16x16_c(unsigned char* src,
147                          int src_stride,
148                          unsigned char* dst,
149                          int dst_stride);
150 void vp8_copy_mem16x16_neon(unsigned char* src,
151                             int src_stride,
152                             unsigned char* dst,
153                             int dst_stride);
154 RTCD_EXTERN void (*vp8_copy_mem16x16)(unsigned char* src,
155                                       int src_stride,
156                                       unsigned char* dst,
157                                       int dst_stride);
158 
159 void vp8_copy_mem8x4_c(unsigned char* src,
160                        int src_stride,
161                        unsigned char* dst,
162                        int dst_stride);
163 void vp8_copy_mem8x4_neon(unsigned char* src,
164                           int src_stride,
165                           unsigned char* dst,
166                           int dst_stride);
167 RTCD_EXTERN void (*vp8_copy_mem8x4)(unsigned char* src,
168                                     int src_stride,
169                                     unsigned char* dst,
170                                     int dst_stride);
171 
172 void vp8_copy_mem8x8_c(unsigned char* src,
173                        int src_stride,
174                        unsigned char* dst,
175                        int dst_stride);
176 void vp8_copy_mem8x8_neon(unsigned char* src,
177                           int src_stride,
178                           unsigned char* dst,
179                           int dst_stride);
180 RTCD_EXTERN void (*vp8_copy_mem8x8)(unsigned char* src,
181                                     int src_stride,
182                                     unsigned char* dst,
183                                     int dst_stride);
184 
185 void vp8_dc_only_idct_add_c(short input_dc,
186                             unsigned char* pred_ptr,
187                             int pred_stride,
188                             unsigned char* dst_ptr,
189                             int dst_stride);
190 void vp8_dc_only_idct_add_neon(short input_dc,
191                                unsigned char* pred_ptr,
192                                int pred_stride,
193                                unsigned char* dst_ptr,
194                                int dst_stride);
195 RTCD_EXTERN void (*vp8_dc_only_idct_add)(short input_dc,
196                                          unsigned char* pred_ptr,
197                                          int pred_stride,
198                                          unsigned char* dst_ptr,
199                                          int dst_stride);
200 
201 int vp8_denoiser_filter_c(unsigned char* mc_running_avg_y,
202                           int mc_avg_y_stride,
203                           unsigned char* running_avg_y,
204                           int avg_y_stride,
205                           unsigned char* sig,
206                           int sig_stride,
207                           unsigned int motion_magnitude,
208                           int increase_denoising);
209 int vp8_denoiser_filter_neon(unsigned char* mc_running_avg_y,
210                              int mc_avg_y_stride,
211                              unsigned char* running_avg_y,
212                              int avg_y_stride,
213                              unsigned char* sig,
214                              int sig_stride,
215                              unsigned int motion_magnitude,
216                              int increase_denoising);
217 RTCD_EXTERN int (*vp8_denoiser_filter)(unsigned char* mc_running_avg_y,
218                                        int mc_avg_y_stride,
219                                        unsigned char* running_avg_y,
220                                        int avg_y_stride,
221                                        unsigned char* sig,
222                                        int sig_stride,
223                                        unsigned int motion_magnitude,
224                                        int increase_denoising);
225 
226 int vp8_denoiser_filter_uv_c(unsigned char* mc_running_avg,
227                              int mc_avg_stride,
228                              unsigned char* running_avg,
229                              int avg_stride,
230                              unsigned char* sig,
231                              int sig_stride,
232                              unsigned int motion_magnitude,
233                              int increase_denoising);
234 int vp8_denoiser_filter_uv_neon(unsigned char* mc_running_avg,
235                                 int mc_avg_stride,
236                                 unsigned char* running_avg,
237                                 int avg_stride,
238                                 unsigned char* sig,
239                                 int sig_stride,
240                                 unsigned int motion_magnitude,
241                                 int increase_denoising);
242 RTCD_EXTERN int (*vp8_denoiser_filter_uv)(unsigned char* mc_running_avg,
243                                           int mc_avg_stride,
244                                           unsigned char* running_avg,
245                                           int avg_stride,
246                                           unsigned char* sig,
247                                           int sig_stride,
248                                           unsigned int motion_magnitude,
249                                           int increase_denoising);
250 
251 void vp8_dequant_idct_add_c(short* input,
252                             short* dq,
253                             unsigned char* dest,
254                             int stride);
255 void vp8_dequant_idct_add_neon(short* input,
256                                short* dq,
257                                unsigned char* dest,
258                                int stride);
259 RTCD_EXTERN void (*vp8_dequant_idct_add)(short* input,
260                                          short* dq,
261                                          unsigned char* dest,
262                                          int stride);
263 
264 void vp8_dequant_idct_add_uv_block_c(short* q,
265                                      short* dq,
266                                      unsigned char* dst_u,
267                                      unsigned char* dst_v,
268                                      int stride,
269                                      char* eobs);
270 void vp8_dequant_idct_add_uv_block_neon(short* q,
271                                         short* dq,
272                                         unsigned char* dst_u,
273                                         unsigned char* dst_v,
274                                         int stride,
275                                         char* eobs);
276 RTCD_EXTERN void (*vp8_dequant_idct_add_uv_block)(short* q,
277                                                   short* dq,
278                                                   unsigned char* dst_u,
279                                                   unsigned char* dst_v,
280                                                   int stride,
281                                                   char* eobs);
282 
283 void vp8_dequant_idct_add_y_block_c(short* q,
284                                     short* dq,
285                                     unsigned char* dst,
286                                     int stride,
287                                     char* eobs);
288 void vp8_dequant_idct_add_y_block_neon(short* q,
289                                        short* dq,
290                                        unsigned char* dst,
291                                        int stride,
292                                        char* eobs);
293 RTCD_EXTERN void (*vp8_dequant_idct_add_y_block)(short* q,
294                                                  short* dq,
295                                                  unsigned char* dst,
296                                                  int stride,
297                                                  char* eobs);
298 
299 void vp8_dequantize_b_c(struct blockd*, short* DQC);
300 void vp8_dequantize_b_neon(struct blockd*, short* DQC);
301 RTCD_EXTERN void (*vp8_dequantize_b)(struct blockd*, short* DQC);
302 
303 int vp8_diamond_search_sad_c(struct macroblock* x,
304                              struct block* b,
305                              struct blockd* d,
306                              union int_mv* ref_mv,
307                              union int_mv* best_mv,
308                              int search_param,
309                              int sad_per_bit,
310                              int* num00,
311                              struct variance_vtable* fn_ptr,
312                              int* mvcost[2],
313                              union int_mv* center_mv);
314 #define vp8_diamond_search_sad vp8_diamond_search_sad_c
315 
316 void vp8_fast_quantize_b_c(struct block*, struct blockd*);
317 void vp8_fast_quantize_b_neon(struct block*, struct blockd*);
318 RTCD_EXTERN void (*vp8_fast_quantize_b)(struct block*, struct blockd*);
319 
320 void vp8_filter_by_weight16x16_c(unsigned char* src,
321                                  int src_stride,
322                                  unsigned char* dst,
323                                  int dst_stride,
324                                  int src_weight);
325 #define vp8_filter_by_weight16x16 vp8_filter_by_weight16x16_c
326 
327 void vp8_filter_by_weight4x4_c(unsigned char* src,
328                                int src_stride,
329                                unsigned char* dst,
330                                int dst_stride,
331                                int src_weight);
332 #define vp8_filter_by_weight4x4 vp8_filter_by_weight4x4_c
333 
334 void vp8_filter_by_weight8x8_c(unsigned char* src,
335                                int src_stride,
336                                unsigned char* dst,
337                                int dst_stride,
338                                int src_weight);
339 #define vp8_filter_by_weight8x8 vp8_filter_by_weight8x8_c
340 
341 int vp8_full_search_sad_c(struct macroblock* x,
342                           struct block* b,
343                           struct blockd* d,
344                           union int_mv* ref_mv,
345                           int sad_per_bit,
346                           int distance,
347                           struct variance_vtable* fn_ptr,
348                           int* mvcost[2],
349                           union int_mv* center_mv);
350 #define vp8_full_search_sad vp8_full_search_sad_c
351 
352 void vp8_loop_filter_bh_c(unsigned char* y_ptr,
353                           unsigned char* u_ptr,
354                           unsigned char* v_ptr,
355                           int y_stride,
356                           int uv_stride,
357                           struct loop_filter_info* lfi);
358 void vp8_loop_filter_bh_neon(unsigned char* y_ptr,
359                              unsigned char* u_ptr,
360                              unsigned char* v_ptr,
361                              int y_stride,
362                              int uv_stride,
363                              struct loop_filter_info* lfi);
364 RTCD_EXTERN void (*vp8_loop_filter_bh)(unsigned char* y_ptr,
365                                        unsigned char* u_ptr,
366                                        unsigned char* v_ptr,
367                                        int y_stride,
368                                        int uv_stride,
369                                        struct loop_filter_info* lfi);
370 
371 void vp8_loop_filter_bv_c(unsigned char* y_ptr,
372                           unsigned char* u_ptr,
373                           unsigned char* v_ptr,
374                           int y_stride,
375                           int uv_stride,
376                           struct loop_filter_info* lfi);
377 void vp8_loop_filter_bv_neon(unsigned char* y_ptr,
378                              unsigned char* u_ptr,
379                              unsigned char* v_ptr,
380                              int y_stride,
381                              int uv_stride,
382                              struct loop_filter_info* lfi);
383 RTCD_EXTERN void (*vp8_loop_filter_bv)(unsigned char* y_ptr,
384                                        unsigned char* u_ptr,
385                                        unsigned char* v_ptr,
386                                        int y_stride,
387                                        int uv_stride,
388                                        struct loop_filter_info* lfi);
389 
390 void vp8_loop_filter_mbh_c(unsigned char* y_ptr,
391                            unsigned char* u_ptr,
392                            unsigned char* v_ptr,
393                            int y_stride,
394                            int uv_stride,
395                            struct loop_filter_info* lfi);
396 void vp8_loop_filter_mbh_neon(unsigned char* y_ptr,
397                               unsigned char* u_ptr,
398                               unsigned char* v_ptr,
399                               int y_stride,
400                               int uv_stride,
401                               struct loop_filter_info* lfi);
402 RTCD_EXTERN void (*vp8_loop_filter_mbh)(unsigned char* y_ptr,
403                                         unsigned char* u_ptr,
404                                         unsigned char* v_ptr,
405                                         int y_stride,
406                                         int uv_stride,
407                                         struct loop_filter_info* lfi);
408 
409 void vp8_loop_filter_mbv_c(unsigned char* y_ptr,
410                            unsigned char* u_ptr,
411                            unsigned char* v_ptr,
412                            int y_stride,
413                            int uv_stride,
414                            struct loop_filter_info* lfi);
415 void vp8_loop_filter_mbv_neon(unsigned char* y_ptr,
416                               unsigned char* u_ptr,
417                               unsigned char* v_ptr,
418                               int y_stride,
419                               int uv_stride,
420                               struct loop_filter_info* lfi);
421 RTCD_EXTERN void (*vp8_loop_filter_mbv)(unsigned char* y_ptr,
422                                         unsigned char* u_ptr,
423                                         unsigned char* v_ptr,
424                                         int y_stride,
425                                         int uv_stride,
426                                         struct loop_filter_info* lfi);
427 
428 void vp8_loop_filter_bhs_c(unsigned char* y_ptr,
429                            int y_stride,
430                            const unsigned char* blimit);
431 void vp8_loop_filter_bhs_neon(unsigned char* y_ptr,
432                               int y_stride,
433                               const unsigned char* blimit);
434 RTCD_EXTERN void (*vp8_loop_filter_simple_bh)(unsigned char* y_ptr,
435                                               int y_stride,
436                                               const unsigned char* blimit);
437 
438 void vp8_loop_filter_bvs_c(unsigned char* y_ptr,
439                            int y_stride,
440                            const unsigned char* blimit);
441 void vp8_loop_filter_bvs_neon(unsigned char* y_ptr,
442                               int y_stride,
443                               const unsigned char* blimit);
444 RTCD_EXTERN void (*vp8_loop_filter_simple_bv)(unsigned char* y_ptr,
445                                               int y_stride,
446                                               const unsigned char* blimit);
447 
448 void vp8_loop_filter_simple_horizontal_edge_c(unsigned char* y_ptr,
449                                               int y_stride,
450                                               const unsigned char* blimit);
451 void vp8_loop_filter_mbhs_neon(unsigned char* y_ptr,
452                                int y_stride,
453                                const unsigned char* blimit);
454 RTCD_EXTERN void (*vp8_loop_filter_simple_mbh)(unsigned char* y_ptr,
455                                                int y_stride,
456                                                const unsigned char* blimit);
457 
458 void vp8_loop_filter_simple_vertical_edge_c(unsigned char* y_ptr,
459                                             int y_stride,
460                                             const unsigned char* blimit);
461 void vp8_loop_filter_mbvs_neon(unsigned char* y_ptr,
462                                int y_stride,
463                                const unsigned char* blimit);
464 RTCD_EXTERN void (*vp8_loop_filter_simple_mbv)(unsigned char* y_ptr,
465                                                int y_stride,
466                                                const unsigned char* blimit);
467 
468 int vp8_mbblock_error_c(struct macroblock* mb, int dc);
469 #define vp8_mbblock_error vp8_mbblock_error_c
470 
471 int vp8_mbuverror_c(struct macroblock* mb);
472 #define vp8_mbuverror vp8_mbuverror_c
473 
474 int vp8_refining_search_sad_c(struct macroblock* x,
475                               struct block* b,
476                               struct blockd* d,
477                               union int_mv* ref_mv,
478                               int error_per_bit,
479                               int search_range,
480                               struct variance_vtable* fn_ptr,
481                               int* mvcost[2],
482                               union int_mv* center_mv);
483 #define vp8_refining_search_sad vp8_refining_search_sad_c
484 
485 void vp8_regular_quantize_b_c(struct block*, struct blockd*);
486 #define vp8_regular_quantize_b vp8_regular_quantize_b_c
487 
488 void vp8_short_fdct4x4_c(short* input, short* output, int pitch);
489 void vp8_short_fdct4x4_neon(short* input, short* output, int pitch);
490 RTCD_EXTERN void (*vp8_short_fdct4x4)(short* input, short* output, int pitch);
491 
492 void vp8_short_fdct8x4_c(short* input, short* output, int pitch);
493 void vp8_short_fdct8x4_neon(short* input, short* output, int pitch);
494 RTCD_EXTERN void (*vp8_short_fdct8x4)(short* input, short* output, int pitch);
495 
496 void vp8_short_idct4x4llm_c(short* input,
497                             unsigned char* pred_ptr,
498                             int pred_stride,
499                             unsigned char* dst_ptr,
500                             int dst_stride);
501 void vp8_short_idct4x4llm_neon(short* input,
502                                unsigned char* pred_ptr,
503                                int pred_stride,
504                                unsigned char* dst_ptr,
505                                int dst_stride);
506 RTCD_EXTERN void (*vp8_short_idct4x4llm)(short* input,
507                                          unsigned char* pred_ptr,
508                                          int pred_stride,
509                                          unsigned char* dst_ptr,
510                                          int dst_stride);
511 
512 void vp8_short_inv_walsh4x4_c(short* input, short* mb_dqcoeff);
513 void vp8_short_inv_walsh4x4_neon(short* input, short* mb_dqcoeff);
514 RTCD_EXTERN void (*vp8_short_inv_walsh4x4)(short* input, short* mb_dqcoeff);
515 
516 void vp8_short_inv_walsh4x4_1_c(short* input, short* mb_dqcoeff);
517 #define vp8_short_inv_walsh4x4_1 vp8_short_inv_walsh4x4_1_c
518 
519 void vp8_short_walsh4x4_c(short* input, short* output, int pitch);
520 void vp8_short_walsh4x4_neon(short* input, short* output, int pitch);
521 RTCD_EXTERN void (*vp8_short_walsh4x4)(short* input, short* output, int pitch);
522 
523 void vp8_sixtap_predict16x16_c(unsigned char* src_ptr,
524                                int src_pixels_per_line,
525                                int xoffset,
526                                int yoffset,
527                                unsigned char* dst_ptr,
528                                int dst_pitch);
529 void vp8_sixtap_predict16x16_neon(unsigned char* src_ptr,
530                                   int src_pixels_per_line,
531                                   int xoffset,
532                                   int yoffset,
533                                   unsigned char* dst_ptr,
534                                   int dst_pitch);
535 RTCD_EXTERN void (*vp8_sixtap_predict16x16)(unsigned char* src_ptr,
536                                             int src_pixels_per_line,
537                                             int xoffset,
538                                             int yoffset,
539                                             unsigned char* dst_ptr,
540                                             int dst_pitch);
541 
542 void vp8_sixtap_predict4x4_c(unsigned char* src_ptr,
543                              int src_pixels_per_line,
544                              int xoffset,
545                              int yoffset,
546                              unsigned char* dst_ptr,
547                              int dst_pitch);
548 void vp8_sixtap_predict4x4_neon(unsigned char* src_ptr,
549                                 int src_pixels_per_line,
550                                 int xoffset,
551                                 int yoffset,
552                                 unsigned char* dst_ptr,
553                                 int dst_pitch);
554 RTCD_EXTERN void (*vp8_sixtap_predict4x4)(unsigned char* src_ptr,
555                                           int src_pixels_per_line,
556                                           int xoffset,
557                                           int yoffset,
558                                           unsigned char* dst_ptr,
559                                           int dst_pitch);
560 
561 void vp8_sixtap_predict8x4_c(unsigned char* src_ptr,
562                              int src_pixels_per_line,
563                              int xoffset,
564                              int yoffset,
565                              unsigned char* dst_ptr,
566                              int dst_pitch);
567 void vp8_sixtap_predict8x4_neon(unsigned char* src_ptr,
568                                 int src_pixels_per_line,
569                                 int xoffset,
570                                 int yoffset,
571                                 unsigned char* dst_ptr,
572                                 int dst_pitch);
573 RTCD_EXTERN void (*vp8_sixtap_predict8x4)(unsigned char* src_ptr,
574                                           int src_pixels_per_line,
575                                           int xoffset,
576                                           int yoffset,
577                                           unsigned char* dst_ptr,
578                                           int dst_pitch);
579 
580 void vp8_sixtap_predict8x8_c(unsigned char* src_ptr,
581                              int src_pixels_per_line,
582                              int xoffset,
583                              int yoffset,
584                              unsigned char* dst_ptr,
585                              int dst_pitch);
586 void vp8_sixtap_predict8x8_neon(unsigned char* src_ptr,
587                                 int src_pixels_per_line,
588                                 int xoffset,
589                                 int yoffset,
590                                 unsigned char* dst_ptr,
591                                 int dst_pitch);
592 RTCD_EXTERN void (*vp8_sixtap_predict8x8)(unsigned char* src_ptr,
593                                           int src_pixels_per_line,
594                                           int xoffset,
595                                           int yoffset,
596                                           unsigned char* dst_ptr,
597                                           int dst_pitch);
598 
599 void vp8_rtcd(void);
600 
601 #include "vpx_config.h"
602 
603 #ifdef RTCD_C
604 #include "vpx_ports/arm.h"
setup_rtcd_internal(void)605 static void setup_rtcd_internal(void) {
606   int flags = arm_cpu_caps();
607 
608   (void)flags;
609 
610   vp8_bilinear_predict16x16 = vp8_bilinear_predict16x16_c;
611   if (flags & HAS_NEON)
612     vp8_bilinear_predict16x16 = vp8_bilinear_predict16x16_neon;
613   vp8_bilinear_predict4x4 = vp8_bilinear_predict4x4_c;
614   if (flags & HAS_NEON)
615     vp8_bilinear_predict4x4 = vp8_bilinear_predict4x4_neon;
616   vp8_bilinear_predict8x4 = vp8_bilinear_predict8x4_c;
617   if (flags & HAS_NEON)
618     vp8_bilinear_predict8x4 = vp8_bilinear_predict8x4_neon;
619   vp8_bilinear_predict8x8 = vp8_bilinear_predict8x8_c;
620   if (flags & HAS_NEON)
621     vp8_bilinear_predict8x8 = vp8_bilinear_predict8x8_neon;
622   vp8_copy_mem16x16 = vp8_copy_mem16x16_c;
623   if (flags & HAS_NEON)
624     vp8_copy_mem16x16 = vp8_copy_mem16x16_neon;
625   vp8_copy_mem8x4 = vp8_copy_mem8x4_c;
626   if (flags & HAS_NEON)
627     vp8_copy_mem8x4 = vp8_copy_mem8x4_neon;
628   vp8_copy_mem8x8 = vp8_copy_mem8x8_c;
629   if (flags & HAS_NEON)
630     vp8_copy_mem8x8 = vp8_copy_mem8x8_neon;
631   vp8_dc_only_idct_add = vp8_dc_only_idct_add_c;
632   if (flags & HAS_NEON)
633     vp8_dc_only_idct_add = vp8_dc_only_idct_add_neon;
634   vp8_denoiser_filter = vp8_denoiser_filter_c;
635   if (flags & HAS_NEON)
636     vp8_denoiser_filter = vp8_denoiser_filter_neon;
637   vp8_denoiser_filter_uv = vp8_denoiser_filter_uv_c;
638   if (flags & HAS_NEON)
639     vp8_denoiser_filter_uv = vp8_denoiser_filter_uv_neon;
640   vp8_dequant_idct_add = vp8_dequant_idct_add_c;
641   if (flags & HAS_NEON)
642     vp8_dequant_idct_add = vp8_dequant_idct_add_neon;
643   vp8_dequant_idct_add_uv_block = vp8_dequant_idct_add_uv_block_c;
644   if (flags & HAS_NEON)
645     vp8_dequant_idct_add_uv_block = vp8_dequant_idct_add_uv_block_neon;
646   vp8_dequant_idct_add_y_block = vp8_dequant_idct_add_y_block_c;
647   if (flags & HAS_NEON)
648     vp8_dequant_idct_add_y_block = vp8_dequant_idct_add_y_block_neon;
649   vp8_dequantize_b = vp8_dequantize_b_c;
650   if (flags & HAS_NEON)
651     vp8_dequantize_b = vp8_dequantize_b_neon;
652   vp8_fast_quantize_b = vp8_fast_quantize_b_c;
653   if (flags & HAS_NEON)
654     vp8_fast_quantize_b = vp8_fast_quantize_b_neon;
655   vp8_loop_filter_bh = vp8_loop_filter_bh_c;
656   if (flags & HAS_NEON)
657     vp8_loop_filter_bh = vp8_loop_filter_bh_neon;
658   vp8_loop_filter_bv = vp8_loop_filter_bv_c;
659   if (flags & HAS_NEON)
660     vp8_loop_filter_bv = vp8_loop_filter_bv_neon;
661   vp8_loop_filter_mbh = vp8_loop_filter_mbh_c;
662   if (flags & HAS_NEON)
663     vp8_loop_filter_mbh = vp8_loop_filter_mbh_neon;
664   vp8_loop_filter_mbv = vp8_loop_filter_mbv_c;
665   if (flags & HAS_NEON)
666     vp8_loop_filter_mbv = vp8_loop_filter_mbv_neon;
667   vp8_loop_filter_simple_bh = vp8_loop_filter_bhs_c;
668   if (flags & HAS_NEON)
669     vp8_loop_filter_simple_bh = vp8_loop_filter_bhs_neon;
670   vp8_loop_filter_simple_bv = vp8_loop_filter_bvs_c;
671   if (flags & HAS_NEON)
672     vp8_loop_filter_simple_bv = vp8_loop_filter_bvs_neon;
673   vp8_loop_filter_simple_mbh = vp8_loop_filter_simple_horizontal_edge_c;
674   if (flags & HAS_NEON)
675     vp8_loop_filter_simple_mbh = vp8_loop_filter_mbhs_neon;
676   vp8_loop_filter_simple_mbv = vp8_loop_filter_simple_vertical_edge_c;
677   if (flags & HAS_NEON)
678     vp8_loop_filter_simple_mbv = vp8_loop_filter_mbvs_neon;
679   vp8_short_fdct4x4 = vp8_short_fdct4x4_c;
680   if (flags & HAS_NEON)
681     vp8_short_fdct4x4 = vp8_short_fdct4x4_neon;
682   vp8_short_fdct8x4 = vp8_short_fdct8x4_c;
683   if (flags & HAS_NEON)
684     vp8_short_fdct8x4 = vp8_short_fdct8x4_neon;
685   vp8_short_idct4x4llm = vp8_short_idct4x4llm_c;
686   if (flags & HAS_NEON)
687     vp8_short_idct4x4llm = vp8_short_idct4x4llm_neon;
688   vp8_short_inv_walsh4x4 = vp8_short_inv_walsh4x4_c;
689   if (flags & HAS_NEON)
690     vp8_short_inv_walsh4x4 = vp8_short_inv_walsh4x4_neon;
691   vp8_short_walsh4x4 = vp8_short_walsh4x4_c;
692   if (flags & HAS_NEON)
693     vp8_short_walsh4x4 = vp8_short_walsh4x4_neon;
694   vp8_sixtap_predict16x16 = vp8_sixtap_predict16x16_c;
695   if (flags & HAS_NEON)
696     vp8_sixtap_predict16x16 = vp8_sixtap_predict16x16_neon;
697   vp8_sixtap_predict4x4 = vp8_sixtap_predict4x4_c;
698   if (flags & HAS_NEON)
699     vp8_sixtap_predict4x4 = vp8_sixtap_predict4x4_neon;
700   vp8_sixtap_predict8x4 = vp8_sixtap_predict8x4_c;
701   if (flags & HAS_NEON)
702     vp8_sixtap_predict8x4 = vp8_sixtap_predict8x4_neon;
703   vp8_sixtap_predict8x8 = vp8_sixtap_predict8x8_c;
704   if (flags & HAS_NEON)
705     vp8_sixtap_predict8x8 = vp8_sixtap_predict8x8_neon;
706 }
707 #endif
708 
709 #ifdef __cplusplus
710 }  // extern "C"
711 #endif
712 
713 #endif
714