vpx_dsp_rtcd.h revision 7bc9febe8749e98a3812a0dc4380ceae75c29450
1#ifndef VPX_DSP_RTCD_H_
2#define VPX_DSP_RTCD_H_
3
4#ifdef RTCD_C
5#define RTCD_EXTERN
6#else
7#define RTCD_EXTERN extern
8#endif
9
10/*
11 * DSP
12 */
13
14#include "vpx/vpx_integer.h"
15#include "vpx_dsp/vpx_dsp_common.h"
16
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
22unsigned int vpx_avg_4x4_c(const uint8_t *, int p);
23unsigned int vpx_avg_4x4_msa(const uint8_t *, int p);
24#define vpx_avg_4x4 vpx_avg_4x4_msa
25
26unsigned int vpx_avg_8x8_c(const uint8_t *, int p);
27unsigned int vpx_avg_8x8_msa(const uint8_t *, int p);
28#define vpx_avg_8x8 vpx_avg_8x8_msa
29
30void vpx_comp_avg_pred_c(uint8_t *comp_pred, const uint8_t *pred, int width, int height, const uint8_t *ref, int ref_stride);
31#define vpx_comp_avg_pred vpx_comp_avg_pred_c
32
33void vpx_convolve8_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
34void vpx_convolve8_msa(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
35#define vpx_convolve8 vpx_convolve8_msa
36
37void vpx_convolve8_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
38void vpx_convolve8_avg_msa(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
39#define vpx_convolve8_avg vpx_convolve8_avg_msa
40
41void vpx_convolve8_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
42void vpx_convolve8_avg_horiz_msa(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
43#define vpx_convolve8_avg_horiz vpx_convolve8_avg_horiz_msa
44
45void vpx_convolve8_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
46void vpx_convolve8_avg_vert_msa(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
47#define vpx_convolve8_avg_vert vpx_convolve8_avg_vert_msa
48
49void vpx_convolve8_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
50void vpx_convolve8_horiz_msa(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
51#define vpx_convolve8_horiz vpx_convolve8_horiz_msa
52
53void vpx_convolve8_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
54void vpx_convolve8_vert_msa(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
55#define vpx_convolve8_vert vpx_convolve8_vert_msa
56
57void vpx_convolve_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
58void vpx_convolve_avg_msa(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
59#define vpx_convolve_avg vpx_convolve_avg_msa
60
61void vpx_convolve_copy_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
62void vpx_convolve_copy_msa(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
63#define vpx_convolve_copy vpx_convolve_copy_msa
64
65void vpx_d117_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
66#define vpx_d117_predictor_16x16 vpx_d117_predictor_16x16_c
67
68void vpx_d117_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
69#define vpx_d117_predictor_32x32 vpx_d117_predictor_32x32_c
70
71void vpx_d117_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
72#define vpx_d117_predictor_4x4 vpx_d117_predictor_4x4_c
73
74void vpx_d117_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
75#define vpx_d117_predictor_8x8 vpx_d117_predictor_8x8_c
76
77void vpx_d135_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
78#define vpx_d135_predictor_16x16 vpx_d135_predictor_16x16_c
79
80void vpx_d135_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
81#define vpx_d135_predictor_32x32 vpx_d135_predictor_32x32_c
82
83void vpx_d135_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
84#define vpx_d135_predictor_4x4 vpx_d135_predictor_4x4_c
85
86void vpx_d135_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
87#define vpx_d135_predictor_8x8 vpx_d135_predictor_8x8_c
88
89void vpx_d153_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
90#define vpx_d153_predictor_16x16 vpx_d153_predictor_16x16_c
91
92void vpx_d153_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
93#define vpx_d153_predictor_32x32 vpx_d153_predictor_32x32_c
94
95void vpx_d153_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
96#define vpx_d153_predictor_4x4 vpx_d153_predictor_4x4_c
97
98void vpx_d153_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
99#define vpx_d153_predictor_8x8 vpx_d153_predictor_8x8_c
100
101void vpx_d207_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
102#define vpx_d207_predictor_16x16 vpx_d207_predictor_16x16_c
103
104void vpx_d207_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
105#define vpx_d207_predictor_32x32 vpx_d207_predictor_32x32_c
106
107void vpx_d207_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
108#define vpx_d207_predictor_4x4 vpx_d207_predictor_4x4_c
109
110void vpx_d207_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
111#define vpx_d207_predictor_8x8 vpx_d207_predictor_8x8_c
112
113void vpx_d207e_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
114#define vpx_d207e_predictor_16x16 vpx_d207e_predictor_16x16_c
115
116void vpx_d207e_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
117#define vpx_d207e_predictor_32x32 vpx_d207e_predictor_32x32_c
118
119void vpx_d207e_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
120#define vpx_d207e_predictor_4x4 vpx_d207e_predictor_4x4_c
121
122void vpx_d207e_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
123#define vpx_d207e_predictor_8x8 vpx_d207e_predictor_8x8_c
124
125void vpx_d45_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
126#define vpx_d45_predictor_16x16 vpx_d45_predictor_16x16_c
127
128void vpx_d45_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
129#define vpx_d45_predictor_32x32 vpx_d45_predictor_32x32_c
130
131void vpx_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
132#define vpx_d45_predictor_4x4 vpx_d45_predictor_4x4_c
133
134void vpx_d45_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
135#define vpx_d45_predictor_8x8 vpx_d45_predictor_8x8_c
136
137void vpx_d45e_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
138#define vpx_d45e_predictor_16x16 vpx_d45e_predictor_16x16_c
139
140void vpx_d45e_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
141#define vpx_d45e_predictor_32x32 vpx_d45e_predictor_32x32_c
142
143void vpx_d45e_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
144#define vpx_d45e_predictor_4x4 vpx_d45e_predictor_4x4_c
145
146void vpx_d45e_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
147#define vpx_d45e_predictor_8x8 vpx_d45e_predictor_8x8_c
148
149void vpx_d63_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
150#define vpx_d63_predictor_16x16 vpx_d63_predictor_16x16_c
151
152void vpx_d63_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
153#define vpx_d63_predictor_32x32 vpx_d63_predictor_32x32_c
154
155void vpx_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
156#define vpx_d63_predictor_4x4 vpx_d63_predictor_4x4_c
157
158void vpx_d63_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
159#define vpx_d63_predictor_8x8 vpx_d63_predictor_8x8_c
160
161void vpx_d63e_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
162#define vpx_d63e_predictor_16x16 vpx_d63e_predictor_16x16_c
163
164void vpx_d63e_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
165#define vpx_d63e_predictor_32x32 vpx_d63e_predictor_32x32_c
166
167void vpx_d63e_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
168#define vpx_d63e_predictor_4x4 vpx_d63e_predictor_4x4_c
169
170void vpx_d63e_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
171#define vpx_d63e_predictor_8x8 vpx_d63e_predictor_8x8_c
172
173void vpx_d63f_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
174#define vpx_d63f_predictor_4x4 vpx_d63f_predictor_4x4_c
175
176void vpx_dc_128_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
177void vpx_dc_128_predictor_16x16_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
178#define vpx_dc_128_predictor_16x16 vpx_dc_128_predictor_16x16_msa
179
180void vpx_dc_128_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
181void vpx_dc_128_predictor_32x32_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
182#define vpx_dc_128_predictor_32x32 vpx_dc_128_predictor_32x32_msa
183
184void vpx_dc_128_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
185void vpx_dc_128_predictor_4x4_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
186#define vpx_dc_128_predictor_4x4 vpx_dc_128_predictor_4x4_msa
187
188void vpx_dc_128_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
189void vpx_dc_128_predictor_8x8_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
190#define vpx_dc_128_predictor_8x8 vpx_dc_128_predictor_8x8_msa
191
192void vpx_dc_left_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
193void vpx_dc_left_predictor_16x16_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
194#define vpx_dc_left_predictor_16x16 vpx_dc_left_predictor_16x16_msa
195
196void vpx_dc_left_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
197void vpx_dc_left_predictor_32x32_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
198#define vpx_dc_left_predictor_32x32 vpx_dc_left_predictor_32x32_msa
199
200void vpx_dc_left_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
201void vpx_dc_left_predictor_4x4_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
202#define vpx_dc_left_predictor_4x4 vpx_dc_left_predictor_4x4_msa
203
204void vpx_dc_left_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
205void vpx_dc_left_predictor_8x8_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
206#define vpx_dc_left_predictor_8x8 vpx_dc_left_predictor_8x8_msa
207
208void vpx_dc_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
209void vpx_dc_predictor_16x16_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
210#define vpx_dc_predictor_16x16 vpx_dc_predictor_16x16_msa
211
212void vpx_dc_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
213void vpx_dc_predictor_32x32_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
214#define vpx_dc_predictor_32x32 vpx_dc_predictor_32x32_msa
215
216void vpx_dc_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
217void vpx_dc_predictor_4x4_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
218#define vpx_dc_predictor_4x4 vpx_dc_predictor_4x4_msa
219
220void vpx_dc_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
221void vpx_dc_predictor_8x8_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
222#define vpx_dc_predictor_8x8 vpx_dc_predictor_8x8_msa
223
224void vpx_dc_top_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
225void vpx_dc_top_predictor_16x16_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
226#define vpx_dc_top_predictor_16x16 vpx_dc_top_predictor_16x16_msa
227
228void vpx_dc_top_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
229void vpx_dc_top_predictor_32x32_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
230#define vpx_dc_top_predictor_32x32 vpx_dc_top_predictor_32x32_msa
231
232void vpx_dc_top_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
233void vpx_dc_top_predictor_4x4_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
234#define vpx_dc_top_predictor_4x4 vpx_dc_top_predictor_4x4_msa
235
236void vpx_dc_top_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
237void vpx_dc_top_predictor_8x8_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
238#define vpx_dc_top_predictor_8x8 vpx_dc_top_predictor_8x8_msa
239
240void vpx_fdct16x16_c(const int16_t *input, tran_low_t *output, int stride);
241void vpx_fdct16x16_msa(const int16_t *input, tran_low_t *output, int stride);
242#define vpx_fdct16x16 vpx_fdct16x16_msa
243
244void vpx_fdct16x16_1_c(const int16_t *input, tran_low_t *output, int stride);
245void vpx_fdct16x16_1_msa(const int16_t *input, tran_low_t *output, int stride);
246#define vpx_fdct16x16_1 vpx_fdct16x16_1_msa
247
248void vpx_fdct32x32_c(const int16_t *input, tran_low_t *output, int stride);
249void vpx_fdct32x32_msa(const int16_t *input, tran_low_t *output, int stride);
250#define vpx_fdct32x32 vpx_fdct32x32_msa
251
252void vpx_fdct32x32_1_c(const int16_t *input, tran_low_t *output, int stride);
253void vpx_fdct32x32_1_msa(const int16_t *input, tran_low_t *output, int stride);
254#define vpx_fdct32x32_1 vpx_fdct32x32_1_msa
255
256void vpx_fdct32x32_rd_c(const int16_t *input, tran_low_t *output, int stride);
257void vpx_fdct32x32_rd_msa(const int16_t *input, tran_low_t *output, int stride);
258#define vpx_fdct32x32_rd vpx_fdct32x32_rd_msa
259
260void vpx_fdct4x4_c(const int16_t *input, tran_low_t *output, int stride);
261void vpx_fdct4x4_msa(const int16_t *input, tran_low_t *output, int stride);
262#define vpx_fdct4x4 vpx_fdct4x4_msa
263
264void vpx_fdct4x4_1_c(const int16_t *input, tran_low_t *output, int stride);
265#define vpx_fdct4x4_1 vpx_fdct4x4_1_c
266
267void vpx_fdct8x8_c(const int16_t *input, tran_low_t *output, int stride);
268void vpx_fdct8x8_msa(const int16_t *input, tran_low_t *output, int stride);
269#define vpx_fdct8x8 vpx_fdct8x8_msa
270
271void vpx_fdct8x8_1_c(const int16_t *input, tran_low_t *output, int stride);
272void vpx_fdct8x8_1_msa(const int16_t *input, tran_low_t *output, int stride);
273#define vpx_fdct8x8_1 vpx_fdct8x8_1_msa
274
275void vpx_get16x16var_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
276void vpx_get16x16var_msa(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
277#define vpx_get16x16var vpx_get16x16var_msa
278
279unsigned int vpx_get4x4sse_cs_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int  ref_stride);
280unsigned int vpx_get4x4sse_cs_msa(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int  ref_stride);
281#define vpx_get4x4sse_cs vpx_get4x4sse_cs_msa
282
283void vpx_get8x8var_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
284void vpx_get8x8var_msa(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
285#define vpx_get8x8var vpx_get8x8var_msa
286
287unsigned int vpx_get_mb_ss_c(const int16_t *);
288unsigned int vpx_get_mb_ss_msa(const int16_t *);
289#define vpx_get_mb_ss vpx_get_mb_ss_msa
290
291void vpx_h_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
292void vpx_h_predictor_16x16_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
293#define vpx_h_predictor_16x16 vpx_h_predictor_16x16_msa
294
295void vpx_h_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
296void vpx_h_predictor_32x32_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
297#define vpx_h_predictor_32x32 vpx_h_predictor_32x32_msa
298
299void vpx_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
300void vpx_h_predictor_4x4_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
301#define vpx_h_predictor_4x4 vpx_h_predictor_4x4_msa
302
303void vpx_h_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
304void vpx_h_predictor_8x8_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
305#define vpx_h_predictor_8x8 vpx_h_predictor_8x8_msa
306
307void vpx_hadamard_16x16_c(const int16_t *src_diff, int src_stride, int16_t *coeff);
308#define vpx_hadamard_16x16 vpx_hadamard_16x16_c
309
310void vpx_hadamard_8x8_c(const int16_t *src_diff, int src_stride, int16_t *coeff);
311#define vpx_hadamard_8x8 vpx_hadamard_8x8_c
312
313void vpx_he_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
314#define vpx_he_predictor_4x4 vpx_he_predictor_4x4_c
315
316void vpx_idct16x16_10_add_c(const tran_low_t *input, uint8_t *dest, int stride);
317void vpx_idct16x16_10_add_msa(const tran_low_t *input, uint8_t *dest, int stride);
318#define vpx_idct16x16_10_add vpx_idct16x16_10_add_msa
319
320void vpx_idct16x16_1_add_c(const tran_low_t *input, uint8_t *dest, int stride);
321void vpx_idct16x16_1_add_msa(const tran_low_t *input, uint8_t *dest, int stride);
322#define vpx_idct16x16_1_add vpx_idct16x16_1_add_msa
323
324void vpx_idct16x16_256_add_c(const tran_low_t *input, uint8_t *dest, int stride);
325void vpx_idct16x16_256_add_msa(const tran_low_t *input, uint8_t *dest, int stride);
326#define vpx_idct16x16_256_add vpx_idct16x16_256_add_msa
327
328void vpx_idct32x32_1024_add_c(const tran_low_t *input, uint8_t *dest, int stride);
329void vpx_idct32x32_1024_add_msa(const tran_low_t *input, uint8_t *dest, int stride);
330#define vpx_idct32x32_1024_add vpx_idct32x32_1024_add_msa
331
332void vpx_idct32x32_135_add_c(const tran_low_t *input, uint8_t *dest, int stride);
333void vpx_idct32x32_1024_add_msa(const tran_low_t *input, uint8_t *dest, int stride);
334#define vpx_idct32x32_135_add vpx_idct32x32_1024_add_msa
335
336void vpx_idct32x32_1_add_c(const tran_low_t *input, uint8_t *dest, int stride);
337void vpx_idct32x32_1_add_msa(const tran_low_t *input, uint8_t *dest, int stride);
338#define vpx_idct32x32_1_add vpx_idct32x32_1_add_msa
339
340void vpx_idct32x32_34_add_c(const tran_low_t *input, uint8_t *dest, int stride);
341void vpx_idct32x32_34_add_msa(const tran_low_t *input, uint8_t *dest, int stride);
342#define vpx_idct32x32_34_add vpx_idct32x32_34_add_msa
343
344void vpx_idct4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int stride);
345void vpx_idct4x4_16_add_msa(const tran_low_t *input, uint8_t *dest, int stride);
346#define vpx_idct4x4_16_add vpx_idct4x4_16_add_msa
347
348void vpx_idct4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int stride);
349void vpx_idct4x4_1_add_msa(const tran_low_t *input, uint8_t *dest, int stride);
350#define vpx_idct4x4_1_add vpx_idct4x4_1_add_msa
351
352void vpx_idct8x8_12_add_c(const tran_low_t *input, uint8_t *dest, int stride);
353void vpx_idct8x8_12_add_msa(const tran_low_t *input, uint8_t *dest, int stride);
354#define vpx_idct8x8_12_add vpx_idct8x8_12_add_msa
355
356void vpx_idct8x8_1_add_c(const tran_low_t *input, uint8_t *dest, int stride);
357void vpx_idct8x8_1_add_msa(const tran_low_t *input, uint8_t *dest, int stride);
358#define vpx_idct8x8_1_add vpx_idct8x8_1_add_msa
359
360void vpx_idct8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int stride);
361void vpx_idct8x8_64_add_msa(const tran_low_t *input, uint8_t *dest, int stride);
362#define vpx_idct8x8_64_add vpx_idct8x8_64_add_msa
363
364int16_t vpx_int_pro_col_c(const uint8_t *ref, const int width);
365#define vpx_int_pro_col vpx_int_pro_col_c
366
367void vpx_int_pro_row_c(int16_t *hbuf, const uint8_t *ref, const int ref_stride, const int height);
368#define vpx_int_pro_row vpx_int_pro_row_c
369
370void vpx_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int stride);
371void vpx_iwht4x4_16_add_msa(const tran_low_t *input, uint8_t *dest, int stride);
372#define vpx_iwht4x4_16_add vpx_iwht4x4_16_add_msa
373
374void vpx_iwht4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int stride);
375void vpx_iwht4x4_1_add_msa(const tran_low_t *input, uint8_t *dest, int stride);
376#define vpx_iwht4x4_1_add vpx_iwht4x4_1_add_msa
377
378void vpx_lpf_horizontal_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
379void vpx_lpf_horizontal_16_msa(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
380#define vpx_lpf_horizontal_16 vpx_lpf_horizontal_16_msa
381
382void vpx_lpf_horizontal_16_dual_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
383void vpx_lpf_horizontal_16_dual_msa(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
384#define vpx_lpf_horizontal_16_dual vpx_lpf_horizontal_16_dual_msa
385
386void vpx_lpf_horizontal_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
387void vpx_lpf_horizontal_4_msa(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
388#define vpx_lpf_horizontal_4 vpx_lpf_horizontal_4_msa
389
390void vpx_lpf_horizontal_4_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
391void vpx_lpf_horizontal_4_dual_msa(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
392#define vpx_lpf_horizontal_4_dual vpx_lpf_horizontal_4_dual_msa
393
394void vpx_lpf_horizontal_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
395void vpx_lpf_horizontal_8_msa(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
396#define vpx_lpf_horizontal_8 vpx_lpf_horizontal_8_msa
397
398void vpx_lpf_horizontal_8_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
399void vpx_lpf_horizontal_8_dual_msa(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
400#define vpx_lpf_horizontal_8_dual vpx_lpf_horizontal_8_dual_msa
401
402void vpx_lpf_vertical_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
403void vpx_lpf_vertical_16_msa(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
404#define vpx_lpf_vertical_16 vpx_lpf_vertical_16_msa
405
406void vpx_lpf_vertical_16_dual_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
407void vpx_lpf_vertical_16_dual_msa(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
408#define vpx_lpf_vertical_16_dual vpx_lpf_vertical_16_dual_msa
409
410void vpx_lpf_vertical_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
411void vpx_lpf_vertical_4_msa(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
412#define vpx_lpf_vertical_4 vpx_lpf_vertical_4_msa
413
414void vpx_lpf_vertical_4_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
415void vpx_lpf_vertical_4_dual_msa(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
416#define vpx_lpf_vertical_4_dual vpx_lpf_vertical_4_dual_msa
417
418void vpx_lpf_vertical_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
419void vpx_lpf_vertical_8_msa(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
420#define vpx_lpf_vertical_8 vpx_lpf_vertical_8_msa
421
422void vpx_lpf_vertical_8_dual_c(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
423void vpx_lpf_vertical_8_dual_msa(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1);
424#define vpx_lpf_vertical_8_dual vpx_lpf_vertical_8_dual_msa
425
426void vpx_minmax_8x8_c(const uint8_t *s, int p, const uint8_t *d, int dp, int *min, int *max);
427#define vpx_minmax_8x8 vpx_minmax_8x8_c
428
429unsigned int vpx_mse16x16_c(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
430unsigned int vpx_mse16x16_msa(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
431#define vpx_mse16x16 vpx_mse16x16_msa
432
433unsigned int vpx_mse16x8_c(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
434unsigned int vpx_mse16x8_msa(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
435#define vpx_mse16x8 vpx_mse16x8_msa
436
437unsigned int vpx_mse8x16_c(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
438unsigned int vpx_mse8x16_msa(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
439#define vpx_mse8x16 vpx_mse8x16_msa
440
441unsigned int vpx_mse8x8_c(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
442unsigned int vpx_mse8x8_msa(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
443#define vpx_mse8x8 vpx_mse8x8_msa
444
445void vpx_quantize_b_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
446#define vpx_quantize_b vpx_quantize_b_c
447
448void vpx_quantize_b_32x32_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, int skip_block, const int16_t *zbin_ptr, const int16_t *round_ptr, const int16_t *quant_ptr, const int16_t *quant_shift_ptr, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan);
449#define vpx_quantize_b_32x32 vpx_quantize_b_32x32_c
450
451unsigned int vpx_sad16x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
452unsigned int vpx_sad16x16_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
453#define vpx_sad16x16 vpx_sad16x16_msa
454
455unsigned int vpx_sad16x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
456unsigned int vpx_sad16x16_avg_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
457#define vpx_sad16x16_avg vpx_sad16x16_avg_msa
458
459void vpx_sad16x16x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
460void vpx_sad16x16x3_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
461#define vpx_sad16x16x3 vpx_sad16x16x3_msa
462
463void vpx_sad16x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
464void vpx_sad16x16x4d_msa(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
465#define vpx_sad16x16x4d vpx_sad16x16x4d_msa
466
467void vpx_sad16x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
468void vpx_sad16x16x8_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
469#define vpx_sad16x16x8 vpx_sad16x16x8_msa
470
471unsigned int vpx_sad16x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
472unsigned int vpx_sad16x32_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
473#define vpx_sad16x32 vpx_sad16x32_msa
474
475unsigned int vpx_sad16x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
476unsigned int vpx_sad16x32_avg_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
477#define vpx_sad16x32_avg vpx_sad16x32_avg_msa
478
479void vpx_sad16x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
480void vpx_sad16x32x4d_msa(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
481#define vpx_sad16x32x4d vpx_sad16x32x4d_msa
482
483unsigned int vpx_sad16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
484unsigned int vpx_sad16x8_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
485#define vpx_sad16x8 vpx_sad16x8_msa
486
487unsigned int vpx_sad16x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
488unsigned int vpx_sad16x8_avg_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
489#define vpx_sad16x8_avg vpx_sad16x8_avg_msa
490
491void vpx_sad16x8x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
492void vpx_sad16x8x3_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
493#define vpx_sad16x8x3 vpx_sad16x8x3_msa
494
495void vpx_sad16x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
496void vpx_sad16x8x4d_msa(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
497#define vpx_sad16x8x4d vpx_sad16x8x4d_msa
498
499void vpx_sad16x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
500void vpx_sad16x8x8_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
501#define vpx_sad16x8x8 vpx_sad16x8x8_msa
502
503unsigned int vpx_sad32x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
504unsigned int vpx_sad32x16_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
505#define vpx_sad32x16 vpx_sad32x16_msa
506
507unsigned int vpx_sad32x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
508unsigned int vpx_sad32x16_avg_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
509#define vpx_sad32x16_avg vpx_sad32x16_avg_msa
510
511void vpx_sad32x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
512void vpx_sad32x16x4d_msa(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
513#define vpx_sad32x16x4d vpx_sad32x16x4d_msa
514
515unsigned int vpx_sad32x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
516unsigned int vpx_sad32x32_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
517#define vpx_sad32x32 vpx_sad32x32_msa
518
519unsigned int vpx_sad32x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
520unsigned int vpx_sad32x32_avg_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
521#define vpx_sad32x32_avg vpx_sad32x32_avg_msa
522
523void vpx_sad32x32x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
524void vpx_sad32x32x3_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
525#define vpx_sad32x32x3 vpx_sad32x32x3_msa
526
527void vpx_sad32x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
528void vpx_sad32x32x4d_msa(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
529#define vpx_sad32x32x4d vpx_sad32x32x4d_msa
530
531void vpx_sad32x32x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
532void vpx_sad32x32x8_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
533#define vpx_sad32x32x8 vpx_sad32x32x8_msa
534
535unsigned int vpx_sad32x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
536unsigned int vpx_sad32x64_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
537#define vpx_sad32x64 vpx_sad32x64_msa
538
539unsigned int vpx_sad32x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
540unsigned int vpx_sad32x64_avg_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
541#define vpx_sad32x64_avg vpx_sad32x64_avg_msa
542
543void vpx_sad32x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
544void vpx_sad32x64x4d_msa(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
545#define vpx_sad32x64x4d vpx_sad32x64x4d_msa
546
547unsigned int vpx_sad4x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
548unsigned int vpx_sad4x4_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
549#define vpx_sad4x4 vpx_sad4x4_msa
550
551unsigned int vpx_sad4x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
552unsigned int vpx_sad4x4_avg_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
553#define vpx_sad4x4_avg vpx_sad4x4_avg_msa
554
555void vpx_sad4x4x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
556void vpx_sad4x4x3_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
557#define vpx_sad4x4x3 vpx_sad4x4x3_msa
558
559void vpx_sad4x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
560void vpx_sad4x4x4d_msa(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
561#define vpx_sad4x4x4d vpx_sad4x4x4d_msa
562
563void vpx_sad4x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
564void vpx_sad4x4x8_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
565#define vpx_sad4x4x8 vpx_sad4x4x8_msa
566
567unsigned int vpx_sad4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
568unsigned int vpx_sad4x8_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
569#define vpx_sad4x8 vpx_sad4x8_msa
570
571unsigned int vpx_sad4x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
572unsigned int vpx_sad4x8_avg_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
573#define vpx_sad4x8_avg vpx_sad4x8_avg_msa
574
575void vpx_sad4x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
576void vpx_sad4x8x4d_msa(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
577#define vpx_sad4x8x4d vpx_sad4x8x4d_msa
578
579void vpx_sad4x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
580void vpx_sad4x8x8_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
581#define vpx_sad4x8x8 vpx_sad4x8x8_msa
582
583unsigned int vpx_sad64x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
584unsigned int vpx_sad64x32_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
585#define vpx_sad64x32 vpx_sad64x32_msa
586
587unsigned int vpx_sad64x32_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
588unsigned int vpx_sad64x32_avg_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
589#define vpx_sad64x32_avg vpx_sad64x32_avg_msa
590
591void vpx_sad64x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
592void vpx_sad64x32x4d_msa(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
593#define vpx_sad64x32x4d vpx_sad64x32x4d_msa
594
595unsigned int vpx_sad64x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
596unsigned int vpx_sad64x64_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
597#define vpx_sad64x64 vpx_sad64x64_msa
598
599unsigned int vpx_sad64x64_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
600unsigned int vpx_sad64x64_avg_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
601#define vpx_sad64x64_avg vpx_sad64x64_avg_msa
602
603void vpx_sad64x64x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
604void vpx_sad64x64x3_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
605#define vpx_sad64x64x3 vpx_sad64x64x3_msa
606
607void vpx_sad64x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
608void vpx_sad64x64x4d_msa(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
609#define vpx_sad64x64x4d vpx_sad64x64x4d_msa
610
611void vpx_sad64x64x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
612void vpx_sad64x64x8_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
613#define vpx_sad64x64x8 vpx_sad64x64x8_msa
614
615unsigned int vpx_sad8x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
616unsigned int vpx_sad8x16_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
617#define vpx_sad8x16 vpx_sad8x16_msa
618
619unsigned int vpx_sad8x16_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
620unsigned int vpx_sad8x16_avg_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
621#define vpx_sad8x16_avg vpx_sad8x16_avg_msa
622
623void vpx_sad8x16x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
624void vpx_sad8x16x3_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
625#define vpx_sad8x16x3 vpx_sad8x16x3_msa
626
627void vpx_sad8x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
628void vpx_sad8x16x4d_msa(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
629#define vpx_sad8x16x4d vpx_sad8x16x4d_msa
630
631void vpx_sad8x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
632void vpx_sad8x16x8_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
633#define vpx_sad8x16x8 vpx_sad8x16x8_msa
634
635unsigned int vpx_sad8x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
636unsigned int vpx_sad8x4_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
637#define vpx_sad8x4 vpx_sad8x4_msa
638
639unsigned int vpx_sad8x4_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
640unsigned int vpx_sad8x4_avg_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
641#define vpx_sad8x4_avg vpx_sad8x4_avg_msa
642
643void vpx_sad8x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
644void vpx_sad8x4x4d_msa(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
645#define vpx_sad8x4x4d vpx_sad8x4x4d_msa
646
647void vpx_sad8x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
648void vpx_sad8x4x8_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
649#define vpx_sad8x4x8 vpx_sad8x4x8_msa
650
651unsigned int vpx_sad8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
652unsigned int vpx_sad8x8_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
653#define vpx_sad8x8 vpx_sad8x8_msa
654
655unsigned int vpx_sad8x8_avg_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
656unsigned int vpx_sad8x8_avg_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred);
657#define vpx_sad8x8_avg vpx_sad8x8_avg_msa
658
659void vpx_sad8x8x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
660void vpx_sad8x8x3_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
661#define vpx_sad8x8x3 vpx_sad8x8x3_msa
662
663void vpx_sad8x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
664void vpx_sad8x8x4d_msa(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
665#define vpx_sad8x8x4d vpx_sad8x8x4d_msa
666
667void vpx_sad8x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
668void vpx_sad8x8x8_msa(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
669#define vpx_sad8x8x8 vpx_sad8x8x8_msa
670
671int vpx_satd_c(const int16_t *coeff, int length);
672#define vpx_satd vpx_satd_c
673
674void vpx_scaled_2d_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
675#define vpx_scaled_2d vpx_scaled_2d_c
676
677void vpx_scaled_avg_2d_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
678#define vpx_scaled_avg_2d vpx_scaled_avg_2d_c
679
680void vpx_scaled_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
681#define vpx_scaled_avg_horiz vpx_scaled_avg_horiz_c
682
683void vpx_scaled_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
684#define vpx_scaled_avg_vert vpx_scaled_avg_vert_c
685
686void vpx_scaled_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
687#define vpx_scaled_horiz vpx_scaled_horiz_c
688
689void vpx_scaled_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h);
690#define vpx_scaled_vert vpx_scaled_vert_c
691
692uint32_t vpx_sub_pixel_avg_variance16x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
693uint32_t vpx_sub_pixel_avg_variance16x16_msa(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
694#define vpx_sub_pixel_avg_variance16x16 vpx_sub_pixel_avg_variance16x16_msa
695
696uint32_t vpx_sub_pixel_avg_variance16x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
697uint32_t vpx_sub_pixel_avg_variance16x32_msa(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
698#define vpx_sub_pixel_avg_variance16x32 vpx_sub_pixel_avg_variance16x32_msa
699
700uint32_t vpx_sub_pixel_avg_variance16x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
701uint32_t vpx_sub_pixel_avg_variance16x8_msa(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
702#define vpx_sub_pixel_avg_variance16x8 vpx_sub_pixel_avg_variance16x8_msa
703
704uint32_t vpx_sub_pixel_avg_variance32x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
705uint32_t vpx_sub_pixel_avg_variance32x16_msa(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
706#define vpx_sub_pixel_avg_variance32x16 vpx_sub_pixel_avg_variance32x16_msa
707
708uint32_t vpx_sub_pixel_avg_variance32x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
709uint32_t vpx_sub_pixel_avg_variance32x32_msa(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
710#define vpx_sub_pixel_avg_variance32x32 vpx_sub_pixel_avg_variance32x32_msa
711
712uint32_t vpx_sub_pixel_avg_variance32x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
713uint32_t vpx_sub_pixel_avg_variance32x64_msa(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
714#define vpx_sub_pixel_avg_variance32x64 vpx_sub_pixel_avg_variance32x64_msa
715
716uint32_t vpx_sub_pixel_avg_variance4x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
717uint32_t vpx_sub_pixel_avg_variance4x4_msa(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
718#define vpx_sub_pixel_avg_variance4x4 vpx_sub_pixel_avg_variance4x4_msa
719
720uint32_t vpx_sub_pixel_avg_variance4x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
721uint32_t vpx_sub_pixel_avg_variance4x8_msa(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
722#define vpx_sub_pixel_avg_variance4x8 vpx_sub_pixel_avg_variance4x8_msa
723
724uint32_t vpx_sub_pixel_avg_variance64x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
725uint32_t vpx_sub_pixel_avg_variance64x32_msa(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
726#define vpx_sub_pixel_avg_variance64x32 vpx_sub_pixel_avg_variance64x32_msa
727
728uint32_t vpx_sub_pixel_avg_variance64x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
729uint32_t vpx_sub_pixel_avg_variance64x64_msa(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
730#define vpx_sub_pixel_avg_variance64x64 vpx_sub_pixel_avg_variance64x64_msa
731
732uint32_t vpx_sub_pixel_avg_variance8x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
733uint32_t vpx_sub_pixel_avg_variance8x16_msa(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
734#define vpx_sub_pixel_avg_variance8x16 vpx_sub_pixel_avg_variance8x16_msa
735
736uint32_t vpx_sub_pixel_avg_variance8x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
737uint32_t vpx_sub_pixel_avg_variance8x4_msa(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
738#define vpx_sub_pixel_avg_variance8x4 vpx_sub_pixel_avg_variance8x4_msa
739
740uint32_t vpx_sub_pixel_avg_variance8x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
741uint32_t vpx_sub_pixel_avg_variance8x8_msa(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred);
742#define vpx_sub_pixel_avg_variance8x8 vpx_sub_pixel_avg_variance8x8_msa
743
744uint32_t vpx_sub_pixel_variance16x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
745uint32_t vpx_sub_pixel_variance16x16_msa(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
746#define vpx_sub_pixel_variance16x16 vpx_sub_pixel_variance16x16_msa
747
748uint32_t vpx_sub_pixel_variance16x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
749uint32_t vpx_sub_pixel_variance16x32_msa(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
750#define vpx_sub_pixel_variance16x32 vpx_sub_pixel_variance16x32_msa
751
752uint32_t vpx_sub_pixel_variance16x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
753uint32_t vpx_sub_pixel_variance16x8_msa(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
754#define vpx_sub_pixel_variance16x8 vpx_sub_pixel_variance16x8_msa
755
756uint32_t vpx_sub_pixel_variance32x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
757uint32_t vpx_sub_pixel_variance32x16_msa(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
758#define vpx_sub_pixel_variance32x16 vpx_sub_pixel_variance32x16_msa
759
760uint32_t vpx_sub_pixel_variance32x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
761uint32_t vpx_sub_pixel_variance32x32_msa(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
762#define vpx_sub_pixel_variance32x32 vpx_sub_pixel_variance32x32_msa
763
764uint32_t vpx_sub_pixel_variance32x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
765uint32_t vpx_sub_pixel_variance32x64_msa(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
766#define vpx_sub_pixel_variance32x64 vpx_sub_pixel_variance32x64_msa
767
768uint32_t vpx_sub_pixel_variance4x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
769uint32_t vpx_sub_pixel_variance4x4_msa(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
770#define vpx_sub_pixel_variance4x4 vpx_sub_pixel_variance4x4_msa
771
772uint32_t vpx_sub_pixel_variance4x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
773uint32_t vpx_sub_pixel_variance4x8_msa(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
774#define vpx_sub_pixel_variance4x8 vpx_sub_pixel_variance4x8_msa
775
776uint32_t vpx_sub_pixel_variance64x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
777uint32_t vpx_sub_pixel_variance64x32_msa(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
778#define vpx_sub_pixel_variance64x32 vpx_sub_pixel_variance64x32_msa
779
780uint32_t vpx_sub_pixel_variance64x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
781uint32_t vpx_sub_pixel_variance64x64_msa(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
782#define vpx_sub_pixel_variance64x64 vpx_sub_pixel_variance64x64_msa
783
784uint32_t vpx_sub_pixel_variance8x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
785uint32_t vpx_sub_pixel_variance8x16_msa(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
786#define vpx_sub_pixel_variance8x16 vpx_sub_pixel_variance8x16_msa
787
788uint32_t vpx_sub_pixel_variance8x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
789uint32_t vpx_sub_pixel_variance8x4_msa(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
790#define vpx_sub_pixel_variance8x4 vpx_sub_pixel_variance8x4_msa
791
792uint32_t vpx_sub_pixel_variance8x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
793uint32_t vpx_sub_pixel_variance8x8_msa(const uint8_t *src_ptr, int source_stride, int xoffset, int  yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse);
794#define vpx_sub_pixel_variance8x8 vpx_sub_pixel_variance8x8_msa
795
796void vpx_subtract_block_c(int rows, int cols, int16_t *diff_ptr, ptrdiff_t diff_stride, const uint8_t *src_ptr, ptrdiff_t src_stride, const uint8_t *pred_ptr, ptrdiff_t pred_stride);
797void vpx_subtract_block_msa(int rows, int cols, int16_t *diff_ptr, ptrdiff_t diff_stride, const uint8_t *src_ptr, ptrdiff_t src_stride, const uint8_t *pred_ptr, ptrdiff_t pred_stride);
798#define vpx_subtract_block vpx_subtract_block_msa
799
800uint64_t vpx_sum_squares_2d_i16_c(const int16_t *src, int stride, int size);
801#define vpx_sum_squares_2d_i16 vpx_sum_squares_2d_i16_c
802
803void vpx_tm_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
804void vpx_tm_predictor_16x16_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
805#define vpx_tm_predictor_16x16 vpx_tm_predictor_16x16_msa
806
807void vpx_tm_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
808void vpx_tm_predictor_32x32_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
809#define vpx_tm_predictor_32x32 vpx_tm_predictor_32x32_msa
810
811void vpx_tm_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
812void vpx_tm_predictor_4x4_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
813#define vpx_tm_predictor_4x4 vpx_tm_predictor_4x4_msa
814
815void vpx_tm_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
816void vpx_tm_predictor_8x8_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
817#define vpx_tm_predictor_8x8 vpx_tm_predictor_8x8_msa
818
819void vpx_v_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
820void vpx_v_predictor_16x16_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
821#define vpx_v_predictor_16x16 vpx_v_predictor_16x16_msa
822
823void vpx_v_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
824void vpx_v_predictor_32x32_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
825#define vpx_v_predictor_32x32 vpx_v_predictor_32x32_msa
826
827void vpx_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
828void vpx_v_predictor_4x4_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
829#define vpx_v_predictor_4x4 vpx_v_predictor_4x4_msa
830
831void vpx_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
832void vpx_v_predictor_8x8_msa(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
833#define vpx_v_predictor_8x8 vpx_v_predictor_8x8_msa
834
835unsigned int vpx_variance16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
836unsigned int vpx_variance16x16_msa(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
837#define vpx_variance16x16 vpx_variance16x16_msa
838
839unsigned int vpx_variance16x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
840unsigned int vpx_variance16x32_msa(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
841#define vpx_variance16x32 vpx_variance16x32_msa
842
843unsigned int vpx_variance16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
844unsigned int vpx_variance16x8_msa(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
845#define vpx_variance16x8 vpx_variance16x8_msa
846
847unsigned int vpx_variance32x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
848unsigned int vpx_variance32x16_msa(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
849#define vpx_variance32x16 vpx_variance32x16_msa
850
851unsigned int vpx_variance32x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
852unsigned int vpx_variance32x32_msa(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
853#define vpx_variance32x32 vpx_variance32x32_msa
854
855unsigned int vpx_variance32x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
856unsigned int vpx_variance32x64_msa(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
857#define vpx_variance32x64 vpx_variance32x64_msa
858
859unsigned int vpx_variance4x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
860unsigned int vpx_variance4x4_msa(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
861#define vpx_variance4x4 vpx_variance4x4_msa
862
863unsigned int vpx_variance4x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
864unsigned int vpx_variance4x8_msa(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
865#define vpx_variance4x8 vpx_variance4x8_msa
866
867unsigned int vpx_variance64x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
868unsigned int vpx_variance64x32_msa(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
869#define vpx_variance64x32 vpx_variance64x32_msa
870
871unsigned int vpx_variance64x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
872unsigned int vpx_variance64x64_msa(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
873#define vpx_variance64x64 vpx_variance64x64_msa
874
875unsigned int vpx_variance8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
876unsigned int vpx_variance8x16_msa(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
877#define vpx_variance8x16 vpx_variance8x16_msa
878
879unsigned int vpx_variance8x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
880unsigned int vpx_variance8x4_msa(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
881#define vpx_variance8x4 vpx_variance8x4_msa
882
883unsigned int vpx_variance8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
884unsigned int vpx_variance8x8_msa(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
885#define vpx_variance8x8 vpx_variance8x8_msa
886
887void vpx_ve_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
888#define vpx_ve_predictor_4x4 vpx_ve_predictor_4x4_c
889
890int vpx_vector_var_c(const int16_t *ref, const int16_t *src, const int bwl);
891#define vpx_vector_var vpx_vector_var_c
892
893void vpx_dsp_rtcd(void);
894
895#include "vpx_config.h"
896
897#ifdef RTCD_C
898static void setup_rtcd_internal(void)
899{
900#if HAVE_DSPR2
901void vpx_dsputil_static_init();
902#if CONFIG_VP8
903void dsputil_static_init();
904#endif
905
906vpx_dsputil_static_init();
907#if CONFIG_VP8
908dsputil_static_init();
909#endif
910#endif
911}
912#endif
913
914#ifdef __cplusplus
915}  // extern "C"
916#endif
917
918#endif
919