1 #ifndef VP9_RTCD_H_ 2 #define VP9_RTCD_H_ 3 4 #ifdef RTCD_C 5 #define RTCD_EXTERN 6 #else 7 #define RTCD_EXTERN extern 8 #endif 9 10 /* 11 * VP9 12 */ 13 14 #include "vpx/vpx_integer.h" 15 #include "vp9/common/vp9_enums.h" 16 #include "vp9/common/vp9_idct.h" 17 18 struct macroblockd; 19 20 /* Encoder forward decls */ 21 struct macroblock; 22 struct vp9_variance_vtable; 23 struct search_site_config; 24 struct mv; 25 union int_mv; 26 struct yv12_buffer_config; 27 28 #ifdef __cplusplus 29 extern "C" { 30 #endif 31 32 int64_t vp9_block_error_c(const tran_low_t *coeff, const tran_low_t *dqcoeff, intptr_t block_size, int64_t *ssz); 33 #define vp9_block_error vp9_block_error_c 34 35 void vp9_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); 36 #define vp9_convolve8 vp9_convolve8_c 37 38 void vp9_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); 39 #define vp9_convolve8_avg vp9_convolve8_avg_c 40 41 void vp9_convolve8_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 42 #define vp9_convolve8_avg_horiz vp9_convolve8_avg_horiz_c 43 44 void vp9_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); 45 #define vp9_convolve8_avg_vert vp9_convolve8_avg_vert_c 46 47 void vp9_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); 48 #define vp9_convolve8_horiz vp9_convolve8_horiz_c 49 50 void vp9_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); 51 #define vp9_convolve8_vert vp9_convolve8_vert_c 52 53 void vp9_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); 54 #define vp9_convolve_avg vp9_convolve_avg_c 55 56 void vp9_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); 57 #define vp9_convolve_copy vp9_convolve_copy_c 58 59 void vp9_d117_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 60 #define vp9_d117_predictor_16x16 vp9_d117_predictor_16x16_c 61 62 void vp9_d117_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 63 #define vp9_d117_predictor_32x32 vp9_d117_predictor_32x32_c 64 65 void vp9_d117_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 66 #define vp9_d117_predictor_4x4 vp9_d117_predictor_4x4_c 67 68 void vp9_d117_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 69 #define vp9_d117_predictor_8x8 vp9_d117_predictor_8x8_c 70 71 void vp9_d135_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 72 #define vp9_d135_predictor_16x16 vp9_d135_predictor_16x16_c 73 74 void vp9_d135_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 75 #define vp9_d135_predictor_32x32 vp9_d135_predictor_32x32_c 76 77 void vp9_d135_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 78 #define vp9_d135_predictor_4x4 vp9_d135_predictor_4x4_c 79 80 void vp9_d135_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 81 #define vp9_d135_predictor_8x8 vp9_d135_predictor_8x8_c 82 83 void vp9_d153_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 84 #define vp9_d153_predictor_16x16 vp9_d153_predictor_16x16_c 85 86 void vp9_d153_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 87 #define vp9_d153_predictor_32x32 vp9_d153_predictor_32x32_c 88 89 void vp9_d153_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 90 #define vp9_d153_predictor_4x4 vp9_d153_predictor_4x4_c 91 92 void vp9_d153_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 93 #define vp9_d153_predictor_8x8 vp9_d153_predictor_8x8_c 94 95 void vp9_d207_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 96 #define vp9_d207_predictor_16x16 vp9_d207_predictor_16x16_c 97 98 void vp9_d207_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 99 #define vp9_d207_predictor_32x32 vp9_d207_predictor_32x32_c 100 101 void vp9_d207_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 102 #define vp9_d207_predictor_4x4 vp9_d207_predictor_4x4_c 103 104 void vp9_d207_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 105 #define vp9_d207_predictor_8x8 vp9_d207_predictor_8x8_c 106 107 void vp9_d45_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 108 #define vp9_d45_predictor_16x16 vp9_d45_predictor_16x16_c 109 110 void vp9_d45_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 111 #define vp9_d45_predictor_32x32 vp9_d45_predictor_32x32_c 112 113 void vp9_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 114 #define vp9_d45_predictor_4x4 vp9_d45_predictor_4x4_c 115 116 void vp9_d45_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 117 #define vp9_d45_predictor_8x8 vp9_d45_predictor_8x8_c 118 119 void vp9_d63_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 120 #define vp9_d63_predictor_16x16 vp9_d63_predictor_16x16_c 121 122 void vp9_d63_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 123 #define vp9_d63_predictor_32x32 vp9_d63_predictor_32x32_c 124 125 void vp9_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 126 #define vp9_d63_predictor_4x4 vp9_d63_predictor_4x4_c 127 128 void vp9_d63_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 129 #define vp9_d63_predictor_8x8 vp9_d63_predictor_8x8_c 130 131 void vp9_dc_128_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 132 #define vp9_dc_128_predictor_16x16 vp9_dc_128_predictor_16x16_c 133 134 void vp9_dc_128_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 135 #define vp9_dc_128_predictor_32x32 vp9_dc_128_predictor_32x32_c 136 137 void vp9_dc_128_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 138 #define vp9_dc_128_predictor_4x4 vp9_dc_128_predictor_4x4_c 139 140 void vp9_dc_128_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 141 #define vp9_dc_128_predictor_8x8 vp9_dc_128_predictor_8x8_c 142 143 void vp9_dc_left_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 144 #define vp9_dc_left_predictor_16x16 vp9_dc_left_predictor_16x16_c 145 146 void vp9_dc_left_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 147 #define vp9_dc_left_predictor_32x32 vp9_dc_left_predictor_32x32_c 148 149 void vp9_dc_left_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 150 #define vp9_dc_left_predictor_4x4 vp9_dc_left_predictor_4x4_c 151 152 void vp9_dc_left_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 153 #define vp9_dc_left_predictor_8x8 vp9_dc_left_predictor_8x8_c 154 155 void vp9_dc_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 156 #define vp9_dc_predictor_16x16 vp9_dc_predictor_16x16_c 157 158 void vp9_dc_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 159 #define vp9_dc_predictor_32x32 vp9_dc_predictor_32x32_c 160 161 void vp9_dc_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 162 #define vp9_dc_predictor_4x4 vp9_dc_predictor_4x4_c 163 164 void vp9_dc_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 165 #define vp9_dc_predictor_8x8 vp9_dc_predictor_8x8_c 166 167 void vp9_dc_top_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 168 #define vp9_dc_top_predictor_16x16 vp9_dc_top_predictor_16x16_c 169 170 void vp9_dc_top_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 171 #define vp9_dc_top_predictor_32x32 vp9_dc_top_predictor_32x32_c 172 173 void vp9_dc_top_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 174 #define vp9_dc_top_predictor_4x4 vp9_dc_top_predictor_4x4_c 175 176 void vp9_dc_top_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 177 #define vp9_dc_top_predictor_8x8 vp9_dc_top_predictor_8x8_c 178 179 int vp9_diamond_search_sad_c(const struct macroblock *x, const struct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv); 180 #define vp9_diamond_search_sad vp9_diamond_search_sad_c 181 182 void vp9_fdct16x16_c(const int16_t *input, tran_low_t *output, int stride); 183 #define vp9_fdct16x16 vp9_fdct16x16_c 184 185 void vp9_fdct16x16_1_c(const int16_t *input, tran_low_t *output, int stride); 186 #define vp9_fdct16x16_1 vp9_fdct16x16_1_c 187 188 void vp9_fdct32x32_c(const int16_t *input, tran_low_t *output, int stride); 189 #define vp9_fdct32x32 vp9_fdct32x32_c 190 191 void vp9_fdct32x32_1_c(const int16_t *input, tran_low_t *output, int stride); 192 #define vp9_fdct32x32_1 vp9_fdct32x32_1_c 193 194 void vp9_fdct32x32_rd_c(const int16_t *input, tran_low_t *output, int stride); 195 #define vp9_fdct32x32_rd vp9_fdct32x32_rd_c 196 197 void vp9_fdct4x4_c(const int16_t *input, tran_low_t *output, int stride); 198 #define vp9_fdct4x4 vp9_fdct4x4_c 199 200 void vp9_fdct4x4_1_c(const int16_t *input, tran_low_t *output, int stride); 201 #define vp9_fdct4x4_1 vp9_fdct4x4_1_c 202 203 void vp9_fdct8x8_c(const int16_t *input, tran_low_t *output, int stride); 204 void vp9_fdct8x8_neon(const int16_t *input, tran_low_t *output, int stride); 205 #define vp9_fdct8x8 vp9_fdct8x8_neon 206 207 void vp9_fdct8x8_1_c(const int16_t *input, tran_low_t *output, int stride); 208 void vp9_fdct8x8_1_neon(const int16_t *input, tran_low_t *output, int stride); 209 #define vp9_fdct8x8_1 vp9_fdct8x8_1_neon 210 211 void vp9_fht16x16_c(const int16_t *input, tran_low_t *output, int stride, int tx_type); 212 #define vp9_fht16x16 vp9_fht16x16_c 213 214 void vp9_fht4x4_c(const int16_t *input, tran_low_t *output, int stride, int tx_type); 215 #define vp9_fht4x4 vp9_fht4x4_c 216 217 void vp9_fht8x8_c(const int16_t *input, tran_low_t *output, int stride, int tx_type); 218 #define vp9_fht8x8 vp9_fht8x8_c 219 220 int vp9_full_range_search_c(const struct macroblock *x, const struct search_site_config *cfg, struct mv *ref_mv, struct mv *best_mv, int search_param, int sad_per_bit, int *num00, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv); 221 #define vp9_full_range_search vp9_full_range_search_c 222 223 int vp9_full_search_sad_c(const struct macroblock *x, const struct mv *ref_mv, int sad_per_bit, int distance, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv, struct mv *best_mv); 224 #define vp9_full_search_sad vp9_full_search_sad_c 225 226 void vp9_fwht4x4_c(const int16_t *input, tran_low_t *output, int stride); 227 #define vp9_fwht4x4 vp9_fwht4x4_c 228 229 void vp9_get16x16var_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum); 230 void vp9_get16x16var_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum); 231 #define vp9_get16x16var vp9_get16x16var_neon 232 233 void vp9_get8x8var_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum); 234 void vp9_get8x8var_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum); 235 #define vp9_get8x8var vp9_get8x8var_neon 236 237 unsigned int vp9_get_mb_ss_c(const int16_t *); 238 #define vp9_get_mb_ss vp9_get_mb_ss_c 239 240 void vp9_h_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 241 #define vp9_h_predictor_16x16 vp9_h_predictor_16x16_c 242 243 void vp9_h_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 244 #define vp9_h_predictor_32x32 vp9_h_predictor_32x32_c 245 246 void vp9_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 247 #define vp9_h_predictor_4x4 vp9_h_predictor_4x4_c 248 249 void vp9_h_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 250 #define vp9_h_predictor_8x8 vp9_h_predictor_8x8_c 251 252 void vp9_idct16x16_10_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 253 #define vp9_idct16x16_10_add vp9_idct16x16_10_add_c 254 255 void vp9_idct16x16_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 256 #define vp9_idct16x16_1_add vp9_idct16x16_1_add_c 257 258 void vp9_idct16x16_256_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 259 #define vp9_idct16x16_256_add vp9_idct16x16_256_add_c 260 261 void vp9_idct32x32_1024_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 262 #define vp9_idct32x32_1024_add vp9_idct32x32_1024_add_c 263 264 void vp9_idct32x32_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 265 #define vp9_idct32x32_1_add vp9_idct32x32_1_add_c 266 267 void vp9_idct32x32_34_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 268 #define vp9_idct32x32_34_add vp9_idct32x32_34_add_c 269 270 void vp9_idct4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 271 #define vp9_idct4x4_16_add vp9_idct4x4_16_add_c 272 273 void vp9_idct4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 274 #define vp9_idct4x4_1_add vp9_idct4x4_1_add_c 275 276 void vp9_idct8x8_12_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 277 #define vp9_idct8x8_12_add vp9_idct8x8_12_add_c 278 279 void vp9_idct8x8_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 280 #define vp9_idct8x8_1_add vp9_idct8x8_1_add_c 281 282 void vp9_idct8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 283 #define vp9_idct8x8_64_add vp9_idct8x8_64_add_c 284 285 void vp9_iht16x16_256_add_c(const tran_low_t *input, uint8_t *output, int pitch, int tx_type); 286 #define vp9_iht16x16_256_add vp9_iht16x16_256_add_c 287 288 void vp9_iht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type); 289 #define vp9_iht4x4_16_add vp9_iht4x4_16_add_c 290 291 void vp9_iht8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type); 292 #define vp9_iht8x8_64_add vp9_iht8x8_64_add_c 293 294 void vp9_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 295 #define vp9_iwht4x4_16_add vp9_iwht4x4_16_add_c 296 297 void vp9_iwht4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 298 #define vp9_iwht4x4_1_add vp9_iwht4x4_1_add_c 299 300 void vp9_lpf_horizontal_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 301 #define vp9_lpf_horizontal_16 vp9_lpf_horizontal_16_c 302 303 void vp9_lpf_horizontal_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 304 #define vp9_lpf_horizontal_4 vp9_lpf_horizontal_4_c 305 306 void vp9_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); 307 #define vp9_lpf_horizontal_4_dual vp9_lpf_horizontal_4_dual_c 308 309 void vp9_lpf_horizontal_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 310 #define vp9_lpf_horizontal_8 vp9_lpf_horizontal_8_c 311 312 void vp9_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); 313 #define vp9_lpf_horizontal_8_dual vp9_lpf_horizontal_8_dual_c 314 315 void vp9_lpf_vertical_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 316 #define vp9_lpf_vertical_16 vp9_lpf_vertical_16_c 317 318 void vp9_lpf_vertical_16_dual_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 319 #define vp9_lpf_vertical_16_dual vp9_lpf_vertical_16_dual_c 320 321 void vp9_lpf_vertical_4_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 322 #define vp9_lpf_vertical_4 vp9_lpf_vertical_4_c 323 324 void vp9_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); 325 #define vp9_lpf_vertical_4_dual vp9_lpf_vertical_4_dual_c 326 327 void vp9_lpf_vertical_8_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 328 #define vp9_lpf_vertical_8 vp9_lpf_vertical_8_c 329 330 void vp9_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); 331 #define vp9_lpf_vertical_8_dual vp9_lpf_vertical_8_dual_c 332 333 unsigned int vp9_mse16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); 334 #define vp9_mse16x16 vp9_mse16x16_c 335 336 unsigned int vp9_mse16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); 337 #define vp9_mse16x8 vp9_mse16x8_c 338 339 unsigned int vp9_mse8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); 340 #define vp9_mse8x16 vp9_mse8x16_c 341 342 unsigned int vp9_mse8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); 343 #define vp9_mse8x8 vp9_mse8x8_c 344 345 void vp9_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, int zbin_oq_value, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); 346 #define vp9_quantize_b vp9_quantize_b_c 347 348 void vp9_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, int zbin_oq_value, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); 349 #define vp9_quantize_b_32x32 vp9_quantize_b_32x32_c 350 351 void vp9_quantize_fp_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, int zbin_oq_value, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); 352 void vp9_quantize_fp_neon(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, int zbin_oq_value, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); 353 #define vp9_quantize_fp vp9_quantize_fp_neon 354 355 void vp9_quantize_fp_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, int zbin_oq_value, uint16_t *eob_ptr, const int16_t *scan, const int16_t *iscan); 356 #define vp9_quantize_fp_32x32 vp9_quantize_fp_32x32_c 357 358 int vp9_refining_search_sad_c(const struct macroblock *x, struct mv *ref_mv, int sad_per_bit, int distance, const struct vp9_variance_vtable *fn_ptr, const struct mv *center_mv); 359 #define vp9_refining_search_sad vp9_refining_search_sad_c 360 361 unsigned int vp9_sad16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 362 unsigned int vp9_sad16x16_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 363 #define vp9_sad16x16 vp9_sad16x16_neon 364 365 unsigned int vp9_sad16x16_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 366 #define vp9_sad16x16_avg vp9_sad16x16_avg_c 367 368 void vp9_sad16x16x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array); 369 #define vp9_sad16x16x3 vp9_sad16x16x3_c 370 371 void vp9_sad16x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array); 372 #define vp9_sad16x16x4d vp9_sad16x16x4d_c 373 374 void vp9_sad16x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 375 #define vp9_sad16x16x8 vp9_sad16x16x8_c 376 377 unsigned int vp9_sad16x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 378 #define vp9_sad16x32 vp9_sad16x32_c 379 380 unsigned int vp9_sad16x32_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 381 #define vp9_sad16x32_avg vp9_sad16x32_avg_c 382 383 void vp9_sad16x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array); 384 #define vp9_sad16x32x4d vp9_sad16x32x4d_c 385 386 unsigned int vp9_sad16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 387 #define vp9_sad16x8 vp9_sad16x8_c 388 389 unsigned int vp9_sad16x8_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 390 #define vp9_sad16x8_avg vp9_sad16x8_avg_c 391 392 void vp9_sad16x8x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array); 393 #define vp9_sad16x8x3 vp9_sad16x8x3_c 394 395 void vp9_sad16x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array); 396 #define vp9_sad16x8x4d vp9_sad16x8x4d_c 397 398 void vp9_sad16x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 399 #define vp9_sad16x8x8 vp9_sad16x8x8_c 400 401 unsigned int vp9_sad32x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 402 #define vp9_sad32x16 vp9_sad32x16_c 403 404 unsigned int vp9_sad32x16_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 405 #define vp9_sad32x16_avg vp9_sad32x16_avg_c 406 407 void vp9_sad32x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array); 408 #define vp9_sad32x16x4d vp9_sad32x16x4d_c 409 410 unsigned int vp9_sad32x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 411 unsigned int vp9_sad32x32_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 412 #define vp9_sad32x32 vp9_sad32x32_neon 413 414 unsigned int vp9_sad32x32_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 415 #define vp9_sad32x32_avg vp9_sad32x32_avg_c 416 417 void vp9_sad32x32x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array); 418 #define vp9_sad32x32x3 vp9_sad32x32x3_c 419 420 void vp9_sad32x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array); 421 #define vp9_sad32x32x4d vp9_sad32x32x4d_c 422 423 void vp9_sad32x32x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 424 #define vp9_sad32x32x8 vp9_sad32x32x8_c 425 426 unsigned int vp9_sad32x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 427 #define vp9_sad32x64 vp9_sad32x64_c 428 429 unsigned int vp9_sad32x64_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 430 #define vp9_sad32x64_avg vp9_sad32x64_avg_c 431 432 void vp9_sad32x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array); 433 #define vp9_sad32x64x4d vp9_sad32x64x4d_c 434 435 unsigned int vp9_sad4x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 436 #define vp9_sad4x4 vp9_sad4x4_c 437 438 unsigned int vp9_sad4x4_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 439 #define vp9_sad4x4_avg vp9_sad4x4_avg_c 440 441 void vp9_sad4x4x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array); 442 #define vp9_sad4x4x3 vp9_sad4x4x3_c 443 444 void vp9_sad4x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array); 445 #define vp9_sad4x4x4d vp9_sad4x4x4d_c 446 447 void vp9_sad4x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 448 #define vp9_sad4x4x8 vp9_sad4x4x8_c 449 450 unsigned int vp9_sad4x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 451 #define vp9_sad4x8 vp9_sad4x8_c 452 453 unsigned int vp9_sad4x8_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 454 #define vp9_sad4x8_avg vp9_sad4x8_avg_c 455 456 void vp9_sad4x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array); 457 #define vp9_sad4x8x4d vp9_sad4x8x4d_c 458 459 void vp9_sad4x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 460 #define vp9_sad4x8x8 vp9_sad4x8x8_c 461 462 unsigned int vp9_sad64x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 463 #define vp9_sad64x32 vp9_sad64x32_c 464 465 unsigned int vp9_sad64x32_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 466 #define vp9_sad64x32_avg vp9_sad64x32_avg_c 467 468 void vp9_sad64x32x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array); 469 #define vp9_sad64x32x4d vp9_sad64x32x4d_c 470 471 unsigned int vp9_sad64x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 472 unsigned int vp9_sad64x64_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 473 #define vp9_sad64x64 vp9_sad64x64_neon 474 475 unsigned int vp9_sad64x64_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 476 #define vp9_sad64x64_avg vp9_sad64x64_avg_c 477 478 void vp9_sad64x64x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array); 479 #define vp9_sad64x64x3 vp9_sad64x64x3_c 480 481 void vp9_sad64x64x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array); 482 #define vp9_sad64x64x4d vp9_sad64x64x4d_c 483 484 void vp9_sad64x64x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 485 #define vp9_sad64x64x8 vp9_sad64x64x8_c 486 487 unsigned int vp9_sad8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 488 #define vp9_sad8x16 vp9_sad8x16_c 489 490 unsigned int vp9_sad8x16_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 491 #define vp9_sad8x16_avg vp9_sad8x16_avg_c 492 493 void vp9_sad8x16x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array); 494 #define vp9_sad8x16x3 vp9_sad8x16x3_c 495 496 void vp9_sad8x16x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array); 497 #define vp9_sad8x16x4d vp9_sad8x16x4d_c 498 499 void vp9_sad8x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 500 #define vp9_sad8x16x8 vp9_sad8x16x8_c 501 502 unsigned int vp9_sad8x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 503 #define vp9_sad8x4 vp9_sad8x4_c 504 505 unsigned int vp9_sad8x4_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 506 #define vp9_sad8x4_avg vp9_sad8x4_avg_c 507 508 void vp9_sad8x4x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array); 509 #define vp9_sad8x4x4d vp9_sad8x4x4d_c 510 511 void vp9_sad8x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 512 #define vp9_sad8x4x8 vp9_sad8x4x8_c 513 514 unsigned int vp9_sad8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 515 unsigned int vp9_sad8x8_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 516 #define vp9_sad8x8 vp9_sad8x8_neon 517 518 unsigned int vp9_sad8x8_avg_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, const uint8_t *second_pred); 519 #define vp9_sad8x8_avg vp9_sad8x8_avg_c 520 521 void vp9_sad8x8x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array); 522 #define vp9_sad8x8x3 vp9_sad8x8x3_c 523 524 void vp9_sad8x8x4d_c(const uint8_t *src_ptr, int src_stride, const uint8_t* const ref_ptr[], int ref_stride, unsigned int *sad_array); 525 #define vp9_sad8x8x4d vp9_sad8x8x4d_c 526 527 void vp9_sad8x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 528 #define vp9_sad8x8x8 vp9_sad8x8x8_c 529 530 unsigned int vp9_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, unsigned int *sse, const uint8_t *second_pred); 531 #define vp9_sub_pixel_avg_variance16x16 vp9_sub_pixel_avg_variance16x16_c 532 533 unsigned int vp9_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, unsigned int *sse, const uint8_t *second_pred); 534 #define vp9_sub_pixel_avg_variance16x32 vp9_sub_pixel_avg_variance16x32_c 535 536 unsigned int vp9_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, unsigned int *sse, const uint8_t *second_pred); 537 #define vp9_sub_pixel_avg_variance16x8 vp9_sub_pixel_avg_variance16x8_c 538 539 unsigned int vp9_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, unsigned int *sse, const uint8_t *second_pred); 540 #define vp9_sub_pixel_avg_variance32x16 vp9_sub_pixel_avg_variance32x16_c 541 542 unsigned int vp9_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, unsigned int *sse, const uint8_t *second_pred); 543 #define vp9_sub_pixel_avg_variance32x32 vp9_sub_pixel_avg_variance32x32_c 544 545 unsigned int vp9_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, unsigned int *sse, const uint8_t *second_pred); 546 #define vp9_sub_pixel_avg_variance32x64 vp9_sub_pixel_avg_variance32x64_c 547 548 unsigned int vp9_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, unsigned int *sse, const uint8_t *second_pred); 549 #define vp9_sub_pixel_avg_variance4x4 vp9_sub_pixel_avg_variance4x4_c 550 551 unsigned int vp9_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, unsigned int *sse, const uint8_t *second_pred); 552 #define vp9_sub_pixel_avg_variance4x8 vp9_sub_pixel_avg_variance4x8_c 553 554 unsigned int vp9_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, unsigned int *sse, const uint8_t *second_pred); 555 #define vp9_sub_pixel_avg_variance64x32 vp9_sub_pixel_avg_variance64x32_c 556 557 unsigned int vp9_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, unsigned int *sse, const uint8_t *second_pred); 558 #define vp9_sub_pixel_avg_variance64x64 vp9_sub_pixel_avg_variance64x64_c 559 560 unsigned int vp9_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, unsigned int *sse, const uint8_t *second_pred); 561 #define vp9_sub_pixel_avg_variance8x16 vp9_sub_pixel_avg_variance8x16_c 562 563 unsigned int vp9_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, unsigned int *sse, const uint8_t *second_pred); 564 #define vp9_sub_pixel_avg_variance8x4 vp9_sub_pixel_avg_variance8x4_c 565 566 unsigned int vp9_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, unsigned int *sse, const uint8_t *second_pred); 567 #define vp9_sub_pixel_avg_variance8x8 vp9_sub_pixel_avg_variance8x8_c 568 569 unsigned int vp9_sub_pixel_variance16x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 570 unsigned int vp9_sub_pixel_variance16x16_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 571 #define vp9_sub_pixel_variance16x16 vp9_sub_pixel_variance16x16_neon 572 573 unsigned int vp9_sub_pixel_variance16x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 574 #define vp9_sub_pixel_variance16x32 vp9_sub_pixel_variance16x32_c 575 576 unsigned int vp9_sub_pixel_variance16x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 577 #define vp9_sub_pixel_variance16x8 vp9_sub_pixel_variance16x8_c 578 579 unsigned int vp9_sub_pixel_variance32x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 580 #define vp9_sub_pixel_variance32x16 vp9_sub_pixel_variance32x16_c 581 582 unsigned int vp9_sub_pixel_variance32x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 583 unsigned int vp9_sub_pixel_variance32x32_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 584 #define vp9_sub_pixel_variance32x32 vp9_sub_pixel_variance32x32_neon 585 586 unsigned int vp9_sub_pixel_variance32x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 587 #define vp9_sub_pixel_variance32x64 vp9_sub_pixel_variance32x64_c 588 589 unsigned int vp9_sub_pixel_variance4x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 590 #define vp9_sub_pixel_variance4x4 vp9_sub_pixel_variance4x4_c 591 592 unsigned int vp9_sub_pixel_variance4x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 593 #define vp9_sub_pixel_variance4x8 vp9_sub_pixel_variance4x8_c 594 595 unsigned int vp9_sub_pixel_variance64x32_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 596 #define vp9_sub_pixel_variance64x32 vp9_sub_pixel_variance64x32_c 597 598 unsigned int vp9_sub_pixel_variance64x64_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 599 #define vp9_sub_pixel_variance64x64 vp9_sub_pixel_variance64x64_c 600 601 unsigned int vp9_sub_pixel_variance8x16_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 602 #define vp9_sub_pixel_variance8x16 vp9_sub_pixel_variance8x16_c 603 604 unsigned int vp9_sub_pixel_variance8x4_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 605 #define vp9_sub_pixel_variance8x4 vp9_sub_pixel_variance8x4_c 606 607 unsigned int vp9_sub_pixel_variance8x8_c(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 608 unsigned int vp9_sub_pixel_variance8x8_neon(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 609 #define vp9_sub_pixel_variance8x8 vp9_sub_pixel_variance8x8_neon 610 611 void vp9_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); 612 void vp9_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); 613 #define vp9_subtract_block vp9_subtract_block_neon 614 615 void vp9_temporal_filter_apply_c(uint8_t *frame1, unsigned int stride, uint8_t *frame2, unsigned int block_width, unsigned int block_height, int strength, int filter_weight, unsigned int *accumulator, uint16_t *count); 616 #define vp9_temporal_filter_apply vp9_temporal_filter_apply_c 617 618 void vp9_tm_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 619 #define vp9_tm_predictor_16x16 vp9_tm_predictor_16x16_c 620 621 void vp9_tm_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 622 #define vp9_tm_predictor_32x32 vp9_tm_predictor_32x32_c 623 624 void vp9_tm_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 625 #define vp9_tm_predictor_4x4 vp9_tm_predictor_4x4_c 626 627 void vp9_tm_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 628 #define vp9_tm_predictor_8x8 vp9_tm_predictor_8x8_c 629 630 void vp9_v_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 631 #define vp9_v_predictor_16x16 vp9_v_predictor_16x16_c 632 633 void vp9_v_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 634 #define vp9_v_predictor_32x32 vp9_v_predictor_32x32_c 635 636 void vp9_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 637 #define vp9_v_predictor_4x4 vp9_v_predictor_4x4_c 638 639 void vp9_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 640 #define vp9_v_predictor_8x8 vp9_v_predictor_8x8_c 641 642 unsigned int vp9_variance16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 643 unsigned int vp9_variance16x16_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 644 #define vp9_variance16x16 vp9_variance16x16_neon 645 646 unsigned int vp9_variance16x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 647 #define vp9_variance16x32 vp9_variance16x32_c 648 649 unsigned int vp9_variance16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 650 #define vp9_variance16x8 vp9_variance16x8_c 651 652 unsigned int vp9_variance32x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 653 #define vp9_variance32x16 vp9_variance32x16_c 654 655 unsigned int vp9_variance32x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 656 unsigned int vp9_variance32x32_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 657 #define vp9_variance32x32 vp9_variance32x32_neon 658 659 unsigned int vp9_variance32x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 660 #define vp9_variance32x64 vp9_variance32x64_c 661 662 unsigned int vp9_variance4x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 663 #define vp9_variance4x4 vp9_variance4x4_c 664 665 unsigned int vp9_variance4x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 666 #define vp9_variance4x8 vp9_variance4x8_c 667 668 unsigned int vp9_variance64x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 669 #define vp9_variance64x32 vp9_variance64x32_c 670 671 unsigned int vp9_variance64x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 672 #define vp9_variance64x64 vp9_variance64x64_c 673 674 unsigned int vp9_variance8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 675 #define vp9_variance8x16 vp9_variance8x16_c 676 677 unsigned int vp9_variance8x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 678 #define vp9_variance8x4 vp9_variance8x4_c 679 680 unsigned int vp9_variance8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 681 unsigned int vp9_variance8x8_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 682 #define vp9_variance8x8 vp9_variance8x8_neon 683 684 void vp9_rtcd(void); 685 686 #include "vpx_config.h" 687 688 #ifdef RTCD_C 689 #include "vpx_ports/arm.h" 690 static void setup_rtcd_internal(void) 691 { 692 int flags = arm_cpu_caps(); 693 694 (void)flags; 695 696 } 697 #endif 698 699 #ifdef __cplusplus 700 } // extern "C" 701 #endif 702 703 #endif 704