e6eb4701c42647e949dd1feb31fc1bf133e1433f
[platform/framework/web/crosswalk.git] / src / third_party / libvpx / source / config / linux / arm-neon-cpu-detect / vp9_rtcd.h
1 #ifndef VP9_RTCD_H_
2 #define VP9_RTCD_H_
3
4 #ifdef RTCD_C
5 #define RTCD_EXTERN
6 #else
7 #define RTCD_EXTERN extern
8 #endif
9
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13
14 /*
15  * VP9
16  */
17
18 #include "vpx/vpx_integer.h"
19 #include "vp9/common/vp9_enums.h"
20
21 struct macroblockd;
22
23 /* Encoder forward decls */
24 struct macroblock;
25 struct vp9_variance_vtable;
26
27 #define DEC_MVCOSTS int *mvjcost, int *mvcost[2]
28 struct mv;
29 union int_mv;
30 struct yv12_buffer_config;
31
32 void vp9_blend_b_c(uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1, int v1, int alpha, int stride);
33 #define vp9_blend_b vp9_blend_b_c
34
35 void vp9_blend_mb_inner_c(uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1, int v1, int alpha, int stride);
36 #define vp9_blend_mb_inner vp9_blend_mb_inner_c
37
38 void vp9_blend_mb_outer_c(uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1, int v1, int alpha, int stride);
39 #define vp9_blend_mb_outer vp9_blend_mb_outer_c
40
41 int64_t vp9_block_error_c(const int16_t *coeff, const int16_t *dqcoeff, intptr_t block_size, int64_t *ssz);
42 #define vp9_block_error vp9_block_error_c
43
44 void vp9_convolve8_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
45 void vp9_convolve8_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
46 RTCD_EXTERN void (*vp9_convolve8)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
47
48 void vp9_convolve8_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
49 void vp9_convolve8_avg_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
50 RTCD_EXTERN void (*vp9_convolve8_avg)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
51
52 void vp9_convolve8_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
53 void vp9_convolve8_avg_horiz_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
54 RTCD_EXTERN void (*vp9_convolve8_avg_horiz)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
55
56 void vp9_convolve8_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
57 void vp9_convolve8_avg_vert_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
58 RTCD_EXTERN void (*vp9_convolve8_avg_vert)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
59
60 void vp9_convolve8_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
61 void vp9_convolve8_horiz_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
62 RTCD_EXTERN void (*vp9_convolve8_horiz)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
63
64 void vp9_convolve8_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
65 void vp9_convolve8_vert_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
66 RTCD_EXTERN void (*vp9_convolve8_vert)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
67
68 void vp9_convolve_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
69 void vp9_convolve_avg_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
70 RTCD_EXTERN void (*vp9_convolve_avg)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
71
72 void vp9_convolve_copy_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
73 void vp9_convolve_copy_neon(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
74 RTCD_EXTERN void (*vp9_convolve_copy)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
75
76 void vp9_d117_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
77 #define vp9_d117_predictor_16x16 vp9_d117_predictor_16x16_c
78
79 void vp9_d117_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
80 #define vp9_d117_predictor_32x32 vp9_d117_predictor_32x32_c
81
82 void vp9_d117_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
83 #define vp9_d117_predictor_4x4 vp9_d117_predictor_4x4_c
84
85 void vp9_d117_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
86 #define vp9_d117_predictor_8x8 vp9_d117_predictor_8x8_c
87
88 void vp9_d135_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
89 #define vp9_d135_predictor_16x16 vp9_d135_predictor_16x16_c
90
91 void vp9_d135_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
92 #define vp9_d135_predictor_32x32 vp9_d135_predictor_32x32_c
93
94 void vp9_d135_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
95 #define vp9_d135_predictor_4x4 vp9_d135_predictor_4x4_c
96
97 void vp9_d135_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
98 #define vp9_d135_predictor_8x8 vp9_d135_predictor_8x8_c
99
100 void vp9_d153_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
101 #define vp9_d153_predictor_16x16 vp9_d153_predictor_16x16_c
102
103 void vp9_d153_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
104 #define vp9_d153_predictor_32x32 vp9_d153_predictor_32x32_c
105
106 void vp9_d153_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
107 #define vp9_d153_predictor_4x4 vp9_d153_predictor_4x4_c
108
109 void vp9_d153_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
110 #define vp9_d153_predictor_8x8 vp9_d153_predictor_8x8_c
111
112 void vp9_d207_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
113 #define vp9_d207_predictor_16x16 vp9_d207_predictor_16x16_c
114
115 void vp9_d207_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
116 #define vp9_d207_predictor_32x32 vp9_d207_predictor_32x32_c
117
118 void vp9_d207_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
119 #define vp9_d207_predictor_4x4 vp9_d207_predictor_4x4_c
120
121 void vp9_d207_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
122 #define vp9_d207_predictor_8x8 vp9_d207_predictor_8x8_c
123
124 void vp9_d45_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
125 #define vp9_d45_predictor_16x16 vp9_d45_predictor_16x16_c
126
127 void vp9_d45_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
128 #define vp9_d45_predictor_32x32 vp9_d45_predictor_32x32_c
129
130 void vp9_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
131 #define vp9_d45_predictor_4x4 vp9_d45_predictor_4x4_c
132
133 void vp9_d45_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
134 #define vp9_d45_predictor_8x8 vp9_d45_predictor_8x8_c
135
136 void vp9_d63_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
137 #define vp9_d63_predictor_16x16 vp9_d63_predictor_16x16_c
138
139 void vp9_d63_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
140 #define vp9_d63_predictor_32x32 vp9_d63_predictor_32x32_c
141
142 void vp9_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
143 #define vp9_d63_predictor_4x4 vp9_d63_predictor_4x4_c
144
145 void vp9_d63_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
146 #define vp9_d63_predictor_8x8 vp9_d63_predictor_8x8_c
147
148 void vp9_dc_128_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
149 #define vp9_dc_128_predictor_16x16 vp9_dc_128_predictor_16x16_c
150
151 void vp9_dc_128_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
152 #define vp9_dc_128_predictor_32x32 vp9_dc_128_predictor_32x32_c
153
154 void vp9_dc_128_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
155 #define vp9_dc_128_predictor_4x4 vp9_dc_128_predictor_4x4_c
156
157 void vp9_dc_128_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
158 #define vp9_dc_128_predictor_8x8 vp9_dc_128_predictor_8x8_c
159
160 void vp9_dc_left_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
161 #define vp9_dc_left_predictor_16x16 vp9_dc_left_predictor_16x16_c
162
163 void vp9_dc_left_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
164 #define vp9_dc_left_predictor_32x32 vp9_dc_left_predictor_32x32_c
165
166 void vp9_dc_left_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
167 #define vp9_dc_left_predictor_4x4 vp9_dc_left_predictor_4x4_c
168
169 void vp9_dc_left_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
170 #define vp9_dc_left_predictor_8x8 vp9_dc_left_predictor_8x8_c
171
172 void vp9_dc_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
173 #define vp9_dc_predictor_16x16 vp9_dc_predictor_16x16_c
174
175 void vp9_dc_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
176 #define vp9_dc_predictor_32x32 vp9_dc_predictor_32x32_c
177
178 void vp9_dc_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
179 #define vp9_dc_predictor_4x4 vp9_dc_predictor_4x4_c
180
181 void vp9_dc_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
182 #define vp9_dc_predictor_8x8 vp9_dc_predictor_8x8_c
183
184 void vp9_dc_top_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
185 #define vp9_dc_top_predictor_16x16 vp9_dc_top_predictor_16x16_c
186
187 void vp9_dc_top_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
188 #define vp9_dc_top_predictor_32x32 vp9_dc_top_predictor_32x32_c
189
190 void vp9_dc_top_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
191 #define vp9_dc_top_predictor_4x4 vp9_dc_top_predictor_4x4_c
192
193 void vp9_dc_top_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
194 #define vp9_dc_top_predictor_8x8 vp9_dc_top_predictor_8x8_c
195
196 int vp9_diamond_search_sad_c(const struct macroblock *x, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, const struct mv *center_mv);
197 #define vp9_diamond_search_sad vp9_diamond_search_sad_c
198
199 void vp9_fdct16x16_c(const int16_t *input, int16_t *output, int stride);
200 #define vp9_fdct16x16 vp9_fdct16x16_c
201
202 void vp9_fdct32x32_c(const int16_t *input, int16_t *output, int stride);
203 #define vp9_fdct32x32 vp9_fdct32x32_c
204
205 void vp9_fdct32x32_rd_c(const int16_t *input, int16_t *output, int stride);
206 #define vp9_fdct32x32_rd vp9_fdct32x32_rd_c
207
208 void vp9_fdct4x4_c(const int16_t *input, int16_t *output, int stride);
209 #define vp9_fdct4x4 vp9_fdct4x4_c
210
211 void vp9_fdct8x8_c(const int16_t *input, int16_t *output, int stride);
212 #define vp9_fdct8x8 vp9_fdct8x8_c
213
214 void vp9_fht16x16_c(const int16_t *input, int16_t *output, int stride, int tx_type);
215 #define vp9_fht16x16 vp9_fht16x16_c
216
217 void vp9_fht4x4_c(const int16_t *input, int16_t *output, int stride, int tx_type);
218 #define vp9_fht4x4 vp9_fht4x4_c
219
220 void vp9_fht8x8_c(const int16_t *input, int16_t *output, int stride, int tx_type);
221 #define vp9_fht8x8 vp9_fht8x8_c
222
223 int vp9_full_range_search_c(const struct macroblock *x, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, const struct mv *center_mv);
224 #define vp9_full_range_search vp9_full_range_search_c
225
226 int vp9_full_search_sad_c(const struct macroblock *x, const struct mv *ref_mv, int sad_per_bit, int distance, const struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, const struct mv *center_mv, struct mv *best_mv);
227 #define vp9_full_search_sad vp9_full_search_sad_c
228
229 void vp9_fwht4x4_c(const int16_t *input, int16_t *output, int stride);
230 #define vp9_fwht4x4 vp9_fwht4x4_c
231
232 unsigned int vp9_get_mb_ss_c(const int16_t *);
233 #define vp9_get_mb_ss vp9_get_mb_ss_c
234
235 void vp9_get_sse_sum_8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
236 #define vp9_get_sse_sum_8x8 vp9_get_sse_sum_8x8_c
237
238 void vp9_h_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
239 void vp9_h_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
240 RTCD_EXTERN void (*vp9_h_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
241
242 void vp9_h_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
243 void vp9_h_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
244 RTCD_EXTERN void (*vp9_h_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
245
246 void vp9_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
247 void vp9_h_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
248 RTCD_EXTERN void (*vp9_h_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
249
250 void vp9_h_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
251 void vp9_h_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
252 RTCD_EXTERN void (*vp9_h_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
253
254 void vp9_idct16x16_10_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
255 void vp9_idct16x16_10_add_neon(const int16_t *input, uint8_t *dest, int dest_stride);
256 RTCD_EXTERN void (*vp9_idct16x16_10_add)(const int16_t *input, uint8_t *dest, int dest_stride);
257
258 void vp9_idct16x16_1_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
259 void vp9_idct16x16_1_add_neon(const int16_t *input, uint8_t *dest, int dest_stride);
260 RTCD_EXTERN void (*vp9_idct16x16_1_add)(const int16_t *input, uint8_t *dest, int dest_stride);
261
262 void vp9_idct16x16_256_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
263 void vp9_idct16x16_256_add_neon(const int16_t *input, uint8_t *dest, int dest_stride);
264 RTCD_EXTERN void (*vp9_idct16x16_256_add)(const int16_t *input, uint8_t *dest, int dest_stride);
265
266 void vp9_idct32x32_1024_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
267 void vp9_idct32x32_1024_add_neon(const int16_t *input, uint8_t *dest, int dest_stride);
268 RTCD_EXTERN void (*vp9_idct32x32_1024_add)(const int16_t *input, uint8_t *dest, int dest_stride);
269
270 void vp9_idct32x32_1_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
271 void vp9_idct32x32_1_add_neon(const int16_t *input, uint8_t *dest, int dest_stride);
272 RTCD_EXTERN void (*vp9_idct32x32_1_add)(const int16_t *input, uint8_t *dest, int dest_stride);
273
274 void vp9_idct32x32_34_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
275 void vp9_idct32x32_1024_add_neon(const int16_t *input, uint8_t *dest, int dest_stride);
276 RTCD_EXTERN void (*vp9_idct32x32_34_add)(const int16_t *input, uint8_t *dest, int dest_stride);
277
278 void vp9_idct4x4_16_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
279 void vp9_idct4x4_16_add_neon(const int16_t *input, uint8_t *dest, int dest_stride);
280 RTCD_EXTERN void (*vp9_idct4x4_16_add)(const int16_t *input, uint8_t *dest, int dest_stride);
281
282 void vp9_idct4x4_1_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
283 void vp9_idct4x4_1_add_neon(const int16_t *input, uint8_t *dest, int dest_stride);
284 RTCD_EXTERN void (*vp9_idct4x4_1_add)(const int16_t *input, uint8_t *dest, int dest_stride);
285
286 void vp9_idct8x8_10_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
287 void vp9_idct8x8_10_add_neon(const int16_t *input, uint8_t *dest, int dest_stride);
288 RTCD_EXTERN void (*vp9_idct8x8_10_add)(const int16_t *input, uint8_t *dest, int dest_stride);
289
290 void vp9_idct8x8_1_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
291 void vp9_idct8x8_1_add_neon(const int16_t *input, uint8_t *dest, int dest_stride);
292 RTCD_EXTERN void (*vp9_idct8x8_1_add)(const int16_t *input, uint8_t *dest, int dest_stride);
293
294 void vp9_idct8x8_64_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
295 void vp9_idct8x8_64_add_neon(const int16_t *input, uint8_t *dest, int dest_stride);
296 RTCD_EXTERN void (*vp9_idct8x8_64_add)(const int16_t *input, uint8_t *dest, int dest_stride);
297
298 void vp9_iht16x16_256_add_c(const int16_t *input, uint8_t *output, int pitch, int tx_type);
299 #define vp9_iht16x16_256_add vp9_iht16x16_256_add_c
300
301 void vp9_iht4x4_16_add_c(const int16_t *input, uint8_t *dest, int dest_stride, int tx_type);
302 void vp9_iht4x4_16_add_neon(const int16_t *input, uint8_t *dest, int dest_stride, int tx_type);
303 RTCD_EXTERN void (*vp9_iht4x4_16_add)(const int16_t *input, uint8_t *dest, int dest_stride, int tx_type);
304
305 void vp9_iht8x8_64_add_c(const int16_t *input, uint8_t *dest, int dest_stride, int tx_type);
306 void vp9_iht8x8_64_add_neon(const int16_t *input, uint8_t *dest, int dest_stride, int tx_type);
307 RTCD_EXTERN void (*vp9_iht8x8_64_add)(const int16_t *input, uint8_t *dest, int dest_stride, int tx_type);
308
309 void vp9_iwht4x4_16_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
310 #define vp9_iwht4x4_16_add vp9_iwht4x4_16_add_c
311
312 void vp9_iwht4x4_1_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
313 #define vp9_iwht4x4_1_add vp9_iwht4x4_1_add_c
314
315 void vp9_lpf_horizontal_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
316 void vp9_lpf_horizontal_16_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
317 RTCD_EXTERN void (*vp9_lpf_horizontal_16)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
318
319 void vp9_lpf_horizontal_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
320 void vp9_lpf_horizontal_4_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
321 RTCD_EXTERN void (*vp9_lpf_horizontal_4)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
322
323 void vp9_lpf_horizontal_4_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
324 void vp9_lpf_horizontal_4_dual_neon(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
325 RTCD_EXTERN void (*vp9_lpf_horizontal_4_dual)(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
326
327 void vp9_lpf_horizontal_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
328 void vp9_lpf_horizontal_8_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
329 RTCD_EXTERN void (*vp9_lpf_horizontal_8)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
330
331 void vp9_lpf_horizontal_8_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
332 void vp9_lpf_horizontal_8_dual_neon(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
333 RTCD_EXTERN void (*vp9_lpf_horizontal_8_dual)(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
334
335 void vp9_lpf_vertical_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
336 void vp9_lpf_vertical_16_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
337 RTCD_EXTERN void (*vp9_lpf_vertical_16)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
338
339 void vp9_lpf_vertical_16_dual_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
340 void vp9_lpf_vertical_16_dual_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
341 RTCD_EXTERN void (*vp9_lpf_vertical_16_dual)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
342
343 void vp9_lpf_vertical_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
344 void vp9_lpf_vertical_4_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
345 RTCD_EXTERN void (*vp9_lpf_vertical_4)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
346
347 void vp9_lpf_vertical_4_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
348 void vp9_lpf_vertical_4_dual_neon(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
349 RTCD_EXTERN void (*vp9_lpf_vertical_4_dual)(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
350
351 void vp9_lpf_vertical_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
352 void vp9_lpf_vertical_8_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
353 RTCD_EXTERN void (*vp9_lpf_vertical_8)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
354
355 void vp9_lpf_vertical_8_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
356 void vp9_lpf_vertical_8_dual_neon(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
357 RTCD_EXTERN void (*vp9_lpf_vertical_8_dual)(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
358
359 unsigned int vp9_mse16x16_c(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
360 #define vp9_mse16x16 vp9_mse16x16_c
361
362 unsigned int vp9_mse16x8_c(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
363 #define vp9_mse16x8 vp9_mse16x8_c
364
365 unsigned int vp9_mse8x16_c(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
366 #define vp9_mse8x16 vp9_mse8x16_c
367
368 unsigned int vp9_mse8x8_c(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
369 #define vp9_mse8x8 vp9_mse8x8_c
370
371 void vp9_quantize_b_c(const int16_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, int16_t *qcoeff_ptr, int16_t *dqcoeff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
372 #define vp9_quantize_b vp9_quantize_b_c
373
374 void vp9_quantize_b_32x32_c(const int16_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, int16_t *qcoeff_ptr, int16_t *dqcoeff_ptr, const int16_t *dequant_ptr, int zbin_oq_value, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
375 #define vp9_quantize_b_32x32 vp9_quantize_b_32x32_c
376
377 int vp9_refining_search_sad_c(const struct macroblock *x, struct mv *ref_mv, int sad_per_bit, int distance, const struct vp9_variance_vtable *fn_ptr, DEC_MVCOSTS, const struct mv *center_mv);
378 #define vp9_refining_search_sad vp9_refining_search_sad_c
379
380 unsigned int vp9_sad16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int max_sad);
381 #define vp9_sad16x16 vp9_sad16x16_c
382
383 unsigned int vp9_sad16x16_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred, unsigned int max_sad);
384 #define vp9_sad16x16_avg vp9_sad16x16_avg_c
385
386 void vp9_sad16x16x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int *sad_array);
387 #define vp9_sad16x16x3 vp9_sad16x16x3_c
388
389 void vp9_sad16x16x4d_c(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
390 #define vp9_sad16x16x4d vp9_sad16x16x4d_c
391
392 void vp9_sad16x16x8_c(const uint8_t *src_ptr, int  src_stride, const uint8_t *ref_ptr, int  ref_stride, uint32_t *sad_array);
393 #define vp9_sad16x16x8 vp9_sad16x16x8_c
394
395 unsigned int vp9_sad16x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
396 #define vp9_sad16x32 vp9_sad16x32_c
397
398 unsigned int vp9_sad16x32_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned int max_sad);
399 #define vp9_sad16x32_avg vp9_sad16x32_avg_c
400
401 void vp9_sad16x32x4d_c(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
402 #define vp9_sad16x32x4d vp9_sad16x32x4d_c
403
404 unsigned int vp9_sad16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int max_sad);
405 #define vp9_sad16x8 vp9_sad16x8_c
406
407 unsigned int vp9_sad16x8_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred, unsigned int max_sad);
408 #define vp9_sad16x8_avg vp9_sad16x8_avg_c
409
410 void vp9_sad16x8x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int *sad_array);
411 #define vp9_sad16x8x3 vp9_sad16x8x3_c
412
413 void vp9_sad16x8x4d_c(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
414 #define vp9_sad16x8x4d vp9_sad16x8x4d_c
415
416 void vp9_sad16x8x8_c(const uint8_t *src_ptr, int  src_stride, const uint8_t *ref_ptr, int  ref_stride, uint32_t *sad_array);
417 #define vp9_sad16x8x8 vp9_sad16x8x8_c
418
419 unsigned int vp9_sad32x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
420 #define vp9_sad32x16 vp9_sad32x16_c
421
422 unsigned int vp9_sad32x16_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned int max_sad);
423 #define vp9_sad32x16_avg vp9_sad32x16_avg_c
424
425 void vp9_sad32x16x4d_c(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
426 #define vp9_sad32x16x4d vp9_sad32x16x4d_c
427
428 unsigned int vp9_sad32x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int max_sad);
429 #define vp9_sad32x32 vp9_sad32x32_c
430
431 unsigned int vp9_sad32x32_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred, unsigned int max_sad);
432 #define vp9_sad32x32_avg vp9_sad32x32_avg_c
433
434 void vp9_sad32x32x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int *sad_array);
435 #define vp9_sad32x32x3 vp9_sad32x32x3_c
436
437 void vp9_sad32x32x4d_c(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
438 #define vp9_sad32x32x4d vp9_sad32x32x4d_c
439
440 void vp9_sad32x32x8_c(const uint8_t *src_ptr, int  src_stride, const uint8_t *ref_ptr, int  ref_stride, uint32_t *sad_array);
441 #define vp9_sad32x32x8 vp9_sad32x32x8_c
442
443 unsigned int vp9_sad32x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
444 #define vp9_sad32x64 vp9_sad32x64_c
445
446 unsigned int vp9_sad32x64_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned int max_sad);
447 #define vp9_sad32x64_avg vp9_sad32x64_avg_c
448
449 void vp9_sad32x64x4d_c(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
450 #define vp9_sad32x64x4d vp9_sad32x64x4d_c
451
452 unsigned int vp9_sad4x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int max_sad);
453 #define vp9_sad4x4 vp9_sad4x4_c
454
455 unsigned int vp9_sad4x4_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred, unsigned int max_sad);
456 #define vp9_sad4x4_avg vp9_sad4x4_avg_c
457
458 void vp9_sad4x4x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int *sad_array);
459 #define vp9_sad4x4x3 vp9_sad4x4x3_c
460
461 void vp9_sad4x4x4d_c(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
462 #define vp9_sad4x4x4d vp9_sad4x4x4d_c
463
464 void vp9_sad4x4x8_c(const uint8_t *src_ptr, int  src_stride, const uint8_t *ref_ptr, int  ref_stride, uint32_t *sad_array);
465 #define vp9_sad4x4x8 vp9_sad4x4x8_c
466
467 unsigned int vp9_sad4x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
468 #define vp9_sad4x8 vp9_sad4x8_c
469
470 unsigned int vp9_sad4x8_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned int max_sad);
471 #define vp9_sad4x8_avg vp9_sad4x8_avg_c
472
473 void vp9_sad4x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
474 #define vp9_sad4x8x4d vp9_sad4x8x4d_c
475
476 void vp9_sad4x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
477 #define vp9_sad4x8x8 vp9_sad4x8x8_c
478
479 unsigned int vp9_sad64x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
480 #define vp9_sad64x32 vp9_sad64x32_c
481
482 unsigned int vp9_sad64x32_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned int max_sad);
483 #define vp9_sad64x32_avg vp9_sad64x32_avg_c
484
485 void vp9_sad64x32x4d_c(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
486 #define vp9_sad64x32x4d vp9_sad64x32x4d_c
487
488 unsigned int vp9_sad64x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int max_sad);
489 #define vp9_sad64x64 vp9_sad64x64_c
490
491 unsigned int vp9_sad64x64_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred, unsigned int max_sad);
492 #define vp9_sad64x64_avg vp9_sad64x64_avg_c
493
494 void vp9_sad64x64x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int *sad_array);
495 #define vp9_sad64x64x3 vp9_sad64x64x3_c
496
497 void vp9_sad64x64x4d_c(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
498 #define vp9_sad64x64x4d vp9_sad64x64x4d_c
499
500 void vp9_sad64x64x8_c(const uint8_t *src_ptr, int  src_stride, const uint8_t *ref_ptr, int  ref_stride, uint32_t *sad_array);
501 #define vp9_sad64x64x8 vp9_sad64x64x8_c
502
503 unsigned int vp9_sad8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int max_sad);
504 #define vp9_sad8x16 vp9_sad8x16_c
505
506 unsigned int vp9_sad8x16_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred, unsigned int max_sad);
507 #define vp9_sad8x16_avg vp9_sad8x16_avg_c
508
509 void vp9_sad8x16x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int *sad_array);
510 #define vp9_sad8x16x3 vp9_sad8x16x3_c
511
512 void vp9_sad8x16x4d_c(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
513 #define vp9_sad8x16x4d vp9_sad8x16x4d_c
514
515 void vp9_sad8x16x8_c(const uint8_t *src_ptr, int  src_stride, const uint8_t *ref_ptr, int  ref_stride, uint32_t *sad_array);
516 #define vp9_sad8x16x8 vp9_sad8x16x8_c
517
518 unsigned int vp9_sad8x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int max_sad);
519 #define vp9_sad8x4 vp9_sad8x4_c
520
521 unsigned int vp9_sad8x4_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred, unsigned int max_sad);
522 #define vp9_sad8x4_avg vp9_sad8x4_avg_c
523
524 void vp9_sad8x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array);
525 #define vp9_sad8x4x4d vp9_sad8x4x4d_c
526
527 void vp9_sad8x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
528 #define vp9_sad8x4x8 vp9_sad8x4x8_c
529
530 unsigned int vp9_sad8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int max_sad);
531 #define vp9_sad8x8 vp9_sad8x8_c
532
533 unsigned int vp9_sad8x8_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, const uint8_t *second_pred, unsigned int max_sad);
534 #define vp9_sad8x8_avg vp9_sad8x8_avg_c
535
536 void vp9_sad8x8x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int  ref_stride, unsigned int *sad_array);
537 #define vp9_sad8x8x3 vp9_sad8x8x3_c
538
539 void vp9_sad8x8x4d_c(const uint8_t *src_ptr, int  src_stride, const uint8_t* const ref_ptr[], int  ref_stride, unsigned int *sad_array);
540 #define vp9_sad8x8x4d vp9_sad8x8x4d_c
541
542 void vp9_sad8x8x8_c(const uint8_t *src_ptr, int  src_stride, const uint8_t *ref_ptr, int  ref_stride, uint32_t *sad_array);
543 #define vp9_sad8x8x8 vp9_sad8x8x8_c
544
545 unsigned int vp9_sub_pixel_avg_variance16x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
546 #define vp9_sub_pixel_avg_variance16x16 vp9_sub_pixel_avg_variance16x16_c
547
548 unsigned int vp9_sub_pixel_avg_variance16x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
549 #define vp9_sub_pixel_avg_variance16x32 vp9_sub_pixel_avg_variance16x32_c
550
551 unsigned int vp9_sub_pixel_avg_variance16x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
552 #define vp9_sub_pixel_avg_variance16x8 vp9_sub_pixel_avg_variance16x8_c
553
554 unsigned int vp9_sub_pixel_avg_variance32x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
555 #define vp9_sub_pixel_avg_variance32x16 vp9_sub_pixel_avg_variance32x16_c
556
557 unsigned int vp9_sub_pixel_avg_variance32x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
558 #define vp9_sub_pixel_avg_variance32x32 vp9_sub_pixel_avg_variance32x32_c
559
560 unsigned int vp9_sub_pixel_avg_variance32x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
561 #define vp9_sub_pixel_avg_variance32x64 vp9_sub_pixel_avg_variance32x64_c
562
563 unsigned int vp9_sub_pixel_avg_variance4x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
564 #define vp9_sub_pixel_avg_variance4x4 vp9_sub_pixel_avg_variance4x4_c
565
566 unsigned int vp9_sub_pixel_avg_variance4x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
567 #define vp9_sub_pixel_avg_variance4x8 vp9_sub_pixel_avg_variance4x8_c
568
569 unsigned int vp9_sub_pixel_avg_variance64x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
570 #define vp9_sub_pixel_avg_variance64x32 vp9_sub_pixel_avg_variance64x32_c
571
572 unsigned int vp9_sub_pixel_avg_variance64x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
573 #define vp9_sub_pixel_avg_variance64x64 vp9_sub_pixel_avg_variance64x64_c
574
575 unsigned int vp9_sub_pixel_avg_variance8x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
576 #define vp9_sub_pixel_avg_variance8x16 vp9_sub_pixel_avg_variance8x16_c
577
578 unsigned int vp9_sub_pixel_avg_variance8x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
579 #define vp9_sub_pixel_avg_variance8x4 vp9_sub_pixel_avg_variance8x4_c
580
581 unsigned int vp9_sub_pixel_avg_variance8x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, const uint8_t *second_pred);
582 #define vp9_sub_pixel_avg_variance8x8 vp9_sub_pixel_avg_variance8x8_c
583
584 unsigned int vp9_sub_pixel_mse32x32_c(const uint8_t *src_ptr, int  source_stride, int  xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
585 #define vp9_sub_pixel_mse32x32 vp9_sub_pixel_mse32x32_c
586
587 unsigned int vp9_sub_pixel_mse64x64_c(const uint8_t *src_ptr, int  source_stride, int  xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
588 #define vp9_sub_pixel_mse64x64 vp9_sub_pixel_mse64x64_c
589
590 unsigned int vp9_sub_pixel_variance16x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
591 #define vp9_sub_pixel_variance16x16 vp9_sub_pixel_variance16x16_c
592
593 unsigned int vp9_sub_pixel_variance16x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
594 #define vp9_sub_pixel_variance16x32 vp9_sub_pixel_variance16x32_c
595
596 unsigned int vp9_sub_pixel_variance16x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
597 #define vp9_sub_pixel_variance16x8 vp9_sub_pixel_variance16x8_c
598
599 unsigned int vp9_sub_pixel_variance32x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
600 #define vp9_sub_pixel_variance32x16 vp9_sub_pixel_variance32x16_c
601
602 unsigned int vp9_sub_pixel_variance32x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
603 #define vp9_sub_pixel_variance32x32 vp9_sub_pixel_variance32x32_c
604
605 unsigned int vp9_sub_pixel_variance32x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
606 #define vp9_sub_pixel_variance32x64 vp9_sub_pixel_variance32x64_c
607
608 unsigned int vp9_sub_pixel_variance4x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
609 #define vp9_sub_pixel_variance4x4 vp9_sub_pixel_variance4x4_c
610
611 unsigned int vp9_sub_pixel_variance4x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
612 #define vp9_sub_pixel_variance4x8 vp9_sub_pixel_variance4x8_c
613
614 unsigned int vp9_sub_pixel_variance64x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
615 #define vp9_sub_pixel_variance64x32 vp9_sub_pixel_variance64x32_c
616
617 unsigned int vp9_sub_pixel_variance64x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
618 #define vp9_sub_pixel_variance64x64 vp9_sub_pixel_variance64x64_c
619
620 unsigned int vp9_sub_pixel_variance8x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
621 #define vp9_sub_pixel_variance8x16 vp9_sub_pixel_variance8x16_c
622
623 unsigned int vp9_sub_pixel_variance8x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
624 #define vp9_sub_pixel_variance8x4 vp9_sub_pixel_variance8x4_c
625
626 unsigned int vp9_sub_pixel_variance8x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
627 #define vp9_sub_pixel_variance8x8 vp9_sub_pixel_variance8x8_c
628
629 void vp9_subtract_block_c(int rows, int cols, int16_t *diff_ptr, ptrdiff_t diff_stride, const uint8_t *src_ptr, ptrdiff_t src_stride, const uint8_t *pred_ptr, ptrdiff_t pred_stride);
630 #define vp9_subtract_block vp9_subtract_block_c
631
632 void vp9_temporal_filter_apply_c(uint8_t *frame1, unsigned int stride, uint8_t *frame2, unsigned int block_size, int strength, int filter_weight, unsigned int *accumulator, uint16_t *count);
633 #define vp9_temporal_filter_apply vp9_temporal_filter_apply_c
634
635 void vp9_tm_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
636 void vp9_tm_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
637 RTCD_EXTERN void (*vp9_tm_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
638
639 void vp9_tm_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
640 void vp9_tm_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
641 RTCD_EXTERN void (*vp9_tm_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
642
643 void vp9_tm_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
644 void vp9_tm_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
645 RTCD_EXTERN void (*vp9_tm_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
646
647 void vp9_tm_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
648 void vp9_tm_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
649 RTCD_EXTERN void (*vp9_tm_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
650
651 void vp9_v_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
652 void vp9_v_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
653 RTCD_EXTERN void (*vp9_v_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
654
655 void vp9_v_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
656 void vp9_v_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
657 RTCD_EXTERN void (*vp9_v_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
658
659 void vp9_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
660 void vp9_v_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
661 RTCD_EXTERN void (*vp9_v_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
662
663 void vp9_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
664 void vp9_v_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
665 RTCD_EXTERN void (*vp9_v_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
666
667 unsigned int vp9_variance16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
668 #define vp9_variance16x16 vp9_variance16x16_c
669
670 unsigned int vp9_variance16x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
671 #define vp9_variance16x32 vp9_variance16x32_c
672
673 unsigned int vp9_variance16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
674 #define vp9_variance16x8 vp9_variance16x8_c
675
676 unsigned int vp9_variance32x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
677 #define vp9_variance32x16 vp9_variance32x16_c
678
679 unsigned int vp9_variance32x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
680 #define vp9_variance32x32 vp9_variance32x32_c
681
682 unsigned int vp9_variance32x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
683 #define vp9_variance32x64 vp9_variance32x64_c
684
685 unsigned int vp9_variance4x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
686 #define vp9_variance4x4 vp9_variance4x4_c
687
688 unsigned int vp9_variance4x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
689 #define vp9_variance4x8 vp9_variance4x8_c
690
691 unsigned int vp9_variance64x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
692 #define vp9_variance64x32 vp9_variance64x32_c
693
694 unsigned int vp9_variance64x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
695 #define vp9_variance64x64 vp9_variance64x64_c
696
697 unsigned int vp9_variance8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
698 #define vp9_variance8x16 vp9_variance8x16_c
699
700 unsigned int vp9_variance8x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
701 #define vp9_variance8x4 vp9_variance8x4_c
702
703 unsigned int vp9_variance8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
704 #define vp9_variance8x8 vp9_variance8x8_c
705
706 unsigned int vp9_variance_halfpixvar16x16_h_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
707 #define vp9_variance_halfpixvar16x16_h vp9_variance_halfpixvar16x16_h_c
708
709 unsigned int vp9_variance_halfpixvar16x16_hv_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
710 #define vp9_variance_halfpixvar16x16_hv vp9_variance_halfpixvar16x16_hv_c
711
712 unsigned int vp9_variance_halfpixvar16x16_v_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
713 #define vp9_variance_halfpixvar16x16_v vp9_variance_halfpixvar16x16_v_c
714
715 unsigned int vp9_variance_halfpixvar32x32_h_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
716 #define vp9_variance_halfpixvar32x32_h vp9_variance_halfpixvar32x32_h_c
717
718 unsigned int vp9_variance_halfpixvar32x32_hv_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
719 #define vp9_variance_halfpixvar32x32_hv vp9_variance_halfpixvar32x32_hv_c
720
721 unsigned int vp9_variance_halfpixvar32x32_v_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
722 #define vp9_variance_halfpixvar32x32_v vp9_variance_halfpixvar32x32_v_c
723
724 unsigned int vp9_variance_halfpixvar64x64_h_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
725 #define vp9_variance_halfpixvar64x64_h vp9_variance_halfpixvar64x64_h_c
726
727 unsigned int vp9_variance_halfpixvar64x64_hv_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
728 #define vp9_variance_halfpixvar64x64_hv vp9_variance_halfpixvar64x64_hv_c
729
730 unsigned int vp9_variance_halfpixvar64x64_v_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
731 #define vp9_variance_halfpixvar64x64_v vp9_variance_halfpixvar64x64_v_c
732
733 void vp9_rtcd(void);
734 #include "vpx_config.h"
735
736 #ifdef RTCD_C
737 #include "vpx_ports/arm.h"
738 static void setup_rtcd_internal(void)
739 {
740     int flags = arm_cpu_caps();
741
742     (void)flags;
743
744
745
746
747
748     vp9_convolve8 = vp9_convolve8_c;
749     if (flags & HAS_NEON) vp9_convolve8 = vp9_convolve8_neon;
750
751     vp9_convolve8_avg = vp9_convolve8_avg_c;
752     if (flags & HAS_NEON) vp9_convolve8_avg = vp9_convolve8_avg_neon;
753
754     vp9_convolve8_avg_horiz = vp9_convolve8_avg_horiz_c;
755     if (flags & HAS_NEON) vp9_convolve8_avg_horiz = vp9_convolve8_avg_horiz_neon;
756
757     vp9_convolve8_avg_vert = vp9_convolve8_avg_vert_c;
758     if (flags & HAS_NEON) vp9_convolve8_avg_vert = vp9_convolve8_avg_vert_neon;
759
760     vp9_convolve8_horiz = vp9_convolve8_horiz_c;
761     if (flags & HAS_NEON) vp9_convolve8_horiz = vp9_convolve8_horiz_neon;
762
763     vp9_convolve8_vert = vp9_convolve8_vert_c;
764     if (flags & HAS_NEON) vp9_convolve8_vert = vp9_convolve8_vert_neon;
765
766     vp9_convolve_avg = vp9_convolve_avg_c;
767     if (flags & HAS_NEON) vp9_convolve_avg = vp9_convolve_avg_neon;
768
769     vp9_convolve_copy = vp9_convolve_copy_c;
770     if (flags & HAS_NEON) vp9_convolve_copy = vp9_convolve_copy_neon;
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826     vp9_h_predictor_16x16 = vp9_h_predictor_16x16_c;
827     if (flags & HAS_NEON) vp9_h_predictor_16x16 = vp9_h_predictor_16x16_neon;
828
829     vp9_h_predictor_32x32 = vp9_h_predictor_32x32_c;
830     if (flags & HAS_NEON) vp9_h_predictor_32x32 = vp9_h_predictor_32x32_neon;
831
832     vp9_h_predictor_4x4 = vp9_h_predictor_4x4_c;
833     if (flags & HAS_NEON) vp9_h_predictor_4x4 = vp9_h_predictor_4x4_neon;
834
835     vp9_h_predictor_8x8 = vp9_h_predictor_8x8_c;
836     if (flags & HAS_NEON) vp9_h_predictor_8x8 = vp9_h_predictor_8x8_neon;
837
838     vp9_idct16x16_10_add = vp9_idct16x16_10_add_c;
839     if (flags & HAS_NEON) vp9_idct16x16_10_add = vp9_idct16x16_10_add_neon;
840
841     vp9_idct16x16_1_add = vp9_idct16x16_1_add_c;
842     if (flags & HAS_NEON) vp9_idct16x16_1_add = vp9_idct16x16_1_add_neon;
843
844     vp9_idct16x16_256_add = vp9_idct16x16_256_add_c;
845     if (flags & HAS_NEON) vp9_idct16x16_256_add = vp9_idct16x16_256_add_neon;
846
847     vp9_idct32x32_1024_add = vp9_idct32x32_1024_add_c;
848     if (flags & HAS_NEON) vp9_idct32x32_1024_add = vp9_idct32x32_1024_add_neon;
849
850     vp9_idct32x32_1_add = vp9_idct32x32_1_add_c;
851     if (flags & HAS_NEON) vp9_idct32x32_1_add = vp9_idct32x32_1_add_neon;
852
853     vp9_idct32x32_34_add = vp9_idct32x32_34_add_c;
854     if (flags & HAS_NEON) vp9_idct32x32_34_add = vp9_idct32x32_1024_add_neon;
855
856     vp9_idct4x4_16_add = vp9_idct4x4_16_add_c;
857     if (flags & HAS_NEON) vp9_idct4x4_16_add = vp9_idct4x4_16_add_neon;
858
859     vp9_idct4x4_1_add = vp9_idct4x4_1_add_c;
860     if (flags & HAS_NEON) vp9_idct4x4_1_add = vp9_idct4x4_1_add_neon;
861
862     vp9_idct8x8_10_add = vp9_idct8x8_10_add_c;
863     if (flags & HAS_NEON) vp9_idct8x8_10_add = vp9_idct8x8_10_add_neon;
864
865     vp9_idct8x8_1_add = vp9_idct8x8_1_add_c;
866     if (flags & HAS_NEON) vp9_idct8x8_1_add = vp9_idct8x8_1_add_neon;
867
868     vp9_idct8x8_64_add = vp9_idct8x8_64_add_c;
869     if (flags & HAS_NEON) vp9_idct8x8_64_add = vp9_idct8x8_64_add_neon;
870
871
872     vp9_iht4x4_16_add = vp9_iht4x4_16_add_c;
873     if (flags & HAS_NEON) vp9_iht4x4_16_add = vp9_iht4x4_16_add_neon;
874
875     vp9_iht8x8_64_add = vp9_iht8x8_64_add_c;
876     if (flags & HAS_NEON) vp9_iht8x8_64_add = vp9_iht8x8_64_add_neon;
877
878
879
880     vp9_lpf_horizontal_16 = vp9_lpf_horizontal_16_c;
881     if (flags & HAS_NEON) vp9_lpf_horizontal_16 = vp9_lpf_horizontal_16_neon;
882
883     vp9_lpf_horizontal_4 = vp9_lpf_horizontal_4_c;
884     if (flags & HAS_NEON) vp9_lpf_horizontal_4 = vp9_lpf_horizontal_4_neon;
885
886     vp9_lpf_horizontal_4_dual = vp9_lpf_horizontal_4_dual_c;
887     if (flags & HAS_NEON) vp9_lpf_horizontal_4_dual = vp9_lpf_horizontal_4_dual_neon;
888
889     vp9_lpf_horizontal_8 = vp9_lpf_horizontal_8_c;
890     if (flags & HAS_NEON) vp9_lpf_horizontal_8 = vp9_lpf_horizontal_8_neon;
891
892     vp9_lpf_horizontal_8_dual = vp9_lpf_horizontal_8_dual_c;
893     if (flags & HAS_NEON) vp9_lpf_horizontal_8_dual = vp9_lpf_horizontal_8_dual_neon;
894
895     vp9_lpf_vertical_16 = vp9_lpf_vertical_16_c;
896     if (flags & HAS_NEON) vp9_lpf_vertical_16 = vp9_lpf_vertical_16_neon;
897
898     vp9_lpf_vertical_16_dual = vp9_lpf_vertical_16_dual_c;
899     if (flags & HAS_NEON) vp9_lpf_vertical_16_dual = vp9_lpf_vertical_16_dual_neon;
900
901     vp9_lpf_vertical_4 = vp9_lpf_vertical_4_c;
902     if (flags & HAS_NEON) vp9_lpf_vertical_4 = vp9_lpf_vertical_4_neon;
903
904     vp9_lpf_vertical_4_dual = vp9_lpf_vertical_4_dual_c;
905     if (flags & HAS_NEON) vp9_lpf_vertical_4_dual = vp9_lpf_vertical_4_dual_neon;
906
907     vp9_lpf_vertical_8 = vp9_lpf_vertical_8_c;
908     if (flags & HAS_NEON) vp9_lpf_vertical_8 = vp9_lpf_vertical_8_neon;
909
910     vp9_lpf_vertical_8_dual = vp9_lpf_vertical_8_dual_c;
911     if (flags & HAS_NEON) vp9_lpf_vertical_8_dual = vp9_lpf_vertical_8_dual_neon;
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005     vp9_tm_predictor_16x16 = vp9_tm_predictor_16x16_c;
1006     if (flags & HAS_NEON) vp9_tm_predictor_16x16 = vp9_tm_predictor_16x16_neon;
1007
1008     vp9_tm_predictor_32x32 = vp9_tm_predictor_32x32_c;
1009     if (flags & HAS_NEON) vp9_tm_predictor_32x32 = vp9_tm_predictor_32x32_neon;
1010
1011     vp9_tm_predictor_4x4 = vp9_tm_predictor_4x4_c;
1012     if (flags & HAS_NEON) vp9_tm_predictor_4x4 = vp9_tm_predictor_4x4_neon;
1013
1014     vp9_tm_predictor_8x8 = vp9_tm_predictor_8x8_c;
1015     if (flags & HAS_NEON) vp9_tm_predictor_8x8 = vp9_tm_predictor_8x8_neon;
1016
1017     vp9_v_predictor_16x16 = vp9_v_predictor_16x16_c;
1018     if (flags & HAS_NEON) vp9_v_predictor_16x16 = vp9_v_predictor_16x16_neon;
1019
1020     vp9_v_predictor_32x32 = vp9_v_predictor_32x32_c;
1021     if (flags & HAS_NEON) vp9_v_predictor_32x32 = vp9_v_predictor_32x32_neon;
1022
1023     vp9_v_predictor_4x4 = vp9_v_predictor_4x4_c;
1024     if (flags & HAS_NEON) vp9_v_predictor_4x4 = vp9_v_predictor_4x4_neon;
1025
1026     vp9_v_predictor_8x8 = vp9_v_predictor_8x8_c;
1027     if (flags & HAS_NEON) vp9_v_predictor_8x8 = vp9_v_predictor_8x8_neon;
1028 }
1029 #endif
1030
1031 #ifdef __cplusplus
1032 }  // extern "C"
1033 #endif
1034
1035 #endif