1 #ifndef VPX_DSP_RTCD_H_
2 #define VPX_DSP_RTCD_H_
3
4 #ifdef RTCD_C
5 #define RTCD_EXTERN
6 #else
7 #define RTCD_EXTERN extern
8 #endif
9
10 /*
11 * DSP
12 */
13
14 #include "vpx/vpx_integer.h"
15 #include "vpx_dsp/vpx_dsp_common.h"
16
17
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21
22 unsigned int vpx_avg_4x4_c(const uint8_t *, int p);
23 unsigned int vpx_avg_4x4_neon(const uint8_t *, int p);
24 #define vpx_avg_4x4 vpx_avg_4x4_neon
25
26 unsigned int vpx_avg_8x8_c(const uint8_t *, int p);
27 unsigned int vpx_avg_8x8_neon(const uint8_t *, int p);
28 #define vpx_avg_8x8 vpx_avg_8x8_neon
29
30 void vpx_comp_avg_pred_c(uint8_t *comp_pred, const uint8_t *pred, int width, int height, const uint8_t *ref, int ref_stride);
31 #define vpx_comp_avg_pred vpx_comp_avg_pred_c
32
33 void vpx_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);
34 void vpx_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);
35 #define vpx_convolve8 vpx_convolve8_neon
36
37 void vpx_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);
38 void vpx_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);
39 #define vpx_convolve8_avg vpx_convolve8_avg_neon
40
41 void vpx_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);
42 void vpx_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);
43 #define vpx_convolve8_avg_horiz vpx_convolve8_avg_horiz_neon
44
45 void vpx_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);
46 void vpx_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);
47 #define vpx_convolve8_avg_vert vpx_convolve8_avg_vert_neon
48
49 void vpx_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);
50 void vpx_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);
51 #define vpx_convolve8_horiz vpx_convolve8_horiz_neon
52
53 void vpx_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);
54 void vpx_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);
55 #define vpx_convolve8_vert vpx_convolve8_vert_neon
56
57 void vpx_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);
58 void vpx_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);
59 #define vpx_convolve_avg vpx_convolve_avg_neon
60
61 void vpx_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);
62 void vpx_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);
63 #define vpx_convolve_copy vpx_convolve_copy_neon
64
65 void vpx_d117_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
66 #define vpx_d117_predictor_16x16 vpx_d117_predictor_16x16_c
67
68 void vpx_d117_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
69 #define vpx_d117_predictor_32x32 vpx_d117_predictor_32x32_c
70
71 void vpx_d117_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
72 #define vpx_d117_predictor_4x4 vpx_d117_predictor_4x4_c
73
74 void vpx_d117_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
75 #define vpx_d117_predictor_8x8 vpx_d117_predictor_8x8_c
76
77 void vpx_d135_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
78 void vpx_d135_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
79 #define vpx_d135_predictor_16x16 vpx_d135_predictor_16x16_neon
80
81 void vpx_d135_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
82 void vpx_d135_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
83 #define vpx_d135_predictor_32x32 vpx_d135_predictor_32x32_neon
84
85 void vpx_d135_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
86 void vpx_d135_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
87 #define vpx_d135_predictor_4x4 vpx_d135_predictor_4x4_neon
88
89 void vpx_d135_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
90 void vpx_d135_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
91 #define vpx_d135_predictor_8x8 vpx_d135_predictor_8x8_neon
92
93 void vpx_d153_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
94 #define vpx_d153_predictor_16x16 vpx_d153_predictor_16x16_c
95
96 void vpx_d153_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
97 #define vpx_d153_predictor_32x32 vpx_d153_predictor_32x32_c
98
99 void vpx_d153_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
100 #define vpx_d153_predictor_4x4 vpx_d153_predictor_4x4_c
101
102 void vpx_d153_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
103 #define vpx_d153_predictor_8x8 vpx_d153_predictor_8x8_c
104
105 void vpx_d207_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
106 #define vpx_d207_predictor_16x16 vpx_d207_predictor_16x16_c
107
108 void vpx_d207_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
109 #define vpx_d207_predictor_32x32 vpx_d207_predictor_32x32_c
110
111 void vpx_d207_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
112 #define vpx_d207_predictor_4x4 vpx_d207_predictor_4x4_c
113
114 void vpx_d207_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
115 #define vpx_d207_predictor_8x8 vpx_d207_predictor_8x8_c
116
117 void vpx_d45_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
118 void vpx_d45_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
119 #define vpx_d45_predictor_16x16 vpx_d45_predictor_16x16_neon
120
121 void vpx_d45_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
122 void vpx_d45_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
123 #define vpx_d45_predictor_32x32 vpx_d45_predictor_32x32_neon
124
125 void vpx_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
126 void vpx_d45_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
127 #define vpx_d45_predictor_4x4 vpx_d45_predictor_4x4_neon
128
129 void vpx_d45_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
130 void vpx_d45_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
131 #define vpx_d45_predictor_8x8 vpx_d45_predictor_8x8_neon
132
133 void vpx_d45e_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
134 #define vpx_d45e_predictor_4x4 vpx_d45e_predictor_4x4_c
135
136 void vpx_d63_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
137 #define vpx_d63_predictor_16x16 vpx_d63_predictor_16x16_c
138
139 void vpx_d63_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
140 #define vpx_d63_predictor_32x32 vpx_d63_predictor_32x32_c
141
142 void vpx_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
143 #define vpx_d63_predictor_4x4 vpx_d63_predictor_4x4_c
144
145 void vpx_d63_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
146 #define vpx_d63_predictor_8x8 vpx_d63_predictor_8x8_c
147
148 void vpx_d63e_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
149 #define vpx_d63e_predictor_4x4 vpx_d63e_predictor_4x4_c
150
151 void vpx_dc_128_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
152 void vpx_dc_128_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
153 #define vpx_dc_128_predictor_16x16 vpx_dc_128_predictor_16x16_neon
154
155 void vpx_dc_128_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
156 void vpx_dc_128_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
157 #define vpx_dc_128_predictor_32x32 vpx_dc_128_predictor_32x32_neon
158
159 void vpx_dc_128_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
160 void vpx_dc_128_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
161 #define vpx_dc_128_predictor_4x4 vpx_dc_128_predictor_4x4_neon
162
163 void vpx_dc_128_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
164 void vpx_dc_128_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
165 #define vpx_dc_128_predictor_8x8 vpx_dc_128_predictor_8x8_neon
166
167 void vpx_dc_left_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
168 void vpx_dc_left_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
169 #define vpx_dc_left_predictor_16x16 vpx_dc_left_predictor_16x16_neon
170
171 void vpx_dc_left_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
172 void vpx_dc_left_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
173 #define vpx_dc_left_predictor_32x32 vpx_dc_left_predictor_32x32_neon
174
175 void vpx_dc_left_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
176 void vpx_dc_left_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
177 #define vpx_dc_left_predictor_4x4 vpx_dc_left_predictor_4x4_neon
178
179 void vpx_dc_left_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
180 void vpx_dc_left_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
181 #define vpx_dc_left_predictor_8x8 vpx_dc_left_predictor_8x8_neon
182
183 void vpx_dc_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
184 void vpx_dc_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
185 #define vpx_dc_predictor_16x16 vpx_dc_predictor_16x16_neon
186
187 void vpx_dc_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
188 void vpx_dc_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
189 #define vpx_dc_predictor_32x32 vpx_dc_predictor_32x32_neon
190
191 void vpx_dc_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
192 void vpx_dc_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
193 #define vpx_dc_predictor_4x4 vpx_dc_predictor_4x4_neon
194
195 void vpx_dc_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
196 void vpx_dc_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
197 #define vpx_dc_predictor_8x8 vpx_dc_predictor_8x8_neon
198
199 void vpx_dc_top_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
200 void vpx_dc_top_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
201 #define vpx_dc_top_predictor_16x16 vpx_dc_top_predictor_16x16_neon
202
203 void vpx_dc_top_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
204 void vpx_dc_top_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
205 #define vpx_dc_top_predictor_32x32 vpx_dc_top_predictor_32x32_neon
206
207 void vpx_dc_top_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
208 void vpx_dc_top_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
209 #define vpx_dc_top_predictor_4x4 vpx_dc_top_predictor_4x4_neon
210
211 void vpx_dc_top_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
212 void vpx_dc_top_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
213 #define vpx_dc_top_predictor_8x8 vpx_dc_top_predictor_8x8_neon
214
215 void vpx_fdct16x16_c(const int16_t *input, tran_low_t *output, int stride);
216 #define vpx_fdct16x16 vpx_fdct16x16_c
217
218 void vpx_fdct16x16_1_c(const int16_t *input, tran_low_t *output, int stride);
219 #define vpx_fdct16x16_1 vpx_fdct16x16_1_c
220
221 void vpx_fdct32x32_c(const int16_t *input, tran_low_t *output, int stride);
222 #define vpx_fdct32x32 vpx_fdct32x32_c
223
224 void vpx_fdct32x32_1_c(const int16_t *input, tran_low_t *output, int stride);
225 #define vpx_fdct32x32_1 vpx_fdct32x32_1_c
226
227 void vpx_fdct32x32_rd_c(const int16_t *input, tran_low_t *output, int stride);
228 #define vpx_fdct32x32_rd vpx_fdct32x32_rd_c
229
230 void vpx_fdct4x4_c(const int16_t *input, tran_low_t *output, int stride);
231 void vpx_fdct4x4_neon(const int16_t *input, tran_low_t *output, int stride);
232 #define vpx_fdct4x4 vpx_fdct4x4_neon
233
234 void vpx_fdct4x4_1_c(const int16_t *input, tran_low_t *output, int stride);
235 #define vpx_fdct4x4_1 vpx_fdct4x4_1_c
236
237 void vpx_fdct8x8_c(const int16_t *input, tran_low_t *output, int stride);
238 void vpx_fdct8x8_neon(const int16_t *input, tran_low_t *output, int stride);
239 #define vpx_fdct8x8 vpx_fdct8x8_neon
240
241 void vpx_fdct8x8_1_c(const int16_t *input, tran_low_t *output, int stride);
242 void vpx_fdct8x8_1_neon(const int16_t *input, tran_low_t *output, int stride);
243 #define vpx_fdct8x8_1 vpx_fdct8x8_1_neon
244
245 void vpx_get16x16var_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
246 void vpx_get16x16var_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
247 #define vpx_get16x16var vpx_get16x16var_neon
248
249 unsigned int vpx_get4x4sse_cs_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride);
250 unsigned int vpx_get4x4sse_cs_neon(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride);
251 #define vpx_get4x4sse_cs vpx_get4x4sse_cs_neon
252
253 void vpx_get8x8var_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
254 void vpx_get8x8var_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
255 #define vpx_get8x8var vpx_get8x8var_neon
256
257 unsigned int vpx_get_mb_ss_c(const int16_t *);
258 #define vpx_get_mb_ss vpx_get_mb_ss_c
259
260 void vpx_h_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
261 void vpx_h_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
262 #define vpx_h_predictor_16x16 vpx_h_predictor_16x16_neon
263
264 void vpx_h_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
265 void vpx_h_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
266 #define vpx_h_predictor_32x32 vpx_h_predictor_32x32_neon
267
268 void vpx_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
269 void vpx_h_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
270 #define vpx_h_predictor_4x4 vpx_h_predictor_4x4_neon
271
272 void vpx_h_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
273 void vpx_h_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
274 #define vpx_h_predictor_8x8 vpx_h_predictor_8x8_neon
275
276 void vpx_hadamard_16x16_c(const int16_t *src_diff, int src_stride, int16_t *coeff);
277 void vpx_hadamard_16x16_neon(const int16_t *src_diff, int src_stride, int16_t *coeff);
278 #define vpx_hadamard_16x16 vpx_hadamard_16x16_neon
279
280 void vpx_hadamard_8x8_c(const int16_t *src_diff, int src_stride, int16_t *coeff);
281 void vpx_hadamard_8x8_neon(const int16_t *src_diff, int src_stride, int16_t *coeff);
282 #define vpx_hadamard_8x8 vpx_hadamard_8x8_neon
283
284 void vpx_he_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
285 #define vpx_he_predictor_4x4 vpx_he_predictor_4x4_c
286
287 void vpx_idct16x16_10_add_c(const tran_low_t *input, uint8_t *dest, int stride);
288 void vpx_idct16x16_10_add_neon(const tran_low_t *input, uint8_t *dest, int stride);
289 #define vpx_idct16x16_10_add vpx_idct16x16_10_add_neon
290
291 void vpx_idct16x16_1_add_c(const tran_low_t *input, uint8_t *dest, int stride);
292 void vpx_idct16x16_1_add_neon(const tran_low_t *input, uint8_t *dest, int stride);
293 #define vpx_idct16x16_1_add vpx_idct16x16_1_add_neon
294
295 void vpx_idct16x16_256_add_c(const tran_low_t *input, uint8_t *dest, int stride);
296 void vpx_idct16x16_256_add_neon(const tran_low_t *input, uint8_t *dest, int stride);
297 #define vpx_idct16x16_256_add vpx_idct16x16_256_add_neon
298
299 void vpx_idct16x16_38_add_c(const tran_low_t *input, uint8_t *dest, int stride);
300 void vpx_idct16x16_38_add_neon(const tran_low_t *input, uint8_t *dest, int stride);
301 #define vpx_idct16x16_38_add vpx_idct16x16_38_add_neon
302
303 void vpx_idct32x32_1024_add_c(const tran_low_t *input, uint8_t *dest, int stride);
304 void vpx_idct32x32_1024_add_neon(const tran_low_t *input, uint8_t *dest, int stride);
305 #define vpx_idct32x32_1024_add vpx_idct32x32_1024_add_neon
306
307 void vpx_idct32x32_135_add_c(const tran_low_t *input, uint8_t *dest, int stride);
308 void vpx_idct32x32_135_add_neon(const tran_low_t *input, uint8_t *dest, int stride);
309 #define vpx_idct32x32_135_add vpx_idct32x32_135_add_neon
310
311 void vpx_idct32x32_1_add_c(const tran_low_t *input, uint8_t *dest, int stride);
312 void vpx_idct32x32_1_add_neon(const tran_low_t *input, uint8_t *dest, int stride);
313 #define vpx_idct32x32_1_add vpx_idct32x32_1_add_neon
314
315 void vpx_idct32x32_34_add_c(const tran_low_t *input, uint8_t *dest, int stride);
316 void vpx_idct32x32_34_add_neon(const tran_low_t *input, uint8_t *dest, int stride);
317 #define vpx_idct32x32_34_add vpx_idct32x32_34_add_neon
318
319 void vpx_idct4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int stride);
320 void vpx_idct4x4_16_add_neon(const tran_low_t *input, uint8_t *dest, int stride);
321 #define vpx_idct4x4_16_add vpx_idct4x4_16_add_neon
322
323 void vpx_idct4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int stride);
324 void vpx_idct4x4_1_add_neon(const tran_low_t *input, uint8_t *dest, int stride);
325 #define vpx_idct4x4_1_add vpx_idct4x4_1_add_neon
326
327 void vpx_idct8x8_12_add_c(const tran_low_t *input, uint8_t *dest, int stride);
328 void vpx_idct8x8_12_add_neon(const tran_low_t *input, uint8_t *dest, int stride);
329 #define vpx_idct8x8_12_add vpx_idct8x8_12_add_neon
330
331 void vpx_idct8x8_1_add_c(const tran_low_t *input, uint8_t *dest, int stride);
332 void vpx_idct8x8_1_add_neon(const tran_low_t *input, uint8_t *dest, int stride);
333 #define vpx_idct8x8_1_add vpx_idct8x8_1_add_neon
334
335 void vpx_idct8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int stride);
336 void vpx_idct8x8_64_add_neon(const tran_low_t *input, uint8_t *dest, int stride);
337 #define vpx_idct8x8_64_add vpx_idct8x8_64_add_neon
338
339 int16_t vpx_int_pro_col_c(const uint8_t *ref, const int width);
340 int16_t vpx_int_pro_col_neon(const uint8_t *ref, const int width);
341 #define vpx_int_pro_col vpx_int_pro_col_neon
342
343 void vpx_int_pro_row_c(int16_t *hbuf, const uint8_t *ref, const int ref_stride, const int height);
344 void vpx_int_pro_row_neon(int16_t *hbuf, const uint8_t *ref, const int ref_stride, const int height);
345 #define vpx_int_pro_row vpx_int_pro_row_neon
346
347 void vpx_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int stride);
348 #define vpx_iwht4x4_16_add vpx_iwht4x4_16_add_c
349
350 void vpx_iwht4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int stride);
351 #define vpx_iwht4x4_1_add vpx_iwht4x4_1_add_c
352
353 void vpx_lpf_horizontal_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
354 void vpx_lpf_horizontal_16_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
355 #define vpx_lpf_horizontal_16 vpx_lpf_horizontal_16_neon
356
357 void vpx_lpf_horizontal_16_dual_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
358 void vpx_lpf_horizontal_16_dual_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
359 #define vpx_lpf_horizontal_16_dual vpx_lpf_horizontal_16_dual_neon
360
361 void vpx_lpf_horizontal_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
362 void vpx_lpf_horizontal_4_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
363 #define vpx_lpf_horizontal_4 vpx_lpf_horizontal_4_neon
364
365 void vpx_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);
366 void vpx_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);
367 #define vpx_lpf_horizontal_4_dual vpx_lpf_horizontal_4_dual_neon
368
369 void vpx_lpf_horizontal_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
370 void vpx_lpf_horizontal_8_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
371 #define vpx_lpf_horizontal_8 vpx_lpf_horizontal_8_neon
372
373 void vpx_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);
374 void vpx_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);
375 #define vpx_lpf_horizontal_8_dual vpx_lpf_horizontal_8_dual_neon
376
377 void vpx_lpf_vertical_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
378 void vpx_lpf_vertical_16_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
379 #define vpx_lpf_vertical_16 vpx_lpf_vertical_16_neon
380
381 void vpx_lpf_vertical_16_dual_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
382 void vpx_lpf_vertical_16_dual_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
383 #define vpx_lpf_vertical_16_dual vpx_lpf_vertical_16_dual_neon
384
385 void vpx_lpf_vertical_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
386 void vpx_lpf_vertical_4_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
387 #define vpx_lpf_vertical_4 vpx_lpf_vertical_4_neon
388
389 void vpx_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);
390 void vpx_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);
391 #define vpx_lpf_vertical_4_dual vpx_lpf_vertical_4_dual_neon
392
393 void vpx_lpf_vertical_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
394 void vpx_lpf_vertical_8_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
395 #define vpx_lpf_vertical_8 vpx_lpf_vertical_8_neon
396
397 void vpx_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);
398 void vpx_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);
399 #define vpx_lpf_vertical_8_dual vpx_lpf_vertical_8_dual_neon
400
401 void vpx_minmax_8x8_c(const uint8_t *s, int p, const uint8_t *d, int dp, int *min, int *max);
402 void vpx_minmax_8x8_neon(const uint8_t *s, int p, const uint8_t *d, int dp, int *min, int *max);
403 #define vpx_minmax_8x8 vpx_minmax_8x8_neon
404
405 unsigned int vpx_mse16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
406 unsigned int vpx_mse16x16_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
407 #define vpx_mse16x16 vpx_mse16x16_neon
408
409 unsigned int vpx_mse16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
410 #define vpx_mse16x8 vpx_mse16x8_c
411
412 unsigned int vpx_mse8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
413 #define vpx_mse8x16 vpx_mse8x16_c
414
415 unsigned int vpx_mse8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse);
416 #define vpx_mse8x8 vpx_mse8x8_c
417
418 void vpx_quantize_b_c(const tran_low_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, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
419 #define vpx_quantize_b vpx_quantize_b_c
420
421 void vpx_quantize_b_32x32_c(const tran_low_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, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
422 #define vpx_quantize_b_32x32 vpx_quantize_b_32x32_c
423
424 unsigned int vpx_sad16x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
425 unsigned int vpx_sad16x16_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
426 #define vpx_sad16x16 vpx_sad16x16_neon
427
428 unsigned int vpx_sad16x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
429 #define vpx_sad16x16_avg vpx_sad16x16_avg_c
430
431 void vpx_sad16x16x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
432 #define vpx_sad16x16x3 vpx_sad16x16x3_c
433
434 void vpx_sad16x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
435 void vpx_sad16x16x4d_neon(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
436 #define vpx_sad16x16x4d vpx_sad16x16x4d_neon
437
438 void vpx_sad16x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
439 #define vpx_sad16x16x8 vpx_sad16x16x8_c
440
441 unsigned int vpx_sad16x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
442 #define vpx_sad16x32 vpx_sad16x32_c
443
444 unsigned int vpx_sad16x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
445 #define vpx_sad16x32_avg vpx_sad16x32_avg_c
446
447 void vpx_sad16x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
448 #define vpx_sad16x32x4d vpx_sad16x32x4d_c
449
450 unsigned int vpx_sad16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
451 unsigned int vpx_sad16x8_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
452 #define vpx_sad16x8 vpx_sad16x8_neon
453
454 unsigned int vpx_sad16x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
455 #define vpx_sad16x8_avg vpx_sad16x8_avg_c
456
457 void vpx_sad16x8x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
458 #define vpx_sad16x8x3 vpx_sad16x8x3_c
459
460 void vpx_sad16x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
461 #define vpx_sad16x8x4d vpx_sad16x8x4d_c
462
463 void vpx_sad16x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
464 #define vpx_sad16x8x8 vpx_sad16x8x8_c
465
466 unsigned int vpx_sad32x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
467 #define vpx_sad32x16 vpx_sad32x16_c
468
469 unsigned int vpx_sad32x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
470 #define vpx_sad32x16_avg vpx_sad32x16_avg_c
471
472 void vpx_sad32x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
473 #define vpx_sad32x16x4d vpx_sad32x16x4d_c
474
475 unsigned int vpx_sad32x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
476 unsigned int vpx_sad32x32_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
477 #define vpx_sad32x32 vpx_sad32x32_neon
478
479 unsigned int vpx_sad32x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
480 #define vpx_sad32x32_avg vpx_sad32x32_avg_c
481
482 void vpx_sad32x32x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
483 #define vpx_sad32x32x3 vpx_sad32x32x3_c
484
485 void vpx_sad32x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
486 void vpx_sad32x32x4d_neon(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
487 #define vpx_sad32x32x4d vpx_sad32x32x4d_neon
488
489 void vpx_sad32x32x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
490 #define vpx_sad32x32x8 vpx_sad32x32x8_c
491
492 unsigned int vpx_sad32x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
493 #define vpx_sad32x64 vpx_sad32x64_c
494
495 unsigned int vpx_sad32x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
496 #define vpx_sad32x64_avg vpx_sad32x64_avg_c
497
498 void vpx_sad32x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
499 #define vpx_sad32x64x4d vpx_sad32x64x4d_c
500
501 unsigned int vpx_sad4x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
502 unsigned int vpx_sad4x4_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
503 #define vpx_sad4x4 vpx_sad4x4_neon
504
505 unsigned int vpx_sad4x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
506 #define vpx_sad4x4_avg vpx_sad4x4_avg_c
507
508 void vpx_sad4x4x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
509 #define vpx_sad4x4x3 vpx_sad4x4x3_c
510
511 void vpx_sad4x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
512 #define vpx_sad4x4x4d vpx_sad4x4x4d_c
513
514 void vpx_sad4x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
515 #define vpx_sad4x4x8 vpx_sad4x4x8_c
516
517 unsigned int vpx_sad4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
518 #define vpx_sad4x8 vpx_sad4x8_c
519
520 unsigned int vpx_sad4x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
521 #define vpx_sad4x8_avg vpx_sad4x8_avg_c
522
523 void vpx_sad4x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
524 #define vpx_sad4x8x4d vpx_sad4x8x4d_c
525
526 void vpx_sad4x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
527 #define vpx_sad4x8x8 vpx_sad4x8x8_c
528
529 unsigned int vpx_sad64x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
530 #define vpx_sad64x32 vpx_sad64x32_c
531
532 unsigned int vpx_sad64x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
533 #define vpx_sad64x32_avg vpx_sad64x32_avg_c
534
535 void vpx_sad64x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
536 #define vpx_sad64x32x4d vpx_sad64x32x4d_c
537
538 unsigned int vpx_sad64x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
539 unsigned int vpx_sad64x64_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
540 #define vpx_sad64x64 vpx_sad64x64_neon
541
542 unsigned int vpx_sad64x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
543 #define vpx_sad64x64_avg vpx_sad64x64_avg_c
544
545 void vpx_sad64x64x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
546 #define vpx_sad64x64x3 vpx_sad64x64x3_c
547
548 void vpx_sad64x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
549 void vpx_sad64x64x4d_neon(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
550 #define vpx_sad64x64x4d vpx_sad64x64x4d_neon
551
552 void vpx_sad64x64x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
553 #define vpx_sad64x64x8 vpx_sad64x64x8_c
554
555 unsigned int vpx_sad8x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
556 unsigned int vpx_sad8x16_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
557 #define vpx_sad8x16 vpx_sad8x16_neon
558
559 unsigned int vpx_sad8x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
560 #define vpx_sad8x16_avg vpx_sad8x16_avg_c
561
562 void vpx_sad8x16x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
563 #define vpx_sad8x16x3 vpx_sad8x16x3_c
564
565 void vpx_sad8x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
566 #define vpx_sad8x16x4d vpx_sad8x16x4d_c
567
568 void vpx_sad8x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
569 #define vpx_sad8x16x8 vpx_sad8x16x8_c
570
571 unsigned int vpx_sad8x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
572 #define vpx_sad8x4 vpx_sad8x4_c
573
574 unsigned int vpx_sad8x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
575 #define vpx_sad8x4_avg vpx_sad8x4_avg_c
576
577 void vpx_sad8x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
578 #define vpx_sad8x4x4d vpx_sad8x4x4d_c
579
580 void vpx_sad8x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
581 #define vpx_sad8x4x8 vpx_sad8x4x8_c
582
583 unsigned int vpx_sad8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
584 unsigned int vpx_sad8x8_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
585 #define vpx_sad8x8 vpx_sad8x8_neon
586
587 unsigned int vpx_sad8x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
588 #define vpx_sad8x8_avg vpx_sad8x8_avg_c
589
590 void vpx_sad8x8x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
591 #define vpx_sad8x8x3 vpx_sad8x8x3_c
592
593 void vpx_sad8x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
594 #define vpx_sad8x8x4d vpx_sad8x8x4d_c
595
596 void vpx_sad8x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
597 #define vpx_sad8x8x8 vpx_sad8x8x8_c
598
599 int vpx_satd_c(const int16_t *coeff, int length);
600 int vpx_satd_neon(const int16_t *coeff, int length);
601 #define vpx_satd vpx_satd_neon
602
603 void vpx_scaled_2d_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);
604 #define vpx_scaled_2d vpx_scaled_2d_c
605
606 void vpx_scaled_avg_2d_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);
607 #define vpx_scaled_avg_2d vpx_scaled_avg_2d_c
608
609 void vpx_scaled_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);
610 #define vpx_scaled_avg_horiz vpx_scaled_avg_horiz_c
611
612 void vpx_scaled_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);
613 #define vpx_scaled_avg_vert vpx_scaled_avg_vert_c
614
615 void vpx_scaled_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);
616 #define vpx_scaled_horiz vpx_scaled_horiz_c
617
618 void vpx_scaled_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);
619 #define vpx_scaled_vert vpx_scaled_vert_c
620
621 uint32_t vpx_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, uint32_t *sse, const uint8_t *second_pred);
622 #define vpx_sub_pixel_avg_variance16x16 vpx_sub_pixel_avg_variance16x16_c
623
624 uint32_t vpx_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, uint32_t *sse, const uint8_t *second_pred);
625 #define vpx_sub_pixel_avg_variance16x32 vpx_sub_pixel_avg_variance16x32_c
626
627 uint32_t vpx_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, uint32_t *sse, const uint8_t *second_pred);
628 #define vpx_sub_pixel_avg_variance16x8 vpx_sub_pixel_avg_variance16x8_c
629
630 uint32_t vpx_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, uint32_t *sse, const uint8_t *second_pred);
631 #define vpx_sub_pixel_avg_variance32x16 vpx_sub_pixel_avg_variance32x16_c
632
633 uint32_t vpx_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, uint32_t *sse, const uint8_t *second_pred);
634 #define vpx_sub_pixel_avg_variance32x32 vpx_sub_pixel_avg_variance32x32_c
635
636 uint32_t vpx_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, uint32_t *sse, const uint8_t *second_pred);
637 #define vpx_sub_pixel_avg_variance32x64 vpx_sub_pixel_avg_variance32x64_c
638
639 uint32_t vpx_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, uint32_t *sse, const uint8_t *second_pred);
640 #define vpx_sub_pixel_avg_variance4x4 vpx_sub_pixel_avg_variance4x4_c
641
642 uint32_t vpx_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, uint32_t *sse, const uint8_t *second_pred);
643 #define vpx_sub_pixel_avg_variance4x8 vpx_sub_pixel_avg_variance4x8_c
644
645 uint32_t vpx_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, uint32_t *sse, const uint8_t *second_pred);
646 #define vpx_sub_pixel_avg_variance64x32 vpx_sub_pixel_avg_variance64x32_c
647
648 uint32_t vpx_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, uint32_t *sse, const uint8_t *second_pred);
649 #define vpx_sub_pixel_avg_variance64x64 vpx_sub_pixel_avg_variance64x64_c
650
651 uint32_t vpx_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, uint32_t *sse, const uint8_t *second_pred);
652 #define vpx_sub_pixel_avg_variance8x16 vpx_sub_pixel_avg_variance8x16_c
653
654 uint32_t vpx_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, uint32_t *sse, const uint8_t *second_pred);
655 #define vpx_sub_pixel_avg_variance8x4 vpx_sub_pixel_avg_variance8x4_c
656
657 uint32_t vpx_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, uint32_t *sse, const uint8_t *second_pred);
658 #define vpx_sub_pixel_avg_variance8x8 vpx_sub_pixel_avg_variance8x8_c
659
660 uint32_t vpx_sub_pixel_variance16x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
661 uint32_t vpx_sub_pixel_variance16x16_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
662 #define vpx_sub_pixel_variance16x16 vpx_sub_pixel_variance16x16_neon
663
664 uint32_t vpx_sub_pixel_variance16x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
665 uint32_t vpx_sub_pixel_variance16x32_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
666 #define vpx_sub_pixel_variance16x32 vpx_sub_pixel_variance16x32_neon
667
668 uint32_t vpx_sub_pixel_variance16x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
669 uint32_t vpx_sub_pixel_variance16x8_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
670 #define vpx_sub_pixel_variance16x8 vpx_sub_pixel_variance16x8_neon
671
672 uint32_t vpx_sub_pixel_variance32x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
673 uint32_t vpx_sub_pixel_variance32x16_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
674 #define vpx_sub_pixel_variance32x16 vpx_sub_pixel_variance32x16_neon
675
676 uint32_t vpx_sub_pixel_variance32x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
677 uint32_t vpx_sub_pixel_variance32x32_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
678 #define vpx_sub_pixel_variance32x32 vpx_sub_pixel_variance32x32_neon
679
680 uint32_t vpx_sub_pixel_variance32x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
681 uint32_t vpx_sub_pixel_variance32x64_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
682 #define vpx_sub_pixel_variance32x64 vpx_sub_pixel_variance32x64_neon
683
684 uint32_t vpx_sub_pixel_variance4x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
685 #define vpx_sub_pixel_variance4x4 vpx_sub_pixel_variance4x4_c
686
687 uint32_t vpx_sub_pixel_variance4x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
688 #define vpx_sub_pixel_variance4x8 vpx_sub_pixel_variance4x8_c
689
690 uint32_t vpx_sub_pixel_variance64x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
691 uint32_t vpx_sub_pixel_variance64x32_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
692 #define vpx_sub_pixel_variance64x32 vpx_sub_pixel_variance64x32_neon
693
694 uint32_t vpx_sub_pixel_variance64x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
695 uint32_t vpx_sub_pixel_variance64x64_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
696 #define vpx_sub_pixel_variance64x64 vpx_sub_pixel_variance64x64_neon
697
698 uint32_t vpx_sub_pixel_variance8x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
699 uint32_t vpx_sub_pixel_variance8x16_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
700 #define vpx_sub_pixel_variance8x16 vpx_sub_pixel_variance8x16_neon
701
702 uint32_t vpx_sub_pixel_variance8x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
703 uint32_t vpx_sub_pixel_variance8x4_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
704 #define vpx_sub_pixel_variance8x4 vpx_sub_pixel_variance8x4_neon
705
706 uint32_t vpx_sub_pixel_variance8x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
707 uint32_t vpx_sub_pixel_variance8x8_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
708 #define vpx_sub_pixel_variance8x8 vpx_sub_pixel_variance8x8_neon
709
710 void vpx_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);
711 void vpx_subtract_block_neon(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);
712 #define vpx_subtract_block vpx_subtract_block_neon
713
714 uint64_t vpx_sum_squares_2d_i16_c(const int16_t *src, int stride, int size);
715 #define vpx_sum_squares_2d_i16 vpx_sum_squares_2d_i16_c
716
717 void vpx_tm_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
718 void vpx_tm_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
719 #define vpx_tm_predictor_16x16 vpx_tm_predictor_16x16_neon
720
721 void vpx_tm_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
722 void vpx_tm_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
723 #define vpx_tm_predictor_32x32 vpx_tm_predictor_32x32_neon
724
725 void vpx_tm_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
726 void vpx_tm_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
727 #define vpx_tm_predictor_4x4 vpx_tm_predictor_4x4_neon
728
729 void vpx_tm_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
730 void vpx_tm_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
731 #define vpx_tm_predictor_8x8 vpx_tm_predictor_8x8_neon
732
733 void vpx_v_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
734 void vpx_v_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
735 #define vpx_v_predictor_16x16 vpx_v_predictor_16x16_neon
736
737 void vpx_v_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
738 void vpx_v_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
739 #define vpx_v_predictor_32x32 vpx_v_predictor_32x32_neon
740
741 void vpx_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
742 void vpx_v_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
743 #define vpx_v_predictor_4x4 vpx_v_predictor_4x4_neon
744
745 void vpx_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
746 void vpx_v_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
747 #define vpx_v_predictor_8x8 vpx_v_predictor_8x8_neon
748
749 unsigned int vpx_variance16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
750 unsigned int vpx_variance16x16_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
751 #define vpx_variance16x16 vpx_variance16x16_neon
752
753 unsigned int vpx_variance16x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
754 unsigned int vpx_variance16x32_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
755 #define vpx_variance16x32 vpx_variance16x32_neon
756
757 unsigned int vpx_variance16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
758 unsigned int vpx_variance16x8_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
759 #define vpx_variance16x8 vpx_variance16x8_neon
760
761 unsigned int vpx_variance32x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
762 unsigned int vpx_variance32x16_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
763 #define vpx_variance32x16 vpx_variance32x16_neon
764
765 unsigned int vpx_variance32x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
766 unsigned int vpx_variance32x32_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
767 #define vpx_variance32x32 vpx_variance32x32_neon
768
769 unsigned int vpx_variance32x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
770 unsigned int vpx_variance32x64_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
771 #define vpx_variance32x64 vpx_variance32x64_neon
772
773 unsigned int vpx_variance4x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
774 unsigned int vpx_variance4x4_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
775 #define vpx_variance4x4 vpx_variance4x4_neon
776
777 unsigned int vpx_variance4x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
778 unsigned int vpx_variance4x8_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
779 #define vpx_variance4x8 vpx_variance4x8_neon
780
781 unsigned int vpx_variance64x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
782 unsigned int vpx_variance64x32_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
783 #define vpx_variance64x32 vpx_variance64x32_neon
784
785 unsigned int vpx_variance64x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
786 unsigned int vpx_variance64x64_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
787 #define vpx_variance64x64 vpx_variance64x64_neon
788
789 unsigned int vpx_variance8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
790 unsigned int vpx_variance8x16_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
791 #define vpx_variance8x16 vpx_variance8x16_neon
792
793 unsigned int vpx_variance8x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
794 unsigned int vpx_variance8x4_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
795 #define vpx_variance8x4 vpx_variance8x4_neon
796
797 unsigned int vpx_variance8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
798 unsigned int vpx_variance8x8_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
799 #define vpx_variance8x8 vpx_variance8x8_neon
800
801 void vpx_ve_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
802 #define vpx_ve_predictor_4x4 vpx_ve_predictor_4x4_c
803
804 int vpx_vector_var_c(const int16_t *ref, const int16_t *src, const int bwl);
805 int vpx_vector_var_neon(const int16_t *ref, const int16_t *src, const int bwl);
806 #define vpx_vector_var vpx_vector_var_neon
807
808 void vpx_dsp_rtcd(void);
809
810 #include "vpx_config.h"
811
812 #ifdef RTCD_C
813 #include "vpx_ports/arm.h"
setup_rtcd_internal(void)814 static void setup_rtcd_internal(void)
815 {
816 int flags = arm_cpu_caps();
817
818 (void)flags;
819
820 }
821 #endif
822
823 #ifdef __cplusplus
824 } // extern "C"
825 #endif
826
827 #endif
828