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