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 28void ff_h264_h_lpf_luma_inter_msa(uint8_t *src, ptrdiff_t stride, 29 int alpha, int beta, int8_t *tc0); 30void ff_h264_v_lpf_luma_inter_msa(uint8_t *src, ptrdiff_t stride, 31 int alpha, int beta, int8_t *tc0); 32void ff_h264_h_lpf_chroma_inter_msa(uint8_t *src, ptrdiff_t stride, 33 int alpha, int beta, int8_t *tc0); 34void ff_h264_v_lpf_chroma_inter_msa(uint8_t *src, ptrdiff_t stride, 35 int alpha, int beta, int8_t *tc0); 36void ff_h264_h_loop_filter_chroma422_msa(uint8_t *src, ptrdiff_t stride, 37 int32_t alpha, int32_t beta, 38 int8_t *tc0); 39void 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); 42void 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 46void ff_h264_idct_add_msa(uint8_t *dst, int16_t *src, int32_t dst_stride); 47void ff_h264_idct4x4_addblk_dc_msa(uint8_t *dst, int16_t *src, 48 int32_t dst_stride); 49void ff_h264_deq_idct_luma_dc_msa(int16_t *dst, int16_t *src, 50 int32_t de_q_val); 51void 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[5 * 8]); 54void 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[5 * 8]); 57void 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]); 60void 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]); 63void ff_h264_idct8_addblk_msa(uint8_t *dst, int16_t *src, int32_t dst_stride); 64void ff_h264_idct8_dc_addblk_msa(uint8_t *dst, int16_t *src, 65 int32_t dst_stride); 66void ff_h264_idct8_add4_msa(uint8_t *dst, const int *blk_offset, 67 int16_t *blk, int dst_stride, 68 const uint8_t nnzc[5 * 8]); 69 70void ff_h264_h_lpf_luma_intra_msa(uint8_t *src, ptrdiff_t stride, 71 int alpha, int beta); 72void ff_h264_v_lpf_luma_intra_msa(uint8_t *src, ptrdiff_t stride, 73 int alpha, int beta); 74void ff_h264_h_lpf_chroma_intra_msa(uint8_t *src, ptrdiff_t stride, 75 int alpha, int beta); 76void ff_h264_v_lpf_chroma_intra_msa(uint8_t *src, ptrdiff_t stride, 77 int alpha, int beta); 78void ff_h264_h_loop_filter_luma_mbaff_intra_msa(uint8_t *src, ptrdiff_t stride, 79 int alpha, int beta); 80 81void 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); 84void 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); 87void 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); 90void ff_weight_h264_pixels16_8_msa(uint8_t *src, ptrdiff_t stride, int height, 91 int log2_denom, int weight, int offset); 92void ff_weight_h264_pixels8_8_msa(uint8_t *src, ptrdiff_t stride, int height, 93 int log2_denom, int weight, int offset); 94void ff_weight_h264_pixels4_8_msa(uint8_t *src, ptrdiff_t stride, int height, 95 int log2_denom, int weight, int offset); 96 97void ff_put_h264_qpel16_mc00_msa(uint8_t *dst, const uint8_t *src, 98 ptrdiff_t dst_stride); 99void ff_put_h264_qpel16_mc10_msa(uint8_t *dst, const uint8_t *src, 100 ptrdiff_t dst_stride); 101void ff_put_h264_qpel16_mc20_msa(uint8_t *dst, const uint8_t *src, 102 ptrdiff_t dst_stride); 103void ff_put_h264_qpel16_mc30_msa(uint8_t *dst, const uint8_t *src, 104 ptrdiff_t dst_stride); 105void ff_put_h264_qpel16_mc01_msa(uint8_t *dst, const uint8_t *src, 106 ptrdiff_t dst_stride); 107void ff_put_h264_qpel16_mc11_msa(uint8_t *dst, const uint8_t *src, 108 ptrdiff_t dst_stride); 109void ff_put_h264_qpel16_mc21_msa(uint8_t *dst, const uint8_t *src, 110 ptrdiff_t dst_stride); 111void ff_put_h264_qpel16_mc31_msa(uint8_t *dst, const uint8_t *src, 112 ptrdiff_t dst_stride); 113void ff_put_h264_qpel16_mc02_msa(uint8_t *dst, const uint8_t *src, 114 ptrdiff_t dst_stride); 115void ff_put_h264_qpel16_mc12_msa(uint8_t *dst, const uint8_t *src, 116 ptrdiff_t dst_stride); 117void ff_put_h264_qpel16_mc22_msa(uint8_t *dst, const uint8_t *src, 118 ptrdiff_t dst_stride); 119void ff_put_h264_qpel16_mc32_msa(uint8_t *dst, const uint8_t *src, 120 ptrdiff_t dst_stride); 121void ff_put_h264_qpel16_mc03_msa(uint8_t *dst, const uint8_t *src, 122 ptrdiff_t dst_stride); 123void ff_put_h264_qpel16_mc13_msa(uint8_t *dst, const uint8_t *src, 124 ptrdiff_t dst_stride); 125void ff_put_h264_qpel16_mc23_msa(uint8_t *dst, const uint8_t *src, 126 ptrdiff_t dst_stride); 127void ff_put_h264_qpel16_mc33_msa(uint8_t *dst, const uint8_t *src, 128 ptrdiff_t dst_stride); 129 130void ff_put_h264_qpel8_mc00_msa(uint8_t *dst, const uint8_t *src, 131 ptrdiff_t dst_stride); 132void ff_put_h264_qpel8_mc10_msa(uint8_t *dst, const uint8_t *src, 133 ptrdiff_t dst_stride); 134void ff_put_h264_qpel8_mc20_msa(uint8_t *dst, const uint8_t *src, 135 ptrdiff_t dst_stride); 136void ff_put_h264_qpel8_mc30_msa(uint8_t *dst, const uint8_t *src, 137 ptrdiff_t dst_stride); 138void ff_put_h264_qpel8_mc01_msa(uint8_t *dst, const uint8_t *src, 139 ptrdiff_t dst_stride); 140void ff_put_h264_qpel8_mc11_msa(uint8_t *dst, const uint8_t *src, 141 ptrdiff_t dst_stride); 142void ff_put_h264_qpel8_mc21_msa(uint8_t *dst, const uint8_t *src, 143 ptrdiff_t dst_stride); 144void ff_put_h264_qpel8_mc31_msa(uint8_t *dst, const uint8_t *src, 145 ptrdiff_t dst_stride); 146void ff_put_h264_qpel8_mc02_msa(uint8_t *dst, const uint8_t *src, 147 ptrdiff_t dst_stride); 148void ff_put_h264_qpel8_mc12_msa(uint8_t *dst, const uint8_t *src, 149 ptrdiff_t dst_stride); 150void ff_put_h264_qpel8_mc22_msa(uint8_t *dst, const uint8_t *src, 151 ptrdiff_t dst_stride); 152void ff_put_h264_qpel8_mc32_msa(uint8_t *dst, const uint8_t *src, 153 ptrdiff_t dst_stride); 154void ff_put_h264_qpel8_mc03_msa(uint8_t *dst, const uint8_t *src, 155 ptrdiff_t dst_stride); 156void ff_put_h264_qpel8_mc13_msa(uint8_t *dst, const uint8_t *src, 157 ptrdiff_t dst_stride); 158void ff_put_h264_qpel8_mc23_msa(uint8_t *dst, const uint8_t *src, 159 ptrdiff_t dst_stride); 160void ff_put_h264_qpel8_mc33_msa(uint8_t *dst, const uint8_t *src, 161 ptrdiff_t dst_stride); 162 163void ff_put_h264_qpel4_mc00_msa(uint8_t *dst, const uint8_t *src, 164 ptrdiff_t dst_stride); 165void ff_put_h264_qpel4_mc10_msa(uint8_t *dst, const uint8_t *src, 166 ptrdiff_t dst_stride); 167void ff_put_h264_qpel4_mc20_msa(uint8_t *dst, const uint8_t *src, 168 ptrdiff_t dst_stride); 169void ff_put_h264_qpel4_mc30_msa(uint8_t *dst, const uint8_t *src, 170 ptrdiff_t dst_stride); 171void ff_put_h264_qpel4_mc01_msa(uint8_t *dst, const uint8_t *src, 172 ptrdiff_t dst_stride); 173void ff_put_h264_qpel4_mc11_msa(uint8_t *dst, const uint8_t *src, 174 ptrdiff_t dst_stride); 175void ff_put_h264_qpel4_mc21_msa(uint8_t *dst, const uint8_t *src, 176 ptrdiff_t dst_stride); 177void ff_put_h264_qpel4_mc31_msa(uint8_t *dst, const uint8_t *src, 178 ptrdiff_t dst_stride); 179void ff_put_h264_qpel4_mc02_msa(uint8_t *dst, const uint8_t *src, 180 ptrdiff_t dst_stride); 181void ff_put_h264_qpel4_mc12_msa(uint8_t *dst, const uint8_t *src, 182 ptrdiff_t dst_stride); 183void ff_put_h264_qpel4_mc22_msa(uint8_t *dst, const uint8_t *src, 184 ptrdiff_t dst_stride); 185void ff_put_h264_qpel4_mc32_msa(uint8_t *dst, const uint8_t *src, 186 ptrdiff_t dst_stride); 187void ff_put_h264_qpel4_mc03_msa(uint8_t *dst, const uint8_t *src, 188 ptrdiff_t dst_stride); 189void ff_put_h264_qpel4_mc13_msa(uint8_t *dst, const uint8_t *src, 190 ptrdiff_t dst_stride); 191void ff_put_h264_qpel4_mc23_msa(uint8_t *dst, const uint8_t *src, 192 ptrdiff_t dst_stride); 193void ff_put_h264_qpel4_mc33_msa(uint8_t *dst, const uint8_t *src, 194 ptrdiff_t dst_stride); 195 196void ff_avg_h264_qpel16_mc00_msa(uint8_t *dst, const uint8_t *src, 197 ptrdiff_t dst_stride); 198void ff_avg_h264_qpel16_mc10_msa(uint8_t *dst, const uint8_t *src, 199 ptrdiff_t dst_stride); 200void ff_avg_h264_qpel16_mc20_msa(uint8_t *dst, const uint8_t *src, 201 ptrdiff_t dst_stride); 202void ff_avg_h264_qpel16_mc30_msa(uint8_t *dst, const uint8_t *src, 203 ptrdiff_t dst_stride); 204void ff_avg_h264_qpel16_mc01_msa(uint8_t *dst, const uint8_t *src, 205 ptrdiff_t dst_stride); 206void ff_avg_h264_qpel16_mc11_msa(uint8_t *dst, const uint8_t *src, 207 ptrdiff_t dst_stride); 208void ff_avg_h264_qpel16_mc21_msa(uint8_t *dst, const uint8_t *src, 209 ptrdiff_t dst_stride); 210void ff_avg_h264_qpel16_mc31_msa(uint8_t *dst, const uint8_t *src, 211 ptrdiff_t dst_stride); 212void ff_avg_h264_qpel16_mc02_msa(uint8_t *dst, const uint8_t *src, 213 ptrdiff_t dst_stride); 214void ff_avg_h264_qpel16_mc12_msa(uint8_t *dst, const uint8_t *src, 215 ptrdiff_t dst_stride); 216void ff_avg_h264_qpel16_mc22_msa(uint8_t *dst, const uint8_t *src, 217 ptrdiff_t dst_stride); 218void ff_avg_h264_qpel16_mc32_msa(uint8_t *dst, const uint8_t *src, 219 ptrdiff_t dst_stride); 220void ff_avg_h264_qpel16_mc03_msa(uint8_t *dst, const uint8_t *src, 221 ptrdiff_t dst_stride); 222void ff_avg_h264_qpel16_mc13_msa(uint8_t *dst, const uint8_t *src, 223 ptrdiff_t dst_stride); 224void ff_avg_h264_qpel16_mc23_msa(uint8_t *dst, const uint8_t *src, 225 ptrdiff_t dst_stride); 226void ff_avg_h264_qpel16_mc33_msa(uint8_t *dst, const uint8_t *src, 227 ptrdiff_t dst_stride); 228 229void ff_avg_h264_qpel8_mc00_msa(uint8_t *dst, const uint8_t *src, 230 ptrdiff_t dst_stride); 231void ff_avg_h264_qpel8_mc10_msa(uint8_t *dst, const uint8_t *src, 232 ptrdiff_t dst_stride); 233void ff_avg_h264_qpel8_mc20_msa(uint8_t *dst, const uint8_t *src, 234 ptrdiff_t dst_stride); 235void ff_avg_h264_qpel8_mc30_msa(uint8_t *dst, const uint8_t *src, 236 ptrdiff_t dst_stride); 237void ff_avg_h264_qpel8_mc01_msa(uint8_t *dst, const uint8_t *src, 238 ptrdiff_t dst_stride); 239void ff_avg_h264_qpel8_mc11_msa(uint8_t *dst, const uint8_t *src, 240 ptrdiff_t dst_stride); 241void ff_avg_h264_qpel8_mc21_msa(uint8_t *dst, const uint8_t *src, 242 ptrdiff_t dst_stride); 243void ff_avg_h264_qpel8_mc31_msa(uint8_t *dst, const uint8_t *src, 244 ptrdiff_t dst_stride); 245void ff_avg_h264_qpel8_mc02_msa(uint8_t *dst, const uint8_t *src, 246 ptrdiff_t dst_stride); 247void ff_avg_h264_qpel8_mc12_msa(uint8_t *dst, const uint8_t *src, 248 ptrdiff_t dst_stride); 249void ff_avg_h264_qpel8_mc22_msa(uint8_t *dst, const uint8_t *src, 250 ptrdiff_t dst_stride); 251void ff_avg_h264_qpel8_mc32_msa(uint8_t *dst, const uint8_t *src, 252 ptrdiff_t dst_stride); 253void ff_avg_h264_qpel8_mc03_msa(uint8_t *dst, const uint8_t *src, 254 ptrdiff_t dst_stride); 255void ff_avg_h264_qpel8_mc13_msa(uint8_t *dst, const uint8_t *src, 256 ptrdiff_t dst_stride); 257void ff_avg_h264_qpel8_mc23_msa(uint8_t *dst, const uint8_t *src, 258 ptrdiff_t dst_stride); 259void ff_avg_h264_qpel8_mc33_msa(uint8_t *dst, const uint8_t *src, 260 ptrdiff_t dst_stride); 261 262void ff_avg_h264_qpel4_mc00_msa(uint8_t *dst, const uint8_t *src, 263 ptrdiff_t dst_stride); 264void ff_avg_h264_qpel4_mc10_msa(uint8_t *dst, const uint8_t *src, 265 ptrdiff_t dst_stride); 266void ff_avg_h264_qpel4_mc20_msa(uint8_t *dst, const uint8_t *src, 267 ptrdiff_t dst_stride); 268void ff_avg_h264_qpel4_mc30_msa(uint8_t *dst, const uint8_t *src, 269 ptrdiff_t dst_stride); 270void ff_avg_h264_qpel4_mc01_msa(uint8_t *dst, const uint8_t *src, 271 ptrdiff_t dst_stride); 272void ff_avg_h264_qpel4_mc11_msa(uint8_t *dst, const uint8_t *src, 273 ptrdiff_t dst_stride); 274void ff_avg_h264_qpel4_mc21_msa(uint8_t *dst, const uint8_t *src, 275 ptrdiff_t dst_stride); 276void ff_avg_h264_qpel4_mc31_msa(uint8_t *dst, const uint8_t *src, 277 ptrdiff_t dst_stride); 278void ff_avg_h264_qpel4_mc02_msa(uint8_t *dst, const uint8_t *src, 279 ptrdiff_t dst_stride); 280void ff_avg_h264_qpel4_mc12_msa(uint8_t *dst, const uint8_t *src, 281 ptrdiff_t dst_stride); 282void ff_avg_h264_qpel4_mc22_msa(uint8_t *dst, const uint8_t *src, 283 ptrdiff_t dst_stride); 284void ff_avg_h264_qpel4_mc32_msa(uint8_t *dst, const uint8_t *src, 285 ptrdiff_t dst_stride); 286void ff_avg_h264_qpel4_mc03_msa(uint8_t *dst, const uint8_t *src, 287 ptrdiff_t dst_stride); 288void ff_avg_h264_qpel4_mc13_msa(uint8_t *dst, const uint8_t *src, 289 ptrdiff_t dst_stride); 290void ff_avg_h264_qpel4_mc23_msa(uint8_t *dst, const uint8_t *src, 291 ptrdiff_t dst_stride); 292void ff_avg_h264_qpel4_mc33_msa(uint8_t *dst, const uint8_t *src, 293 ptrdiff_t dst_stride); 294 295void ff_h264_intra_predict_plane_8x8_msa(uint8_t *src, ptrdiff_t stride); 296void ff_h264_intra_predict_dc_4blk_8x8_msa(uint8_t *src, ptrdiff_t stride); 297void ff_h264_intra_predict_hor_dc_8x8_msa(uint8_t *src, ptrdiff_t stride); 298void ff_h264_intra_predict_vert_dc_8x8_msa(uint8_t *src, ptrdiff_t stride); 299void ff_h264_intra_predict_mad_cow_dc_l0t_8x8_msa(uint8_t *src, 300 ptrdiff_t stride); 301void ff_h264_intra_predict_mad_cow_dc_0lt_8x8_msa(uint8_t *src, 302 ptrdiff_t stride); 303void ff_h264_intra_predict_mad_cow_dc_l00_8x8_msa(uint8_t *src, 304 ptrdiff_t stride); 305void ff_h264_intra_predict_mad_cow_dc_0l0_8x8_msa(uint8_t *src, 306 ptrdiff_t stride); 307void ff_h264_intra_predict_plane_16x16_msa(uint8_t *src, ptrdiff_t stride); 308void ff_h264_intra_pred_vert_8x8_msa(uint8_t *src, ptrdiff_t stride); 309void ff_h264_intra_pred_horiz_8x8_msa(uint8_t *src, ptrdiff_t stride); 310void ff_h264_intra_pred_dc_16x16_msa(uint8_t *src, ptrdiff_t stride); 311void ff_h264_intra_pred_vert_16x16_msa(uint8_t *src, ptrdiff_t stride); 312void ff_h264_intra_pred_horiz_16x16_msa(uint8_t *src, ptrdiff_t stride); 313void ff_h264_intra_pred_dc_left_16x16_msa(uint8_t *src, ptrdiff_t stride); 314void ff_h264_intra_pred_dc_top_16x16_msa(uint8_t *src, ptrdiff_t stride); 315void ff_h264_intra_pred_dc_128_8x8_msa(uint8_t *src, ptrdiff_t stride); 316void ff_h264_intra_pred_dc_128_16x16_msa(uint8_t *src, ptrdiff_t stride); 317void ff_vp8_pred8x8_127_dc_8_msa(uint8_t *src, ptrdiff_t stride); 318void ff_vp8_pred8x8_129_dc_8_msa(uint8_t *src, ptrdiff_t stride); 319void ff_vp8_pred16x16_127_dc_8_msa(uint8_t *src, ptrdiff_t stride); 320void ff_vp8_pred16x16_129_dc_8_msa(uint8_t *src, ptrdiff_t stride); 321 322void ff_h264_loop_filter_strength_msa(int16_t bS[2][4][4], uint8_t nnz[40], 323 int8_t ref[2][40], int16_t mv[2][40][2], int bidir, int edges, 324 int step, int mask_mv0, int mask_mv1, int field); 325 326void ff_h264_add_pixels4_8_mmi(uint8_t *_dst, int16_t *_src, int stride); 327void ff_h264_idct_add_8_mmi(uint8_t *dst, int16_t *block, int stride); 328void ff_h264_idct8_add_8_mmi(uint8_t *dst, int16_t *block, int stride); 329void ff_h264_idct_dc_add_8_mmi(uint8_t *dst, int16_t *block, int stride); 330void ff_h264_idct8_dc_add_8_mmi(uint8_t *dst, int16_t *block, int stride); 331void ff_h264_idct_add16_8_mmi(uint8_t *dst, const int *block_offset, 332 int16_t *block, int stride, const uint8_t nnzc[5 * 8]); 333void ff_h264_idct_add16intra_8_mmi(uint8_t *dst, const int *block_offset, 334 int16_t *block, int stride, const uint8_t nnzc[5 * 8]); 335void ff_h264_idct8_add4_8_mmi(uint8_t *dst, const int *block_offset, 336 int16_t *block, int stride, const uint8_t nnzc[5 * 8]); 337void ff_h264_idct_add8_8_mmi(uint8_t **dest, const int *block_offset, 338 int16_t *block, int stride, const uint8_t nnzc[15*8]); 339void ff_h264_idct_add8_422_8_mmi(uint8_t **dest, const int *block_offset, 340 int16_t *block, int stride, const uint8_t nnzc[15*8]); 341void ff_h264_luma_dc_dequant_idct_8_mmi(int16_t *output, int16_t *input, 342 int qmul); 343void ff_h264_chroma_dc_dequant_idct_8_mmi(int16_t *block, int qmul); 344void ff_h264_chroma422_dc_dequant_idct_8_mmi(int16_t *block, int qmul); 345 346void ff_h264_weight_pixels16_8_mmi(uint8_t *block, ptrdiff_t stride, int height, 347 int log2_denom, int weight, int offset); 348void ff_h264_biweight_pixels16_8_mmi(uint8_t *dst, uint8_t *src, 349 ptrdiff_t stride, int height, int log2_denom, int weightd, int weights, 350 int offset); 351void ff_h264_weight_pixels8_8_mmi(uint8_t *block, ptrdiff_t stride, int height, 352 int log2_denom, int weight, int offset); 353void ff_h264_biweight_pixels8_8_mmi(uint8_t *dst, uint8_t *src, 354 ptrdiff_t stride, int height, int log2_denom, int weightd, int weights, 355 int offset); 356void ff_h264_weight_pixels4_8_mmi(uint8_t *block, ptrdiff_t stride, int height, 357 int log2_denom, int weight, int offset); 358void ff_h264_biweight_pixels4_8_mmi(uint8_t *dst, uint8_t *src, 359 ptrdiff_t stride, int height, int log2_denom, int weightd, int weights, 360 int offset); 361 362void ff_deblock_v_chroma_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, int beta, 363 int8_t *tc0); 364void ff_deblock_v_chroma_intra_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, 365 int beta); 366void ff_deblock_h_chroma_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, int beta, 367 int8_t *tc0); 368void ff_deblock_h_chroma_intra_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, 369 int beta); 370void ff_deblock_v_luma_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, int beta, 371 int8_t *tc0); 372void ff_deblock_v_luma_intra_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, 373 int beta); 374void ff_deblock_h_luma_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, int beta, 375 int8_t *tc0); 376void ff_deblock_h_luma_intra_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, 377 int beta); 378void ff_deblock_v8_luma_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, int beta, 379 int8_t *tc0); 380void ff_deblock_v8_luma_intra_8_mmi(uint8_t *pix, ptrdiff_t stride, int alpha, 381 int beta); 382 383void ff_put_h264_qpel16_mc00_mmi(uint8_t *dst, const uint8_t *src, 384 ptrdiff_t dst_stride); 385void ff_put_h264_qpel16_mc10_mmi(uint8_t *dst, const uint8_t *src, 386 ptrdiff_t dst_stride); 387void ff_put_h264_qpel16_mc20_mmi(uint8_t *dst, const uint8_t *src, 388 ptrdiff_t dst_stride); 389void ff_put_h264_qpel16_mc30_mmi(uint8_t *dst, const uint8_t *src, 390 ptrdiff_t dst_stride); 391void ff_put_h264_qpel16_mc01_mmi(uint8_t *dst, const uint8_t *src, 392 ptrdiff_t dst_stride); 393void ff_put_h264_qpel16_mc11_mmi(uint8_t *dst, const uint8_t *src, 394 ptrdiff_t dst_stride); 395void ff_put_h264_qpel16_mc21_mmi(uint8_t *dst, const uint8_t *src, 396 ptrdiff_t dst_stride); 397void ff_put_h264_qpel16_mc31_mmi(uint8_t *dst, const uint8_t *src, 398 ptrdiff_t dst_stride); 399void ff_put_h264_qpel16_mc02_mmi(uint8_t *dst, const uint8_t *src, 400 ptrdiff_t dst_stride); 401void ff_put_h264_qpel16_mc12_mmi(uint8_t *dst, const uint8_t *src, 402 ptrdiff_t dst_stride); 403void ff_put_h264_qpel16_mc22_mmi(uint8_t *dst, const uint8_t *src, 404 ptrdiff_t dst_stride); 405void ff_put_h264_qpel16_mc32_mmi(uint8_t *dst, const uint8_t *src, 406 ptrdiff_t dst_stride); 407void ff_put_h264_qpel16_mc03_mmi(uint8_t *dst, const uint8_t *src, 408 ptrdiff_t dst_stride); 409void ff_put_h264_qpel16_mc13_mmi(uint8_t *dst, const uint8_t *src, 410 ptrdiff_t dst_stride); 411void ff_put_h264_qpel16_mc23_mmi(uint8_t *dst, const uint8_t *src, 412 ptrdiff_t dst_stride); 413void ff_put_h264_qpel16_mc33_mmi(uint8_t *dst, const uint8_t *src, 414 ptrdiff_t dst_stride); 415 416void ff_put_h264_qpel8_mc00_mmi(uint8_t *dst, const uint8_t *src, 417 ptrdiff_t dst_stride); 418void ff_put_h264_qpel8_mc10_mmi(uint8_t *dst, const uint8_t *src, 419 ptrdiff_t dst_stride); 420void ff_put_h264_qpel8_mc20_mmi(uint8_t *dst, const uint8_t *src, 421 ptrdiff_t dst_stride); 422void ff_put_h264_qpel8_mc30_mmi(uint8_t *dst, const uint8_t *src, 423 ptrdiff_t dst_stride); 424void ff_put_h264_qpel8_mc01_mmi(uint8_t *dst, const uint8_t *src, 425 ptrdiff_t dst_stride); 426void ff_put_h264_qpel8_mc11_mmi(uint8_t *dst, const uint8_t *src, 427 ptrdiff_t dst_stride); 428void ff_put_h264_qpel8_mc21_mmi(uint8_t *dst, const uint8_t *src, 429 ptrdiff_t dst_stride); 430void ff_put_h264_qpel8_mc31_mmi(uint8_t *dst, const uint8_t *src, 431 ptrdiff_t dst_stride); 432void ff_put_h264_qpel8_mc02_mmi(uint8_t *dst, const uint8_t *src, 433 ptrdiff_t dst_stride); 434void ff_put_h264_qpel8_mc12_mmi(uint8_t *dst, const uint8_t *src, 435 ptrdiff_t dst_stride); 436void ff_put_h264_qpel8_mc22_mmi(uint8_t *dst, const uint8_t *src, 437 ptrdiff_t dst_stride); 438void ff_put_h264_qpel8_mc32_mmi(uint8_t *dst, const uint8_t *src, 439 ptrdiff_t dst_stride); 440void ff_put_h264_qpel8_mc03_mmi(uint8_t *dst, const uint8_t *src, 441 ptrdiff_t dst_stride); 442void ff_put_h264_qpel8_mc13_mmi(uint8_t *dst, const uint8_t *src, 443 ptrdiff_t dst_stride); 444void ff_put_h264_qpel8_mc23_mmi(uint8_t *dst, const uint8_t *src, 445 ptrdiff_t dst_stride); 446void ff_put_h264_qpel8_mc33_mmi(uint8_t *dst, const uint8_t *src, 447 ptrdiff_t dst_stride); 448 449void ff_put_h264_qpel4_mc00_mmi(uint8_t *dst, const uint8_t *src, 450 ptrdiff_t dst_stride); 451void ff_put_h264_qpel4_mc10_mmi(uint8_t *dst, const uint8_t *src, 452 ptrdiff_t dst_stride); 453void ff_put_h264_qpel4_mc20_mmi(uint8_t *dst, const uint8_t *src, 454 ptrdiff_t dst_stride); 455void ff_put_h264_qpel4_mc30_mmi(uint8_t *dst, const uint8_t *src, 456 ptrdiff_t dst_stride); 457void ff_put_h264_qpel4_mc01_mmi(uint8_t *dst, const uint8_t *src, 458 ptrdiff_t dst_stride); 459void ff_put_h264_qpel4_mc11_mmi(uint8_t *dst, const uint8_t *src, 460 ptrdiff_t dst_stride); 461void ff_put_h264_qpel4_mc21_mmi(uint8_t *dst, const uint8_t *src, 462 ptrdiff_t dst_stride); 463void ff_put_h264_qpel4_mc31_mmi(uint8_t *dst, const uint8_t *src, 464 ptrdiff_t dst_stride); 465void ff_put_h264_qpel4_mc02_mmi(uint8_t *dst, const uint8_t *src, 466 ptrdiff_t dst_stride); 467void ff_put_h264_qpel4_mc12_mmi(uint8_t *dst, const uint8_t *src, 468 ptrdiff_t dst_stride); 469void ff_put_h264_qpel4_mc22_mmi(uint8_t *dst, const uint8_t *src, 470 ptrdiff_t dst_stride); 471void ff_put_h264_qpel4_mc32_mmi(uint8_t *dst, const uint8_t *src, 472 ptrdiff_t dst_stride); 473void ff_put_h264_qpel4_mc03_mmi(uint8_t *dst, const uint8_t *src, 474 ptrdiff_t dst_stride); 475void ff_put_h264_qpel4_mc13_mmi(uint8_t *dst, const uint8_t *src, 476 ptrdiff_t dst_stride); 477void ff_put_h264_qpel4_mc23_mmi(uint8_t *dst, const uint8_t *src, 478 ptrdiff_t dst_stride); 479void ff_put_h264_qpel4_mc33_mmi(uint8_t *dst, const uint8_t *src, 480 ptrdiff_t dst_stride); 481 482void ff_avg_h264_qpel16_mc00_mmi(uint8_t *dst, const uint8_t *src, 483 ptrdiff_t dst_stride); 484void ff_avg_h264_qpel16_mc10_mmi(uint8_t *dst, const uint8_t *src, 485 ptrdiff_t dst_stride); 486void ff_avg_h264_qpel16_mc20_mmi(uint8_t *dst, const uint8_t *src, 487 ptrdiff_t dst_stride); 488void ff_avg_h264_qpel16_mc30_mmi(uint8_t *dst, const uint8_t *src, 489 ptrdiff_t dst_stride); 490void ff_avg_h264_qpel16_mc01_mmi(uint8_t *dst, const uint8_t *src, 491 ptrdiff_t dst_stride); 492void ff_avg_h264_qpel16_mc11_mmi(uint8_t *dst, const uint8_t *src, 493 ptrdiff_t dst_stride); 494void ff_avg_h264_qpel16_mc21_mmi(uint8_t *dst, const uint8_t *src, 495 ptrdiff_t dst_stride); 496void ff_avg_h264_qpel16_mc31_mmi(uint8_t *dst, const uint8_t *src, 497 ptrdiff_t dst_stride); 498void ff_avg_h264_qpel16_mc02_mmi(uint8_t *dst, const uint8_t *src, 499 ptrdiff_t dst_stride); 500void ff_avg_h264_qpel16_mc12_mmi(uint8_t *dst, const uint8_t *src, 501 ptrdiff_t dst_stride); 502void ff_avg_h264_qpel16_mc22_mmi(uint8_t *dst, const uint8_t *src, 503 ptrdiff_t dst_stride); 504void ff_avg_h264_qpel16_mc32_mmi(uint8_t *dst, const uint8_t *src, 505 ptrdiff_t dst_stride); 506void ff_avg_h264_qpel16_mc03_mmi(uint8_t *dst, const uint8_t *src, 507 ptrdiff_t dst_stride); 508void ff_avg_h264_qpel16_mc13_mmi(uint8_t *dst, const uint8_t *src, 509 ptrdiff_t dst_stride); 510void ff_avg_h264_qpel16_mc23_mmi(uint8_t *dst, const uint8_t *src, 511 ptrdiff_t dst_stride); 512void ff_avg_h264_qpel16_mc33_mmi(uint8_t *dst, const uint8_t *src, 513 ptrdiff_t dst_stride); 514 515void ff_avg_h264_qpel8_mc00_mmi(uint8_t *dst, const uint8_t *src, 516 ptrdiff_t dst_stride); 517void ff_avg_h264_qpel8_mc10_mmi(uint8_t *dst, const uint8_t *src, 518 ptrdiff_t dst_stride); 519void ff_avg_h264_qpel8_mc20_mmi(uint8_t *dst, const uint8_t *src, 520 ptrdiff_t dst_stride); 521void ff_avg_h264_qpel8_mc30_mmi(uint8_t *dst, const uint8_t *src, 522 ptrdiff_t dst_stride); 523void ff_avg_h264_qpel8_mc01_mmi(uint8_t *dst, const uint8_t *src, 524 ptrdiff_t dst_stride); 525void ff_avg_h264_qpel8_mc11_mmi(uint8_t *dst, const uint8_t *src, 526 ptrdiff_t dst_stride); 527void ff_avg_h264_qpel8_mc21_mmi(uint8_t *dst, const uint8_t *src, 528 ptrdiff_t dst_stride); 529void ff_avg_h264_qpel8_mc31_mmi(uint8_t *dst, const uint8_t *src, 530 ptrdiff_t dst_stride); 531void ff_avg_h264_qpel8_mc02_mmi(uint8_t *dst, const uint8_t *src, 532 ptrdiff_t dst_stride); 533void ff_avg_h264_qpel8_mc12_mmi(uint8_t *dst, const uint8_t *src, 534 ptrdiff_t dst_stride); 535void ff_avg_h264_qpel8_mc22_mmi(uint8_t *dst, const uint8_t *src, 536 ptrdiff_t dst_stride); 537void ff_avg_h264_qpel8_mc32_mmi(uint8_t *dst, const uint8_t *src, 538 ptrdiff_t dst_stride); 539void ff_avg_h264_qpel8_mc03_mmi(uint8_t *dst, const uint8_t *src, 540 ptrdiff_t dst_stride); 541void ff_avg_h264_qpel8_mc13_mmi(uint8_t *dst, const uint8_t *src, 542 ptrdiff_t dst_stride); 543void ff_avg_h264_qpel8_mc23_mmi(uint8_t *dst, const uint8_t *src, 544 ptrdiff_t dst_stride); 545void ff_avg_h264_qpel8_mc33_mmi(uint8_t *dst, const uint8_t *src, 546 ptrdiff_t dst_stride); 547 548void ff_avg_h264_qpel4_mc00_mmi(uint8_t *dst, const uint8_t *src, 549 ptrdiff_t dst_stride); 550void ff_avg_h264_qpel4_mc10_mmi(uint8_t *dst, const uint8_t *src, 551 ptrdiff_t dst_stride); 552void ff_avg_h264_qpel4_mc20_mmi(uint8_t *dst, const uint8_t *src, 553 ptrdiff_t dst_stride); 554void ff_avg_h264_qpel4_mc30_mmi(uint8_t *dst, const uint8_t *src, 555 ptrdiff_t dst_stride); 556void ff_avg_h264_qpel4_mc01_mmi(uint8_t *dst, const uint8_t *src, 557 ptrdiff_t dst_stride); 558void ff_avg_h264_qpel4_mc11_mmi(uint8_t *dst, const uint8_t *src, 559 ptrdiff_t dst_stride); 560void ff_avg_h264_qpel4_mc21_mmi(uint8_t *dst, const uint8_t *src, 561 ptrdiff_t dst_stride); 562void ff_avg_h264_qpel4_mc31_mmi(uint8_t *dst, const uint8_t *src, 563 ptrdiff_t dst_stride); 564void ff_avg_h264_qpel4_mc02_mmi(uint8_t *dst, const uint8_t *src, 565 ptrdiff_t dst_stride); 566void ff_avg_h264_qpel4_mc12_mmi(uint8_t *dst, const uint8_t *src, 567 ptrdiff_t dst_stride); 568void ff_avg_h264_qpel4_mc22_mmi(uint8_t *dst, const uint8_t *src, 569 ptrdiff_t dst_stride); 570void ff_avg_h264_qpel4_mc32_mmi(uint8_t *dst, const uint8_t *src, 571 ptrdiff_t dst_stride); 572void ff_avg_h264_qpel4_mc03_mmi(uint8_t *dst, const uint8_t *src, 573 ptrdiff_t dst_stride); 574void ff_avg_h264_qpel4_mc13_mmi(uint8_t *dst, const uint8_t *src, 575 ptrdiff_t dst_stride); 576void ff_avg_h264_qpel4_mc23_mmi(uint8_t *dst, const uint8_t *src, 577 ptrdiff_t dst_stride); 578void ff_avg_h264_qpel4_mc33_mmi(uint8_t *dst, const uint8_t *src, 579 ptrdiff_t dst_stride); 580 581#endif // #ifndef AVCODEC_MIPS_H264DSP_MIPS_H 582