1 /* 2 * Copyright (c) 2015 Parag Salasakar (Parag.Salasakar@imgtec.com) 3 Zhou Xiaoyong <zhouxiaoyong@loongson.cn> 4 * 5 * This file is part of FFmpeg. 6 * 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. 11 * 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. 16 * 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 20 */ 21 22 #ifndef AVCODEC_MIPS_H264DSP_MIPS_H 23 #define AVCODEC_MIPS_H264DSP_MIPS_H 24 25 #include "libavcodec/h264dec.h" 26 #include "constants.h" 27 28 void ff_h264_h_lpf_luma_inter_msa(uint8_t *src, ptrdiff_t stride, 29 int alpha, int beta, int8_t *tc0); 30 void ff_h264_v_lpf_luma_inter_msa(uint8_t *src, ptrdiff_t stride, 31 int alpha, int beta, int8_t *tc0); 32 void ff_h264_h_lpf_chroma_inter_msa(uint8_t *src, ptrdiff_t stride, 33 int alpha, int beta, int8_t *tc0); 34 void ff_h264_v_lpf_chroma_inter_msa(uint8_t *src, ptrdiff_t stride, 35 int alpha, int beta, int8_t *tc0); 36 void ff_h264_h_loop_filter_chroma422_msa(uint8_t *src, ptrdiff_t stride, 37 int32_t alpha, int32_t beta, 38 int8_t *tc0); 39 void ff_h264_h_loop_filter_chroma422_mbaff_msa(uint8_t *src, ptrdiff_t stride, 40 int32_t alpha, int32_t beta, 41 int8_t *tc0); 42 void ff_h264_h_loop_filter_luma_mbaff_msa(uint8_t *src, ptrdiff_t stride, 43 int32_t alpha, int32_t beta, 44 int8_t *tc0); 45 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, 48 int32_t dst_stride); 49 void ff_h264_deq_idct_luma_dc_msa(int16_t *dst, int16_t *src, 50 int32_t de_q_val); 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, 65 int32_t dst_stride); 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]); 69 70 void ff_h264_h_lpf_luma_intra_msa(uint8_t *src, ptrdiff_t stride, 71 int alpha, int beta); 72 void ff_h264_v_lpf_luma_intra_msa(uint8_t *src, ptrdiff_t stride, 73 int alpha, int beta); 74 void ff_h264_h_lpf_chroma_intra_msa(uint8_t *src, ptrdiff_t stride, 75 int alpha, int beta); 76 void ff_h264_v_lpf_chroma_intra_msa(uint8_t *src, ptrdiff_t stride, 77 int alpha, int beta); 78 void ff_h264_h_loop_filter_luma_mbaff_intra_msa(uint8_t *src, ptrdiff_t stride, 79 int alpha, int beta); 80 81 void ff_biweight_h264_pixels16_8_msa(uint8_t *dst, uint8_t *src, 82 ptrdiff_t 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 ptrdiff_t 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 ptrdiff_t stride, int height, int log2_denom, 89 int weightd, int weights, int offset); 90 void ff_weight_h264_pixels16_8_msa(uint8_t *src, ptrdiff_t stride, int height, 91 int log2_denom, int weight, int offset); 92 void ff_weight_h264_pixels8_8_msa(uint8_t *src, ptrdiff_t stride, int height, 93 int log2_denom, int weight, int offset); 94 void ff_weight_h264_pixels4_8_msa(uint8_t *src, ptrdiff_t stride, int height, 95 int log2_denom, int weight, int offset); 96 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); 129 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); 162 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); 195 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); 228 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); 261 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); 294 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, 300 ptrdiff_t stride); 301 void ff_h264_intra_predict_mad_cow_dc_0lt_8x8_msa(uint8_t *src, 302 ptrdiff_t stride); 303 void ff_h264_intra_predict_mad_cow_dc_l00_8x8_msa(uint8_t *src, 304 ptrdiff_t stride); 305 void ff_h264_intra_predict_mad_cow_dc_0l0_8x8_msa(uint8_t *src, 306 ptrdiff_t stride); 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); 321 322 void ff_h264_add_pixels4_8_mmi(uint8_t *_dst, int16_t *_src, int stride); 323 void ff_h264_idct_add_8_mmi(uint8_t *dst, int16_t *block, int stride); 324 void ff_h264_idct8_add_8_mmi(uint8_t *dst, int16_t *block, int stride); 325 void ff_h264_idct_dc_add_8_mmi(uint8_t *dst, int16_t *block, int stride); 326 void ff_h264_idct8_dc_add_8_mmi(uint8_t *dst, int16_t *block, int stride); 327 void ff_h264_idct_add16_8_mmi(uint8_t *dst, const int *block_offset, 328 int16_t *block, int stride, const uint8_t nnzc[15*8]); 329 void ff_h264_idct_add16intra_8_mmi(uint8_t *dst, const int *block_offset, 330 int16_t *block, int stride, const uint8_t nnzc[15*8]); 331 void ff_h264_idct8_add4_8_mmi(uint8_t *dst, const int *block_offset, 332 int16_t *block, int stride, const uint8_t nnzc[15*8]); 333 void ff_h264_idct_add8_8_mmi(uint8_t **dest, const int *block_offset, 334 int16_t *block, int stride, const uint8_t nnzc[15*8]); 335 void ff_h264_idct_add8_422_8_mmi(uint8_t **dest, const int *block_offset, 336 int16_t *block, int stride, const uint8_t nnzc[15*8]); 337 void ff_h264_luma_dc_dequant_idct_8_mmi(int16_t *output, int16_t *input, 338 int qmul); 339 void ff_h264_chroma_dc_dequant_idct_8_mmi(int16_t *block, int qmul); 340 void ff_h264_chroma422_dc_dequant_idct_8_mmi(int16_t *block, int qmul); 341 342 void ff_h264_weight_pixels16_8_mmi(uint8_t *block, ptrdiff_t stride, int height, 343 int log2_denom, int weight, int offset); 344 void ff_h264_biweight_pixels16_8_mmi(uint8_t *dst, uint8_t *src, 345 ptrdiff_t stride, int height, int log2_denom, int weightd, int weights, 346 int offset); 347 void ff_h264_weight_pixels8_8_mmi(uint8_t *block, ptrdiff_t stride, int height, 348 int log2_denom, int weight, int offset); 349 void ff_h264_biweight_pixels8_8_mmi(uint8_t *dst, uint8_t *src, 350 ptrdiff_t stride, int height, int log2_denom, int weightd, int weights, 351 int offset); 352 void ff_h264_weight_pixels4_8_mmi(uint8_t *block, ptrdiff_t stride, int height, 353 int log2_denom, int weight, int offset); 354 void ff_h264_biweight_pixels4_8_mmi(uint8_t *dst, uint8_t *src, 355 ptrdiff_t stride, int height, int log2_denom, int weightd, int weights, 356 int offset); 357 358 void ff_deblock_v_chroma_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, int beta, 359 int8_t *tc0); 360 void ff_deblock_v_chroma_intra_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, 361 int beta); 362 void ff_deblock_h_chroma_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, int beta, 363 int8_t *tc0); 364 void ff_deblock_h_chroma_intra_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, 365 int beta); 366 void ff_deblock_v_luma_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, int beta, 367 int8_t *tc0); 368 void ff_deblock_v_luma_intra_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, 369 int beta); 370 void ff_deblock_h_luma_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, int beta, 371 int8_t *tc0); 372 void ff_deblock_h_luma_intra_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, 373 int beta); 374 void ff_deblock_v8_luma_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, int beta, 375 int8_t *tc0); 376 void ff_deblock_v8_luma_intra_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, 377 int beta); 378 379 void ff_put_h264_qpel16_mc00_mmi(uint8_t *dst, const uint8_t *src, 380 ptrdiff_t dst_stride); 381 void ff_put_h264_qpel16_mc10_mmi(uint8_t *dst, const uint8_t *src, 382 ptrdiff_t dst_stride); 383 void ff_put_h264_qpel16_mc20_mmi(uint8_t *dst, const uint8_t *src, 384 ptrdiff_t dst_stride); 385 void ff_put_h264_qpel16_mc30_mmi(uint8_t *dst, const uint8_t *src, 386 ptrdiff_t dst_stride); 387 void ff_put_h264_qpel16_mc01_mmi(uint8_t *dst, const uint8_t *src, 388 ptrdiff_t dst_stride); 389 void ff_put_h264_qpel16_mc11_mmi(uint8_t *dst, const uint8_t *src, 390 ptrdiff_t dst_stride); 391 void ff_put_h264_qpel16_mc21_mmi(uint8_t *dst, const uint8_t *src, 392 ptrdiff_t dst_stride); 393 void ff_put_h264_qpel16_mc31_mmi(uint8_t *dst, const uint8_t *src, 394 ptrdiff_t dst_stride); 395 void ff_put_h264_qpel16_mc02_mmi(uint8_t *dst, const uint8_t *src, 396 ptrdiff_t dst_stride); 397 void ff_put_h264_qpel16_mc12_mmi(uint8_t *dst, const uint8_t *src, 398 ptrdiff_t dst_stride); 399 void ff_put_h264_qpel16_mc22_mmi(uint8_t *dst, const uint8_t *src, 400 ptrdiff_t dst_stride); 401 void ff_put_h264_qpel16_mc32_mmi(uint8_t *dst, const uint8_t *src, 402 ptrdiff_t dst_stride); 403 void ff_put_h264_qpel16_mc03_mmi(uint8_t *dst, const uint8_t *src, 404 ptrdiff_t dst_stride); 405 void ff_put_h264_qpel16_mc13_mmi(uint8_t *dst, const uint8_t *src, 406 ptrdiff_t dst_stride); 407 void ff_put_h264_qpel16_mc23_mmi(uint8_t *dst, const uint8_t *src, 408 ptrdiff_t dst_stride); 409 void ff_put_h264_qpel16_mc33_mmi(uint8_t *dst, const uint8_t *src, 410 ptrdiff_t dst_stride); 411 412 void ff_put_h264_qpel8_mc00_mmi(uint8_t *dst, const uint8_t *src, 413 ptrdiff_t dst_stride); 414 void ff_put_h264_qpel8_mc10_mmi(uint8_t *dst, const uint8_t *src, 415 ptrdiff_t dst_stride); 416 void ff_put_h264_qpel8_mc20_mmi(uint8_t *dst, const uint8_t *src, 417 ptrdiff_t dst_stride); 418 void ff_put_h264_qpel8_mc30_mmi(uint8_t *dst, const uint8_t *src, 419 ptrdiff_t dst_stride); 420 void ff_put_h264_qpel8_mc01_mmi(uint8_t *dst, const uint8_t *src, 421 ptrdiff_t dst_stride); 422 void ff_put_h264_qpel8_mc11_mmi(uint8_t *dst, const uint8_t *src, 423 ptrdiff_t dst_stride); 424 void ff_put_h264_qpel8_mc21_mmi(uint8_t *dst, const uint8_t *src, 425 ptrdiff_t dst_stride); 426 void ff_put_h264_qpel8_mc31_mmi(uint8_t *dst, const uint8_t *src, 427 ptrdiff_t dst_stride); 428 void ff_put_h264_qpel8_mc02_mmi(uint8_t *dst, const uint8_t *src, 429 ptrdiff_t dst_stride); 430 void ff_put_h264_qpel8_mc12_mmi(uint8_t *dst, const uint8_t *src, 431 ptrdiff_t dst_stride); 432 void ff_put_h264_qpel8_mc22_mmi(uint8_t *dst, const uint8_t *src, 433 ptrdiff_t dst_stride); 434 void ff_put_h264_qpel8_mc32_mmi(uint8_t *dst, const uint8_t *src, 435 ptrdiff_t dst_stride); 436 void ff_put_h264_qpel8_mc03_mmi(uint8_t *dst, const uint8_t *src, 437 ptrdiff_t dst_stride); 438 void ff_put_h264_qpel8_mc13_mmi(uint8_t *dst, const uint8_t *src, 439 ptrdiff_t dst_stride); 440 void ff_put_h264_qpel8_mc23_mmi(uint8_t *dst, const uint8_t *src, 441 ptrdiff_t dst_stride); 442 void ff_put_h264_qpel8_mc33_mmi(uint8_t *dst, const uint8_t *src, 443 ptrdiff_t dst_stride); 444 445 void ff_put_h264_qpel4_mc00_mmi(uint8_t *dst, const uint8_t *src, 446 ptrdiff_t dst_stride); 447 void ff_put_h264_qpel4_mc10_mmi(uint8_t *dst, const uint8_t *src, 448 ptrdiff_t dst_stride); 449 void ff_put_h264_qpel4_mc20_mmi(uint8_t *dst, const uint8_t *src, 450 ptrdiff_t dst_stride); 451 void ff_put_h264_qpel4_mc30_mmi(uint8_t *dst, const uint8_t *src, 452 ptrdiff_t dst_stride); 453 void ff_put_h264_qpel4_mc01_mmi(uint8_t *dst, const uint8_t *src, 454 ptrdiff_t dst_stride); 455 void ff_put_h264_qpel4_mc11_mmi(uint8_t *dst, const uint8_t *src, 456 ptrdiff_t dst_stride); 457 void ff_put_h264_qpel4_mc21_mmi(uint8_t *dst, const uint8_t *src, 458 ptrdiff_t dst_stride); 459 void ff_put_h264_qpel4_mc31_mmi(uint8_t *dst, const uint8_t *src, 460 ptrdiff_t dst_stride); 461 void ff_put_h264_qpel4_mc02_mmi(uint8_t *dst, const uint8_t *src, 462 ptrdiff_t dst_stride); 463 void ff_put_h264_qpel4_mc12_mmi(uint8_t *dst, const uint8_t *src, 464 ptrdiff_t dst_stride); 465 void ff_put_h264_qpel4_mc22_mmi(uint8_t *dst, const uint8_t *src, 466 ptrdiff_t dst_stride); 467 void ff_put_h264_qpel4_mc32_mmi(uint8_t *dst, const uint8_t *src, 468 ptrdiff_t dst_stride); 469 void ff_put_h264_qpel4_mc03_mmi(uint8_t *dst, const uint8_t *src, 470 ptrdiff_t dst_stride); 471 void ff_put_h264_qpel4_mc13_mmi(uint8_t *dst, const uint8_t *src, 472 ptrdiff_t dst_stride); 473 void ff_put_h264_qpel4_mc23_mmi(uint8_t *dst, const uint8_t *src, 474 ptrdiff_t dst_stride); 475 void ff_put_h264_qpel4_mc33_mmi(uint8_t *dst, const uint8_t *src, 476 ptrdiff_t dst_stride); 477 478 void ff_avg_h264_qpel16_mc00_mmi(uint8_t *dst, const uint8_t *src, 479 ptrdiff_t dst_stride); 480 void ff_avg_h264_qpel16_mc10_mmi(uint8_t *dst, const uint8_t *src, 481 ptrdiff_t dst_stride); 482 void ff_avg_h264_qpel16_mc20_mmi(uint8_t *dst, const uint8_t *src, 483 ptrdiff_t dst_stride); 484 void ff_avg_h264_qpel16_mc30_mmi(uint8_t *dst, const uint8_t *src, 485 ptrdiff_t dst_stride); 486 void ff_avg_h264_qpel16_mc01_mmi(uint8_t *dst, const uint8_t *src, 487 ptrdiff_t dst_stride); 488 void ff_avg_h264_qpel16_mc11_mmi(uint8_t *dst, const uint8_t *src, 489 ptrdiff_t dst_stride); 490 void ff_avg_h264_qpel16_mc21_mmi(uint8_t *dst, const uint8_t *src, 491 ptrdiff_t dst_stride); 492 void ff_avg_h264_qpel16_mc31_mmi(uint8_t *dst, const uint8_t *src, 493 ptrdiff_t dst_stride); 494 void ff_avg_h264_qpel16_mc02_mmi(uint8_t *dst, const uint8_t *src, 495 ptrdiff_t dst_stride); 496 void ff_avg_h264_qpel16_mc12_mmi(uint8_t *dst, const uint8_t *src, 497 ptrdiff_t dst_stride); 498 void ff_avg_h264_qpel16_mc22_mmi(uint8_t *dst, const uint8_t *src, 499 ptrdiff_t dst_stride); 500 void ff_avg_h264_qpel16_mc32_mmi(uint8_t *dst, const uint8_t *src, 501 ptrdiff_t dst_stride); 502 void ff_avg_h264_qpel16_mc03_mmi(uint8_t *dst, const uint8_t *src, 503 ptrdiff_t dst_stride); 504 void ff_avg_h264_qpel16_mc13_mmi(uint8_t *dst, const uint8_t *src, 505 ptrdiff_t dst_stride); 506 void ff_avg_h264_qpel16_mc23_mmi(uint8_t *dst, const uint8_t *src, 507 ptrdiff_t dst_stride); 508 void ff_avg_h264_qpel16_mc33_mmi(uint8_t *dst, const uint8_t *src, 509 ptrdiff_t dst_stride); 510 511 void ff_avg_h264_qpel8_mc00_mmi(uint8_t *dst, const uint8_t *src, 512 ptrdiff_t dst_stride); 513 void ff_avg_h264_qpel8_mc10_mmi(uint8_t *dst, const uint8_t *src, 514 ptrdiff_t dst_stride); 515 void ff_avg_h264_qpel8_mc20_mmi(uint8_t *dst, const uint8_t *src, 516 ptrdiff_t dst_stride); 517 void ff_avg_h264_qpel8_mc30_mmi(uint8_t *dst, const uint8_t *src, 518 ptrdiff_t dst_stride); 519 void ff_avg_h264_qpel8_mc01_mmi(uint8_t *dst, const uint8_t *src, 520 ptrdiff_t dst_stride); 521 void ff_avg_h264_qpel8_mc11_mmi(uint8_t *dst, const uint8_t *src, 522 ptrdiff_t dst_stride); 523 void ff_avg_h264_qpel8_mc21_mmi(uint8_t *dst, const uint8_t *src, 524 ptrdiff_t dst_stride); 525 void ff_avg_h264_qpel8_mc31_mmi(uint8_t *dst, const uint8_t *src, 526 ptrdiff_t dst_stride); 527 void ff_avg_h264_qpel8_mc02_mmi(uint8_t *dst, const uint8_t *src, 528 ptrdiff_t dst_stride); 529 void ff_avg_h264_qpel8_mc12_mmi(uint8_t *dst, const uint8_t *src, 530 ptrdiff_t dst_stride); 531 void ff_avg_h264_qpel8_mc22_mmi(uint8_t *dst, const uint8_t *src, 532 ptrdiff_t dst_stride); 533 void ff_avg_h264_qpel8_mc32_mmi(uint8_t *dst, const uint8_t *src, 534 ptrdiff_t dst_stride); 535 void ff_avg_h264_qpel8_mc03_mmi(uint8_t *dst, const uint8_t *src, 536 ptrdiff_t dst_stride); 537 void ff_avg_h264_qpel8_mc13_mmi(uint8_t *dst, const uint8_t *src, 538 ptrdiff_t dst_stride); 539 void ff_avg_h264_qpel8_mc23_mmi(uint8_t *dst, const uint8_t *src, 540 ptrdiff_t dst_stride); 541 void ff_avg_h264_qpel8_mc33_mmi(uint8_t *dst, const uint8_t *src, 542 ptrdiff_t dst_stride); 543 544 void ff_avg_h264_qpel4_mc00_mmi(uint8_t *dst, const uint8_t *src, 545 ptrdiff_t dst_stride); 546 void ff_avg_h264_qpel4_mc10_mmi(uint8_t *dst, const uint8_t *src, 547 ptrdiff_t dst_stride); 548 void ff_avg_h264_qpel4_mc20_mmi(uint8_t *dst, const uint8_t *src, 549 ptrdiff_t dst_stride); 550 void ff_avg_h264_qpel4_mc30_mmi(uint8_t *dst, const uint8_t *src, 551 ptrdiff_t dst_stride); 552 void ff_avg_h264_qpel4_mc01_mmi(uint8_t *dst, const uint8_t *src, 553 ptrdiff_t dst_stride); 554 void ff_avg_h264_qpel4_mc11_mmi(uint8_t *dst, const uint8_t *src, 555 ptrdiff_t dst_stride); 556 void ff_avg_h264_qpel4_mc21_mmi(uint8_t *dst, const uint8_t *src, 557 ptrdiff_t dst_stride); 558 void ff_avg_h264_qpel4_mc31_mmi(uint8_t *dst, const uint8_t *src, 559 ptrdiff_t dst_stride); 560 void ff_avg_h264_qpel4_mc02_mmi(uint8_t *dst, const uint8_t *src, 561 ptrdiff_t dst_stride); 562 void ff_avg_h264_qpel4_mc12_mmi(uint8_t *dst, const uint8_t *src, 563 ptrdiff_t dst_stride); 564 void ff_avg_h264_qpel4_mc22_mmi(uint8_t *dst, const uint8_t *src, 565 ptrdiff_t dst_stride); 566 void ff_avg_h264_qpel4_mc32_mmi(uint8_t *dst, const uint8_t *src, 567 ptrdiff_t dst_stride); 568 void ff_avg_h264_qpel4_mc03_mmi(uint8_t *dst, const uint8_t *src, 569 ptrdiff_t dst_stride); 570 void ff_avg_h264_qpel4_mc13_mmi(uint8_t *dst, const uint8_t *src, 571 ptrdiff_t dst_stride); 572 void ff_avg_h264_qpel4_mc23_mmi(uint8_t *dst, const uint8_t *src, 573 ptrdiff_t dst_stride); 574 void ff_avg_h264_qpel4_mc33_mmi(uint8_t *dst, const uint8_t *src, 575 ptrdiff_t dst_stride); 576 577 #endif // #ifndef AVCODEC_MIPS_H264DSP_MIPS_H 578