1#ifndef VP9_RTCD_H_
2#define VP9_RTCD_H_
3
4#ifdef RTCD_C
5#define RTCD_EXTERN
6#else
7#define RTCD_EXTERN extern
8#endif
9
10/*
11 * VP9
12 */
13
14#include "vpx/vpx_integer.h"
15#include "vp9/common/vp9_enums.h"
16
17struct macroblockd;
18
19/* Encoder forward decls */
20struct macroblock;
21struct vp9_variance_vtable;
22
23#define DEC_MVCOSTS int *mvjcost, int *mvcost[2]
24union int_mv;
25struct yv12_buffer_config;
26
27void vp9_d207_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
28#define vp9_d207_predictor_4x4 vp9_d207_predictor_4x4_c
29
30void vp9_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
31#define vp9_d45_predictor_4x4 vp9_d45_predictor_4x4_c
32
33void vp9_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
34#define vp9_d63_predictor_4x4 vp9_d63_predictor_4x4_c
35
36void vp9_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
37void vp9_h_predictor_4x4_dspr2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
38#define vp9_h_predictor_4x4 vp9_h_predictor_4x4_dspr2
39
40void vp9_d117_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
41#define vp9_d117_predictor_4x4 vp9_d117_predictor_4x4_c
42
43void vp9_d135_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
44#define vp9_d135_predictor_4x4 vp9_d135_predictor_4x4_c
45
46void vp9_d153_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
47#define vp9_d153_predictor_4x4 vp9_d153_predictor_4x4_c
48
49void vp9_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
50#define vp9_v_predictor_4x4 vp9_v_predictor_4x4_c
51
52void vp9_tm_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
53void vp9_tm_predictor_4x4_dspr2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
54#define vp9_tm_predictor_4x4 vp9_tm_predictor_4x4_dspr2
55
56void vp9_dc_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
57void vp9_dc_predictor_4x4_dspr2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
58#define vp9_dc_predictor_4x4 vp9_dc_predictor_4x4_dspr2
59
60void vp9_dc_top_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
61#define vp9_dc_top_predictor_4x4 vp9_dc_top_predictor_4x4_c
62
63void vp9_dc_left_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
64#define vp9_dc_left_predictor_4x4 vp9_dc_left_predictor_4x4_c
65
66void vp9_dc_128_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
67#define vp9_dc_128_predictor_4x4 vp9_dc_128_predictor_4x4_c
68
69void vp9_d207_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
70#define vp9_d207_predictor_8x8 vp9_d207_predictor_8x8_c
71
72void vp9_d45_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
73#define vp9_d45_predictor_8x8 vp9_d45_predictor_8x8_c
74
75void vp9_d63_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
76#define vp9_d63_predictor_8x8 vp9_d63_predictor_8x8_c
77
78void vp9_h_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
79void vp9_h_predictor_8x8_dspr2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
80#define vp9_h_predictor_8x8 vp9_h_predictor_8x8_dspr2
81
82void vp9_d117_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
83#define vp9_d117_predictor_8x8 vp9_d117_predictor_8x8_c
84
85void vp9_d135_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
86#define vp9_d135_predictor_8x8 vp9_d135_predictor_8x8_c
87
88void vp9_d153_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
89#define vp9_d153_predictor_8x8 vp9_d153_predictor_8x8_c
90
91void vp9_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
92#define vp9_v_predictor_8x8 vp9_v_predictor_8x8_c
93
94void vp9_tm_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
95void vp9_tm_predictor_8x8_dspr2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
96#define vp9_tm_predictor_8x8 vp9_tm_predictor_8x8_dspr2
97
98void vp9_dc_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
99void vp9_dc_predictor_8x8_dspr2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
100#define vp9_dc_predictor_8x8 vp9_dc_predictor_8x8_dspr2
101
102void vp9_dc_top_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
103#define vp9_dc_top_predictor_8x8 vp9_dc_top_predictor_8x8_c
104
105void vp9_dc_left_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
106#define vp9_dc_left_predictor_8x8 vp9_dc_left_predictor_8x8_c
107
108void vp9_dc_128_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
109#define vp9_dc_128_predictor_8x8 vp9_dc_128_predictor_8x8_c
110
111void vp9_d207_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
112#define vp9_d207_predictor_16x16 vp9_d207_predictor_16x16_c
113
114void vp9_d45_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
115#define vp9_d45_predictor_16x16 vp9_d45_predictor_16x16_c
116
117void vp9_d63_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
118#define vp9_d63_predictor_16x16 vp9_d63_predictor_16x16_c
119
120void vp9_h_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
121void vp9_h_predictor_16x16_dspr2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
122#define vp9_h_predictor_16x16 vp9_h_predictor_16x16_dspr2
123
124void vp9_d117_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
125#define vp9_d117_predictor_16x16 vp9_d117_predictor_16x16_c
126
127void vp9_d135_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
128#define vp9_d135_predictor_16x16 vp9_d135_predictor_16x16_c
129
130void vp9_d153_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
131#define vp9_d153_predictor_16x16 vp9_d153_predictor_16x16_c
132
133void vp9_v_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
134#define vp9_v_predictor_16x16 vp9_v_predictor_16x16_c
135
136void vp9_tm_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
137#define vp9_tm_predictor_16x16 vp9_tm_predictor_16x16_c
138
139void vp9_dc_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
140void vp9_dc_predictor_16x16_dspr2(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
141#define vp9_dc_predictor_16x16 vp9_dc_predictor_16x16_dspr2
142
143void vp9_dc_top_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
144#define vp9_dc_top_predictor_16x16 vp9_dc_top_predictor_16x16_c
145
146void vp9_dc_left_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
147#define vp9_dc_left_predictor_16x16 vp9_dc_left_predictor_16x16_c
148
149void vp9_dc_128_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
150#define vp9_dc_128_predictor_16x16 vp9_dc_128_predictor_16x16_c
151
152void vp9_d207_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
153#define vp9_d207_predictor_32x32 vp9_d207_predictor_32x32_c
154
155void vp9_d45_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
156#define vp9_d45_predictor_32x32 vp9_d45_predictor_32x32_c
157
158void vp9_d63_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
159#define vp9_d63_predictor_32x32 vp9_d63_predictor_32x32_c
160
161void vp9_h_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
162#define vp9_h_predictor_32x32 vp9_h_predictor_32x32_c
163
164void vp9_d117_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
165#define vp9_d117_predictor_32x32 vp9_d117_predictor_32x32_c
166
167void vp9_d135_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
168#define vp9_d135_predictor_32x32 vp9_d135_predictor_32x32_c
169
170void vp9_d153_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
171#define vp9_d153_predictor_32x32 vp9_d153_predictor_32x32_c
172
173void vp9_v_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
174#define vp9_v_predictor_32x32 vp9_v_predictor_32x32_c
175
176void vp9_tm_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
177#define vp9_tm_predictor_32x32 vp9_tm_predictor_32x32_c
178
179void vp9_dc_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
180#define vp9_dc_predictor_32x32 vp9_dc_predictor_32x32_c
181
182void vp9_dc_top_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
183#define vp9_dc_top_predictor_32x32 vp9_dc_top_predictor_32x32_c
184
185void vp9_dc_left_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
186#define vp9_dc_left_predictor_32x32 vp9_dc_left_predictor_32x32_c
187
188void vp9_dc_128_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
189#define vp9_dc_128_predictor_32x32 vp9_dc_128_predictor_32x32_c
190
191void vp9_mb_lpf_vertical_edge_w_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
192void vp9_mb_lpf_vertical_edge_w_dspr2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
193#define vp9_mb_lpf_vertical_edge_w vp9_mb_lpf_vertical_edge_w_dspr2
194
195void vp9_mbloop_filter_vertical_edge_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
196void vp9_mbloop_filter_vertical_edge_dspr2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
197#define vp9_mbloop_filter_vertical_edge vp9_mbloop_filter_vertical_edge_dspr2
198
199void vp9_loop_filter_vertical_edge_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
200void vp9_loop_filter_vertical_edge_dspr2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
201#define vp9_loop_filter_vertical_edge vp9_loop_filter_vertical_edge_dspr2
202
203void vp9_mb_lpf_horizontal_edge_w_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
204void vp9_mb_lpf_horizontal_edge_w_dspr2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
205#define vp9_mb_lpf_horizontal_edge_w vp9_mb_lpf_horizontal_edge_w_dspr2
206
207void vp9_mbloop_filter_horizontal_edge_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
208void vp9_mbloop_filter_horizontal_edge_dspr2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
209#define vp9_mbloop_filter_horizontal_edge vp9_mbloop_filter_horizontal_edge_dspr2
210
211void vp9_loop_filter_horizontal_edge_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
212void vp9_loop_filter_horizontal_edge_dspr2(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
213#define vp9_loop_filter_horizontal_edge vp9_loop_filter_horizontal_edge_dspr2
214
215void vp9_blend_mb_inner_c(uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1, int v1, int alpha, int stride);
216#define vp9_blend_mb_inner vp9_blend_mb_inner_c
217
218void vp9_blend_mb_outer_c(uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1, int v1, int alpha, int stride);
219#define vp9_blend_mb_outer vp9_blend_mb_outer_c
220
221void vp9_blend_b_c(uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1, int v1, int alpha, int stride);
222#define vp9_blend_b vp9_blend_b_c
223
224void vp9_convolve_copy_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
225void vp9_convolve_copy_dspr2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
226#define vp9_convolve_copy vp9_convolve_copy_dspr2
227
228void vp9_convolve_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
229void vp9_convolve_avg_dspr2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
230#define vp9_convolve_avg vp9_convolve_avg_dspr2
231
232void vp9_convolve8_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
233void vp9_convolve8_dspr2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
234#define vp9_convolve8 vp9_convolve8_dspr2
235
236void vp9_convolve8_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
237void vp9_convolve8_horiz_dspr2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
238#define vp9_convolve8_horiz vp9_convolve8_horiz_dspr2
239
240void vp9_convolve8_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
241void vp9_convolve8_vert_dspr2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
242#define vp9_convolve8_vert vp9_convolve8_vert_dspr2
243
244void vp9_convolve8_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
245void vp9_convolve8_avg_dspr2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
246#define vp9_convolve8_avg vp9_convolve8_avg_dspr2
247
248void vp9_convolve8_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
249void vp9_convolve8_avg_horiz_dspr2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
250#define vp9_convolve8_avg_horiz vp9_convolve8_avg_horiz_dspr2
251
252void vp9_convolve8_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
253void vp9_convolve8_avg_vert_dspr2(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
254#define vp9_convolve8_avg_vert vp9_convolve8_avg_vert_dspr2
255
256void vp9_idct4x4_1_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
257void vp9_idct4x4_1_add_dspr2(const int16_t *input, uint8_t *dest, int dest_stride);
258#define vp9_idct4x4_1_add vp9_idct4x4_1_add_dspr2
259
260void vp9_idct4x4_16_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
261void vp9_idct4x4_16_add_dspr2(const int16_t *input, uint8_t *dest, int dest_stride);
262#define vp9_idct4x4_16_add vp9_idct4x4_16_add_dspr2
263
264void vp9_idct8x8_1_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
265void vp9_idct8x8_1_add_dspr2(const int16_t *input, uint8_t *dest, int dest_stride);
266#define vp9_idct8x8_1_add vp9_idct8x8_1_add_dspr2
267
268void vp9_idct8x8_64_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
269void vp9_idct8x8_64_add_dspr2(const int16_t *input, uint8_t *dest, int dest_stride);
270#define vp9_idct8x8_64_add vp9_idct8x8_64_add_dspr2
271
272void vp9_idct8x8_10_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
273void vp9_idct8x8_10_add_dspr2(const int16_t *input, uint8_t *dest, int dest_stride);
274#define vp9_idct8x8_10_add vp9_idct8x8_10_add_dspr2
275
276void vp9_idct16x16_1_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
277void vp9_idct16x16_1_add_dspr2(const int16_t *input, uint8_t *dest, int dest_stride);
278#define vp9_idct16x16_1_add vp9_idct16x16_1_add_dspr2
279
280void vp9_idct16x16_256_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
281void vp9_idct16x16_256_add_dspr2(const int16_t *input, uint8_t *dest, int dest_stride);
282#define vp9_idct16x16_256_add vp9_idct16x16_256_add_dspr2
283
284void vp9_idct16x16_10_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
285void vp9_idct16x16_10_add_dspr2(const int16_t *input, uint8_t *dest, int dest_stride);
286#define vp9_idct16x16_10_add vp9_idct16x16_10_add_dspr2
287
288void vp9_idct32x32_1024_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
289void vp9_idct32x32_1024_add_dspr2(const int16_t *input, uint8_t *dest, int dest_stride);
290#define vp9_idct32x32_1024_add vp9_idct32x32_1024_add_dspr2
291
292void vp9_idct32x32_34_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
293void vp9_idct32x32_34_add_dspr2(const int16_t *input, uint8_t *dest, int dest_stride);
294#define vp9_idct32x32_34_add vp9_idct32x32_34_add_dspr2
295
296void vp9_idct32x32_1_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
297void vp9_idct32x32_1_add_dspr2(const int16_t *input, uint8_t *dest, int dest_stride);
298#define vp9_idct32x32_1_add vp9_idct32x32_1_add_dspr2
299
300void vp9_iht4x4_16_add_c(const int16_t *input, uint8_t *dest, int dest_stride, int tx_type);
301void vp9_iht4x4_16_add_dspr2(const int16_t *input, uint8_t *dest, int dest_stride, int tx_type);
302#define vp9_iht4x4_16_add vp9_iht4x4_16_add_dspr2
303
304void vp9_iht8x8_64_add_c(const int16_t *input, uint8_t *dest, int dest_stride, int tx_type);
305void vp9_iht8x8_64_add_dspr2(const int16_t *input, uint8_t *dest, int dest_stride, int tx_type);
306#define vp9_iht8x8_64_add vp9_iht8x8_64_add_dspr2
307
308void vp9_iht16x16_256_add_c(const int16_t *input, uint8_t *output, int pitch, int tx_type);
309void vp9_iht16x16_256_add_dspr2(const int16_t *input, uint8_t *output, int pitch, int tx_type);
310#define vp9_iht16x16_256_add vp9_iht16x16_256_add_dspr2
311
312void vp9_iwht4x4_1_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
313#define vp9_iwht4x4_1_add vp9_iwht4x4_1_add_c
314
315void vp9_iwht4x4_16_add_c(const int16_t *input, uint8_t *dest, int dest_stride);
316#define vp9_iwht4x4_16_add vp9_iwht4x4_16_add_c
317
318void vp9_rtcd(void);
319#include "vpx_config.h"
320
321#ifdef RTCD_C
322static void setup_rtcd_internal(void)
323{
324
325#if HAVE_DSPR2
326#if CONFIG_VP8
327void dsputil_static_init();
328dsputil_static_init();
329#endif
330#if CONFIG_VP9
331void vp9_dsputil_static_init();
332vp9_dsputil_static_init();
333#endif
334#endif
335}
336#endif
337#endif
338