Home | History | Annotate | Download | only in mips64-msa
      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
     19 extern "C" {
     20 #endif
     21 
     22 unsigned int vpx_avg_4x4_c(const uint8_t *, int p);
     23 unsigned int vpx_avg_4x4_msa(const uint8_t *, int p);
     24 #define vpx_avg_4x4 vpx_avg_4x4_msa
     25 
     26 unsigned int vpx_avg_8x8_c(const uint8_t *, int p);
     27 unsigned int vpx_avg_8x8_msa(const uint8_t *, int p);
     28 #define vpx_avg_8x8 vpx_avg_8x8_msa
     29 
     30 void 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 
     33 void 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);
     34 void 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 
     37 void 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);
     38 void 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 
     41 void 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);
     42 void 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 
     45 void 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);
     46 void 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 
     49 void 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);
     50 void 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 
     53 void 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);
     54 void 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 
     57 void 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);
     58 void 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 
     61 void 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);
     62 void 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 
     65 void 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 
     68 void 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 
     71 void 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 
     74 void 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 
     77 void 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 
     80 void 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 
     83 void 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 
     86 void 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 
     89 void 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 
     92 void 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 
     95 void 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 
     98 void 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 
    101 void 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 
    104 void 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 
    107 void 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 
    110 void 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 
    113 void 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 
    116 void 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 
    119 void 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 
    122 void 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 
    125 void 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 
    128 void 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 
    131 void 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 
    134 void 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 
    137 void 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 
    140 void 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 
    143 void vpx_dc_128_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    144 void 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 
    147 void vpx_dc_128_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    148 void 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 
    151 void vpx_dc_128_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    152 void 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 
    155 void vpx_dc_128_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    156 void 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 
    159 void vpx_dc_left_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    160 void 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 
    163 void vpx_dc_left_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    164 void 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 
    167 void vpx_dc_left_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    168 void 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 
    171 void vpx_dc_left_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    172 void 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 
    175 void vpx_dc_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    176 void 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 
    179 void vpx_dc_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    180 void 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 
    183 void vpx_dc_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    184 void 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 
    187 void vpx_dc_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    188 void 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 
    191 void vpx_dc_top_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    192 void 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 
    195 void vpx_dc_top_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    196 void 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 
    199 void vpx_dc_top_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    200 void 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 
    203 void vpx_dc_top_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    204 void 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 
    207 void vpx_fdct16x16_c(const int16_t *input, tran_low_t *output, int stride);
    208 void vpx_fdct16x16_msa(const int16_t *input, tran_low_t *output, int stride);
    209 #define vpx_fdct16x16 vpx_fdct16x16_msa
    210 
    211 void vpx_fdct16x16_1_c(const int16_t *input, tran_low_t *output, int stride);
    212 void vpx_fdct16x16_1_msa(const int16_t *input, tran_low_t *output, int stride);
    213 #define vpx_fdct16x16_1 vpx_fdct16x16_1_msa
    214 
    215 void vpx_fdct32x32_c(const int16_t *input, tran_low_t *output, int stride);
    216 void vpx_fdct32x32_msa(const int16_t *input, tran_low_t *output, int stride);
    217 #define vpx_fdct32x32 vpx_fdct32x32_msa
    218 
    219 void vpx_fdct32x32_1_c(const int16_t *input, tran_low_t *output, int stride);
    220 void vpx_fdct32x32_1_msa(const int16_t *input, tran_low_t *output, int stride);
    221 #define vpx_fdct32x32_1 vpx_fdct32x32_1_msa
    222 
    223 void vpx_fdct32x32_rd_c(const int16_t *input, tran_low_t *output, int stride);
    224 void vpx_fdct32x32_rd_msa(const int16_t *input, tran_low_t *output, int stride);
    225 #define vpx_fdct32x32_rd vpx_fdct32x32_rd_msa
    226 
    227 void vpx_fdct4x4_c(const int16_t *input, tran_low_t *output, int stride);
    228 void vpx_fdct4x4_msa(const int16_t *input, tran_low_t *output, int stride);
    229 #define vpx_fdct4x4 vpx_fdct4x4_msa
    230 
    231 void vpx_fdct4x4_1_c(const int16_t *input, tran_low_t *output, int stride);
    232 #define vpx_fdct4x4_1 vpx_fdct4x4_1_c
    233 
    234 void vpx_fdct8x8_c(const int16_t *input, tran_low_t *output, int stride);
    235 void vpx_fdct8x8_msa(const int16_t *input, tran_low_t *output, int stride);
    236 #define vpx_fdct8x8 vpx_fdct8x8_msa
    237 
    238 void vpx_fdct8x8_1_c(const int16_t *input, tran_low_t *output, int stride);
    239 void vpx_fdct8x8_1_msa(const int16_t *input, tran_low_t *output, int stride);
    240 #define vpx_fdct8x8_1 vpx_fdct8x8_1_msa
    241 
    242 void vpx_get16x16var_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
    243 void 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 
    246 unsigned int vpx_get4x4sse_cs_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int  ref_stride);
    247 unsigned 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 
    250 void vpx_get8x8var_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum);
    251 void 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 
    254 unsigned int vpx_get_mb_ss_c(const int16_t *);
    255 unsigned int vpx_get_mb_ss_msa(const int16_t *);
    256 #define vpx_get_mb_ss vpx_get_mb_ss_msa
    257 
    258 void vpx_h_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    259 void 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 
    262 void vpx_h_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    263 void 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 
    266 void vpx_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    267 void 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 
    270 void vpx_h_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    271 void 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 
    274 void vpx_hadamard_16x16_c(const int16_t *src_diff, int src_stride, int16_t *coeff);
    275 void 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 
    278 void vpx_hadamard_8x8_c(const int16_t *src_diff, int src_stride, int16_t *coeff);
    279 void 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 
    282 void 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 
    285 void vpx_idct16x16_10_add_c(const tran_low_t *input, uint8_t *dest, int stride);
    286 void 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 
    289 void vpx_idct16x16_1_add_c(const tran_low_t *input, uint8_t *dest, int stride);
    290 void 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 
    293 void vpx_idct16x16_256_add_c(const tran_low_t *input, uint8_t *dest, int stride);
    294 void 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 
    297 void vpx_idct16x16_38_add_c(const tran_low_t *input, uint8_t *dest, int stride);
    298 void 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 
    301 void vpx_idct32x32_1024_add_c(const tran_low_t *input, uint8_t *dest, int stride);
    302 void 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 
    305 void vpx_idct32x32_135_add_c(const tran_low_t *input, uint8_t *dest, int stride);
    306 void 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 
    309 void vpx_idct32x32_1_add_c(const tran_low_t *input, uint8_t *dest, int stride);
    310 void 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 
    313 void vpx_idct32x32_34_add_c(const tran_low_t *input, uint8_t *dest, int stride);
    314 void 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 
    317 void vpx_idct4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int stride);
    318 void 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 
    321 void vpx_idct4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int stride);
    322 void 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 
    325 void vpx_idct8x8_12_add_c(const tran_low_t *input, uint8_t *dest, int stride);
    326 void 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 
    329 void vpx_idct8x8_1_add_c(const tran_low_t *input, uint8_t *dest, int stride);
    330 void 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 
    333 void vpx_idct8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int stride);
    334 void 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 
    337 int16_t vpx_int_pro_col_c(const uint8_t *ref, const int width);
    338 int16_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 
    341 void vpx_int_pro_row_c(int16_t *hbuf, const uint8_t *ref, const int ref_stride, const int height);
    342 void 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 
    345 void vpx_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int stride);
    346 void 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 
    349 void vpx_iwht4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int stride);
    350 void 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 
    353 void vpx_lpf_horizontal_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
    354 void 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 
    357 void vpx_lpf_horizontal_16_dual_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
    358 void 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 
    361 void vpx_lpf_horizontal_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
    362 void 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 
    365 void 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);
    366 void 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 
    369 void vpx_lpf_horizontal_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
    370 void 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 
    373 void 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);
    374 void 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 
    377 void vpx_lpf_vertical_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
    378 void 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 
    381 void vpx_lpf_vertical_16_dual_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
    382 void 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 
    385 void vpx_lpf_vertical_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
    386 void 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 
    389 void 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);
    390 void 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 
    393 void vpx_lpf_vertical_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
    394 void 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 
    397 void 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);
    398 void 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 
    401 void vpx_minmax_8x8_c(const uint8_t *s, int p, const uint8_t *d, int dp, int *min, int *max);
    402 void 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 
    405 unsigned int vpx_mse16x16_c(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
    406 unsigned 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 
    409 unsigned int vpx_mse16x8_c(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
    410 unsigned 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 
    413 unsigned int vpx_mse8x16_c(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
    414 unsigned 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 
    417 unsigned int vpx_mse8x8_c(const uint8_t *src_ptr, int  source_stride, const uint8_t *ref_ptr, int  recon_stride, unsigned int *sse);
    418 unsigned 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 
    421 void 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 
    424 void 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 
    427 unsigned int vpx_sad16x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
    428 unsigned 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 
    431 unsigned 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);
    432 unsigned 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 
    435 void vpx_sad16x16x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
    436 void 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 
    439 void vpx_sad16x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
    440 void 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 
    443 void vpx_sad16x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
    444 void 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 
    447 unsigned int vpx_sad16x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
    448 unsigned 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 
    451 unsigned 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);
    452 unsigned 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 
    455 void vpx_sad16x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
    456 void 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 
    459 unsigned int vpx_sad16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
    460 unsigned 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 
    463 unsigned 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);
    464 unsigned 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 
    467 void vpx_sad16x8x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
    468 void 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 
    471 void vpx_sad16x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
    472 void 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 
    475 void vpx_sad16x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
    476 void 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 
    479 unsigned int vpx_sad32x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
    480 unsigned 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 
    483 unsigned 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);
    484 unsigned 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 
    487 void vpx_sad32x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
    488 void 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 
    491 unsigned int vpx_sad32x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
    492 unsigned 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 
    495 unsigned 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);
    496 unsigned 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 
    499 void vpx_sad32x32x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
    500 void 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 
    503 void vpx_sad32x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
    504 void 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 
    507 void vpx_sad32x32x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
    508 void 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 
    511 unsigned int vpx_sad32x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
    512 unsigned 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 
    515 unsigned 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);
    516 unsigned 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 
    519 void vpx_sad32x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
    520 void 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 
    523 unsigned int vpx_sad4x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
    524 unsigned 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 
    527 unsigned 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);
    528 unsigned 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 
    531 void vpx_sad4x4x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
    532 void 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 
    535 void vpx_sad4x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
    536 void 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 
    539 void vpx_sad4x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
    540 void 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 
    543 unsigned int vpx_sad4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
    544 unsigned 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 
    547 unsigned 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);
    548 unsigned 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 
    551 void vpx_sad4x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
    552 void 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 
    555 void vpx_sad4x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
    556 void 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 
    559 unsigned int vpx_sad64x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
    560 unsigned 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 
    563 unsigned 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);
    564 unsigned 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 
    567 void vpx_sad64x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
    568 void 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 
    571 unsigned int vpx_sad64x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
    572 unsigned 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 
    575 unsigned 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);
    576 unsigned 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 
    579 void vpx_sad64x64x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
    580 void 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 
    583 void vpx_sad64x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
    584 void 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 
    587 void vpx_sad64x64x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
    588 void 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 
    591 unsigned int vpx_sad8x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
    592 unsigned 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 
    595 unsigned 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);
    596 unsigned 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 
    599 void vpx_sad8x16x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
    600 void 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 
    603 void vpx_sad8x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
    604 void 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 
    607 void vpx_sad8x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
    608 void 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 
    611 unsigned int vpx_sad8x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
    612 unsigned 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 
    615 unsigned 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);
    616 unsigned 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 
    619 void vpx_sad8x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
    620 void 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 
    623 void vpx_sad8x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
    624 void 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 
    627 unsigned int vpx_sad8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride);
    628 unsigned 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 
    631 unsigned 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);
    632 unsigned 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 
    635 void vpx_sad8x8x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
    636 void 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 
    639 void vpx_sad8x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array);
    640 void 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 
    643 void vpx_sad8x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array);
    644 void 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 
    647 int vpx_satd_c(const int16_t *coeff, int length);
    648 int vpx_satd_msa(const int16_t *coeff, int length);
    649 #define vpx_satd vpx_satd_msa
    650 
    651 void 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 
    654 void 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 
    657 void 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 
    660 void 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 
    663 void 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 
    666 void 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 
    669 uint32_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);
    670 uint32_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 
    673 uint32_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);
    674 uint32_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 
    677 uint32_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);
    678 uint32_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 
    681 uint32_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);
    682 uint32_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 
    685 uint32_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);
    686 uint32_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 
    689 uint32_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);
    690 uint32_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 
    693 uint32_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);
    694 uint32_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 
    697 uint32_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);
    698 uint32_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 
    701 uint32_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);
    702 uint32_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 
    705 uint32_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);
    706 uint32_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 
    709 uint32_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);
    710 uint32_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 
    713 uint32_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);
    714 uint32_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 
    717 uint32_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);
    718 uint32_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 
    721 uint32_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);
    722 uint32_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 
    725 uint32_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);
    726 uint32_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 
    729 uint32_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);
    730 uint32_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 
    733 uint32_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);
    734 uint32_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 
    737 uint32_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);
    738 uint32_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 
    741 uint32_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);
    742 uint32_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 
    745 uint32_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);
    746 uint32_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 
    749 uint32_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);
    750 uint32_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 
    753 uint32_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);
    754 uint32_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 
    757 uint32_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);
    758 uint32_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 
    761 uint32_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);
    762 uint32_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 
    765 uint32_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);
    766 uint32_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 
    769 uint32_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);
    770 uint32_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 
    773 void 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);
    774 void 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 
    777 uint64_t vpx_sum_squares_2d_i16_c(const int16_t *src, int stride, int size);
    778 uint64_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 
    781 void vpx_tm_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    782 void 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 
    785 void vpx_tm_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    786 void 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 
    789 void vpx_tm_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    790 void 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 
    793 void vpx_tm_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    794 void 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 
    797 void vpx_v_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    798 void 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 
    801 void vpx_v_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    802 void 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 
    805 void vpx_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    806 void 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 
    809 void vpx_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left);
    810 void 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 
    813 unsigned int vpx_variance16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
    814 unsigned 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 
    817 unsigned int vpx_variance16x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
    818 unsigned 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 
    821 unsigned int vpx_variance16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
    822 unsigned 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 
    825 unsigned int vpx_variance32x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
    826 unsigned 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 
    829 unsigned int vpx_variance32x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
    830 unsigned 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 
    833 unsigned int vpx_variance32x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
    834 unsigned 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 
    837 unsigned int vpx_variance4x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
    838 unsigned 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 
    841 unsigned int vpx_variance4x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
    842 unsigned 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 
    845 unsigned int vpx_variance64x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
    846 unsigned 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 
    849 unsigned int vpx_variance64x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
    850 unsigned 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 
    853 unsigned int vpx_variance8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
    854 unsigned 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 
    857 unsigned int vpx_variance8x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
    858 unsigned 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 
    861 unsigned int vpx_variance8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse);
    862 unsigned 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 
    865 void 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 
    868 int vpx_vector_var_c(const int16_t *ref, const int16_t *src, const int bwl);
    869 int 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 
    872 void vpx_dsp_rtcd(void);
    873 
    874 #include "vpx_config.h"
    875 
    876 #ifdef RTCD_C
    877 static void setup_rtcd_internal(void)
    878 {
    879 #if HAVE_DSPR2
    880 void vpx_dsputil_static_init();
    881 #if CONFIG_VP8
    882 void dsputil_static_init();
    883 #endif
    884 
    885 vpx_dsputil_static_init();
    886 #if CONFIG_VP8
    887 dsputil_static_init();
    888 #endif
    889 #endif
    890 }
    891 #endif
    892 
    893 #ifdef __cplusplus
    894 }  // extern "C"
    895 #endif
    896 
    897 #endif
    898