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 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); 23 #define vpx_comp_avg_pred vpx_comp_avg_pred_c 24 25 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); 26 void vpx_convolve8_neon(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); 27 #define vpx_convolve8 vpx_convolve8_neon 28 29 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); 30 void vpx_convolve8_avg_neon(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); 31 #define vpx_convolve8_avg vpx_convolve8_avg_neon 32 33 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); 34 void vpx_convolve8_avg_horiz_neon(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_avg_horiz vpx_convolve8_avg_horiz_neon 36 37 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); 38 void vpx_convolve8_avg_vert_neon(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_vert vpx_convolve8_avg_vert_neon 40 41 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); 42 void vpx_convolve8_horiz_neon(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_horiz vpx_convolve8_horiz_neon 44 45 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); 46 void vpx_convolve8_vert_neon(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_vert vpx_convolve8_vert_neon 48 49 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); 50 void vpx_convolve_avg_neon(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_convolve_avg vpx_convolve_avg_neon 52 53 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); 54 void vpx_convolve_copy_neon(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_convolve_copy vpx_convolve_copy_neon 56 57 void vpx_d117_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 58 #define vpx_d117_predictor_16x16 vpx_d117_predictor_16x16_c 59 60 void vpx_d117_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 61 #define vpx_d117_predictor_32x32 vpx_d117_predictor_32x32_c 62 63 void vpx_d117_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 64 #define vpx_d117_predictor_4x4 vpx_d117_predictor_4x4_c 65 66 void vpx_d117_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 67 #define vpx_d117_predictor_8x8 vpx_d117_predictor_8x8_c 68 69 void vpx_d135_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 70 #define vpx_d135_predictor_16x16 vpx_d135_predictor_16x16_c 71 72 void vpx_d135_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 73 #define vpx_d135_predictor_32x32 vpx_d135_predictor_32x32_c 74 75 void vpx_d135_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 76 void vpx_d135_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 77 #define vpx_d135_predictor_4x4 vpx_d135_predictor_4x4_neon 78 79 void vpx_d135_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 80 #define vpx_d135_predictor_8x8 vpx_d135_predictor_8x8_c 81 82 void vpx_d153_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 83 #define vpx_d153_predictor_16x16 vpx_d153_predictor_16x16_c 84 85 void vpx_d153_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 86 #define vpx_d153_predictor_32x32 vpx_d153_predictor_32x32_c 87 88 void vpx_d153_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 89 #define vpx_d153_predictor_4x4 vpx_d153_predictor_4x4_c 90 91 void vpx_d153_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 92 #define vpx_d153_predictor_8x8 vpx_d153_predictor_8x8_c 93 94 void vpx_d207_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 95 #define vpx_d207_predictor_16x16 vpx_d207_predictor_16x16_c 96 97 void vpx_d207_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 98 #define vpx_d207_predictor_32x32 vpx_d207_predictor_32x32_c 99 100 void vpx_d207_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 101 #define vpx_d207_predictor_4x4 vpx_d207_predictor_4x4_c 102 103 void vpx_d207_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 104 #define vpx_d207_predictor_8x8 vpx_d207_predictor_8x8_c 105 106 void vpx_d207e_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 107 #define vpx_d207e_predictor_16x16 vpx_d207e_predictor_16x16_c 108 109 void vpx_d207e_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 110 #define vpx_d207e_predictor_32x32 vpx_d207e_predictor_32x32_c 111 112 void vpx_d207e_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 113 #define vpx_d207e_predictor_4x4 vpx_d207e_predictor_4x4_c 114 115 void vpx_d207e_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 116 #define vpx_d207e_predictor_8x8 vpx_d207e_predictor_8x8_c 117 118 void vpx_d45_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 119 void vpx_d45_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 120 #define vpx_d45_predictor_16x16 vpx_d45_predictor_16x16_neon 121 122 void vpx_d45_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 123 #define vpx_d45_predictor_32x32 vpx_d45_predictor_32x32_c 124 125 void vpx_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 126 void vpx_d45_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 127 #define vpx_d45_predictor_4x4 vpx_d45_predictor_4x4_neon 128 129 void vpx_d45_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 130 void vpx_d45_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 131 #define vpx_d45_predictor_8x8 vpx_d45_predictor_8x8_neon 132 133 void vpx_d45e_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 134 #define vpx_d45e_predictor_16x16 vpx_d45e_predictor_16x16_c 135 136 void vpx_d45e_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 137 #define vpx_d45e_predictor_32x32 vpx_d45e_predictor_32x32_c 138 139 void vpx_d45e_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 140 #define vpx_d45e_predictor_4x4 vpx_d45e_predictor_4x4_c 141 142 void vpx_d45e_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 143 #define vpx_d45e_predictor_8x8 vpx_d45e_predictor_8x8_c 144 145 void vpx_d63_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 146 #define vpx_d63_predictor_16x16 vpx_d63_predictor_16x16_c 147 148 void vpx_d63_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 149 #define vpx_d63_predictor_32x32 vpx_d63_predictor_32x32_c 150 151 void vpx_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 152 #define vpx_d63_predictor_4x4 vpx_d63_predictor_4x4_c 153 154 void vpx_d63_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 155 #define vpx_d63_predictor_8x8 vpx_d63_predictor_8x8_c 156 157 void vpx_d63e_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 158 #define vpx_d63e_predictor_16x16 vpx_d63e_predictor_16x16_c 159 160 void vpx_d63e_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 161 #define vpx_d63e_predictor_32x32 vpx_d63e_predictor_32x32_c 162 163 void vpx_d63e_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 164 #define vpx_d63e_predictor_4x4 vpx_d63e_predictor_4x4_c 165 166 void vpx_d63e_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 167 #define vpx_d63e_predictor_8x8 vpx_d63e_predictor_8x8_c 168 169 void vpx_d63f_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 170 #define vpx_d63f_predictor_4x4 vpx_d63f_predictor_4x4_c 171 172 void vpx_dc_128_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 173 void vpx_dc_128_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 174 #define vpx_dc_128_predictor_16x16 vpx_dc_128_predictor_16x16_neon 175 176 void vpx_dc_128_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 177 void vpx_dc_128_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 178 #define vpx_dc_128_predictor_32x32 vpx_dc_128_predictor_32x32_neon 179 180 void vpx_dc_128_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 181 void vpx_dc_128_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 182 #define vpx_dc_128_predictor_4x4 vpx_dc_128_predictor_4x4_neon 183 184 void vpx_dc_128_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 185 void vpx_dc_128_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 186 #define vpx_dc_128_predictor_8x8 vpx_dc_128_predictor_8x8_neon 187 188 void vpx_dc_left_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 189 void vpx_dc_left_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 190 #define vpx_dc_left_predictor_16x16 vpx_dc_left_predictor_16x16_neon 191 192 void vpx_dc_left_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 193 void vpx_dc_left_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 194 #define vpx_dc_left_predictor_32x32 vpx_dc_left_predictor_32x32_neon 195 196 void vpx_dc_left_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 197 void vpx_dc_left_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 198 #define vpx_dc_left_predictor_4x4 vpx_dc_left_predictor_4x4_neon 199 200 void vpx_dc_left_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 201 void vpx_dc_left_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 202 #define vpx_dc_left_predictor_8x8 vpx_dc_left_predictor_8x8_neon 203 204 void vpx_dc_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 205 void vpx_dc_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 206 #define vpx_dc_predictor_16x16 vpx_dc_predictor_16x16_neon 207 208 void vpx_dc_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 209 void vpx_dc_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 210 #define vpx_dc_predictor_32x32 vpx_dc_predictor_32x32_neon 211 212 void vpx_dc_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 213 void vpx_dc_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 214 #define vpx_dc_predictor_4x4 vpx_dc_predictor_4x4_neon 215 216 void vpx_dc_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 217 void vpx_dc_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 218 #define vpx_dc_predictor_8x8 vpx_dc_predictor_8x8_neon 219 220 void vpx_dc_top_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 221 void vpx_dc_top_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 222 #define vpx_dc_top_predictor_16x16 vpx_dc_top_predictor_16x16_neon 223 224 void vpx_dc_top_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 225 void vpx_dc_top_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 226 #define vpx_dc_top_predictor_32x32 vpx_dc_top_predictor_32x32_neon 227 228 void vpx_dc_top_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 229 void vpx_dc_top_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 230 #define vpx_dc_top_predictor_4x4 vpx_dc_top_predictor_4x4_neon 231 232 void vpx_dc_top_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 233 void vpx_dc_top_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 234 #define vpx_dc_top_predictor_8x8 vpx_dc_top_predictor_8x8_neon 235 236 void vpx_fdct16x16_c(const int16_t *input, tran_low_t *output, int stride); 237 #define vpx_fdct16x16 vpx_fdct16x16_c 238 239 void vpx_fdct16x16_1_c(const int16_t *input, tran_low_t *output, int stride); 240 #define vpx_fdct16x16_1 vpx_fdct16x16_1_c 241 242 void vpx_fdct32x32_c(const int16_t *input, tran_low_t *output, int stride); 243 #define vpx_fdct32x32 vpx_fdct32x32_c 244 245 void vpx_fdct32x32_1_c(const int16_t *input, tran_low_t *output, int stride); 246 #define vpx_fdct32x32_1 vpx_fdct32x32_1_c 247 248 void vpx_fdct32x32_rd_c(const int16_t *input, tran_low_t *output, int stride); 249 #define vpx_fdct32x32_rd vpx_fdct32x32_rd_c 250 251 void vpx_fdct4x4_c(const int16_t *input, tran_low_t *output, int stride); 252 #define vpx_fdct4x4 vpx_fdct4x4_c 253 254 void vpx_fdct4x4_1_c(const int16_t *input, tran_low_t *output, int stride); 255 #define vpx_fdct4x4_1 vpx_fdct4x4_1_c 256 257 void vpx_fdct8x8_c(const int16_t *input, tran_low_t *output, int stride); 258 void vpx_fdct8x8_neon(const int16_t *input, tran_low_t *output, int stride); 259 #define vpx_fdct8x8 vpx_fdct8x8_neon 260 261 void vpx_fdct8x8_1_c(const int16_t *input, tran_low_t *output, int stride); 262 void vpx_fdct8x8_1_neon(const int16_t *input, tran_low_t *output, int stride); 263 #define vpx_fdct8x8_1 vpx_fdct8x8_1_neon 264 265 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); 266 void vpx_get16x16var_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum); 267 #define vpx_get16x16var vpx_get16x16var_neon 268 269 unsigned int vpx_get4x4sse_cs_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride); 270 unsigned int vpx_get4x4sse_cs_neon(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride); 271 #define vpx_get4x4sse_cs vpx_get4x4sse_cs_neon 272 273 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); 274 void vpx_get8x8var_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum); 275 #define vpx_get8x8var vpx_get8x8var_neon 276 277 unsigned int vpx_get_mb_ss_c(const int16_t *); 278 #define vpx_get_mb_ss vpx_get_mb_ss_c 279 280 void vpx_h_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 281 void vpx_h_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 282 #define vpx_h_predictor_16x16 vpx_h_predictor_16x16_neon 283 284 void vpx_h_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 285 void vpx_h_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 286 #define vpx_h_predictor_32x32 vpx_h_predictor_32x32_neon 287 288 void vpx_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 289 void vpx_h_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 290 #define vpx_h_predictor_4x4 vpx_h_predictor_4x4_neon 291 292 void vpx_h_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 293 void vpx_h_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 294 #define vpx_h_predictor_8x8 vpx_h_predictor_8x8_neon 295 296 void vpx_he_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 297 #define vpx_he_predictor_4x4 vpx_he_predictor_4x4_c 298 299 void vpx_idct16x16_10_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 300 void vpx_idct16x16_10_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride); 301 #define vpx_idct16x16_10_add vpx_idct16x16_10_add_neon 302 303 void vpx_idct16x16_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 304 void vpx_idct16x16_1_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride); 305 #define vpx_idct16x16_1_add vpx_idct16x16_1_add_neon 306 307 void vpx_idct16x16_256_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 308 void vpx_idct16x16_256_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride); 309 #define vpx_idct16x16_256_add vpx_idct16x16_256_add_neon 310 311 void vpx_idct32x32_1024_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 312 void vpx_idct32x32_1024_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride); 313 #define vpx_idct32x32_1024_add vpx_idct32x32_1024_add_neon 314 315 void vpx_idct32x32_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 316 void vpx_idct32x32_1_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride); 317 #define vpx_idct32x32_1_add vpx_idct32x32_1_add_neon 318 319 void vpx_idct32x32_34_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 320 #define vpx_idct32x32_34_add vpx_idct32x32_34_add_c 321 322 void vpx_idct4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 323 void vpx_idct4x4_16_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride); 324 #define vpx_idct4x4_16_add vpx_idct4x4_16_add_neon 325 326 void vpx_idct4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 327 void vpx_idct4x4_1_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride); 328 #define vpx_idct4x4_1_add vpx_idct4x4_1_add_neon 329 330 void vpx_idct8x8_12_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 331 void vpx_idct8x8_12_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride); 332 #define vpx_idct8x8_12_add vpx_idct8x8_12_add_neon 333 334 void vpx_idct8x8_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 335 void vpx_idct8x8_1_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride); 336 #define vpx_idct8x8_1_add vpx_idct8x8_1_add_neon 337 338 void vpx_idct8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 339 void vpx_idct8x8_64_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride); 340 #define vpx_idct8x8_64_add vpx_idct8x8_64_add_neon 341 342 void vpx_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 343 #define vpx_iwht4x4_16_add vpx_iwht4x4_16_add_c 344 345 void vpx_iwht4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 346 #define vpx_iwht4x4_1_add vpx_iwht4x4_1_add_c 347 348 void vpx_lpf_horizontal_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 349 #define vpx_lpf_horizontal_16 vpx_lpf_horizontal_16_c 350 351 void vpx_lpf_horizontal_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 352 void vpx_lpf_horizontal_4_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 353 #define vpx_lpf_horizontal_4 vpx_lpf_horizontal_4_neon 354 355 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); 356 void vpx_lpf_horizontal_4_dual_neon(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); 357 #define vpx_lpf_horizontal_4_dual vpx_lpf_horizontal_4_dual_neon 358 359 void vpx_lpf_horizontal_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 360 void vpx_lpf_horizontal_8_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 361 #define vpx_lpf_horizontal_8 vpx_lpf_horizontal_8_neon 362 363 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); 364 #define vpx_lpf_horizontal_8_dual vpx_lpf_horizontal_8_dual_c 365 366 void vpx_lpf_vertical_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 367 #define vpx_lpf_vertical_16 vpx_lpf_vertical_16_c 368 369 void vpx_lpf_vertical_16_dual_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 370 #define vpx_lpf_vertical_16_dual vpx_lpf_vertical_16_dual_c 371 372 void vpx_lpf_vertical_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 373 void vpx_lpf_vertical_4_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 374 #define vpx_lpf_vertical_4 vpx_lpf_vertical_4_neon 375 376 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); 377 void vpx_lpf_vertical_4_dual_neon(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 #define vpx_lpf_vertical_4_dual vpx_lpf_vertical_4_dual_neon 379 380 void vpx_lpf_vertical_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 381 void vpx_lpf_vertical_8_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 382 #define vpx_lpf_vertical_8 vpx_lpf_vertical_8_neon 383 384 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); 385 #define vpx_lpf_vertical_8_dual vpx_lpf_vertical_8_dual_c 386 387 unsigned int vpx_mse16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); 388 unsigned int vpx_mse16x16_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); 389 #define vpx_mse16x16 vpx_mse16x16_neon 390 391 unsigned int vpx_mse16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); 392 #define vpx_mse16x8 vpx_mse16x8_c 393 394 unsigned int vpx_mse8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); 395 #define vpx_mse8x16 vpx_mse8x16_c 396 397 unsigned int vpx_mse8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); 398 #define vpx_mse8x8 vpx_mse8x8_c 399 400 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); 401 #define vpx_quantize_b vpx_quantize_b_c 402 403 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); 404 #define vpx_quantize_b_32x32 vpx_quantize_b_32x32_c 405 406 unsigned int vpx_sad16x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 407 unsigned int vpx_sad16x16_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 408 #define vpx_sad16x16 vpx_sad16x16_neon 409 410 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); 411 #define vpx_sad16x16_avg vpx_sad16x16_avg_c 412 413 void vpx_sad16x16x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 414 #define vpx_sad16x16x3 vpx_sad16x16x3_c 415 416 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); 417 void vpx_sad16x16x4d_neon(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array); 418 #define vpx_sad16x16x4d vpx_sad16x16x4d_neon 419 420 void vpx_sad16x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 421 #define vpx_sad16x16x8 vpx_sad16x16x8_c 422 423 unsigned int vpx_sad16x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 424 #define vpx_sad16x32 vpx_sad16x32_c 425 426 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); 427 #define vpx_sad16x32_avg vpx_sad16x32_avg_c 428 429 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); 430 #define vpx_sad16x32x4d vpx_sad16x32x4d_c 431 432 unsigned int vpx_sad16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 433 unsigned int vpx_sad16x8_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 434 #define vpx_sad16x8 vpx_sad16x8_neon 435 436 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); 437 #define vpx_sad16x8_avg vpx_sad16x8_avg_c 438 439 void vpx_sad16x8x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 440 #define vpx_sad16x8x3 vpx_sad16x8x3_c 441 442 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); 443 #define vpx_sad16x8x4d vpx_sad16x8x4d_c 444 445 void vpx_sad16x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 446 #define vpx_sad16x8x8 vpx_sad16x8x8_c 447 448 unsigned int vpx_sad32x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 449 #define vpx_sad32x16 vpx_sad32x16_c 450 451 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); 452 #define vpx_sad32x16_avg vpx_sad32x16_avg_c 453 454 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); 455 #define vpx_sad32x16x4d vpx_sad32x16x4d_c 456 457 unsigned int vpx_sad32x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 458 unsigned int vpx_sad32x32_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 459 #define vpx_sad32x32 vpx_sad32x32_neon 460 461 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); 462 #define vpx_sad32x32_avg vpx_sad32x32_avg_c 463 464 void vpx_sad32x32x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 465 #define vpx_sad32x32x3 vpx_sad32x32x3_c 466 467 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); 468 void vpx_sad32x32x4d_neon(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array); 469 #define vpx_sad32x32x4d vpx_sad32x32x4d_neon 470 471 void vpx_sad32x32x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 472 #define vpx_sad32x32x8 vpx_sad32x32x8_c 473 474 unsigned int vpx_sad32x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 475 #define vpx_sad32x64 vpx_sad32x64_c 476 477 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); 478 #define vpx_sad32x64_avg vpx_sad32x64_avg_c 479 480 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); 481 #define vpx_sad32x64x4d vpx_sad32x64x4d_c 482 483 unsigned int vpx_sad4x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 484 unsigned int vpx_sad4x4_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 485 #define vpx_sad4x4 vpx_sad4x4_neon 486 487 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); 488 #define vpx_sad4x4_avg vpx_sad4x4_avg_c 489 490 void vpx_sad4x4x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 491 #define vpx_sad4x4x3 vpx_sad4x4x3_c 492 493 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); 494 #define vpx_sad4x4x4d vpx_sad4x4x4d_c 495 496 void vpx_sad4x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 497 #define vpx_sad4x4x8 vpx_sad4x4x8_c 498 499 unsigned int vpx_sad4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 500 #define vpx_sad4x8 vpx_sad4x8_c 501 502 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); 503 #define vpx_sad4x8_avg vpx_sad4x8_avg_c 504 505 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); 506 #define vpx_sad4x8x4d vpx_sad4x8x4d_c 507 508 void vpx_sad4x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 509 #define vpx_sad4x8x8 vpx_sad4x8x8_c 510 511 unsigned int vpx_sad64x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 512 #define vpx_sad64x32 vpx_sad64x32_c 513 514 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); 515 #define vpx_sad64x32_avg vpx_sad64x32_avg_c 516 517 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); 518 #define vpx_sad64x32x4d vpx_sad64x32x4d_c 519 520 unsigned int vpx_sad64x64_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 521 unsigned int vpx_sad64x64_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 522 #define vpx_sad64x64 vpx_sad64x64_neon 523 524 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); 525 #define vpx_sad64x64_avg vpx_sad64x64_avg_c 526 527 void vpx_sad64x64x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 528 #define vpx_sad64x64x3 vpx_sad64x64x3_c 529 530 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); 531 void vpx_sad64x64x4d_neon(const uint8_t *src_ptr, int src_stride, const uint8_t * const ref_ptr[], int ref_stride, uint32_t *sad_array); 532 #define vpx_sad64x64x4d vpx_sad64x64x4d_neon 533 534 void vpx_sad64x64x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 535 #define vpx_sad64x64x8 vpx_sad64x64x8_c 536 537 unsigned int vpx_sad8x16_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 538 unsigned int vpx_sad8x16_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 539 #define vpx_sad8x16 vpx_sad8x16_neon 540 541 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); 542 #define vpx_sad8x16_avg vpx_sad8x16_avg_c 543 544 void vpx_sad8x16x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 545 #define vpx_sad8x16x3 vpx_sad8x16x3_c 546 547 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); 548 #define vpx_sad8x16x4d vpx_sad8x16x4d_c 549 550 void vpx_sad8x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 551 #define vpx_sad8x16x8 vpx_sad8x16x8_c 552 553 unsigned int vpx_sad8x4_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 554 #define vpx_sad8x4 vpx_sad8x4_c 555 556 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); 557 #define vpx_sad8x4_avg vpx_sad8x4_avg_c 558 559 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); 560 #define vpx_sad8x4x4d vpx_sad8x4x4d_c 561 562 void vpx_sad8x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 563 #define vpx_sad8x4x8 vpx_sad8x4x8_c 564 565 unsigned int vpx_sad8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 566 unsigned int vpx_sad8x8_neon(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride); 567 #define vpx_sad8x8 vpx_sad8x8_neon 568 569 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); 570 #define vpx_sad8x8_avg vpx_sad8x8_avg_c 571 572 void vpx_sad8x8x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 573 #define vpx_sad8x8x3 vpx_sad8x8x3_c 574 575 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); 576 #define vpx_sad8x8x4d vpx_sad8x8x4d_c 577 578 void vpx_sad8x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 579 #define vpx_sad8x8x8 vpx_sad8x8x8_c 580 581 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); 582 #define vpx_scaled_2d vpx_scaled_2d_c 583 584 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); 585 #define vpx_scaled_avg_2d vpx_scaled_avg_2d_c 586 587 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); 588 #define vpx_scaled_avg_horiz vpx_scaled_avg_horiz_c 589 590 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); 591 #define vpx_scaled_avg_vert vpx_scaled_avg_vert_c 592 593 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); 594 #define vpx_scaled_horiz vpx_scaled_horiz_c 595 596 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); 597 #define vpx_scaled_vert vpx_scaled_vert_c 598 599 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); 600 #define vpx_sub_pixel_avg_variance16x16 vpx_sub_pixel_avg_variance16x16_c 601 602 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); 603 #define vpx_sub_pixel_avg_variance16x32 vpx_sub_pixel_avg_variance16x32_c 604 605 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); 606 #define vpx_sub_pixel_avg_variance16x8 vpx_sub_pixel_avg_variance16x8_c 607 608 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); 609 #define vpx_sub_pixel_avg_variance32x16 vpx_sub_pixel_avg_variance32x16_c 610 611 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); 612 #define vpx_sub_pixel_avg_variance32x32 vpx_sub_pixel_avg_variance32x32_c 613 614 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); 615 #define vpx_sub_pixel_avg_variance32x64 vpx_sub_pixel_avg_variance32x64_c 616 617 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); 618 #define vpx_sub_pixel_avg_variance4x4 vpx_sub_pixel_avg_variance4x4_c 619 620 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); 621 #define vpx_sub_pixel_avg_variance4x8 vpx_sub_pixel_avg_variance4x8_c 622 623 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); 624 #define vpx_sub_pixel_avg_variance64x32 vpx_sub_pixel_avg_variance64x32_c 625 626 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); 627 #define vpx_sub_pixel_avg_variance64x64 vpx_sub_pixel_avg_variance64x64_c 628 629 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); 630 #define vpx_sub_pixel_avg_variance8x16 vpx_sub_pixel_avg_variance8x16_c 631 632 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); 633 #define vpx_sub_pixel_avg_variance8x4 vpx_sub_pixel_avg_variance8x4_c 634 635 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); 636 #define vpx_sub_pixel_avg_variance8x8 vpx_sub_pixel_avg_variance8x8_c 637 638 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); 639 uint32_t vpx_sub_pixel_variance16x16_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); 640 #define vpx_sub_pixel_variance16x16 vpx_sub_pixel_variance16x16_neon 641 642 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); 643 #define vpx_sub_pixel_variance16x32 vpx_sub_pixel_variance16x32_c 644 645 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); 646 #define vpx_sub_pixel_variance16x8 vpx_sub_pixel_variance16x8_c 647 648 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); 649 #define vpx_sub_pixel_variance32x16 vpx_sub_pixel_variance32x16_c 650 651 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); 652 uint32_t vpx_sub_pixel_variance32x32_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); 653 #define vpx_sub_pixel_variance32x32 vpx_sub_pixel_variance32x32_neon 654 655 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); 656 #define vpx_sub_pixel_variance32x64 vpx_sub_pixel_variance32x64_c 657 658 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); 659 #define vpx_sub_pixel_variance4x4 vpx_sub_pixel_variance4x4_c 660 661 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); 662 #define vpx_sub_pixel_variance4x8 vpx_sub_pixel_variance4x8_c 663 664 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); 665 #define vpx_sub_pixel_variance64x32 vpx_sub_pixel_variance64x32_c 666 667 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); 668 uint32_t vpx_sub_pixel_variance64x64_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); 669 #define vpx_sub_pixel_variance64x64 vpx_sub_pixel_variance64x64_neon 670 671 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); 672 #define vpx_sub_pixel_variance8x16 vpx_sub_pixel_variance8x16_c 673 674 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); 675 #define vpx_sub_pixel_variance8x4 vpx_sub_pixel_variance8x4_c 676 677 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); 678 uint32_t vpx_sub_pixel_variance8x8_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, uint32_t *sse); 679 #define vpx_sub_pixel_variance8x8 vpx_sub_pixel_variance8x8_neon 680 681 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); 682 void vpx_subtract_block_neon(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); 683 #define vpx_subtract_block vpx_subtract_block_neon 684 685 void vpx_tm_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 686 void vpx_tm_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 687 #define vpx_tm_predictor_16x16 vpx_tm_predictor_16x16_neon 688 689 void vpx_tm_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 690 void vpx_tm_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 691 #define vpx_tm_predictor_32x32 vpx_tm_predictor_32x32_neon 692 693 void vpx_tm_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 694 void vpx_tm_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 695 #define vpx_tm_predictor_4x4 vpx_tm_predictor_4x4_neon 696 697 void vpx_tm_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 698 void vpx_tm_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 699 #define vpx_tm_predictor_8x8 vpx_tm_predictor_8x8_neon 700 701 void vpx_v_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 702 void vpx_v_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 703 #define vpx_v_predictor_16x16 vpx_v_predictor_16x16_neon 704 705 void vpx_v_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 706 void vpx_v_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 707 #define vpx_v_predictor_32x32 vpx_v_predictor_32x32_neon 708 709 void vpx_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 710 void vpx_v_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 711 #define vpx_v_predictor_4x4 vpx_v_predictor_4x4_neon 712 713 void vpx_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 714 void vpx_v_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 715 #define vpx_v_predictor_8x8 vpx_v_predictor_8x8_neon 716 717 unsigned int vpx_variance16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 718 unsigned int vpx_variance16x16_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 719 #define vpx_variance16x16 vpx_variance16x16_neon 720 721 unsigned int vpx_variance16x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 722 #define vpx_variance16x32 vpx_variance16x32_c 723 724 unsigned int vpx_variance16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 725 unsigned int vpx_variance16x8_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 726 #define vpx_variance16x8 vpx_variance16x8_neon 727 728 unsigned int vpx_variance32x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 729 #define vpx_variance32x16 vpx_variance32x16_c 730 731 unsigned int vpx_variance32x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 732 unsigned int vpx_variance32x32_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 733 #define vpx_variance32x32 vpx_variance32x32_neon 734 735 unsigned int vpx_variance32x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 736 unsigned int vpx_variance32x64_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 737 #define vpx_variance32x64 vpx_variance32x64_neon 738 739 unsigned int vpx_variance4x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 740 #define vpx_variance4x4 vpx_variance4x4_c 741 742 unsigned int vpx_variance4x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 743 #define vpx_variance4x8 vpx_variance4x8_c 744 745 unsigned int vpx_variance64x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 746 unsigned int vpx_variance64x32_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 747 #define vpx_variance64x32 vpx_variance64x32_neon 748 749 unsigned int vpx_variance64x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 750 unsigned int vpx_variance64x64_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 751 #define vpx_variance64x64 vpx_variance64x64_neon 752 753 unsigned int vpx_variance8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 754 unsigned int vpx_variance8x16_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 755 #define vpx_variance8x16 vpx_variance8x16_neon 756 757 unsigned int vpx_variance8x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 758 #define vpx_variance8x4 vpx_variance8x4_c 759 760 unsigned int vpx_variance8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 761 unsigned int vpx_variance8x8_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 762 #define vpx_variance8x8 vpx_variance8x8_neon 763 764 uint32_t vpx_variance_halfpixvar16x16_h_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse); 765 #define vpx_variance_halfpixvar16x16_h vpx_variance_halfpixvar16x16_h_c 766 767 uint32_t vpx_variance_halfpixvar16x16_hv_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse); 768 #define vpx_variance_halfpixvar16x16_hv vpx_variance_halfpixvar16x16_hv_c 769 770 uint32_t vpx_variance_halfpixvar16x16_v_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, uint32_t *sse); 771 #define vpx_variance_halfpixvar16x16_v vpx_variance_halfpixvar16x16_v_c 772 773 void vpx_ve_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 774 #define vpx_ve_predictor_4x4 vpx_ve_predictor_4x4_c 775 776 void vpx_dsp_rtcd(void); 777 778 #include "vpx_config.h" 779 780 #ifdef RTCD_C 781 #include "vpx_ports/arm.h" 782 static void setup_rtcd_internal(void) 783 { 784 int flags = arm_cpu_caps(); 785 786 (void)flags; 787 788 } 789 #endif 790 791 #ifdef __cplusplus 792 } // extern "C" 793 #endif 794 795 #endif 796