2 * Copyright (c) 2015 Parag Salasakar (Parag.Salasakar@imgtec.com)
3 Zhou Xiaoyong <zhouxiaoyong@loongson.cn>
5 * This file is part of FFmpeg.
7 * FFmpeg is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
12 * FFmpeg is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with FFmpeg; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22 #ifndef H264_DSP_MIPS_H
23 #define H264_DSP_MIPS_H
25 #include "libavcodec/h264.h"
26 #include "constants.h"
28 void ff_h264_h_lpf_luma_inter_msa(uint8_t *src, int stride,
29 int alpha, int beta, int8_t *tc0);
30 void ff_h264_v_lpf_luma_inter_msa(uint8_t *src, int stride,
31 int alpha, int beta, int8_t *tc0);
32 void ff_h264_h_lpf_chroma_inter_msa(uint8_t *src, int stride,
33 int alpha, int beta, int8_t *tc0);
34 void ff_h264_v_lpf_chroma_inter_msa(uint8_t *src, int stride,
35 int alpha, int beta, int8_t *tc0);
36 void ff_h264_h_loop_filter_chroma422_msa(uint8_t *src, int32_t stride,
37 int32_t alpha, int32_t beta,
39 void ff_h264_h_loop_filter_chroma422_mbaff_msa(uint8_t *src, int32_t stride,
40 int32_t alpha, int32_t beta,
42 void ff_h264_h_loop_filter_luma_mbaff_msa(uint8_t *src, int32_t stride,
43 int32_t alpha, int32_t beta,
46 void ff_h264_idct_add_msa(uint8_t *dst, int16_t *src, int32_t dst_stride);
47 void ff_h264_idct4x4_addblk_dc_msa(uint8_t *dst, int16_t *src,
49 void ff_h264_deq_idct_luma_dc_msa(int16_t *dst, int16_t *src,
51 void ff_h264_idct_add16_msa(uint8_t *dst, const int32_t *blk_offset,
52 int16_t *block, int32_t stride,
53 const uint8_t nnzc[15 * 8]);
54 void ff_h264_idct_add16_intra_msa(uint8_t *dst, const int32_t *blk_offset,
55 int16_t *block, int32_t dst_stride,
56 const uint8_t nnzc[15 * 8]);
57 void ff_h264_idct_add8_msa(uint8_t **dst, const int32_t *blk_offset,
58 int16_t *block, int32_t dst_stride,
59 const uint8_t nnzc[15 * 8]);
60 void ff_h264_idct_add8_422_msa(uint8_t **dst, const int32_t *blk_offset,
61 int16_t *block, int32_t dst_stride,
62 const uint8_t nnzc[15 * 8]);
63 void ff_h264_idct8_addblk_msa(uint8_t *dst, int16_t *src, int32_t dst_stride);
64 void ff_h264_idct8_dc_addblk_msa(uint8_t *dst, int16_t *src,
66 void ff_h264_idct8_add4_msa(uint8_t *dst, const int *blk_offset,
67 int16_t *blk, int dst_stride,
68 const uint8_t nnzc[15 * 8]);
70 void ff_h264_h_lpf_luma_intra_msa(uint8_t *src, int stride,
72 void ff_h264_v_lpf_luma_intra_msa(uint8_t *src, int stride,
74 void ff_h264_h_lpf_chroma_intra_msa(uint8_t *src, int stride,
76 void ff_h264_v_lpf_chroma_intra_msa(uint8_t *src, int stride,
78 void ff_h264_h_loop_filter_luma_mbaff_intra_msa(uint8_t *src, int stride,
81 void ff_biweight_h264_pixels16_8_msa(uint8_t *dst, uint8_t *src,
82 int stride, int height, int log2_denom,
83 int weightd, int weights, int offset);
84 void ff_biweight_h264_pixels8_8_msa(uint8_t *dst, uint8_t *src,
85 int stride, int height, int log2_denom,
86 int weightd, int weights, int offset);
87 void ff_biweight_h264_pixels4_8_msa(uint8_t *dst, uint8_t *src,
88 int stride, int height, int log2_denom,
89 int weightd, int weights, int offset);
90 void ff_weight_h264_pixels16_8_msa(uint8_t *src, int stride, int height,
91 int log2_denom, int weight, int offset);
92 void ff_weight_h264_pixels8_8_msa(uint8_t *src, int stride, int height,
93 int log2_denom, int weight, int offset);
94 void ff_weight_h264_pixels4_8_msa(uint8_t *src, int stride, int height,
95 int log2_denom, int weight, int offset);
97 void ff_put_h264_qpel16_mc00_msa(uint8_t *dst, const uint8_t *src,
98 ptrdiff_t dst_stride);
99 void ff_put_h264_qpel16_mc10_msa(uint8_t *dst, const uint8_t *src,
100 ptrdiff_t dst_stride);
101 void ff_put_h264_qpel16_mc20_msa(uint8_t *dst, const uint8_t *src,
102 ptrdiff_t dst_stride);
103 void ff_put_h264_qpel16_mc30_msa(uint8_t *dst, const uint8_t *src,
104 ptrdiff_t dst_stride);
105 void ff_put_h264_qpel16_mc01_msa(uint8_t *dst, const uint8_t *src,
106 ptrdiff_t dst_stride);
107 void ff_put_h264_qpel16_mc11_msa(uint8_t *dst, const uint8_t *src,
108 ptrdiff_t dst_stride);
109 void ff_put_h264_qpel16_mc21_msa(uint8_t *dst, const uint8_t *src,
110 ptrdiff_t dst_stride);
111 void ff_put_h264_qpel16_mc31_msa(uint8_t *dst, const uint8_t *src,
112 ptrdiff_t dst_stride);
113 void ff_put_h264_qpel16_mc02_msa(uint8_t *dst, const uint8_t *src,
114 ptrdiff_t dst_stride);
115 void ff_put_h264_qpel16_mc12_msa(uint8_t *dst, const uint8_t *src,
116 ptrdiff_t dst_stride);
117 void ff_put_h264_qpel16_mc22_msa(uint8_t *dst, const uint8_t *src,
118 ptrdiff_t dst_stride);
119 void ff_put_h264_qpel16_mc32_msa(uint8_t *dst, const uint8_t *src,
120 ptrdiff_t dst_stride);
121 void ff_put_h264_qpel16_mc03_msa(uint8_t *dst, const uint8_t *src,
122 ptrdiff_t dst_stride);
123 void ff_put_h264_qpel16_mc13_msa(uint8_t *dst, const uint8_t *src,
124 ptrdiff_t dst_stride);
125 void ff_put_h264_qpel16_mc23_msa(uint8_t *dst, const uint8_t *src,
126 ptrdiff_t dst_stride);
127 void ff_put_h264_qpel16_mc33_msa(uint8_t *dst, const uint8_t *src,
128 ptrdiff_t dst_stride);
130 void ff_put_h264_qpel8_mc00_msa(uint8_t *dst, const uint8_t *src,
131 ptrdiff_t dst_stride);
132 void ff_put_h264_qpel8_mc10_msa(uint8_t *dst, const uint8_t *src,
133 ptrdiff_t dst_stride);
134 void ff_put_h264_qpel8_mc20_msa(uint8_t *dst, const uint8_t *src,
135 ptrdiff_t dst_stride);
136 void ff_put_h264_qpel8_mc30_msa(uint8_t *dst, const uint8_t *src,
137 ptrdiff_t dst_stride);
138 void ff_put_h264_qpel8_mc01_msa(uint8_t *dst, const uint8_t *src,
139 ptrdiff_t dst_stride);
140 void ff_put_h264_qpel8_mc11_msa(uint8_t *dst, const uint8_t *src,
141 ptrdiff_t dst_stride);
142 void ff_put_h264_qpel8_mc21_msa(uint8_t *dst, const uint8_t *src,
143 ptrdiff_t dst_stride);
144 void ff_put_h264_qpel8_mc31_msa(uint8_t *dst, const uint8_t *src,
145 ptrdiff_t dst_stride);
146 void ff_put_h264_qpel8_mc02_msa(uint8_t *dst, const uint8_t *src,
147 ptrdiff_t dst_stride);
148 void ff_put_h264_qpel8_mc12_msa(uint8_t *dst, const uint8_t *src,
149 ptrdiff_t dst_stride);
150 void ff_put_h264_qpel8_mc22_msa(uint8_t *dst, const uint8_t *src,
151 ptrdiff_t dst_stride);
152 void ff_put_h264_qpel8_mc32_msa(uint8_t *dst, const uint8_t *src,
153 ptrdiff_t dst_stride);
154 void ff_put_h264_qpel8_mc03_msa(uint8_t *dst, const uint8_t *src,
155 ptrdiff_t dst_stride);
156 void ff_put_h264_qpel8_mc13_msa(uint8_t *dst, const uint8_t *src,
157 ptrdiff_t dst_stride);
158 void ff_put_h264_qpel8_mc23_msa(uint8_t *dst, const uint8_t *src,
159 ptrdiff_t dst_stride);
160 void ff_put_h264_qpel8_mc33_msa(uint8_t *dst, const uint8_t *src,
161 ptrdiff_t dst_stride);
163 void ff_put_h264_qpel4_mc00_msa(uint8_t *dst, const uint8_t *src,
164 ptrdiff_t dst_stride);
165 void ff_put_h264_qpel4_mc10_msa(uint8_t *dst, const uint8_t *src,
166 ptrdiff_t dst_stride);
167 void ff_put_h264_qpel4_mc20_msa(uint8_t *dst, const uint8_t *src,
168 ptrdiff_t dst_stride);
169 void ff_put_h264_qpel4_mc30_msa(uint8_t *dst, const uint8_t *src,
170 ptrdiff_t dst_stride);
171 void ff_put_h264_qpel4_mc01_msa(uint8_t *dst, const uint8_t *src,
172 ptrdiff_t dst_stride);
173 void ff_put_h264_qpel4_mc11_msa(uint8_t *dst, const uint8_t *src,
174 ptrdiff_t dst_stride);
175 void ff_put_h264_qpel4_mc21_msa(uint8_t *dst, const uint8_t *src,
176 ptrdiff_t dst_stride);
177 void ff_put_h264_qpel4_mc31_msa(uint8_t *dst, const uint8_t *src,
178 ptrdiff_t dst_stride);
179 void ff_put_h264_qpel4_mc02_msa(uint8_t *dst, const uint8_t *src,
180 ptrdiff_t dst_stride);
181 void ff_put_h264_qpel4_mc12_msa(uint8_t *dst, const uint8_t *src,
182 ptrdiff_t dst_stride);
183 void ff_put_h264_qpel4_mc22_msa(uint8_t *dst, const uint8_t *src,
184 ptrdiff_t dst_stride);
185 void ff_put_h264_qpel4_mc32_msa(uint8_t *dst, const uint8_t *src,
186 ptrdiff_t dst_stride);
187 void ff_put_h264_qpel4_mc03_msa(uint8_t *dst, const uint8_t *src,
188 ptrdiff_t dst_stride);
189 void ff_put_h264_qpel4_mc13_msa(uint8_t *dst, const uint8_t *src,
190 ptrdiff_t dst_stride);
191 void ff_put_h264_qpel4_mc23_msa(uint8_t *dst, const uint8_t *src,
192 ptrdiff_t dst_stride);
193 void ff_put_h264_qpel4_mc33_msa(uint8_t *dst, const uint8_t *src,
194 ptrdiff_t dst_stride);
196 void ff_avg_h264_qpel16_mc00_msa(uint8_t *dst, const uint8_t *src,
197 ptrdiff_t dst_stride);
198 void ff_avg_h264_qpel16_mc10_msa(uint8_t *dst, const uint8_t *src,
199 ptrdiff_t dst_stride);
200 void ff_avg_h264_qpel16_mc20_msa(uint8_t *dst, const uint8_t *src,
201 ptrdiff_t dst_stride);
202 void ff_avg_h264_qpel16_mc30_msa(uint8_t *dst, const uint8_t *src,
203 ptrdiff_t dst_stride);
204 void ff_avg_h264_qpel16_mc01_msa(uint8_t *dst, const uint8_t *src,
205 ptrdiff_t dst_stride);
206 void ff_avg_h264_qpel16_mc11_msa(uint8_t *dst, const uint8_t *src,
207 ptrdiff_t dst_stride);
208 void ff_avg_h264_qpel16_mc21_msa(uint8_t *dst, const uint8_t *src,
209 ptrdiff_t dst_stride);
210 void ff_avg_h264_qpel16_mc31_msa(uint8_t *dst, const uint8_t *src,
211 ptrdiff_t dst_stride);
212 void ff_avg_h264_qpel16_mc02_msa(uint8_t *dst, const uint8_t *src,
213 ptrdiff_t dst_stride);
214 void ff_avg_h264_qpel16_mc12_msa(uint8_t *dst, const uint8_t *src,
215 ptrdiff_t dst_stride);
216 void ff_avg_h264_qpel16_mc22_msa(uint8_t *dst, const uint8_t *src,
217 ptrdiff_t dst_stride);
218 void ff_avg_h264_qpel16_mc32_msa(uint8_t *dst, const uint8_t *src,
219 ptrdiff_t dst_stride);
220 void ff_avg_h264_qpel16_mc03_msa(uint8_t *dst, const uint8_t *src,
221 ptrdiff_t dst_stride);
222 void ff_avg_h264_qpel16_mc13_msa(uint8_t *dst, const uint8_t *src,
223 ptrdiff_t dst_stride);
224 void ff_avg_h264_qpel16_mc23_msa(uint8_t *dst, const uint8_t *src,
225 ptrdiff_t dst_stride);
226 void ff_avg_h264_qpel16_mc33_msa(uint8_t *dst, const uint8_t *src,
227 ptrdiff_t dst_stride);
229 void ff_avg_h264_qpel8_mc00_msa(uint8_t *dst, const uint8_t *src,
230 ptrdiff_t dst_stride);
231 void ff_avg_h264_qpel8_mc10_msa(uint8_t *dst, const uint8_t *src,
232 ptrdiff_t dst_stride);
233 void ff_avg_h264_qpel8_mc20_msa(uint8_t *dst, const uint8_t *src,
234 ptrdiff_t dst_stride);
235 void ff_avg_h264_qpel8_mc30_msa(uint8_t *dst, const uint8_t *src,
236 ptrdiff_t dst_stride);
237 void ff_avg_h264_qpel8_mc01_msa(uint8_t *dst, const uint8_t *src,
238 ptrdiff_t dst_stride);
239 void ff_avg_h264_qpel8_mc11_msa(uint8_t *dst, const uint8_t *src,
240 ptrdiff_t dst_stride);
241 void ff_avg_h264_qpel8_mc21_msa(uint8_t *dst, const uint8_t *src,
242 ptrdiff_t dst_stride);
243 void ff_avg_h264_qpel8_mc31_msa(uint8_t *dst, const uint8_t *src,
244 ptrdiff_t dst_stride);
245 void ff_avg_h264_qpel8_mc02_msa(uint8_t *dst, const uint8_t *src,
246 ptrdiff_t dst_stride);
247 void ff_avg_h264_qpel8_mc12_msa(uint8_t *dst, const uint8_t *src,
248 ptrdiff_t dst_stride);
249 void ff_avg_h264_qpel8_mc22_msa(uint8_t *dst, const uint8_t *src,
250 ptrdiff_t dst_stride);
251 void ff_avg_h264_qpel8_mc32_msa(uint8_t *dst, const uint8_t *src,
252 ptrdiff_t dst_stride);
253 void ff_avg_h264_qpel8_mc03_msa(uint8_t *dst, const uint8_t *src,
254 ptrdiff_t dst_stride);
255 void ff_avg_h264_qpel8_mc13_msa(uint8_t *dst, const uint8_t *src,
256 ptrdiff_t dst_stride);
257 void ff_avg_h264_qpel8_mc23_msa(uint8_t *dst, const uint8_t *src,
258 ptrdiff_t dst_stride);
259 void ff_avg_h264_qpel8_mc33_msa(uint8_t *dst, const uint8_t *src,
260 ptrdiff_t dst_stride);
262 void ff_avg_h264_qpel4_mc00_msa(uint8_t *dst, const uint8_t *src,
263 ptrdiff_t dst_stride);
264 void ff_avg_h264_qpel4_mc10_msa(uint8_t *dst, const uint8_t *src,
265 ptrdiff_t dst_stride);
266 void ff_avg_h264_qpel4_mc20_msa(uint8_t *dst, const uint8_t *src,
267 ptrdiff_t dst_stride);
268 void ff_avg_h264_qpel4_mc30_msa(uint8_t *dst, const uint8_t *src,
269 ptrdiff_t dst_stride);
270 void ff_avg_h264_qpel4_mc01_msa(uint8_t *dst, const uint8_t *src,
271 ptrdiff_t dst_stride);
272 void ff_avg_h264_qpel4_mc11_msa(uint8_t *dst, const uint8_t *src,
273 ptrdiff_t dst_stride);
274 void ff_avg_h264_qpel4_mc21_msa(uint8_t *dst, const uint8_t *src,
275 ptrdiff_t dst_stride);
276 void ff_avg_h264_qpel4_mc31_msa(uint8_t *dst, const uint8_t *src,
277 ptrdiff_t dst_stride);
278 void ff_avg_h264_qpel4_mc02_msa(uint8_t *dst, const uint8_t *src,
279 ptrdiff_t dst_stride);
280 void ff_avg_h264_qpel4_mc12_msa(uint8_t *dst, const uint8_t *src,
281 ptrdiff_t dst_stride);
282 void ff_avg_h264_qpel4_mc22_msa(uint8_t *dst, const uint8_t *src,
283 ptrdiff_t dst_stride);
284 void ff_avg_h264_qpel4_mc32_msa(uint8_t *dst, const uint8_t *src,
285 ptrdiff_t dst_stride);
286 void ff_avg_h264_qpel4_mc03_msa(uint8_t *dst, const uint8_t *src,
287 ptrdiff_t dst_stride);
288 void ff_avg_h264_qpel4_mc13_msa(uint8_t *dst, const uint8_t *src,
289 ptrdiff_t dst_stride);
290 void ff_avg_h264_qpel4_mc23_msa(uint8_t *dst, const uint8_t *src,
291 ptrdiff_t dst_stride);
292 void ff_avg_h264_qpel4_mc33_msa(uint8_t *dst, const uint8_t *src,
293 ptrdiff_t dst_stride);
295 void ff_h264_intra_predict_plane_8x8_msa(uint8_t *src, ptrdiff_t stride);
296 void ff_h264_intra_predict_dc_4blk_8x8_msa(uint8_t *src, ptrdiff_t stride);
297 void ff_h264_intra_predict_hor_dc_8x8_msa(uint8_t *src, ptrdiff_t stride);
298 void ff_h264_intra_predict_vert_dc_8x8_msa(uint8_t *src, ptrdiff_t stride);
299 void ff_h264_intra_predict_mad_cow_dc_l0t_8x8_msa(uint8_t *src,
301 void ff_h264_intra_predict_mad_cow_dc_0lt_8x8_msa(uint8_t *src,
303 void ff_h264_intra_predict_mad_cow_dc_l00_8x8_msa(uint8_t *src,
305 void ff_h264_intra_predict_mad_cow_dc_0l0_8x8_msa(uint8_t *src,
307 void ff_h264_intra_predict_plane_16x16_msa(uint8_t *src, ptrdiff_t stride);
308 void ff_h264_intra_pred_vert_8x8_msa(uint8_t *src, ptrdiff_t stride);
309 void ff_h264_intra_pred_horiz_8x8_msa(uint8_t *src, ptrdiff_t stride);
310 void ff_h264_intra_pred_dc_16x16_msa(uint8_t *src, ptrdiff_t stride);
311 void ff_h264_intra_pred_vert_16x16_msa(uint8_t *src, ptrdiff_t stride);
312 void ff_h264_intra_pred_horiz_16x16_msa(uint8_t *src, ptrdiff_t stride);
313 void ff_h264_intra_pred_dc_left_16x16_msa(uint8_t *src, ptrdiff_t stride);
314 void ff_h264_intra_pred_dc_top_16x16_msa(uint8_t *src, ptrdiff_t stride);
315 void ff_h264_intra_pred_dc_128_8x8_msa(uint8_t *src, ptrdiff_t stride);
316 void ff_h264_intra_pred_dc_128_16x16_msa(uint8_t *src, ptrdiff_t stride);
317 void ff_vp8_pred8x8_127_dc_8_msa(uint8_t *src, ptrdiff_t stride);
318 void ff_vp8_pred8x8_129_dc_8_msa(uint8_t *src, ptrdiff_t stride);
319 void ff_vp8_pred16x16_127_dc_8_msa(uint8_t *src, ptrdiff_t stride);
320 void ff_vp8_pred16x16_129_dc_8_msa(uint8_t *src, ptrdiff_t stride);
322 void ff_h264_weight_pixels16_8_mmi(uint8_t *block, int stride, int height,
323 int log2_denom, int weight, int offset);
324 void ff_h264_biweight_pixels16_8_mmi(uint8_t *dst, uint8_t *src,
325 int stride, int height, int log2_denom, int weightd, int weights,
327 void ff_h264_weight_pixels8_8_mmi(uint8_t *block, int stride, int height,
328 int log2_denom, int weight, int offset);
329 void ff_h264_biweight_pixels8_8_mmi(uint8_t *dst, uint8_t *src,
330 int stride, int height, int log2_denom, int weightd, int weights,
332 void ff_h264_weight_pixels4_8_mmi(uint8_t *block, int stride, int height,
333 int log2_denom, int weight, int offset);
334 void ff_h264_biweight_pixels4_8_mmi(uint8_t *dst, uint8_t *src,
335 int stride, int height, int log2_denom, int weightd, int weights,
338 void ff_put_h264_qpel16_mc00_mmi(uint8_t *dst, const uint8_t *src,
339 ptrdiff_t dst_stride);
340 void ff_put_h264_qpel16_mc10_mmi(uint8_t *dst, const uint8_t *src,
341 ptrdiff_t dst_stride);
342 void ff_put_h264_qpel16_mc20_mmi(uint8_t *dst, const uint8_t *src,
343 ptrdiff_t dst_stride);
344 void ff_put_h264_qpel16_mc30_mmi(uint8_t *dst, const uint8_t *src,
345 ptrdiff_t dst_stride);
346 void ff_put_h264_qpel16_mc01_mmi(uint8_t *dst, const uint8_t *src,
347 ptrdiff_t dst_stride);
348 void ff_put_h264_qpel16_mc11_mmi(uint8_t *dst, const uint8_t *src,
349 ptrdiff_t dst_stride);
350 void ff_put_h264_qpel16_mc21_mmi(uint8_t *dst, const uint8_t *src,
351 ptrdiff_t dst_stride);
352 void ff_put_h264_qpel16_mc31_mmi(uint8_t *dst, const uint8_t *src,
353 ptrdiff_t dst_stride);
354 void ff_put_h264_qpel16_mc02_mmi(uint8_t *dst, const uint8_t *src,
355 ptrdiff_t dst_stride);
356 void ff_put_h264_qpel16_mc12_mmi(uint8_t *dst, const uint8_t *src,
357 ptrdiff_t dst_stride);
358 void ff_put_h264_qpel16_mc22_mmi(uint8_t *dst, const uint8_t *src,
359 ptrdiff_t dst_stride);
360 void ff_put_h264_qpel16_mc32_mmi(uint8_t *dst, const uint8_t *src,
361 ptrdiff_t dst_stride);
362 void ff_put_h264_qpel16_mc03_mmi(uint8_t *dst, const uint8_t *src,
363 ptrdiff_t dst_stride);
364 void ff_put_h264_qpel16_mc13_mmi(uint8_t *dst, const uint8_t *src,
365 ptrdiff_t dst_stride);
366 void ff_put_h264_qpel16_mc23_mmi(uint8_t *dst, const uint8_t *src,
367 ptrdiff_t dst_stride);
368 void ff_put_h264_qpel16_mc33_mmi(uint8_t *dst, const uint8_t *src,
369 ptrdiff_t dst_stride);
371 void ff_put_h264_qpel8_mc00_mmi(uint8_t *dst, const uint8_t *src,
372 ptrdiff_t dst_stride);
373 void ff_put_h264_qpel8_mc10_mmi(uint8_t *dst, const uint8_t *src,
374 ptrdiff_t dst_stride);
375 void ff_put_h264_qpel8_mc20_mmi(uint8_t *dst, const uint8_t *src,
376 ptrdiff_t dst_stride);
377 void ff_put_h264_qpel8_mc30_mmi(uint8_t *dst, const uint8_t *src,
378 ptrdiff_t dst_stride);
379 void ff_put_h264_qpel8_mc01_mmi(uint8_t *dst, const uint8_t *src,
380 ptrdiff_t dst_stride);
381 void ff_put_h264_qpel8_mc11_mmi(uint8_t *dst, const uint8_t *src,
382 ptrdiff_t dst_stride);
383 void ff_put_h264_qpel8_mc21_mmi(uint8_t *dst, const uint8_t *src,
384 ptrdiff_t dst_stride);
385 void ff_put_h264_qpel8_mc31_mmi(uint8_t *dst, const uint8_t *src,
386 ptrdiff_t dst_stride);
387 void ff_put_h264_qpel8_mc02_mmi(uint8_t *dst, const uint8_t *src,
388 ptrdiff_t dst_stride);
389 void ff_put_h264_qpel8_mc12_mmi(uint8_t *dst, const uint8_t *src,
390 ptrdiff_t dst_stride);
391 void ff_put_h264_qpel8_mc22_mmi(uint8_t *dst, const uint8_t *src,
392 ptrdiff_t dst_stride);
393 void ff_put_h264_qpel8_mc32_mmi(uint8_t *dst, const uint8_t *src,
394 ptrdiff_t dst_stride);
395 void ff_put_h264_qpel8_mc03_mmi(uint8_t *dst, const uint8_t *src,
396 ptrdiff_t dst_stride);
397 void ff_put_h264_qpel8_mc13_mmi(uint8_t *dst, const uint8_t *src,
398 ptrdiff_t dst_stride);
399 void ff_put_h264_qpel8_mc23_mmi(uint8_t *dst, const uint8_t *src,
400 ptrdiff_t dst_stride);
401 void ff_put_h264_qpel8_mc33_mmi(uint8_t *dst, const uint8_t *src,
402 ptrdiff_t dst_stride);
404 void ff_put_h264_qpel4_mc00_mmi(uint8_t *dst, const uint8_t *src,
405 ptrdiff_t dst_stride);
406 void ff_put_h264_qpel4_mc10_mmi(uint8_t *dst, const uint8_t *src,
407 ptrdiff_t dst_stride);
408 void ff_put_h264_qpel4_mc20_mmi(uint8_t *dst, const uint8_t *src,
409 ptrdiff_t dst_stride);
410 void ff_put_h264_qpel4_mc30_mmi(uint8_t *dst, const uint8_t *src,
411 ptrdiff_t dst_stride);
412 void ff_put_h264_qpel4_mc01_mmi(uint8_t *dst, const uint8_t *src,
413 ptrdiff_t dst_stride);
414 void ff_put_h264_qpel4_mc11_mmi(uint8_t *dst, const uint8_t *src,
415 ptrdiff_t dst_stride);
416 void ff_put_h264_qpel4_mc21_mmi(uint8_t *dst, const uint8_t *src,
417 ptrdiff_t dst_stride);
418 void ff_put_h264_qpel4_mc31_mmi(uint8_t *dst, const uint8_t *src,
419 ptrdiff_t dst_stride);
420 void ff_put_h264_qpel4_mc02_mmi(uint8_t *dst, const uint8_t *src,
421 ptrdiff_t dst_stride);
422 void ff_put_h264_qpel4_mc12_mmi(uint8_t *dst, const uint8_t *src,
423 ptrdiff_t dst_stride);
424 void ff_put_h264_qpel4_mc22_mmi(uint8_t *dst, const uint8_t *src,
425 ptrdiff_t dst_stride);
426 void ff_put_h264_qpel4_mc32_mmi(uint8_t *dst, const uint8_t *src,
427 ptrdiff_t dst_stride);
428 void ff_put_h264_qpel4_mc03_mmi(uint8_t *dst, const uint8_t *src,
429 ptrdiff_t dst_stride);
430 void ff_put_h264_qpel4_mc13_mmi(uint8_t *dst, const uint8_t *src,
431 ptrdiff_t dst_stride);
432 void ff_put_h264_qpel4_mc23_mmi(uint8_t *dst, const uint8_t *src,
433 ptrdiff_t dst_stride);
434 void ff_put_h264_qpel4_mc33_mmi(uint8_t *dst, const uint8_t *src,
435 ptrdiff_t dst_stride);
437 void ff_avg_h264_qpel16_mc00_mmi(uint8_t *dst, const uint8_t *src,
438 ptrdiff_t dst_stride);
439 void ff_avg_h264_qpel16_mc10_mmi(uint8_t *dst, const uint8_t *src,
440 ptrdiff_t dst_stride);
441 void ff_avg_h264_qpel16_mc20_mmi(uint8_t *dst, const uint8_t *src,
442 ptrdiff_t dst_stride);
443 void ff_avg_h264_qpel16_mc30_mmi(uint8_t *dst, const uint8_t *src,
444 ptrdiff_t dst_stride);
445 void ff_avg_h264_qpel16_mc01_mmi(uint8_t *dst, const uint8_t *src,
446 ptrdiff_t dst_stride);
447 void ff_avg_h264_qpel16_mc11_mmi(uint8_t *dst, const uint8_t *src,
448 ptrdiff_t dst_stride);
449 void ff_avg_h264_qpel16_mc21_mmi(uint8_t *dst, const uint8_t *src,
450 ptrdiff_t dst_stride);
451 void ff_avg_h264_qpel16_mc31_mmi(uint8_t *dst, const uint8_t *src,
452 ptrdiff_t dst_stride);
453 void ff_avg_h264_qpel16_mc02_mmi(uint8_t *dst, const uint8_t *src,
454 ptrdiff_t dst_stride);
455 void ff_avg_h264_qpel16_mc12_mmi(uint8_t *dst, const uint8_t *src,
456 ptrdiff_t dst_stride);
457 void ff_avg_h264_qpel16_mc22_mmi(uint8_t *dst, const uint8_t *src,
458 ptrdiff_t dst_stride);
459 void ff_avg_h264_qpel16_mc32_mmi(uint8_t *dst, const uint8_t *src,
460 ptrdiff_t dst_stride);
461 void ff_avg_h264_qpel16_mc03_mmi(uint8_t *dst, const uint8_t *src,
462 ptrdiff_t dst_stride);
463 void ff_avg_h264_qpel16_mc13_mmi(uint8_t *dst, const uint8_t *src,
464 ptrdiff_t dst_stride);
465 void ff_avg_h264_qpel16_mc23_mmi(uint8_t *dst, const uint8_t *src,
466 ptrdiff_t dst_stride);
467 void ff_avg_h264_qpel16_mc33_mmi(uint8_t *dst, const uint8_t *src,
468 ptrdiff_t dst_stride);
470 void ff_avg_h264_qpel8_mc00_mmi(uint8_t *dst, const uint8_t *src,
471 ptrdiff_t dst_stride);
472 void ff_avg_h264_qpel8_mc10_mmi(uint8_t *dst, const uint8_t *src,
473 ptrdiff_t dst_stride);
474 void ff_avg_h264_qpel8_mc20_mmi(uint8_t *dst, const uint8_t *src,
475 ptrdiff_t dst_stride);
476 void ff_avg_h264_qpel8_mc30_mmi(uint8_t *dst, const uint8_t *src,
477 ptrdiff_t dst_stride);
478 void ff_avg_h264_qpel8_mc01_mmi(uint8_t *dst, const uint8_t *src,
479 ptrdiff_t dst_stride);
480 void ff_avg_h264_qpel8_mc11_mmi(uint8_t *dst, const uint8_t *src,
481 ptrdiff_t dst_stride);
482 void ff_avg_h264_qpel8_mc21_mmi(uint8_t *dst, const uint8_t *src,
483 ptrdiff_t dst_stride);
484 void ff_avg_h264_qpel8_mc31_mmi(uint8_t *dst, const uint8_t *src,
485 ptrdiff_t dst_stride);
486 void ff_avg_h264_qpel8_mc02_mmi(uint8_t *dst, const uint8_t *src,
487 ptrdiff_t dst_stride);
488 void ff_avg_h264_qpel8_mc12_mmi(uint8_t *dst, const uint8_t *src,
489 ptrdiff_t dst_stride);
490 void ff_avg_h264_qpel8_mc22_mmi(uint8_t *dst, const uint8_t *src,
491 ptrdiff_t dst_stride);
492 void ff_avg_h264_qpel8_mc32_mmi(uint8_t *dst, const uint8_t *src,
493 ptrdiff_t dst_stride);
494 void ff_avg_h264_qpel8_mc03_mmi(uint8_t *dst, const uint8_t *src,
495 ptrdiff_t dst_stride);
496 void ff_avg_h264_qpel8_mc13_mmi(uint8_t *dst, const uint8_t *src,
497 ptrdiff_t dst_stride);
498 void ff_avg_h264_qpel8_mc23_mmi(uint8_t *dst, const uint8_t *src,
499 ptrdiff_t dst_stride);
500 void ff_avg_h264_qpel8_mc33_mmi(uint8_t *dst, const uint8_t *src,
501 ptrdiff_t dst_stride);
503 void ff_avg_h264_qpel4_mc00_mmi(uint8_t *dst, const uint8_t *src,
504 ptrdiff_t dst_stride);
505 void ff_avg_h264_qpel4_mc10_mmi(uint8_t *dst, const uint8_t *src,
506 ptrdiff_t dst_stride);
507 void ff_avg_h264_qpel4_mc20_mmi(uint8_t *dst, const uint8_t *src,
508 ptrdiff_t dst_stride);
509 void ff_avg_h264_qpel4_mc30_mmi(uint8_t *dst, const uint8_t *src,
510 ptrdiff_t dst_stride);
511 void ff_avg_h264_qpel4_mc01_mmi(uint8_t *dst, const uint8_t *src,
512 ptrdiff_t dst_stride);
513 void ff_avg_h264_qpel4_mc11_mmi(uint8_t *dst, const uint8_t *src,
514 ptrdiff_t dst_stride);
515 void ff_avg_h264_qpel4_mc21_mmi(uint8_t *dst, const uint8_t *src,
516 ptrdiff_t dst_stride);
517 void ff_avg_h264_qpel4_mc31_mmi(uint8_t *dst, const uint8_t *src,
518 ptrdiff_t dst_stride);
519 void ff_avg_h264_qpel4_mc02_mmi(uint8_t *dst, const uint8_t *src,
520 ptrdiff_t dst_stride);
521 void ff_avg_h264_qpel4_mc12_mmi(uint8_t *dst, const uint8_t *src,
522 ptrdiff_t dst_stride);
523 void ff_avg_h264_qpel4_mc22_mmi(uint8_t *dst, const uint8_t *src,
524 ptrdiff_t dst_stride);
525 void ff_avg_h264_qpel4_mc32_mmi(uint8_t *dst, const uint8_t *src,
526 ptrdiff_t dst_stride);
527 void ff_avg_h264_qpel4_mc03_mmi(uint8_t *dst, const uint8_t *src,
528 ptrdiff_t dst_stride);
529 void ff_avg_h264_qpel4_mc13_mmi(uint8_t *dst, const uint8_t *src,
530 ptrdiff_t dst_stride);
531 void ff_avg_h264_qpel4_mc23_mmi(uint8_t *dst, const uint8_t *src,
532 ptrdiff_t dst_stride);
533 void ff_avg_h264_qpel4_mc33_mmi(uint8_t *dst, const uint8_t *src,
534 ptrdiff_t dst_stride);
536 #endif // #ifndef H264_DSP_MIPS_H