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