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 #define vpx_avg_4x4 vpx_avg_4x4_c
25
26 unsigned int vpx_avg_8x8_c(const uint8_t*, int p);
27 #define vpx_avg_8x8 vpx_avg_8x8_c
28
29 void vpx_comp_avg_pred_c(uint8_t* comp_pred,
30 const uint8_t* pred,
31 int width,
32 int height,
33 const uint8_t* ref,
34 int ref_stride);
35 #define vpx_comp_avg_pred vpx_comp_avg_pred_c
36
37 void vpx_convolve8_c(const uint8_t* src,
38 ptrdiff_t src_stride,
39 uint8_t* dst,
40 ptrdiff_t dst_stride,
41 const InterpKernel* filter,
42 int x0_q4,
43 int x_step_q4,
44 int y0_q4,
45 int y_step_q4,
46 int w,
47 int h);
48 #define vpx_convolve8 vpx_convolve8_c
49
50 void vpx_convolve8_avg_c(const uint8_t* src,
51 ptrdiff_t src_stride,
52 uint8_t* dst,
53 ptrdiff_t dst_stride,
54 const InterpKernel* filter,
55 int x0_q4,
56 int x_step_q4,
57 int y0_q4,
58 int y_step_q4,
59 int w,
60 int h);
61 #define vpx_convolve8_avg vpx_convolve8_avg_c
62
63 void vpx_convolve8_avg_horiz_c(const uint8_t* src,
64 ptrdiff_t src_stride,
65 uint8_t* dst,
66 ptrdiff_t dst_stride,
67 const InterpKernel* filter,
68 int x0_q4,
69 int x_step_q4,
70 int y0_q4,
71 int y_step_q4,
72 int w,
73 int h);
74 #define vpx_convolve8_avg_horiz vpx_convolve8_avg_horiz_c
75
76 void vpx_convolve8_avg_vert_c(const uint8_t* src,
77 ptrdiff_t src_stride,
78 uint8_t* dst,
79 ptrdiff_t dst_stride,
80 const InterpKernel* filter,
81 int x0_q4,
82 int x_step_q4,
83 int y0_q4,
84 int y_step_q4,
85 int w,
86 int h);
87 #define vpx_convolve8_avg_vert vpx_convolve8_avg_vert_c
88
89 void vpx_convolve8_horiz_c(const uint8_t* src,
90 ptrdiff_t src_stride,
91 uint8_t* dst,
92 ptrdiff_t dst_stride,
93 const InterpKernel* filter,
94 int x0_q4,
95 int x_step_q4,
96 int y0_q4,
97 int y_step_q4,
98 int w,
99 int h);
100 #define vpx_convolve8_horiz vpx_convolve8_horiz_c
101
102 void vpx_convolve8_vert_c(const uint8_t* src,
103 ptrdiff_t src_stride,
104 uint8_t* dst,
105 ptrdiff_t dst_stride,
106 const InterpKernel* filter,
107 int x0_q4,
108 int x_step_q4,
109 int y0_q4,
110 int y_step_q4,
111 int w,
112 int h);
113 #define vpx_convolve8_vert vpx_convolve8_vert_c
114
115 void vpx_convolve_avg_c(const uint8_t* src,
116 ptrdiff_t src_stride,
117 uint8_t* dst,
118 ptrdiff_t dst_stride,
119 const InterpKernel* filter,
120 int x0_q4,
121 int x_step_q4,
122 int y0_q4,
123 int y_step_q4,
124 int w,
125 int h);
126 #define vpx_convolve_avg vpx_convolve_avg_c
127
128 void vpx_convolve_copy_c(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_convolve_copy vpx_convolve_copy_c
140
141 void vpx_d117_predictor_16x16_c(uint8_t* dst,
142 ptrdiff_t stride,
143 const uint8_t* above,
144 const uint8_t* left);
145 #define vpx_d117_predictor_16x16 vpx_d117_predictor_16x16_c
146
147 void vpx_d117_predictor_32x32_c(uint8_t* dst,
148 ptrdiff_t stride,
149 const uint8_t* above,
150 const uint8_t* left);
151 #define vpx_d117_predictor_32x32 vpx_d117_predictor_32x32_c
152
153 void vpx_d117_predictor_4x4_c(uint8_t* dst,
154 ptrdiff_t stride,
155 const uint8_t* above,
156 const uint8_t* left);
157 #define vpx_d117_predictor_4x4 vpx_d117_predictor_4x4_c
158
159 void vpx_d117_predictor_8x8_c(uint8_t* dst,
160 ptrdiff_t stride,
161 const uint8_t* above,
162 const uint8_t* left);
163 #define vpx_d117_predictor_8x8 vpx_d117_predictor_8x8_c
164
165 void vpx_d135_predictor_16x16_c(uint8_t* dst,
166 ptrdiff_t stride,
167 const uint8_t* above,
168 const uint8_t* left);
169 #define vpx_d135_predictor_16x16 vpx_d135_predictor_16x16_c
170
171 void vpx_d135_predictor_32x32_c(uint8_t* dst,
172 ptrdiff_t stride,
173 const uint8_t* above,
174 const uint8_t* left);
175 #define vpx_d135_predictor_32x32 vpx_d135_predictor_32x32_c
176
177 void vpx_d135_predictor_4x4_c(uint8_t* dst,
178 ptrdiff_t stride,
179 const uint8_t* above,
180 const uint8_t* left);
181 #define vpx_d135_predictor_4x4 vpx_d135_predictor_4x4_c
182
183 void vpx_d135_predictor_8x8_c(uint8_t* dst,
184 ptrdiff_t stride,
185 const uint8_t* above,
186 const uint8_t* left);
187 #define vpx_d135_predictor_8x8 vpx_d135_predictor_8x8_c
188
189 void vpx_d153_predictor_16x16_c(uint8_t* dst,
190 ptrdiff_t stride,
191 const uint8_t* above,
192 const uint8_t* left);
193 #define vpx_d153_predictor_16x16 vpx_d153_predictor_16x16_c
194
195 void vpx_d153_predictor_32x32_c(uint8_t* dst,
196 ptrdiff_t stride,
197 const uint8_t* above,
198 const uint8_t* left);
199 #define vpx_d153_predictor_32x32 vpx_d153_predictor_32x32_c
200
201 void vpx_d153_predictor_4x4_c(uint8_t* dst,
202 ptrdiff_t stride,
203 const uint8_t* above,
204 const uint8_t* left);
205 #define vpx_d153_predictor_4x4 vpx_d153_predictor_4x4_c
206
207 void vpx_d153_predictor_8x8_c(uint8_t* dst,
208 ptrdiff_t stride,
209 const uint8_t* above,
210 const uint8_t* left);
211 #define vpx_d153_predictor_8x8 vpx_d153_predictor_8x8_c
212
213 void vpx_d207_predictor_16x16_c(uint8_t* dst,
214 ptrdiff_t stride,
215 const uint8_t* above,
216 const uint8_t* left);
217 #define vpx_d207_predictor_16x16 vpx_d207_predictor_16x16_c
218
219 void vpx_d207_predictor_32x32_c(uint8_t* dst,
220 ptrdiff_t stride,
221 const uint8_t* above,
222 const uint8_t* left);
223 #define vpx_d207_predictor_32x32 vpx_d207_predictor_32x32_c
224
225 void vpx_d207_predictor_4x4_c(uint8_t* dst,
226 ptrdiff_t stride,
227 const uint8_t* above,
228 const uint8_t* left);
229 #define vpx_d207_predictor_4x4 vpx_d207_predictor_4x4_c
230
231 void vpx_d207_predictor_8x8_c(uint8_t* dst,
232 ptrdiff_t stride,
233 const uint8_t* above,
234 const uint8_t* left);
235 #define vpx_d207_predictor_8x8 vpx_d207_predictor_8x8_c
236
237 void vpx_d45_predictor_16x16_c(uint8_t* dst,
238 ptrdiff_t stride,
239 const uint8_t* above,
240 const uint8_t* left);
241 #define vpx_d45_predictor_16x16 vpx_d45_predictor_16x16_c
242
243 void vpx_d45_predictor_32x32_c(uint8_t* dst,
244 ptrdiff_t stride,
245 const uint8_t* above,
246 const uint8_t* left);
247 #define vpx_d45_predictor_32x32 vpx_d45_predictor_32x32_c
248
249 void vpx_d45_predictor_4x4_c(uint8_t* dst,
250 ptrdiff_t stride,
251 const uint8_t* above,
252 const uint8_t* left);
253 #define vpx_d45_predictor_4x4 vpx_d45_predictor_4x4_c
254
255 void vpx_d45_predictor_8x8_c(uint8_t* dst,
256 ptrdiff_t stride,
257 const uint8_t* above,
258 const uint8_t* left);
259 #define vpx_d45_predictor_8x8 vpx_d45_predictor_8x8_c
260
261 void vpx_d45e_predictor_4x4_c(uint8_t* dst,
262 ptrdiff_t stride,
263 const uint8_t* above,
264 const uint8_t* left);
265 #define vpx_d45e_predictor_4x4 vpx_d45e_predictor_4x4_c
266
267 void vpx_d63_predictor_16x16_c(uint8_t* dst,
268 ptrdiff_t stride,
269 const uint8_t* above,
270 const uint8_t* left);
271 #define vpx_d63_predictor_16x16 vpx_d63_predictor_16x16_c
272
273 void vpx_d63_predictor_32x32_c(uint8_t* dst,
274 ptrdiff_t stride,
275 const uint8_t* above,
276 const uint8_t* left);
277 #define vpx_d63_predictor_32x32 vpx_d63_predictor_32x32_c
278
279 void vpx_d63_predictor_4x4_c(uint8_t* dst,
280 ptrdiff_t stride,
281 const uint8_t* above,
282 const uint8_t* left);
283 #define vpx_d63_predictor_4x4 vpx_d63_predictor_4x4_c
284
285 void vpx_d63_predictor_8x8_c(uint8_t* dst,
286 ptrdiff_t stride,
287 const uint8_t* above,
288 const uint8_t* left);
289 #define vpx_d63_predictor_8x8 vpx_d63_predictor_8x8_c
290
291 void vpx_d63e_predictor_4x4_c(uint8_t* dst,
292 ptrdiff_t stride,
293 const uint8_t* above,
294 const uint8_t* left);
295 #define vpx_d63e_predictor_4x4 vpx_d63e_predictor_4x4_c
296
297 void vpx_dc_128_predictor_16x16_c(uint8_t* dst,
298 ptrdiff_t stride,
299 const uint8_t* above,
300 const uint8_t* left);
301 #define vpx_dc_128_predictor_16x16 vpx_dc_128_predictor_16x16_c
302
303 void vpx_dc_128_predictor_32x32_c(uint8_t* dst,
304 ptrdiff_t stride,
305 const uint8_t* above,
306 const uint8_t* left);
307 #define vpx_dc_128_predictor_32x32 vpx_dc_128_predictor_32x32_c
308
309 void vpx_dc_128_predictor_4x4_c(uint8_t* dst,
310 ptrdiff_t stride,
311 const uint8_t* above,
312 const uint8_t* left);
313 #define vpx_dc_128_predictor_4x4 vpx_dc_128_predictor_4x4_c
314
315 void vpx_dc_128_predictor_8x8_c(uint8_t* dst,
316 ptrdiff_t stride,
317 const uint8_t* above,
318 const uint8_t* left);
319 #define vpx_dc_128_predictor_8x8 vpx_dc_128_predictor_8x8_c
320
321 void vpx_dc_left_predictor_16x16_c(uint8_t* dst,
322 ptrdiff_t stride,
323 const uint8_t* above,
324 const uint8_t* left);
325 #define vpx_dc_left_predictor_16x16 vpx_dc_left_predictor_16x16_c
326
327 void vpx_dc_left_predictor_32x32_c(uint8_t* dst,
328 ptrdiff_t stride,
329 const uint8_t* above,
330 const uint8_t* left);
331 #define vpx_dc_left_predictor_32x32 vpx_dc_left_predictor_32x32_c
332
333 void vpx_dc_left_predictor_4x4_c(uint8_t* dst,
334 ptrdiff_t stride,
335 const uint8_t* above,
336 const uint8_t* left);
337 #define vpx_dc_left_predictor_4x4 vpx_dc_left_predictor_4x4_c
338
339 void vpx_dc_left_predictor_8x8_c(uint8_t* dst,
340 ptrdiff_t stride,
341 const uint8_t* above,
342 const uint8_t* left);
343 #define vpx_dc_left_predictor_8x8 vpx_dc_left_predictor_8x8_c
344
345 void vpx_dc_predictor_16x16_c(uint8_t* dst,
346 ptrdiff_t stride,
347 const uint8_t* above,
348 const uint8_t* left);
349 #define vpx_dc_predictor_16x16 vpx_dc_predictor_16x16_c
350
351 void vpx_dc_predictor_32x32_c(uint8_t* dst,
352 ptrdiff_t stride,
353 const uint8_t* above,
354 const uint8_t* left);
355 #define vpx_dc_predictor_32x32 vpx_dc_predictor_32x32_c
356
357 void vpx_dc_predictor_4x4_c(uint8_t* dst,
358 ptrdiff_t stride,
359 const uint8_t* above,
360 const uint8_t* left);
361 #define vpx_dc_predictor_4x4 vpx_dc_predictor_4x4_c
362
363 void vpx_dc_predictor_8x8_c(uint8_t* dst,
364 ptrdiff_t stride,
365 const uint8_t* above,
366 const uint8_t* left);
367 #define vpx_dc_predictor_8x8 vpx_dc_predictor_8x8_c
368
369 void vpx_dc_top_predictor_16x16_c(uint8_t* dst,
370 ptrdiff_t stride,
371 const uint8_t* above,
372 const uint8_t* left);
373 #define vpx_dc_top_predictor_16x16 vpx_dc_top_predictor_16x16_c
374
375 void vpx_dc_top_predictor_32x32_c(uint8_t* dst,
376 ptrdiff_t stride,
377 const uint8_t* above,
378 const uint8_t* left);
379 #define vpx_dc_top_predictor_32x32 vpx_dc_top_predictor_32x32_c
380
381 void vpx_dc_top_predictor_4x4_c(uint8_t* dst,
382 ptrdiff_t stride,
383 const uint8_t* above,
384 const uint8_t* left);
385 #define vpx_dc_top_predictor_4x4 vpx_dc_top_predictor_4x4_c
386
387 void vpx_dc_top_predictor_8x8_c(uint8_t* dst,
388 ptrdiff_t stride,
389 const uint8_t* above,
390 const uint8_t* left);
391 #define vpx_dc_top_predictor_8x8 vpx_dc_top_predictor_8x8_c
392
393 void vpx_fdct16x16_c(const int16_t* input, tran_low_t* output, int stride);
394 #define vpx_fdct16x16 vpx_fdct16x16_c
395
396 void vpx_fdct16x16_1_c(const int16_t* input, tran_low_t* output, int stride);
397 #define vpx_fdct16x16_1 vpx_fdct16x16_1_c
398
399 void vpx_fdct32x32_c(const int16_t* input, tran_low_t* output, int stride);
400 #define vpx_fdct32x32 vpx_fdct32x32_c
401
402 void vpx_fdct32x32_1_c(const int16_t* input, tran_low_t* output, int stride);
403 #define vpx_fdct32x32_1 vpx_fdct32x32_1_c
404
405 void vpx_fdct32x32_rd_c(const int16_t* input, tran_low_t* output, int stride);
406 #define vpx_fdct32x32_rd vpx_fdct32x32_rd_c
407
408 void vpx_fdct4x4_c(const int16_t* input, tran_low_t* output, int stride);
409 #define vpx_fdct4x4 vpx_fdct4x4_c
410
411 void vpx_fdct4x4_1_c(const int16_t* input, tran_low_t* output, int stride);
412 #define vpx_fdct4x4_1 vpx_fdct4x4_1_c
413
414 void vpx_fdct8x8_c(const int16_t* input, tran_low_t* output, int stride);
415 #define vpx_fdct8x8 vpx_fdct8x8_c
416
417 void vpx_fdct8x8_1_c(const int16_t* input, tran_low_t* output, int stride);
418 #define vpx_fdct8x8_1 vpx_fdct8x8_1_c
419
420 void vpx_get16x16var_c(const uint8_t* src_ptr,
421 int src_stride,
422 const uint8_t* ref_ptr,
423 int ref_stride,
424 unsigned int* sse,
425 int* sum);
426 #define vpx_get16x16var vpx_get16x16var_c
427
428 unsigned int vpx_get4x4sse_cs_c(const unsigned char* src_ptr,
429 int src_stride,
430 const unsigned char* ref_ptr,
431 int ref_stride);
432 #define vpx_get4x4sse_cs vpx_get4x4sse_cs_c
433
434 void vpx_get8x8var_c(const uint8_t* src_ptr,
435 int src_stride,
436 const uint8_t* ref_ptr,
437 int ref_stride,
438 unsigned int* sse,
439 int* sum);
440 #define vpx_get8x8var vpx_get8x8var_c
441
442 unsigned int vpx_get_mb_ss_c(const int16_t*);
443 #define vpx_get_mb_ss vpx_get_mb_ss_c
444
445 void vpx_h_predictor_16x16_c(uint8_t* dst,
446 ptrdiff_t stride,
447 const uint8_t* above,
448 const uint8_t* left);
449 #define vpx_h_predictor_16x16 vpx_h_predictor_16x16_c
450
451 void vpx_h_predictor_32x32_c(uint8_t* dst,
452 ptrdiff_t stride,
453 const uint8_t* above,
454 const uint8_t* left);
455 #define vpx_h_predictor_32x32 vpx_h_predictor_32x32_c
456
457 void vpx_h_predictor_4x4_c(uint8_t* dst,
458 ptrdiff_t stride,
459 const uint8_t* above,
460 const uint8_t* left);
461 #define vpx_h_predictor_4x4 vpx_h_predictor_4x4_c
462
463 void vpx_h_predictor_8x8_c(uint8_t* dst,
464 ptrdiff_t stride,
465 const uint8_t* above,
466 const uint8_t* left);
467 #define vpx_h_predictor_8x8 vpx_h_predictor_8x8_c
468
469 void vpx_hadamard_16x16_c(const int16_t* src_diff,
470 ptrdiff_t src_stride,
471 int16_t* coeff);
472 #define vpx_hadamard_16x16 vpx_hadamard_16x16_c
473
474 void vpx_hadamard_32x32_c(const int16_t* src_diff,
475 ptrdiff_t src_stride,
476 int16_t* coeff);
477 #define vpx_hadamard_32x32 vpx_hadamard_32x32_c
478
479 void vpx_hadamard_8x8_c(const int16_t* src_diff,
480 ptrdiff_t src_stride,
481 int16_t* coeff);
482 #define vpx_hadamard_8x8 vpx_hadamard_8x8_c
483
484 void vpx_he_predictor_4x4_c(uint8_t* dst,
485 ptrdiff_t stride,
486 const uint8_t* above,
487 const uint8_t* left);
488 #define vpx_he_predictor_4x4 vpx_he_predictor_4x4_c
489
490 void vpx_idct16x16_10_add_c(const tran_low_t* input, uint8_t* dest, int stride);
491 #define vpx_idct16x16_10_add vpx_idct16x16_10_add_c
492
493 void vpx_idct16x16_1_add_c(const tran_low_t* input, uint8_t* dest, int stride);
494 #define vpx_idct16x16_1_add vpx_idct16x16_1_add_c
495
496 void vpx_idct16x16_256_add_c(const tran_low_t* input,
497 uint8_t* dest,
498 int stride);
499 #define vpx_idct16x16_256_add vpx_idct16x16_256_add_c
500
501 void vpx_idct16x16_38_add_c(const tran_low_t* input, uint8_t* dest, int stride);
502 #define vpx_idct16x16_38_add vpx_idct16x16_38_add_c
503
504 void vpx_idct32x32_1024_add_c(const tran_low_t* input,
505 uint8_t* dest,
506 int stride);
507 #define vpx_idct32x32_1024_add vpx_idct32x32_1024_add_c
508
509 void vpx_idct32x32_135_add_c(const tran_low_t* input,
510 uint8_t* dest,
511 int stride);
512 #define vpx_idct32x32_135_add vpx_idct32x32_135_add_c
513
514 void vpx_idct32x32_1_add_c(const tran_low_t* input, uint8_t* dest, int stride);
515 #define vpx_idct32x32_1_add vpx_idct32x32_1_add_c
516
517 void vpx_idct32x32_34_add_c(const tran_low_t* input, uint8_t* dest, int stride);
518 #define vpx_idct32x32_34_add vpx_idct32x32_34_add_c
519
520 void vpx_idct4x4_16_add_c(const tran_low_t* input, uint8_t* dest, int stride);
521 #define vpx_idct4x4_16_add vpx_idct4x4_16_add_c
522
523 void vpx_idct4x4_1_add_c(const tran_low_t* input, uint8_t* dest, int stride);
524 #define vpx_idct4x4_1_add vpx_idct4x4_1_add_c
525
526 void vpx_idct8x8_12_add_c(const tran_low_t* input, uint8_t* dest, int stride);
527 #define vpx_idct8x8_12_add vpx_idct8x8_12_add_c
528
529 void vpx_idct8x8_1_add_c(const tran_low_t* input, uint8_t* dest, int stride);
530 #define vpx_idct8x8_1_add vpx_idct8x8_1_add_c
531
532 void vpx_idct8x8_64_add_c(const tran_low_t* input, uint8_t* dest, int stride);
533 #define vpx_idct8x8_64_add vpx_idct8x8_64_add_c
534
535 int16_t vpx_int_pro_col_c(const uint8_t* ref, const int width);
536 #define vpx_int_pro_col vpx_int_pro_col_c
537
538 void vpx_int_pro_row_c(int16_t* hbuf,
539 const uint8_t* ref,
540 const int ref_stride,
541 const int height);
542 #define vpx_int_pro_row vpx_int_pro_row_c
543
544 void vpx_iwht4x4_16_add_c(const tran_low_t* input, uint8_t* dest, int stride);
545 #define vpx_iwht4x4_16_add vpx_iwht4x4_16_add_c
546
547 void vpx_iwht4x4_1_add_c(const tran_low_t* input, uint8_t* dest, int stride);
548 #define vpx_iwht4x4_1_add vpx_iwht4x4_1_add_c
549
550 void vpx_lpf_horizontal_16_c(uint8_t* s,
551 int pitch,
552 const uint8_t* blimit,
553 const uint8_t* limit,
554 const uint8_t* thresh);
555 #define vpx_lpf_horizontal_16 vpx_lpf_horizontal_16_c
556
557 void vpx_lpf_horizontal_16_dual_c(uint8_t* s,
558 int pitch,
559 const uint8_t* blimit,
560 const uint8_t* limit,
561 const uint8_t* thresh);
562 #define vpx_lpf_horizontal_16_dual vpx_lpf_horizontal_16_dual_c
563
564 void vpx_lpf_horizontal_4_c(uint8_t* s,
565 int pitch,
566 const uint8_t* blimit,
567 const uint8_t* limit,
568 const uint8_t* thresh);
569 #define vpx_lpf_horizontal_4 vpx_lpf_horizontal_4_c
570
571 void vpx_lpf_horizontal_4_dual_c(uint8_t* s,
572 int pitch,
573 const uint8_t* blimit0,
574 const uint8_t* limit0,
575 const uint8_t* thresh0,
576 const uint8_t* blimit1,
577 const uint8_t* limit1,
578 const uint8_t* thresh1);
579 #define vpx_lpf_horizontal_4_dual vpx_lpf_horizontal_4_dual_c
580
581 void vpx_lpf_horizontal_8_c(uint8_t* s,
582 int pitch,
583 const uint8_t* blimit,
584 const uint8_t* limit,
585 const uint8_t* thresh);
586 #define vpx_lpf_horizontal_8 vpx_lpf_horizontal_8_c
587
588 void vpx_lpf_horizontal_8_dual_c(uint8_t* s,
589 int pitch,
590 const uint8_t* blimit0,
591 const uint8_t* limit0,
592 const uint8_t* thresh0,
593 const uint8_t* blimit1,
594 const uint8_t* limit1,
595 const uint8_t* thresh1);
596 #define vpx_lpf_horizontal_8_dual vpx_lpf_horizontal_8_dual_c
597
598 void vpx_lpf_vertical_16_c(uint8_t* s,
599 int pitch,
600 const uint8_t* blimit,
601 const uint8_t* limit,
602 const uint8_t* thresh);
603 #define vpx_lpf_vertical_16 vpx_lpf_vertical_16_c
604
605 void vpx_lpf_vertical_16_dual_c(uint8_t* s,
606 int pitch,
607 const uint8_t* blimit,
608 const uint8_t* limit,
609 const uint8_t* thresh);
610 #define vpx_lpf_vertical_16_dual vpx_lpf_vertical_16_dual_c
611
612 void vpx_lpf_vertical_4_c(uint8_t* s,
613 int pitch,
614 const uint8_t* blimit,
615 const uint8_t* limit,
616 const uint8_t* thresh);
617 #define vpx_lpf_vertical_4 vpx_lpf_vertical_4_c
618
619 void vpx_lpf_vertical_4_dual_c(uint8_t* s,
620 int pitch,
621 const uint8_t* blimit0,
622 const uint8_t* limit0,
623 const uint8_t* thresh0,
624 const uint8_t* blimit1,
625 const uint8_t* limit1,
626 const uint8_t* thresh1);
627 #define vpx_lpf_vertical_4_dual vpx_lpf_vertical_4_dual_c
628
629 void vpx_lpf_vertical_8_c(uint8_t* s,
630 int pitch,
631 const uint8_t* blimit,
632 const uint8_t* limit,
633 const uint8_t* thresh);
634 #define vpx_lpf_vertical_8 vpx_lpf_vertical_8_c
635
636 void vpx_lpf_vertical_8_dual_c(uint8_t* s,
637 int pitch,
638 const uint8_t* blimit0,
639 const uint8_t* limit0,
640 const uint8_t* thresh0,
641 const uint8_t* blimit1,
642 const uint8_t* limit1,
643 const uint8_t* thresh1);
644 #define vpx_lpf_vertical_8_dual vpx_lpf_vertical_8_dual_c
645
646 void vpx_mbpost_proc_across_ip_c(unsigned char* src,
647 int pitch,
648 int rows,
649 int cols,
650 int flimit);
651 #define vpx_mbpost_proc_across_ip vpx_mbpost_proc_across_ip_c
652
653 void vpx_mbpost_proc_down_c(unsigned char* dst,
654 int pitch,
655 int rows,
656 int cols,
657 int flimit);
658 #define vpx_mbpost_proc_down vpx_mbpost_proc_down_c
659
660 void vpx_minmax_8x8_c(const uint8_t* s,
661 int p,
662 const uint8_t* d,
663 int dp,
664 int* min,
665 int* max);
666 #define vpx_minmax_8x8 vpx_minmax_8x8_c
667
668 unsigned int vpx_mse16x16_c(const uint8_t* src_ptr,
669 int src_stride,
670 const uint8_t* ref_ptr,
671 int ref_stride,
672 unsigned int* sse);
673 #define vpx_mse16x16 vpx_mse16x16_c
674
675 unsigned int vpx_mse16x8_c(const uint8_t* src_ptr,
676 int src_stride,
677 const uint8_t* ref_ptr,
678 int ref_stride,
679 unsigned int* sse);
680 #define vpx_mse16x8 vpx_mse16x8_c
681
682 unsigned int vpx_mse8x16_c(const uint8_t* src_ptr,
683 int src_stride,
684 const uint8_t* ref_ptr,
685 int ref_stride,
686 unsigned int* sse);
687 #define vpx_mse8x16 vpx_mse8x16_c
688
689 unsigned int vpx_mse8x8_c(const uint8_t* src_ptr,
690 int src_stride,
691 const uint8_t* ref_ptr,
692 int ref_stride,
693 unsigned int* sse);
694 #define vpx_mse8x8 vpx_mse8x8_c
695
696 void vpx_plane_add_noise_c(uint8_t* start,
697 const int8_t* noise,
698 int blackclamp,
699 int whiteclamp,
700 int width,
701 int height,
702 int pitch);
703 #define vpx_plane_add_noise vpx_plane_add_noise_c
704
705 void vpx_post_proc_down_and_across_mb_row_c(unsigned char* src,
706 unsigned char* dst,
707 int src_pitch,
708 int dst_pitch,
709 int cols,
710 unsigned char* flimits,
711 int size);
712 #define vpx_post_proc_down_and_across_mb_row \
713 vpx_post_proc_down_and_across_mb_row_c
714
715 void vpx_quantize_b_c(const tran_low_t* coeff_ptr,
716 intptr_t n_coeffs,
717 int skip_block,
718 const int16_t* zbin_ptr,
719 const int16_t* round_ptr,
720 const int16_t* quant_ptr,
721 const int16_t* quant_shift_ptr,
722 tran_low_t* qcoeff_ptr,
723 tran_low_t* dqcoeff_ptr,
724 const int16_t* dequant_ptr,
725 uint16_t* eob_ptr,
726 const int16_t* scan,
727 const int16_t* iscan);
728 #define vpx_quantize_b vpx_quantize_b_c
729
730 void vpx_quantize_b_32x32_c(const tran_low_t* coeff_ptr,
731 intptr_t n_coeffs,
732 int skip_block,
733 const int16_t* zbin_ptr,
734 const int16_t* round_ptr,
735 const int16_t* quant_ptr,
736 const int16_t* quant_shift_ptr,
737 tran_low_t* qcoeff_ptr,
738 tran_low_t* dqcoeff_ptr,
739 const int16_t* dequant_ptr,
740 uint16_t* eob_ptr,
741 const int16_t* scan,
742 const int16_t* iscan);
743 #define vpx_quantize_b_32x32 vpx_quantize_b_32x32_c
744
745 unsigned int vpx_sad16x16_c(const uint8_t* src_ptr,
746 int src_stride,
747 const uint8_t* ref_ptr,
748 int ref_stride);
749 #define vpx_sad16x16 vpx_sad16x16_c
750
751 unsigned int vpx_sad16x16_avg_c(const uint8_t* src_ptr,
752 int src_stride,
753 const uint8_t* ref_ptr,
754 int ref_stride,
755 const uint8_t* second_pred);
756 #define vpx_sad16x16_avg vpx_sad16x16_avg_c
757
758 void vpx_sad16x16x3_c(const uint8_t* src_ptr,
759 int src_stride,
760 const uint8_t* ref_ptr,
761 int ref_stride,
762 uint32_t* sad_array);
763 #define vpx_sad16x16x3 vpx_sad16x16x3_c
764
765 void vpx_sad16x16x4d_c(const uint8_t* src_ptr,
766 int src_stride,
767 const uint8_t* const ref_array[],
768 int ref_stride,
769 uint32_t* sad_array);
770 #define vpx_sad16x16x4d vpx_sad16x16x4d_c
771
772 void vpx_sad16x16x8_c(const uint8_t* src_ptr,
773 int src_stride,
774 const uint8_t* ref_ptr,
775 int ref_stride,
776 uint32_t* sad_array);
777 #define vpx_sad16x16x8 vpx_sad16x16x8_c
778
779 unsigned int vpx_sad16x32_c(const uint8_t* src_ptr,
780 int src_stride,
781 const uint8_t* ref_ptr,
782 int ref_stride);
783 #define vpx_sad16x32 vpx_sad16x32_c
784
785 unsigned int vpx_sad16x32_avg_c(const uint8_t* src_ptr,
786 int src_stride,
787 const uint8_t* ref_ptr,
788 int ref_stride,
789 const uint8_t* second_pred);
790 #define vpx_sad16x32_avg vpx_sad16x32_avg_c
791
792 void vpx_sad16x32x4d_c(const uint8_t* src_ptr,
793 int src_stride,
794 const uint8_t* const ref_array[],
795 int ref_stride,
796 uint32_t* sad_array);
797 #define vpx_sad16x32x4d vpx_sad16x32x4d_c
798
799 unsigned int vpx_sad16x8_c(const uint8_t* src_ptr,
800 int src_stride,
801 const uint8_t* ref_ptr,
802 int ref_stride);
803 #define vpx_sad16x8 vpx_sad16x8_c
804
805 unsigned int vpx_sad16x8_avg_c(const uint8_t* src_ptr,
806 int src_stride,
807 const uint8_t* ref_ptr,
808 int ref_stride,
809 const uint8_t* second_pred);
810 #define vpx_sad16x8_avg vpx_sad16x8_avg_c
811
812 void vpx_sad16x8x3_c(const uint8_t* src_ptr,
813 int src_stride,
814 const uint8_t* ref_ptr,
815 int ref_stride,
816 uint32_t* sad_array);
817 #define vpx_sad16x8x3 vpx_sad16x8x3_c
818
819 void vpx_sad16x8x4d_c(const uint8_t* src_ptr,
820 int src_stride,
821 const uint8_t* const ref_array[],
822 int ref_stride,
823 uint32_t* sad_array);
824 #define vpx_sad16x8x4d vpx_sad16x8x4d_c
825
826 void vpx_sad16x8x8_c(const uint8_t* src_ptr,
827 int src_stride,
828 const uint8_t* ref_ptr,
829 int ref_stride,
830 uint32_t* sad_array);
831 #define vpx_sad16x8x8 vpx_sad16x8x8_c
832
833 unsigned int vpx_sad32x16_c(const uint8_t* src_ptr,
834 int src_stride,
835 const uint8_t* ref_ptr,
836 int ref_stride);
837 #define vpx_sad32x16 vpx_sad32x16_c
838
839 unsigned int vpx_sad32x16_avg_c(const uint8_t* src_ptr,
840 int src_stride,
841 const uint8_t* ref_ptr,
842 int ref_stride,
843 const uint8_t* second_pred);
844 #define vpx_sad32x16_avg vpx_sad32x16_avg_c
845
846 void vpx_sad32x16x4d_c(const uint8_t* src_ptr,
847 int src_stride,
848 const uint8_t* const ref_array[],
849 int ref_stride,
850 uint32_t* sad_array);
851 #define vpx_sad32x16x4d vpx_sad32x16x4d_c
852
853 unsigned int vpx_sad32x32_c(const uint8_t* src_ptr,
854 int src_stride,
855 const uint8_t* ref_ptr,
856 int ref_stride);
857 #define vpx_sad32x32 vpx_sad32x32_c
858
859 unsigned int vpx_sad32x32_avg_c(const uint8_t* src_ptr,
860 int src_stride,
861 const uint8_t* ref_ptr,
862 int ref_stride,
863 const uint8_t* second_pred);
864 #define vpx_sad32x32_avg vpx_sad32x32_avg_c
865
866 void vpx_sad32x32x4d_c(const uint8_t* src_ptr,
867 int src_stride,
868 const uint8_t* const ref_array[],
869 int ref_stride,
870 uint32_t* sad_array);
871 #define vpx_sad32x32x4d vpx_sad32x32x4d_c
872
873 void vpx_sad32x32x8_c(const uint8_t* src_ptr,
874 int src_stride,
875 const uint8_t* ref_ptr,
876 int ref_stride,
877 uint32_t* sad_array);
878 #define vpx_sad32x32x8 vpx_sad32x32x8_c
879
880 unsigned int vpx_sad32x64_c(const uint8_t* src_ptr,
881 int src_stride,
882 const uint8_t* ref_ptr,
883 int ref_stride);
884 #define vpx_sad32x64 vpx_sad32x64_c
885
886 unsigned int vpx_sad32x64_avg_c(const uint8_t* src_ptr,
887 int src_stride,
888 const uint8_t* ref_ptr,
889 int ref_stride,
890 const uint8_t* second_pred);
891 #define vpx_sad32x64_avg vpx_sad32x64_avg_c
892
893 void vpx_sad32x64x4d_c(const uint8_t* src_ptr,
894 int src_stride,
895 const uint8_t* const ref_array[],
896 int ref_stride,
897 uint32_t* sad_array);
898 #define vpx_sad32x64x4d vpx_sad32x64x4d_c
899
900 unsigned int vpx_sad4x4_c(const uint8_t* src_ptr,
901 int src_stride,
902 const uint8_t* ref_ptr,
903 int ref_stride);
904 #define vpx_sad4x4 vpx_sad4x4_c
905
906 unsigned int vpx_sad4x4_avg_c(const uint8_t* src_ptr,
907 int src_stride,
908 const uint8_t* ref_ptr,
909 int ref_stride,
910 const uint8_t* second_pred);
911 #define vpx_sad4x4_avg vpx_sad4x4_avg_c
912
913 void vpx_sad4x4x3_c(const uint8_t* src_ptr,
914 int src_stride,
915 const uint8_t* ref_ptr,
916 int ref_stride,
917 uint32_t* sad_array);
918 #define vpx_sad4x4x3 vpx_sad4x4x3_c
919
920 void vpx_sad4x4x4d_c(const uint8_t* src_ptr,
921 int src_stride,
922 const uint8_t* const ref_array[],
923 int ref_stride,
924 uint32_t* sad_array);
925 #define vpx_sad4x4x4d vpx_sad4x4x4d_c
926
927 void vpx_sad4x4x8_c(const uint8_t* src_ptr,
928 int src_stride,
929 const uint8_t* ref_ptr,
930 int ref_stride,
931 uint32_t* sad_array);
932 #define vpx_sad4x4x8 vpx_sad4x4x8_c
933
934 unsigned int vpx_sad4x8_c(const uint8_t* src_ptr,
935 int src_stride,
936 const uint8_t* ref_ptr,
937 int ref_stride);
938 #define vpx_sad4x8 vpx_sad4x8_c
939
940 unsigned int vpx_sad4x8_avg_c(const uint8_t* src_ptr,
941 int src_stride,
942 const uint8_t* ref_ptr,
943 int ref_stride,
944 const uint8_t* second_pred);
945 #define vpx_sad4x8_avg vpx_sad4x8_avg_c
946
947 void vpx_sad4x8x4d_c(const uint8_t* src_ptr,
948 int src_stride,
949 const uint8_t* const ref_array[],
950 int ref_stride,
951 uint32_t* sad_array);
952 #define vpx_sad4x8x4d vpx_sad4x8x4d_c
953
954 unsigned int vpx_sad64x32_c(const uint8_t* src_ptr,
955 int src_stride,
956 const uint8_t* ref_ptr,
957 int ref_stride);
958 #define vpx_sad64x32 vpx_sad64x32_c
959
960 unsigned int vpx_sad64x32_avg_c(const uint8_t* src_ptr,
961 int src_stride,
962 const uint8_t* ref_ptr,
963 int ref_stride,
964 const uint8_t* second_pred);
965 #define vpx_sad64x32_avg vpx_sad64x32_avg_c
966
967 void vpx_sad64x32x4d_c(const uint8_t* src_ptr,
968 int src_stride,
969 const uint8_t* const ref_array[],
970 int ref_stride,
971 uint32_t* sad_array);
972 #define vpx_sad64x32x4d vpx_sad64x32x4d_c
973
974 unsigned int vpx_sad64x64_c(const uint8_t* src_ptr,
975 int src_stride,
976 const uint8_t* ref_ptr,
977 int ref_stride);
978 #define vpx_sad64x64 vpx_sad64x64_c
979
980 unsigned int vpx_sad64x64_avg_c(const uint8_t* src_ptr,
981 int src_stride,
982 const uint8_t* ref_ptr,
983 int ref_stride,
984 const uint8_t* second_pred);
985 #define vpx_sad64x64_avg vpx_sad64x64_avg_c
986
987 void vpx_sad64x64x4d_c(const uint8_t* src_ptr,
988 int src_stride,
989 const uint8_t* const ref_array[],
990 int ref_stride,
991 uint32_t* sad_array);
992 #define vpx_sad64x64x4d vpx_sad64x64x4d_c
993
994 unsigned int vpx_sad8x16_c(const uint8_t* src_ptr,
995 int src_stride,
996 const uint8_t* ref_ptr,
997 int ref_stride);
998 #define vpx_sad8x16 vpx_sad8x16_c
999
1000 unsigned int vpx_sad8x16_avg_c(const uint8_t* src_ptr,
1001 int src_stride,
1002 const uint8_t* ref_ptr,
1003 int ref_stride,
1004 const uint8_t* second_pred);
1005 #define vpx_sad8x16_avg vpx_sad8x16_avg_c
1006
1007 void vpx_sad8x16x3_c(const uint8_t* src_ptr,
1008 int src_stride,
1009 const uint8_t* ref_ptr,
1010 int ref_stride,
1011 uint32_t* sad_array);
1012 #define vpx_sad8x16x3 vpx_sad8x16x3_c
1013
1014 void vpx_sad8x16x4d_c(const uint8_t* src_ptr,
1015 int src_stride,
1016 const uint8_t* const ref_array[],
1017 int ref_stride,
1018 uint32_t* sad_array);
1019 #define vpx_sad8x16x4d vpx_sad8x16x4d_c
1020
1021 void vpx_sad8x16x8_c(const uint8_t* src_ptr,
1022 int src_stride,
1023 const uint8_t* ref_ptr,
1024 int ref_stride,
1025 uint32_t* sad_array);
1026 #define vpx_sad8x16x8 vpx_sad8x16x8_c
1027
1028 unsigned int vpx_sad8x4_c(const uint8_t* src_ptr,
1029 int src_stride,
1030 const uint8_t* ref_ptr,
1031 int ref_stride);
1032 #define vpx_sad8x4 vpx_sad8x4_c
1033
1034 unsigned int vpx_sad8x4_avg_c(const uint8_t* src_ptr,
1035 int src_stride,
1036 const uint8_t* ref_ptr,
1037 int ref_stride,
1038 const uint8_t* second_pred);
1039 #define vpx_sad8x4_avg vpx_sad8x4_avg_c
1040
1041 void vpx_sad8x4x4d_c(const uint8_t* src_ptr,
1042 int src_stride,
1043 const uint8_t* const ref_array[],
1044 int ref_stride,
1045 uint32_t* sad_array);
1046 #define vpx_sad8x4x4d vpx_sad8x4x4d_c
1047
1048 unsigned int vpx_sad8x8_c(const uint8_t* src_ptr,
1049 int src_stride,
1050 const uint8_t* ref_ptr,
1051 int ref_stride);
1052 #define vpx_sad8x8 vpx_sad8x8_c
1053
1054 unsigned int vpx_sad8x8_avg_c(const uint8_t* src_ptr,
1055 int src_stride,
1056 const uint8_t* ref_ptr,
1057 int ref_stride,
1058 const uint8_t* second_pred);
1059 #define vpx_sad8x8_avg vpx_sad8x8_avg_c
1060
1061 void vpx_sad8x8x3_c(const uint8_t* src_ptr,
1062 int src_stride,
1063 const uint8_t* ref_ptr,
1064 int ref_stride,
1065 uint32_t* sad_array);
1066 #define vpx_sad8x8x3 vpx_sad8x8x3_c
1067
1068 void vpx_sad8x8x4d_c(const uint8_t* src_ptr,
1069 int src_stride,
1070 const uint8_t* const ref_array[],
1071 int ref_stride,
1072 uint32_t* sad_array);
1073 #define vpx_sad8x8x4d vpx_sad8x8x4d_c
1074
1075 void vpx_sad8x8x8_c(const uint8_t* src_ptr,
1076 int src_stride,
1077 const uint8_t* ref_ptr,
1078 int ref_stride,
1079 uint32_t* sad_array);
1080 #define vpx_sad8x8x8 vpx_sad8x8x8_c
1081
1082 int vpx_satd_c(const int16_t* coeff, int length);
1083 #define vpx_satd vpx_satd_c
1084
1085 void vpx_scaled_2d_c(const uint8_t* src,
1086 ptrdiff_t src_stride,
1087 uint8_t* dst,
1088 ptrdiff_t dst_stride,
1089 const InterpKernel* filter,
1090 int x0_q4,
1091 int x_step_q4,
1092 int y0_q4,
1093 int y_step_q4,
1094 int w,
1095 int h);
1096 #define vpx_scaled_2d vpx_scaled_2d_c
1097
1098 void vpx_scaled_avg_2d_c(const uint8_t* src,
1099 ptrdiff_t src_stride,
1100 uint8_t* dst,
1101 ptrdiff_t dst_stride,
1102 const InterpKernel* filter,
1103 int x0_q4,
1104 int x_step_q4,
1105 int y0_q4,
1106 int y_step_q4,
1107 int w,
1108 int h);
1109 #define vpx_scaled_avg_2d vpx_scaled_avg_2d_c
1110
1111 void vpx_scaled_avg_horiz_c(const uint8_t* src,
1112 ptrdiff_t src_stride,
1113 uint8_t* dst,
1114 ptrdiff_t dst_stride,
1115 const InterpKernel* filter,
1116 int x0_q4,
1117 int x_step_q4,
1118 int y0_q4,
1119 int y_step_q4,
1120 int w,
1121 int h);
1122 #define vpx_scaled_avg_horiz vpx_scaled_avg_horiz_c
1123
1124 void vpx_scaled_avg_vert_c(const uint8_t* src,
1125 ptrdiff_t src_stride,
1126 uint8_t* dst,
1127 ptrdiff_t dst_stride,
1128 const InterpKernel* filter,
1129 int x0_q4,
1130 int x_step_q4,
1131 int y0_q4,
1132 int y_step_q4,
1133 int w,
1134 int h);
1135 #define vpx_scaled_avg_vert vpx_scaled_avg_vert_c
1136
1137 void vpx_scaled_horiz_c(const uint8_t* src,
1138 ptrdiff_t src_stride,
1139 uint8_t* dst,
1140 ptrdiff_t dst_stride,
1141 const InterpKernel* filter,
1142 int x0_q4,
1143 int x_step_q4,
1144 int y0_q4,
1145 int y_step_q4,
1146 int w,
1147 int h);
1148 #define vpx_scaled_horiz vpx_scaled_horiz_c
1149
1150 void vpx_scaled_vert_c(const uint8_t* src,
1151 ptrdiff_t src_stride,
1152 uint8_t* dst,
1153 ptrdiff_t dst_stride,
1154 const InterpKernel* filter,
1155 int x0_q4,
1156 int x_step_q4,
1157 int y0_q4,
1158 int y_step_q4,
1159 int w,
1160 int h);
1161 #define vpx_scaled_vert vpx_scaled_vert_c
1162
1163 uint32_t vpx_sub_pixel_avg_variance16x16_c(const uint8_t* src_ptr,
1164 int src_stride,
1165 int x_offset,
1166 int y_offset,
1167 const uint8_t* ref_ptr,
1168 int ref_stride,
1169 uint32_t* sse,
1170 const uint8_t* second_pred);
1171 #define vpx_sub_pixel_avg_variance16x16 vpx_sub_pixel_avg_variance16x16_c
1172
1173 uint32_t vpx_sub_pixel_avg_variance16x32_c(const uint8_t* src_ptr,
1174 int src_stride,
1175 int x_offset,
1176 int y_offset,
1177 const uint8_t* ref_ptr,
1178 int ref_stride,
1179 uint32_t* sse,
1180 const uint8_t* second_pred);
1181 #define vpx_sub_pixel_avg_variance16x32 vpx_sub_pixel_avg_variance16x32_c
1182
1183 uint32_t vpx_sub_pixel_avg_variance16x8_c(const uint8_t* src_ptr,
1184 int src_stride,
1185 int x_offset,
1186 int y_offset,
1187 const uint8_t* ref_ptr,
1188 int ref_stride,
1189 uint32_t* sse,
1190 const uint8_t* second_pred);
1191 #define vpx_sub_pixel_avg_variance16x8 vpx_sub_pixel_avg_variance16x8_c
1192
1193 uint32_t vpx_sub_pixel_avg_variance32x16_c(const uint8_t* src_ptr,
1194 int src_stride,
1195 int x_offset,
1196 int y_offset,
1197 const uint8_t* ref_ptr,
1198 int ref_stride,
1199 uint32_t* sse,
1200 const uint8_t* second_pred);
1201 #define vpx_sub_pixel_avg_variance32x16 vpx_sub_pixel_avg_variance32x16_c
1202
1203 uint32_t vpx_sub_pixel_avg_variance32x32_c(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_sub_pixel_avg_variance32x32 vpx_sub_pixel_avg_variance32x32_c
1212
1213 uint32_t vpx_sub_pixel_avg_variance32x64_c(const uint8_t* src_ptr,
1214 int src_stride,
1215 int x_offset,
1216 int y_offset,
1217 const uint8_t* ref_ptr,
1218 int ref_stride,
1219 uint32_t* sse,
1220 const uint8_t* second_pred);
1221 #define vpx_sub_pixel_avg_variance32x64 vpx_sub_pixel_avg_variance32x64_c
1222
1223 uint32_t vpx_sub_pixel_avg_variance4x4_c(const uint8_t* src_ptr,
1224 int src_stride,
1225 int x_offset,
1226 int y_offset,
1227 const uint8_t* ref_ptr,
1228 int ref_stride,
1229 uint32_t* sse,
1230 const uint8_t* second_pred);
1231 #define vpx_sub_pixel_avg_variance4x4 vpx_sub_pixel_avg_variance4x4_c
1232
1233 uint32_t vpx_sub_pixel_avg_variance4x8_c(const uint8_t* src_ptr,
1234 int src_stride,
1235 int x_offset,
1236 int y_offset,
1237 const uint8_t* ref_ptr,
1238 int ref_stride,
1239 uint32_t* sse,
1240 const uint8_t* second_pred);
1241 #define vpx_sub_pixel_avg_variance4x8 vpx_sub_pixel_avg_variance4x8_c
1242
1243 uint32_t vpx_sub_pixel_avg_variance64x32_c(const uint8_t* src_ptr,
1244 int src_stride,
1245 int x_offset,
1246 int y_offset,
1247 const uint8_t* ref_ptr,
1248 int ref_stride,
1249 uint32_t* sse,
1250 const uint8_t* second_pred);
1251 #define vpx_sub_pixel_avg_variance64x32 vpx_sub_pixel_avg_variance64x32_c
1252
1253 uint32_t vpx_sub_pixel_avg_variance64x64_c(const uint8_t* src_ptr,
1254 int src_stride,
1255 int x_offset,
1256 int y_offset,
1257 const uint8_t* ref_ptr,
1258 int ref_stride,
1259 uint32_t* sse,
1260 const uint8_t* second_pred);
1261 #define vpx_sub_pixel_avg_variance64x64 vpx_sub_pixel_avg_variance64x64_c
1262
1263 uint32_t vpx_sub_pixel_avg_variance8x16_c(const uint8_t* src_ptr,
1264 int src_stride,
1265 int x_offset,
1266 int y_offset,
1267 const uint8_t* ref_ptr,
1268 int ref_stride,
1269 uint32_t* sse,
1270 const uint8_t* second_pred);
1271 #define vpx_sub_pixel_avg_variance8x16 vpx_sub_pixel_avg_variance8x16_c
1272
1273 uint32_t vpx_sub_pixel_avg_variance8x4_c(const uint8_t* src_ptr,
1274 int src_stride,
1275 int x_offset,
1276 int y_offset,
1277 const uint8_t* ref_ptr,
1278 int ref_stride,
1279 uint32_t* sse,
1280 const uint8_t* second_pred);
1281 #define vpx_sub_pixel_avg_variance8x4 vpx_sub_pixel_avg_variance8x4_c
1282
1283 uint32_t vpx_sub_pixel_avg_variance8x8_c(const uint8_t* src_ptr,
1284 int src_stride,
1285 int x_offset,
1286 int y_offset,
1287 const uint8_t* ref_ptr,
1288 int ref_stride,
1289 uint32_t* sse,
1290 const uint8_t* second_pred);
1291 #define vpx_sub_pixel_avg_variance8x8 vpx_sub_pixel_avg_variance8x8_c
1292
1293 uint32_t vpx_sub_pixel_variance16x16_c(const uint8_t* src_ptr,
1294 int src_stride,
1295 int x_offset,
1296 int y_offset,
1297 const uint8_t* ref_ptr,
1298 int ref_stride,
1299 uint32_t* sse);
1300 #define vpx_sub_pixel_variance16x16 vpx_sub_pixel_variance16x16_c
1301
1302 uint32_t vpx_sub_pixel_variance16x32_c(const uint8_t* src_ptr,
1303 int src_stride,
1304 int x_offset,
1305 int y_offset,
1306 const uint8_t* ref_ptr,
1307 int ref_stride,
1308 uint32_t* sse);
1309 #define vpx_sub_pixel_variance16x32 vpx_sub_pixel_variance16x32_c
1310
1311 uint32_t vpx_sub_pixel_variance16x8_c(const uint8_t* src_ptr,
1312 int src_stride,
1313 int x_offset,
1314 int y_offset,
1315 const uint8_t* ref_ptr,
1316 int ref_stride,
1317 uint32_t* sse);
1318 #define vpx_sub_pixel_variance16x8 vpx_sub_pixel_variance16x8_c
1319
1320 uint32_t vpx_sub_pixel_variance32x16_c(const uint8_t* src_ptr,
1321 int src_stride,
1322 int x_offset,
1323 int y_offset,
1324 const uint8_t* ref_ptr,
1325 int ref_stride,
1326 uint32_t* sse);
1327 #define vpx_sub_pixel_variance32x16 vpx_sub_pixel_variance32x16_c
1328
1329 uint32_t vpx_sub_pixel_variance32x32_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 #define vpx_sub_pixel_variance32x32 vpx_sub_pixel_variance32x32_c
1337
1338 uint32_t vpx_sub_pixel_variance32x64_c(const uint8_t* src_ptr,
1339 int src_stride,
1340 int x_offset,
1341 int y_offset,
1342 const uint8_t* ref_ptr,
1343 int ref_stride,
1344 uint32_t* sse);
1345 #define vpx_sub_pixel_variance32x64 vpx_sub_pixel_variance32x64_c
1346
1347 uint32_t vpx_sub_pixel_variance4x4_c(const uint8_t* src_ptr,
1348 int src_stride,
1349 int x_offset,
1350 int y_offset,
1351 const uint8_t* ref_ptr,
1352 int ref_stride,
1353 uint32_t* sse);
1354 #define vpx_sub_pixel_variance4x4 vpx_sub_pixel_variance4x4_c
1355
1356 uint32_t vpx_sub_pixel_variance4x8_c(const uint8_t* src_ptr,
1357 int src_stride,
1358 int x_offset,
1359 int y_offset,
1360 const uint8_t* ref_ptr,
1361 int ref_stride,
1362 uint32_t* sse);
1363 #define vpx_sub_pixel_variance4x8 vpx_sub_pixel_variance4x8_c
1364
1365 uint32_t vpx_sub_pixel_variance64x32_c(const uint8_t* src_ptr,
1366 int src_stride,
1367 int x_offset,
1368 int y_offset,
1369 const uint8_t* ref_ptr,
1370 int ref_stride,
1371 uint32_t* sse);
1372 #define vpx_sub_pixel_variance64x32 vpx_sub_pixel_variance64x32_c
1373
1374 uint32_t vpx_sub_pixel_variance64x64_c(const uint8_t* src_ptr,
1375 int src_stride,
1376 int x_offset,
1377 int y_offset,
1378 const uint8_t* ref_ptr,
1379 int ref_stride,
1380 uint32_t* sse);
1381 #define vpx_sub_pixel_variance64x64 vpx_sub_pixel_variance64x64_c
1382
1383 uint32_t vpx_sub_pixel_variance8x16_c(const uint8_t* src_ptr,
1384 int src_stride,
1385 int x_offset,
1386 int y_offset,
1387 const uint8_t* ref_ptr,
1388 int ref_stride,
1389 uint32_t* sse);
1390 #define vpx_sub_pixel_variance8x16 vpx_sub_pixel_variance8x16_c
1391
1392 uint32_t vpx_sub_pixel_variance8x4_c(const uint8_t* src_ptr,
1393 int src_stride,
1394 int x_offset,
1395 int y_offset,
1396 const uint8_t* ref_ptr,
1397 int ref_stride,
1398 uint32_t* sse);
1399 #define vpx_sub_pixel_variance8x4 vpx_sub_pixel_variance8x4_c
1400
1401 uint32_t vpx_sub_pixel_variance8x8_c(const uint8_t* src_ptr,
1402 int src_stride,
1403 int x_offset,
1404 int y_offset,
1405 const uint8_t* ref_ptr,
1406 int ref_stride,
1407 uint32_t* sse);
1408 #define vpx_sub_pixel_variance8x8 vpx_sub_pixel_variance8x8_c
1409
1410 void vpx_subtract_block_c(int rows,
1411 int cols,
1412 int16_t* diff_ptr,
1413 ptrdiff_t diff_stride,
1414 const uint8_t* src_ptr,
1415 ptrdiff_t src_stride,
1416 const uint8_t* pred_ptr,
1417 ptrdiff_t pred_stride);
1418 #define vpx_subtract_block vpx_subtract_block_c
1419
1420 uint64_t vpx_sum_squares_2d_i16_c(const int16_t* src, int stride, int size);
1421 #define vpx_sum_squares_2d_i16 vpx_sum_squares_2d_i16_c
1422
1423 void vpx_tm_predictor_16x16_c(uint8_t* dst,
1424 ptrdiff_t stride,
1425 const uint8_t* above,
1426 const uint8_t* left);
1427 #define vpx_tm_predictor_16x16 vpx_tm_predictor_16x16_c
1428
1429 void vpx_tm_predictor_32x32_c(uint8_t* dst,
1430 ptrdiff_t stride,
1431 const uint8_t* above,
1432 const uint8_t* left);
1433 #define vpx_tm_predictor_32x32 vpx_tm_predictor_32x32_c
1434
1435 void vpx_tm_predictor_4x4_c(uint8_t* dst,
1436 ptrdiff_t stride,
1437 const uint8_t* above,
1438 const uint8_t* left);
1439 #define vpx_tm_predictor_4x4 vpx_tm_predictor_4x4_c
1440
1441 void vpx_tm_predictor_8x8_c(uint8_t* dst,
1442 ptrdiff_t stride,
1443 const uint8_t* above,
1444 const uint8_t* left);
1445 #define vpx_tm_predictor_8x8 vpx_tm_predictor_8x8_c
1446
1447 void vpx_v_predictor_16x16_c(uint8_t* dst,
1448 ptrdiff_t stride,
1449 const uint8_t* above,
1450 const uint8_t* left);
1451 #define vpx_v_predictor_16x16 vpx_v_predictor_16x16_c
1452
1453 void vpx_v_predictor_32x32_c(uint8_t* dst,
1454 ptrdiff_t stride,
1455 const uint8_t* above,
1456 const uint8_t* left);
1457 #define vpx_v_predictor_32x32 vpx_v_predictor_32x32_c
1458
1459 void vpx_v_predictor_4x4_c(uint8_t* dst,
1460 ptrdiff_t stride,
1461 const uint8_t* above,
1462 const uint8_t* left);
1463 #define vpx_v_predictor_4x4 vpx_v_predictor_4x4_c
1464
1465 void vpx_v_predictor_8x8_c(uint8_t* dst,
1466 ptrdiff_t stride,
1467 const uint8_t* above,
1468 const uint8_t* left);
1469 #define vpx_v_predictor_8x8 vpx_v_predictor_8x8_c
1470
1471 unsigned int vpx_variance16x16_c(const uint8_t* src_ptr,
1472 int src_stride,
1473 const uint8_t* ref_ptr,
1474 int ref_stride,
1475 unsigned int* sse);
1476 #define vpx_variance16x16 vpx_variance16x16_c
1477
1478 unsigned int vpx_variance16x32_c(const uint8_t* src_ptr,
1479 int src_stride,
1480 const uint8_t* ref_ptr,
1481 int ref_stride,
1482 unsigned int* sse);
1483 #define vpx_variance16x32 vpx_variance16x32_c
1484
1485 unsigned int vpx_variance16x8_c(const uint8_t* src_ptr,
1486 int src_stride,
1487 const uint8_t* ref_ptr,
1488 int ref_stride,
1489 unsigned int* sse);
1490 #define vpx_variance16x8 vpx_variance16x8_c
1491
1492 unsigned int vpx_variance32x16_c(const uint8_t* src_ptr,
1493 int src_stride,
1494 const uint8_t* ref_ptr,
1495 int ref_stride,
1496 unsigned int* sse);
1497 #define vpx_variance32x16 vpx_variance32x16_c
1498
1499 unsigned int vpx_variance32x32_c(const uint8_t* src_ptr,
1500 int src_stride,
1501 const uint8_t* ref_ptr,
1502 int ref_stride,
1503 unsigned int* sse);
1504 #define vpx_variance32x32 vpx_variance32x32_c
1505
1506 unsigned int vpx_variance32x64_c(const uint8_t* src_ptr,
1507 int src_stride,
1508 const uint8_t* ref_ptr,
1509 int ref_stride,
1510 unsigned int* sse);
1511 #define vpx_variance32x64 vpx_variance32x64_c
1512
1513 unsigned int vpx_variance4x4_c(const uint8_t* src_ptr,
1514 int src_stride,
1515 const uint8_t* ref_ptr,
1516 int ref_stride,
1517 unsigned int* sse);
1518 #define vpx_variance4x4 vpx_variance4x4_c
1519
1520 unsigned int vpx_variance4x8_c(const uint8_t* src_ptr,
1521 int src_stride,
1522 const uint8_t* ref_ptr,
1523 int ref_stride,
1524 unsigned int* sse);
1525 #define vpx_variance4x8 vpx_variance4x8_c
1526
1527 unsigned int vpx_variance64x32_c(const uint8_t* src_ptr,
1528 int src_stride,
1529 const uint8_t* ref_ptr,
1530 int ref_stride,
1531 unsigned int* sse);
1532 #define vpx_variance64x32 vpx_variance64x32_c
1533
1534 unsigned int vpx_variance64x64_c(const uint8_t* src_ptr,
1535 int src_stride,
1536 const uint8_t* ref_ptr,
1537 int ref_stride,
1538 unsigned int* sse);
1539 #define vpx_variance64x64 vpx_variance64x64_c
1540
1541 unsigned int vpx_variance8x16_c(const uint8_t* src_ptr,
1542 int src_stride,
1543 const uint8_t* ref_ptr,
1544 int ref_stride,
1545 unsigned int* sse);
1546 #define vpx_variance8x16 vpx_variance8x16_c
1547
1548 unsigned int vpx_variance8x4_c(const uint8_t* src_ptr,
1549 int src_stride,
1550 const uint8_t* ref_ptr,
1551 int ref_stride,
1552 unsigned int* sse);
1553 #define vpx_variance8x4 vpx_variance8x4_c
1554
1555 unsigned int vpx_variance8x8_c(const uint8_t* src_ptr,
1556 int src_stride,
1557 const uint8_t* ref_ptr,
1558 int ref_stride,
1559 unsigned int* sse);
1560 #define vpx_variance8x8 vpx_variance8x8_c
1561
1562 void vpx_ve_predictor_4x4_c(uint8_t* dst,
1563 ptrdiff_t stride,
1564 const uint8_t* above,
1565 const uint8_t* left);
1566 #define vpx_ve_predictor_4x4 vpx_ve_predictor_4x4_c
1567
1568 int vpx_vector_var_c(const int16_t* ref, const int16_t* src, const int bwl);
1569 #define vpx_vector_var vpx_vector_var_c
1570
1571 void vpx_dsp_rtcd(void);
1572
1573 #include "vpx_config.h"
1574
1575 #ifdef RTCD_C
1576 #include "vpx_ports/arm.h"
setup_rtcd_internal(void)1577 static void setup_rtcd_internal(void) {
1578 int flags = arm_cpu_caps();
1579
1580 (void)flags;
1581 }
1582 #endif
1583
1584 #ifdef __cplusplus
1585 } // extern "C"
1586 #endif
1587
1588 #endif
1589