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