vpx_dsp_rtcd.h (63716B)
1 /* 2 * Copyright (c) 2025 The WebM project authors. All Rights Reserved. 3 * 4 * Use of this source code is governed by a BSD-style license 5 * that can be found in the LICENSE file in the root of the source 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 11 // This file is generated. Do not edit. 12 #ifndef VPX_DSP_RTCD_H_ 13 #define VPX_DSP_RTCD_H_ 14 15 #ifdef RTCD_C 16 #define RTCD_EXTERN 17 #else 18 #define RTCD_EXTERN extern 19 #endif 20 21 /* 22 * DSP 23 */ 24 25 #include "vpx/vpx_integer.h" 26 #include "vpx_dsp/vpx_dsp_common.h" 27 #include "vpx_dsp/vpx_filter.h" 28 #if CONFIG_VP9_ENCODER 29 struct macroblock_plane; 30 struct ScanOrder; 31 #endif 32 33 34 #ifdef __cplusplus 35 extern "C" { 36 #endif 37 38 unsigned int vpx_avg_4x4_c(const uint8_t *, int p); 39 #define vpx_avg_4x4 vpx_avg_4x4_c 40 41 unsigned int vpx_avg_8x8_c(const uint8_t *, int p); 42 #define vpx_avg_8x8 vpx_avg_8x8_c 43 44 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); 45 void vpx_comp_avg_pred_lsx(uint8_t *comp_pred, const uint8_t *pred, int width, int height, const uint8_t *ref, int ref_stride); 46 RTCD_EXTERN void (*vpx_comp_avg_pred)(uint8_t *comp_pred, const uint8_t *pred, int width, int height, const uint8_t *ref, int ref_stride); 47 48 void vpx_convolve8_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 49 void vpx_convolve8_lsx(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 50 RTCD_EXTERN void (*vpx_convolve8)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 51 52 void vpx_convolve8_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 53 void vpx_convolve8_avg_lsx(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 54 RTCD_EXTERN void (*vpx_convolve8_avg)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 55 56 void vpx_convolve8_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 57 void vpx_convolve8_avg_horiz_lsx(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 58 RTCD_EXTERN void (*vpx_convolve8_avg_horiz)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 59 60 void vpx_convolve8_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 61 void vpx_convolve8_avg_vert_lsx(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 62 RTCD_EXTERN void (*vpx_convolve8_avg_vert)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 63 64 void vpx_convolve8_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 65 void vpx_convolve8_horiz_lsx(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 66 RTCD_EXTERN void (*vpx_convolve8_horiz)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 67 68 void vpx_convolve8_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 69 void vpx_convolve8_vert_lsx(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 70 RTCD_EXTERN void (*vpx_convolve8_vert)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 71 72 void vpx_convolve_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 73 void vpx_convolve_avg_lsx(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 74 RTCD_EXTERN void (*vpx_convolve_avg)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 75 76 void vpx_convolve_copy_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 77 void vpx_convolve_copy_lsx(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 78 RTCD_EXTERN void (*vpx_convolve_copy)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 79 80 void vpx_d117_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 81 #define vpx_d117_predictor_16x16 vpx_d117_predictor_16x16_c 82 83 void vpx_d117_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 84 #define vpx_d117_predictor_32x32 vpx_d117_predictor_32x32_c 85 86 void vpx_d117_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 87 #define vpx_d117_predictor_4x4 vpx_d117_predictor_4x4_c 88 89 void vpx_d117_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 90 #define vpx_d117_predictor_8x8 vpx_d117_predictor_8x8_c 91 92 void vpx_d135_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 93 #define vpx_d135_predictor_16x16 vpx_d135_predictor_16x16_c 94 95 void vpx_d135_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 96 #define vpx_d135_predictor_32x32 vpx_d135_predictor_32x32_c 97 98 void vpx_d135_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 99 #define vpx_d135_predictor_4x4 vpx_d135_predictor_4x4_c 100 101 void vpx_d135_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 102 #define vpx_d135_predictor_8x8 vpx_d135_predictor_8x8_c 103 104 void vpx_d153_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 105 #define vpx_d153_predictor_16x16 vpx_d153_predictor_16x16_c 106 107 void vpx_d153_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 108 #define vpx_d153_predictor_32x32 vpx_d153_predictor_32x32_c 109 110 void vpx_d153_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 111 #define vpx_d153_predictor_4x4 vpx_d153_predictor_4x4_c 112 113 void vpx_d153_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 114 #define vpx_d153_predictor_8x8 vpx_d153_predictor_8x8_c 115 116 void vpx_d207_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 117 #define vpx_d207_predictor_16x16 vpx_d207_predictor_16x16_c 118 119 void vpx_d207_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 120 #define vpx_d207_predictor_32x32 vpx_d207_predictor_32x32_c 121 122 void vpx_d207_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 123 #define vpx_d207_predictor_4x4 vpx_d207_predictor_4x4_c 124 125 void vpx_d207_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 126 #define vpx_d207_predictor_8x8 vpx_d207_predictor_8x8_c 127 128 void vpx_d45_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 129 #define vpx_d45_predictor_16x16 vpx_d45_predictor_16x16_c 130 131 void vpx_d45_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 132 #define vpx_d45_predictor_32x32 vpx_d45_predictor_32x32_c 133 134 void vpx_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 135 #define vpx_d45_predictor_4x4 vpx_d45_predictor_4x4_c 136 137 void vpx_d45_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 138 #define vpx_d45_predictor_8x8 vpx_d45_predictor_8x8_c 139 140 void vpx_d45e_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 141 #define vpx_d45e_predictor_4x4 vpx_d45e_predictor_4x4_c 142 143 void vpx_d63_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 144 #define vpx_d63_predictor_16x16 vpx_d63_predictor_16x16_c 145 146 void vpx_d63_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 147 #define vpx_d63_predictor_32x32 vpx_d63_predictor_32x32_c 148 149 void vpx_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 150 #define vpx_d63_predictor_4x4 vpx_d63_predictor_4x4_c 151 152 void vpx_d63_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 153 #define vpx_d63_predictor_8x8 vpx_d63_predictor_8x8_c 154 155 void vpx_d63e_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 156 #define vpx_d63e_predictor_4x4 vpx_d63e_predictor_4x4_c 157 158 void vpx_dc_128_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 159 #define vpx_dc_128_predictor_16x16 vpx_dc_128_predictor_16x16_c 160 161 void vpx_dc_128_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 162 #define vpx_dc_128_predictor_32x32 vpx_dc_128_predictor_32x32_c 163 164 void vpx_dc_128_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 165 #define vpx_dc_128_predictor_4x4 vpx_dc_128_predictor_4x4_c 166 167 void vpx_dc_128_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 168 #define vpx_dc_128_predictor_8x8 vpx_dc_128_predictor_8x8_c 169 170 void vpx_dc_left_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 171 #define vpx_dc_left_predictor_16x16 vpx_dc_left_predictor_16x16_c 172 173 void vpx_dc_left_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 174 #define vpx_dc_left_predictor_32x32 vpx_dc_left_predictor_32x32_c 175 176 void vpx_dc_left_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 177 #define vpx_dc_left_predictor_4x4 vpx_dc_left_predictor_4x4_c 178 179 void vpx_dc_left_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 180 #define vpx_dc_left_predictor_8x8 vpx_dc_left_predictor_8x8_c 181 182 void vpx_dc_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 183 void vpx_dc_predictor_16x16_lsx(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 184 RTCD_EXTERN void (*vpx_dc_predictor_16x16)(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 185 186 void vpx_dc_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 187 #define vpx_dc_predictor_32x32 vpx_dc_predictor_32x32_c 188 189 void vpx_dc_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 190 #define vpx_dc_predictor_4x4 vpx_dc_predictor_4x4_c 191 192 void vpx_dc_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 193 void vpx_dc_predictor_8x8_lsx(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 194 RTCD_EXTERN void (*vpx_dc_predictor_8x8)(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 195 196 void vpx_dc_top_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 197 #define vpx_dc_top_predictor_16x16 vpx_dc_top_predictor_16x16_c 198 199 void vpx_dc_top_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 200 #define vpx_dc_top_predictor_32x32 vpx_dc_top_predictor_32x32_c 201 202 void vpx_dc_top_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 203 #define vpx_dc_top_predictor_4x4 vpx_dc_top_predictor_4x4_c 204 205 void vpx_dc_top_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 206 #define vpx_dc_top_predictor_8x8 vpx_dc_top_predictor_8x8_c 207 208 void vpx_fdct16x16_c(const int16_t *input, tran_low_t *output, int stride); 209 void vpx_fdct16x16_lsx(const int16_t *input, tran_low_t *output, int stride); 210 RTCD_EXTERN void (*vpx_fdct16x16)(const int16_t *input, tran_low_t *output, int stride); 211 212 void vpx_fdct16x16_1_c(const int16_t *input, tran_low_t *output, int stride); 213 #define vpx_fdct16x16_1 vpx_fdct16x16_1_c 214 215 void vpx_fdct32x32_c(const int16_t *input, tran_low_t *output, int stride); 216 void vpx_fdct32x32_lsx(const int16_t *input, tran_low_t *output, int stride); 217 RTCD_EXTERN void (*vpx_fdct32x32)(const int16_t *input, tran_low_t *output, int stride); 218 219 void vpx_fdct32x32_1_c(const int16_t *input, tran_low_t *output, int stride); 220 #define vpx_fdct32x32_1 vpx_fdct32x32_1_c 221 222 void vpx_fdct32x32_rd_c(const int16_t *input, tran_low_t *output, int stride); 223 void vpx_fdct32x32_rd_lsx(const int16_t *input, tran_low_t *output, int stride); 224 RTCD_EXTERN void (*vpx_fdct32x32_rd)(const int16_t *input, tran_low_t *output, int stride); 225 226 void vpx_fdct4x4_c(const int16_t *input, tran_low_t *output, int stride); 227 void vpx_fdct4x4_lsx(const int16_t *input, tran_low_t *output, int stride); 228 RTCD_EXTERN void (*vpx_fdct4x4)(const int16_t *input, tran_low_t *output, int stride); 229 230 void vpx_fdct4x4_1_c(const int16_t *input, tran_low_t *output, int stride); 231 #define vpx_fdct4x4_1 vpx_fdct4x4_1_c 232 233 void vpx_fdct8x8_c(const int16_t *input, tran_low_t *output, int stride); 234 void vpx_fdct8x8_lsx(const int16_t *input, tran_low_t *output, int stride); 235 RTCD_EXTERN void (*vpx_fdct8x8)(const int16_t *input, tran_low_t *output, int stride); 236 237 void vpx_fdct8x8_1_c(const int16_t *input, tran_low_t *output, int stride); 238 #define vpx_fdct8x8_1 vpx_fdct8x8_1_c 239 240 void vpx_get16x16var_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum); 241 void vpx_get16x16var_lsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum); 242 RTCD_EXTERN void (*vpx_get16x16var)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum); 243 244 unsigned int vpx_get4x4sse_cs_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride); 245 #define vpx_get4x4sse_cs vpx_get4x4sse_cs_c 246 247 void vpx_get8x8var_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum); 248 #define vpx_get8x8var vpx_get8x8var_c 249 250 unsigned int vpx_get_mb_ss_c(const int16_t *); 251 #define vpx_get_mb_ss vpx_get_mb_ss_c 252 253 void vpx_h_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 254 #define vpx_h_predictor_16x16 vpx_h_predictor_16x16_c 255 256 void vpx_h_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 257 #define vpx_h_predictor_32x32 vpx_h_predictor_32x32_c 258 259 void vpx_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 260 #define vpx_h_predictor_4x4 vpx_h_predictor_4x4_c 261 262 void vpx_h_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 263 #define vpx_h_predictor_8x8 vpx_h_predictor_8x8_c 264 265 void vpx_hadamard_16x16_c(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); 266 void vpx_hadamard_16x16_lsx(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); 267 RTCD_EXTERN void (*vpx_hadamard_16x16)(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); 268 269 void vpx_hadamard_32x32_c(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); 270 #define vpx_hadamard_32x32 vpx_hadamard_32x32_c 271 272 void vpx_hadamard_8x8_c(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); 273 void vpx_hadamard_8x8_lsx(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); 274 RTCD_EXTERN void (*vpx_hadamard_8x8)(const int16_t *src_diff, ptrdiff_t src_stride, int16_t *coeff); 275 276 void vpx_he_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 277 #define vpx_he_predictor_4x4 vpx_he_predictor_4x4_c 278 279 void vpx_idct16x16_10_add_c(const tran_low_t *input, uint8_t *dest, int stride); 280 #define vpx_idct16x16_10_add vpx_idct16x16_10_add_c 281 282 void vpx_idct16x16_1_add_c(const tran_low_t *input, uint8_t *dest, int stride); 283 #define vpx_idct16x16_1_add vpx_idct16x16_1_add_c 284 285 void vpx_idct16x16_256_add_c(const tran_low_t *input, uint8_t *dest, int stride); 286 #define vpx_idct16x16_256_add vpx_idct16x16_256_add_c 287 288 void vpx_idct16x16_38_add_c(const tran_low_t *input, uint8_t *dest, int stride); 289 #define vpx_idct16x16_38_add vpx_idct16x16_38_add_c 290 291 void vpx_idct32x32_1024_add_c(const tran_low_t *input, uint8_t *dest, int stride); 292 void vpx_idct32x32_1024_add_lsx(const tran_low_t *input, uint8_t *dest, int stride); 293 RTCD_EXTERN void (*vpx_idct32x32_1024_add)(const tran_low_t *input, uint8_t *dest, int stride); 294 295 void vpx_idct32x32_135_add_c(const tran_low_t *input, uint8_t *dest, int stride); 296 void vpx_idct32x32_1024_add_lsx(const tran_low_t *input, uint8_t *dest, int stride); 297 RTCD_EXTERN void (*vpx_idct32x32_135_add)(const tran_low_t *input, uint8_t *dest, int stride); 298 299 void vpx_idct32x32_1_add_c(const tran_low_t *input, uint8_t *dest, int stride); 300 void vpx_idct32x32_1_add_lsx(const tran_low_t *input, uint8_t *dest, int stride); 301 RTCD_EXTERN void (*vpx_idct32x32_1_add)(const tran_low_t *input, uint8_t *dest, int stride); 302 303 void vpx_idct32x32_34_add_c(const tran_low_t *input, uint8_t *dest, int stride); 304 void vpx_idct32x32_34_add_lsx(const tran_low_t *input, uint8_t *dest, int stride); 305 RTCD_EXTERN void (*vpx_idct32x32_34_add)(const tran_low_t *input, uint8_t *dest, int stride); 306 307 void vpx_idct4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int stride); 308 #define vpx_idct4x4_16_add vpx_idct4x4_16_add_c 309 310 void vpx_idct4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int stride); 311 #define vpx_idct4x4_1_add vpx_idct4x4_1_add_c 312 313 void vpx_idct8x8_12_add_c(const tran_low_t *input, uint8_t *dest, int stride); 314 #define vpx_idct8x8_12_add vpx_idct8x8_12_add_c 315 316 void vpx_idct8x8_1_add_c(const tran_low_t *input, uint8_t *dest, int stride); 317 #define vpx_idct8x8_1_add vpx_idct8x8_1_add_c 318 319 void vpx_idct8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int stride); 320 #define vpx_idct8x8_64_add vpx_idct8x8_64_add_c 321 322 int16_t vpx_int_pro_col_c(const uint8_t *ref, const int width); 323 #define vpx_int_pro_col vpx_int_pro_col_c 324 325 void vpx_int_pro_row_c(int16_t hbuf[16], const uint8_t *ref, const int ref_stride, const int height); 326 #define vpx_int_pro_row vpx_int_pro_row_c 327 328 void vpx_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int stride); 329 #define vpx_iwht4x4_16_add vpx_iwht4x4_16_add_c 330 331 void vpx_iwht4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int stride); 332 #define vpx_iwht4x4_1_add vpx_iwht4x4_1_add_c 333 334 void vpx_lpf_horizontal_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 335 #define vpx_lpf_horizontal_16 vpx_lpf_horizontal_16_c 336 337 void vpx_lpf_horizontal_16_dual_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 338 void vpx_lpf_horizontal_16_dual_lsx(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 339 RTCD_EXTERN void (*vpx_lpf_horizontal_16_dual)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 340 341 void vpx_lpf_horizontal_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 342 void vpx_lpf_horizontal_4_lsx(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 343 RTCD_EXTERN void (*vpx_lpf_horizontal_4)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 344 345 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); 346 void vpx_lpf_horizontal_4_dual_lsx(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); 347 RTCD_EXTERN void (*vpx_lpf_horizontal_4_dual)(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); 348 349 void vpx_lpf_horizontal_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 350 void vpx_lpf_horizontal_8_lsx(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 351 RTCD_EXTERN void (*vpx_lpf_horizontal_8)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 352 353 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); 354 void vpx_lpf_horizontal_8_dual_lsx(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); 355 RTCD_EXTERN void (*vpx_lpf_horizontal_8_dual)(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); 356 357 void vpx_lpf_vertical_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 358 #define vpx_lpf_vertical_16 vpx_lpf_vertical_16_c 359 360 void vpx_lpf_vertical_16_dual_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 361 void vpx_lpf_vertical_16_dual_lsx(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 362 RTCD_EXTERN void (*vpx_lpf_vertical_16_dual)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 363 364 void vpx_lpf_vertical_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 365 void vpx_lpf_vertical_4_lsx(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 366 RTCD_EXTERN void (*vpx_lpf_vertical_4)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 367 368 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); 369 void vpx_lpf_vertical_4_dual_lsx(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); 370 RTCD_EXTERN void (*vpx_lpf_vertical_4_dual)(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); 371 372 void vpx_lpf_vertical_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 373 void vpx_lpf_vertical_8_lsx(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 374 RTCD_EXTERN void (*vpx_lpf_vertical_8)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 375 376 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); 377 void vpx_lpf_vertical_8_dual_lsx(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); 378 RTCD_EXTERN void (*vpx_lpf_vertical_8_dual)(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); 379 380 void vpx_minmax_8x8_c(const uint8_t *s, int p, const uint8_t *d, int dp, int *min, int *max); 381 #define vpx_minmax_8x8 vpx_minmax_8x8_c 382 383 unsigned int vpx_mse16x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 384 unsigned int vpx_mse16x16_lsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 385 RTCD_EXTERN unsigned int (*vpx_mse16x16)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 386 387 unsigned int vpx_mse16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 388 #define vpx_mse16x8 vpx_mse16x8_c 389 390 unsigned int vpx_mse8x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 391 #define vpx_mse8x16 vpx_mse8x16_c 392 393 unsigned int vpx_mse8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 394 #define vpx_mse8x8 vpx_mse8x8_c 395 396 void vpx_quantize_b_c(const tran_low_t *coeff_ptr, intptr_t n_coeffs, const struct macroblock_plane *const mb_plane, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const struct ScanOrder *const scan_order); 397 void vpx_quantize_b_lsx(const tran_low_t *coeff_ptr, intptr_t n_coeffs, const struct macroblock_plane *const mb_plane, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const struct ScanOrder *const scan_order); 398 RTCD_EXTERN void (*vpx_quantize_b)(const tran_low_t *coeff_ptr, intptr_t n_coeffs, const struct macroblock_plane *const mb_plane, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const struct ScanOrder *const scan_order); 399 400 void vpx_quantize_b_32x32_c(const tran_low_t *coeff_ptr, const struct macroblock_plane *const mb_plane, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const struct ScanOrder *const scan_order); 401 void vpx_quantize_b_32x32_lsx(const tran_low_t *coeff_ptr, const struct macroblock_plane *const mb_plane, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const struct ScanOrder *const scan_order); 402 RTCD_EXTERN void (*vpx_quantize_b_32x32)(const tran_low_t *coeff_ptr, const struct macroblock_plane *const mb_plane, tran_low_t *qcoeff_ptr, tran_low_t *dqcoeff_ptr, const int16_t *dequant_ptr, uint16_t *eob_ptr, const struct ScanOrder *const scan_order); 403 404 unsigned int vpx_sad16x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 405 unsigned int vpx_sad16x16_lsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 406 RTCD_EXTERN unsigned int (*vpx_sad16x16)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 407 408 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); 409 #define vpx_sad16x16_avg vpx_sad16x16_avg_c 410 411 void vpx_sad16x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 412 void vpx_sad16x16x4d_lsx(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 413 RTCD_EXTERN void (*vpx_sad16x16x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 414 415 unsigned int vpx_sad16x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 416 #define vpx_sad16x32 vpx_sad16x32_c 417 418 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); 419 #define vpx_sad16x32_avg vpx_sad16x32_avg_c 420 421 void vpx_sad16x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 422 #define vpx_sad16x32x4d vpx_sad16x32x4d_c 423 424 unsigned int vpx_sad16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 425 #define vpx_sad16x8 vpx_sad16x8_c 426 427 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); 428 #define vpx_sad16x8_avg vpx_sad16x8_avg_c 429 430 void vpx_sad16x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 431 #define vpx_sad16x8x4d vpx_sad16x8x4d_c 432 433 unsigned int vpx_sad32x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 434 #define vpx_sad32x16 vpx_sad32x16_c 435 436 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); 437 #define vpx_sad32x16_avg vpx_sad32x16_avg_c 438 439 void vpx_sad32x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 440 #define vpx_sad32x16x4d vpx_sad32x16x4d_c 441 442 unsigned int vpx_sad32x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 443 unsigned int vpx_sad32x32_lsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 444 RTCD_EXTERN unsigned int (*vpx_sad32x32)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 445 446 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); 447 unsigned int vpx_sad32x32_avg_lsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 448 RTCD_EXTERN unsigned int (*vpx_sad32x32_avg)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 449 450 void vpx_sad32x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 451 void vpx_sad32x32x4d_lsx(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 452 RTCD_EXTERN void (*vpx_sad32x32x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 453 454 unsigned int vpx_sad32x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 455 #define vpx_sad32x64 vpx_sad32x64_c 456 457 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); 458 #define vpx_sad32x64_avg vpx_sad32x64_avg_c 459 460 void vpx_sad32x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 461 void vpx_sad32x64x4d_lsx(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 462 RTCD_EXTERN void (*vpx_sad32x64x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 463 464 unsigned int vpx_sad4x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 465 #define vpx_sad4x4 vpx_sad4x4_c 466 467 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); 468 #define vpx_sad4x4_avg vpx_sad4x4_avg_c 469 470 void vpx_sad4x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 471 #define vpx_sad4x4x4d vpx_sad4x4x4d_c 472 473 unsigned int vpx_sad4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 474 #define vpx_sad4x8 vpx_sad4x8_c 475 476 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); 477 #define vpx_sad4x8_avg vpx_sad4x8_avg_c 478 479 void vpx_sad4x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 480 #define vpx_sad4x8x4d vpx_sad4x8x4d_c 481 482 unsigned int vpx_sad64x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 483 #define vpx_sad64x32 vpx_sad64x32_c 484 485 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); 486 #define vpx_sad64x32_avg vpx_sad64x32_avg_c 487 488 void vpx_sad64x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 489 void vpx_sad64x32x4d_lsx(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 490 RTCD_EXTERN void (*vpx_sad64x32x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 491 492 unsigned int vpx_sad64x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 493 unsigned int vpx_sad64x64_lsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 494 RTCD_EXTERN unsigned int (*vpx_sad64x64)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 495 496 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); 497 unsigned int vpx_sad64x64_avg_lsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 498 RTCD_EXTERN unsigned int (*vpx_sad64x64_avg)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 499 500 void vpx_sad64x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 501 void vpx_sad64x64x4d_lsx(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 502 RTCD_EXTERN void (*vpx_sad64x64x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 503 504 unsigned int vpx_sad8x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 505 #define vpx_sad8x16 vpx_sad8x16_c 506 507 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); 508 #define vpx_sad8x16_avg vpx_sad8x16_avg_c 509 510 void vpx_sad8x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 511 #define vpx_sad8x16x4d vpx_sad8x16x4d_c 512 513 unsigned int vpx_sad8x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 514 #define vpx_sad8x4 vpx_sad8x4_c 515 516 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); 517 #define vpx_sad8x4_avg vpx_sad8x4_avg_c 518 519 void vpx_sad8x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 520 #define vpx_sad8x4x4d vpx_sad8x4x4d_c 521 522 unsigned int vpx_sad8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 523 unsigned int vpx_sad8x8_lsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 524 RTCD_EXTERN unsigned int (*vpx_sad8x8)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 525 526 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); 527 #define vpx_sad8x8_avg vpx_sad8x8_avg_c 528 529 void vpx_sad8x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 530 void vpx_sad8x8x4d_lsx(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 531 RTCD_EXTERN void (*vpx_sad8x8x4d)(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 532 533 unsigned int vpx_sad_skip_16x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 534 #define vpx_sad_skip_16x16 vpx_sad_skip_16x16_c 535 536 void vpx_sad_skip_16x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 537 #define vpx_sad_skip_16x16x4d vpx_sad_skip_16x16x4d_c 538 539 unsigned int vpx_sad_skip_16x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 540 #define vpx_sad_skip_16x32 vpx_sad_skip_16x32_c 541 542 void vpx_sad_skip_16x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 543 #define vpx_sad_skip_16x32x4d vpx_sad_skip_16x32x4d_c 544 545 unsigned int vpx_sad_skip_16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 546 #define vpx_sad_skip_16x8 vpx_sad_skip_16x8_c 547 548 void vpx_sad_skip_16x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 549 #define vpx_sad_skip_16x8x4d vpx_sad_skip_16x8x4d_c 550 551 unsigned int vpx_sad_skip_32x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 552 #define vpx_sad_skip_32x16 vpx_sad_skip_32x16_c 553 554 void vpx_sad_skip_32x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 555 #define vpx_sad_skip_32x16x4d vpx_sad_skip_32x16x4d_c 556 557 unsigned int vpx_sad_skip_32x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 558 #define vpx_sad_skip_32x32 vpx_sad_skip_32x32_c 559 560 void vpx_sad_skip_32x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 561 #define vpx_sad_skip_32x32x4d vpx_sad_skip_32x32x4d_c 562 563 unsigned int vpx_sad_skip_32x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 564 #define vpx_sad_skip_32x64 vpx_sad_skip_32x64_c 565 566 void vpx_sad_skip_32x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 567 #define vpx_sad_skip_32x64x4d vpx_sad_skip_32x64x4d_c 568 569 unsigned int vpx_sad_skip_4x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 570 #define vpx_sad_skip_4x4 vpx_sad_skip_4x4_c 571 572 void vpx_sad_skip_4x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 573 #define vpx_sad_skip_4x4x4d vpx_sad_skip_4x4x4d_c 574 575 unsigned int vpx_sad_skip_4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 576 #define vpx_sad_skip_4x8 vpx_sad_skip_4x8_c 577 578 void vpx_sad_skip_4x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 579 #define vpx_sad_skip_4x8x4d vpx_sad_skip_4x8x4d_c 580 581 unsigned int vpx_sad_skip_64x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 582 #define vpx_sad_skip_64x32 vpx_sad_skip_64x32_c 583 584 void vpx_sad_skip_64x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 585 #define vpx_sad_skip_64x32x4d vpx_sad_skip_64x32x4d_c 586 587 unsigned int vpx_sad_skip_64x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 588 #define vpx_sad_skip_64x64 vpx_sad_skip_64x64_c 589 590 void vpx_sad_skip_64x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 591 #define vpx_sad_skip_64x64x4d vpx_sad_skip_64x64x4d_c 592 593 unsigned int vpx_sad_skip_8x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 594 #define vpx_sad_skip_8x16 vpx_sad_skip_8x16_c 595 596 void vpx_sad_skip_8x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 597 #define vpx_sad_skip_8x16x4d vpx_sad_skip_8x16x4d_c 598 599 unsigned int vpx_sad_skip_8x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 600 #define vpx_sad_skip_8x4 vpx_sad_skip_8x4_c 601 602 void vpx_sad_skip_8x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 603 #define vpx_sad_skip_8x4x4d vpx_sad_skip_8x4x4d_c 604 605 unsigned int vpx_sad_skip_8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 606 #define vpx_sad_skip_8x8 vpx_sad_skip_8x8_c 607 608 void vpx_sad_skip_8x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t *const ref_array[4], int ref_stride, uint32_t sad_array[4]); 609 #define vpx_sad_skip_8x8x4d vpx_sad_skip_8x8x4d_c 610 611 int vpx_satd_c(const int16_t *coeff, int length); 612 #define vpx_satd vpx_satd_c 613 614 void vpx_scaled_2d_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 615 #define vpx_scaled_2d vpx_scaled_2d_c 616 617 void vpx_scaled_avg_2d_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 618 #define vpx_scaled_avg_2d vpx_scaled_avg_2d_c 619 620 void vpx_scaled_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 621 #define vpx_scaled_avg_horiz vpx_scaled_avg_horiz_c 622 623 void vpx_scaled_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 624 #define vpx_scaled_avg_vert vpx_scaled_avg_vert_c 625 626 void vpx_scaled_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 627 #define vpx_scaled_horiz vpx_scaled_horiz_c 628 629 void vpx_scaled_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const InterpKernel *filter, int x0_q4, int x_step_q4, int y0_q4, int y_step_q4, int w, int h); 630 #define vpx_scaled_vert vpx_scaled_vert_c 631 632 int64_t vpx_sse_c(const uint8_t *src, int src_stride, const uint8_t *ref, int ref_stride, int width, int height); 633 #define vpx_sse vpx_sse_c 634 635 uint32_t vpx_sub_pixel_avg_variance16x16_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); 636 #define vpx_sub_pixel_avg_variance16x16 vpx_sub_pixel_avg_variance16x16_c 637 638 uint32_t vpx_sub_pixel_avg_variance16x32_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); 639 #define vpx_sub_pixel_avg_variance16x32 vpx_sub_pixel_avg_variance16x32_c 640 641 uint32_t vpx_sub_pixel_avg_variance16x8_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); 642 #define vpx_sub_pixel_avg_variance16x8 vpx_sub_pixel_avg_variance16x8_c 643 644 uint32_t vpx_sub_pixel_avg_variance32x16_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); 645 #define vpx_sub_pixel_avg_variance32x16 vpx_sub_pixel_avg_variance32x16_c 646 647 uint32_t vpx_sub_pixel_avg_variance32x32_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); 648 #define vpx_sub_pixel_avg_variance32x32 vpx_sub_pixel_avg_variance32x32_c 649 650 uint32_t vpx_sub_pixel_avg_variance32x64_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); 651 #define vpx_sub_pixel_avg_variance32x64 vpx_sub_pixel_avg_variance32x64_c 652 653 uint32_t vpx_sub_pixel_avg_variance4x4_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); 654 #define vpx_sub_pixel_avg_variance4x4 vpx_sub_pixel_avg_variance4x4_c 655 656 uint32_t vpx_sub_pixel_avg_variance4x8_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); 657 #define vpx_sub_pixel_avg_variance4x8 vpx_sub_pixel_avg_variance4x8_c 658 659 uint32_t vpx_sub_pixel_avg_variance64x32_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); 660 #define vpx_sub_pixel_avg_variance64x32 vpx_sub_pixel_avg_variance64x32_c 661 662 uint32_t vpx_sub_pixel_avg_variance64x64_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); 663 uint32_t vpx_sub_pixel_avg_variance64x64_lsx(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); 664 RTCD_EXTERN uint32_t (*vpx_sub_pixel_avg_variance64x64)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); 665 666 uint32_t vpx_sub_pixel_avg_variance8x16_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); 667 #define vpx_sub_pixel_avg_variance8x16 vpx_sub_pixel_avg_variance8x16_c 668 669 uint32_t vpx_sub_pixel_avg_variance8x4_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); 670 #define vpx_sub_pixel_avg_variance8x4 vpx_sub_pixel_avg_variance8x4_c 671 672 uint32_t vpx_sub_pixel_avg_variance8x8_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse, const uint8_t *second_pred); 673 #define vpx_sub_pixel_avg_variance8x8 vpx_sub_pixel_avg_variance8x8_c 674 675 uint32_t vpx_sub_pixel_variance16x16_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); 676 uint32_t vpx_sub_pixel_variance16x16_lsx(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); 677 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance16x16)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); 678 679 uint32_t vpx_sub_pixel_variance16x32_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); 680 #define vpx_sub_pixel_variance16x32 vpx_sub_pixel_variance16x32_c 681 682 uint32_t vpx_sub_pixel_variance16x8_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); 683 #define vpx_sub_pixel_variance16x8 vpx_sub_pixel_variance16x8_c 684 685 uint32_t vpx_sub_pixel_variance32x16_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); 686 #define vpx_sub_pixel_variance32x16 vpx_sub_pixel_variance32x16_c 687 688 uint32_t vpx_sub_pixel_variance32x32_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); 689 uint32_t vpx_sub_pixel_variance32x32_lsx(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); 690 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance32x32)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); 691 692 uint32_t vpx_sub_pixel_variance32x64_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); 693 #define vpx_sub_pixel_variance32x64 vpx_sub_pixel_variance32x64_c 694 695 uint32_t vpx_sub_pixel_variance4x4_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); 696 #define vpx_sub_pixel_variance4x4 vpx_sub_pixel_variance4x4_c 697 698 uint32_t vpx_sub_pixel_variance4x8_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); 699 #define vpx_sub_pixel_variance4x8 vpx_sub_pixel_variance4x8_c 700 701 uint32_t vpx_sub_pixel_variance64x32_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); 702 #define vpx_sub_pixel_variance64x32 vpx_sub_pixel_variance64x32_c 703 704 uint32_t vpx_sub_pixel_variance64x64_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); 705 #define vpx_sub_pixel_variance64x64 vpx_sub_pixel_variance64x64_c 706 707 uint32_t vpx_sub_pixel_variance8x16_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); 708 #define vpx_sub_pixel_variance8x16 vpx_sub_pixel_variance8x16_c 709 710 uint32_t vpx_sub_pixel_variance8x4_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); 711 #define vpx_sub_pixel_variance8x4 vpx_sub_pixel_variance8x4_c 712 713 uint32_t vpx_sub_pixel_variance8x8_c(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); 714 uint32_t vpx_sub_pixel_variance8x8_lsx(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); 715 RTCD_EXTERN uint32_t (*vpx_sub_pixel_variance8x8)(const uint8_t *src_ptr, int src_stride, int x_offset, int y_offset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); 716 717 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); 718 void vpx_subtract_block_lsx(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); 719 RTCD_EXTERN void (*vpx_subtract_block)(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); 720 721 uint64_t vpx_sum_squares_2d_i16_c(const int16_t *src, int stride, int size); 722 #define vpx_sum_squares_2d_i16 vpx_sum_squares_2d_i16_c 723 724 void vpx_tm_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 725 #define vpx_tm_predictor_16x16 vpx_tm_predictor_16x16_c 726 727 void vpx_tm_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 728 #define vpx_tm_predictor_32x32 vpx_tm_predictor_32x32_c 729 730 void vpx_tm_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 731 #define vpx_tm_predictor_4x4 vpx_tm_predictor_4x4_c 732 733 void vpx_tm_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 734 #define vpx_tm_predictor_8x8 vpx_tm_predictor_8x8_c 735 736 void vpx_v_predictor_16x16_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 737 #define vpx_v_predictor_16x16 vpx_v_predictor_16x16_c 738 739 void vpx_v_predictor_32x32_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 740 #define vpx_v_predictor_32x32 vpx_v_predictor_32x32_c 741 742 void vpx_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 743 #define vpx_v_predictor_4x4 vpx_v_predictor_4x4_c 744 745 void vpx_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 746 #define vpx_v_predictor_8x8 vpx_v_predictor_8x8_c 747 748 unsigned int vpx_variance16x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 749 unsigned int vpx_variance16x16_lsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 750 RTCD_EXTERN unsigned int (*vpx_variance16x16)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 751 752 unsigned int vpx_variance16x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 753 #define vpx_variance16x32 vpx_variance16x32_c 754 755 unsigned int vpx_variance16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 756 #define vpx_variance16x8 vpx_variance16x8_c 757 758 unsigned int vpx_variance32x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 759 #define vpx_variance32x16 vpx_variance32x16_c 760 761 unsigned int vpx_variance32x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 762 unsigned int vpx_variance32x32_lsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 763 RTCD_EXTERN unsigned int (*vpx_variance32x32)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 764 765 unsigned int vpx_variance32x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 766 #define vpx_variance32x64 vpx_variance32x64_c 767 768 unsigned int vpx_variance4x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 769 #define vpx_variance4x4 vpx_variance4x4_c 770 771 unsigned int vpx_variance4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 772 #define vpx_variance4x8 vpx_variance4x8_c 773 774 unsigned int vpx_variance64x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 775 #define vpx_variance64x32 vpx_variance64x32_c 776 777 unsigned int vpx_variance64x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 778 unsigned int vpx_variance64x64_lsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 779 RTCD_EXTERN unsigned int (*vpx_variance64x64)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 780 781 unsigned int vpx_variance8x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 782 #define vpx_variance8x16 vpx_variance8x16_c 783 784 unsigned int vpx_variance8x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 785 #define vpx_variance8x4 vpx_variance8x4_c 786 787 unsigned int vpx_variance8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 788 unsigned int vpx_variance8x8_lsx(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 789 RTCD_EXTERN unsigned int (*vpx_variance8x8)(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 790 791 void vpx_ve_predictor_4x4_c(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); 792 #define vpx_ve_predictor_4x4 vpx_ve_predictor_4x4_c 793 794 int vpx_vector_var_c(const int16_t *ref, const int16_t *src, const int bwl); 795 #define vpx_vector_var vpx_vector_var_c 796 797 void vpx_dsp_rtcd(void); 798 799 #include "vpx_config.h" 800 801 #ifdef RTCD_C 802 #include "vpx_ports/loongarch.h" 803 static void setup_rtcd_internal(void) 804 { 805 int flags = loongarch_cpu_caps(); 806 807 (void)flags; 808 vpx_comp_avg_pred = vpx_comp_avg_pred_c; 809 if (flags & HAS_LSX) vpx_comp_avg_pred = vpx_comp_avg_pred_lsx; 810 vpx_convolve8 = vpx_convolve8_c; 811 if (flags & HAS_LSX) vpx_convolve8 = vpx_convolve8_lsx; 812 vpx_convolve8_avg = vpx_convolve8_avg_c; 813 if (flags & HAS_LSX) vpx_convolve8_avg = vpx_convolve8_avg_lsx; 814 vpx_convolve8_avg_horiz = vpx_convolve8_avg_horiz_c; 815 if (flags & HAS_LSX) vpx_convolve8_avg_horiz = vpx_convolve8_avg_horiz_lsx; 816 vpx_convolve8_avg_vert = vpx_convolve8_avg_vert_c; 817 if (flags & HAS_LSX) vpx_convolve8_avg_vert = vpx_convolve8_avg_vert_lsx; 818 vpx_convolve8_horiz = vpx_convolve8_horiz_c; 819 if (flags & HAS_LSX) vpx_convolve8_horiz = vpx_convolve8_horiz_lsx; 820 vpx_convolve8_vert = vpx_convolve8_vert_c; 821 if (flags & HAS_LSX) vpx_convolve8_vert = vpx_convolve8_vert_lsx; 822 vpx_convolve_avg = vpx_convolve_avg_c; 823 if (flags & HAS_LSX) vpx_convolve_avg = vpx_convolve_avg_lsx; 824 vpx_convolve_copy = vpx_convolve_copy_c; 825 if (flags & HAS_LSX) vpx_convolve_copy = vpx_convolve_copy_lsx; 826 vpx_dc_predictor_16x16 = vpx_dc_predictor_16x16_c; 827 if (flags & HAS_LSX) vpx_dc_predictor_16x16 = vpx_dc_predictor_16x16_lsx; 828 vpx_dc_predictor_8x8 = vpx_dc_predictor_8x8_c; 829 if (flags & HAS_LSX) vpx_dc_predictor_8x8 = vpx_dc_predictor_8x8_lsx; 830 vpx_fdct16x16 = vpx_fdct16x16_c; 831 if (flags & HAS_LSX) vpx_fdct16x16 = vpx_fdct16x16_lsx; 832 vpx_fdct32x32 = vpx_fdct32x32_c; 833 if (flags & HAS_LSX) vpx_fdct32x32 = vpx_fdct32x32_lsx; 834 vpx_fdct32x32_rd = vpx_fdct32x32_rd_c; 835 if (flags & HAS_LSX) vpx_fdct32x32_rd = vpx_fdct32x32_rd_lsx; 836 vpx_fdct4x4 = vpx_fdct4x4_c; 837 if (flags & HAS_LSX) vpx_fdct4x4 = vpx_fdct4x4_lsx; 838 vpx_fdct8x8 = vpx_fdct8x8_c; 839 if (flags & HAS_LSX) vpx_fdct8x8 = vpx_fdct8x8_lsx; 840 vpx_get16x16var = vpx_get16x16var_c; 841 if (flags & HAS_LSX) vpx_get16x16var = vpx_get16x16var_lsx; 842 vpx_hadamard_16x16 = vpx_hadamard_16x16_c; 843 if (flags & HAS_LSX) vpx_hadamard_16x16 = vpx_hadamard_16x16_lsx; 844 vpx_hadamard_8x8 = vpx_hadamard_8x8_c; 845 if (flags & HAS_LSX) vpx_hadamard_8x8 = vpx_hadamard_8x8_lsx; 846 vpx_idct32x32_1024_add = vpx_idct32x32_1024_add_c; 847 if (flags & HAS_LSX) vpx_idct32x32_1024_add = vpx_idct32x32_1024_add_lsx; 848 vpx_idct32x32_135_add = vpx_idct32x32_135_add_c; 849 if (flags & HAS_LSX) vpx_idct32x32_135_add = vpx_idct32x32_1024_add_lsx; 850 vpx_idct32x32_1_add = vpx_idct32x32_1_add_c; 851 if (flags & HAS_LSX) vpx_idct32x32_1_add = vpx_idct32x32_1_add_lsx; 852 vpx_idct32x32_34_add = vpx_idct32x32_34_add_c; 853 if (flags & HAS_LSX) vpx_idct32x32_34_add = vpx_idct32x32_34_add_lsx; 854 vpx_lpf_horizontal_16_dual = vpx_lpf_horizontal_16_dual_c; 855 if (flags & HAS_LSX) vpx_lpf_horizontal_16_dual = vpx_lpf_horizontal_16_dual_lsx; 856 vpx_lpf_horizontal_4 = vpx_lpf_horizontal_4_c; 857 if (flags & HAS_LSX) vpx_lpf_horizontal_4 = vpx_lpf_horizontal_4_lsx; 858 vpx_lpf_horizontal_4_dual = vpx_lpf_horizontal_4_dual_c; 859 if (flags & HAS_LSX) vpx_lpf_horizontal_4_dual = vpx_lpf_horizontal_4_dual_lsx; 860 vpx_lpf_horizontal_8 = vpx_lpf_horizontal_8_c; 861 if (flags & HAS_LSX) vpx_lpf_horizontal_8 = vpx_lpf_horizontal_8_lsx; 862 vpx_lpf_horizontal_8_dual = vpx_lpf_horizontal_8_dual_c; 863 if (flags & HAS_LSX) vpx_lpf_horizontal_8_dual = vpx_lpf_horizontal_8_dual_lsx; 864 vpx_lpf_vertical_16_dual = vpx_lpf_vertical_16_dual_c; 865 if (flags & HAS_LSX) vpx_lpf_vertical_16_dual = vpx_lpf_vertical_16_dual_lsx; 866 vpx_lpf_vertical_4 = vpx_lpf_vertical_4_c; 867 if (flags & HAS_LSX) vpx_lpf_vertical_4 = vpx_lpf_vertical_4_lsx; 868 vpx_lpf_vertical_4_dual = vpx_lpf_vertical_4_dual_c; 869 if (flags & HAS_LSX) vpx_lpf_vertical_4_dual = vpx_lpf_vertical_4_dual_lsx; 870 vpx_lpf_vertical_8 = vpx_lpf_vertical_8_c; 871 if (flags & HAS_LSX) vpx_lpf_vertical_8 = vpx_lpf_vertical_8_lsx; 872 vpx_lpf_vertical_8_dual = vpx_lpf_vertical_8_dual_c; 873 if (flags & HAS_LSX) vpx_lpf_vertical_8_dual = vpx_lpf_vertical_8_dual_lsx; 874 vpx_mse16x16 = vpx_mse16x16_c; 875 if (flags & HAS_LSX) vpx_mse16x16 = vpx_mse16x16_lsx; 876 vpx_quantize_b = vpx_quantize_b_c; 877 if (flags & HAS_LSX) vpx_quantize_b = vpx_quantize_b_lsx; 878 vpx_quantize_b_32x32 = vpx_quantize_b_32x32_c; 879 if (flags & HAS_LSX) vpx_quantize_b_32x32 = vpx_quantize_b_32x32_lsx; 880 vpx_sad16x16 = vpx_sad16x16_c; 881 if (flags & HAS_LSX) vpx_sad16x16 = vpx_sad16x16_lsx; 882 vpx_sad16x16x4d = vpx_sad16x16x4d_c; 883 if (flags & HAS_LSX) vpx_sad16x16x4d = vpx_sad16x16x4d_lsx; 884 vpx_sad32x32 = vpx_sad32x32_c; 885 if (flags & HAS_LSX) vpx_sad32x32 = vpx_sad32x32_lsx; 886 vpx_sad32x32_avg = vpx_sad32x32_avg_c; 887 if (flags & HAS_LSX) vpx_sad32x32_avg = vpx_sad32x32_avg_lsx; 888 vpx_sad32x32x4d = vpx_sad32x32x4d_c; 889 if (flags & HAS_LSX) vpx_sad32x32x4d = vpx_sad32x32x4d_lsx; 890 vpx_sad32x64x4d = vpx_sad32x64x4d_c; 891 if (flags & HAS_LSX) vpx_sad32x64x4d = vpx_sad32x64x4d_lsx; 892 vpx_sad64x32x4d = vpx_sad64x32x4d_c; 893 if (flags & HAS_LSX) vpx_sad64x32x4d = vpx_sad64x32x4d_lsx; 894 vpx_sad64x64 = vpx_sad64x64_c; 895 if (flags & HAS_LSX) vpx_sad64x64 = vpx_sad64x64_lsx; 896 vpx_sad64x64_avg = vpx_sad64x64_avg_c; 897 if (flags & HAS_LSX) vpx_sad64x64_avg = vpx_sad64x64_avg_lsx; 898 vpx_sad64x64x4d = vpx_sad64x64x4d_c; 899 if (flags & HAS_LSX) vpx_sad64x64x4d = vpx_sad64x64x4d_lsx; 900 vpx_sad8x8 = vpx_sad8x8_c; 901 if (flags & HAS_LSX) vpx_sad8x8 = vpx_sad8x8_lsx; 902 vpx_sad8x8x4d = vpx_sad8x8x4d_c; 903 if (flags & HAS_LSX) vpx_sad8x8x4d = vpx_sad8x8x4d_lsx; 904 vpx_sub_pixel_avg_variance64x64 = vpx_sub_pixel_avg_variance64x64_c; 905 if (flags & HAS_LSX) vpx_sub_pixel_avg_variance64x64 = vpx_sub_pixel_avg_variance64x64_lsx; 906 vpx_sub_pixel_variance16x16 = vpx_sub_pixel_variance16x16_c; 907 if (flags & HAS_LSX) vpx_sub_pixel_variance16x16 = vpx_sub_pixel_variance16x16_lsx; 908 vpx_sub_pixel_variance32x32 = vpx_sub_pixel_variance32x32_c; 909 if (flags & HAS_LSX) vpx_sub_pixel_variance32x32 = vpx_sub_pixel_variance32x32_lsx; 910 vpx_sub_pixel_variance8x8 = vpx_sub_pixel_variance8x8_c; 911 if (flags & HAS_LSX) vpx_sub_pixel_variance8x8 = vpx_sub_pixel_variance8x8_lsx; 912 vpx_subtract_block = vpx_subtract_block_c; 913 if (flags & HAS_LSX) vpx_subtract_block = vpx_subtract_block_lsx; 914 vpx_variance16x16 = vpx_variance16x16_c; 915 if (flags & HAS_LSX) vpx_variance16x16 = vpx_variance16x16_lsx; 916 vpx_variance32x32 = vpx_variance32x32_c; 917 if (flags & HAS_LSX) vpx_variance32x32 = vpx_variance32x32_lsx; 918 vpx_variance64x64 = vpx_variance64x64_c; 919 if (flags & HAS_LSX) vpx_variance64x64 = vpx_variance64x64_lsx; 920 vpx_variance8x8 = vpx_variance8x8_c; 921 if (flags & HAS_LSX) vpx_variance8x8 = vpx_variance8x8_lsx; 922 } 923 #endif 924 925 #ifdef __cplusplus 926 } // extern "C" 927 #endif 928 929 #endif // VPX_DSP_RTCD_H_