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 void vp9_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); 37 RTCD_EXTERN void (*vp9_convolve8)(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 39 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); 40 void vp9_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); 41 RTCD_EXTERN void (*vp9_convolve8_avg)(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 43 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); 44 void vp9_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); 45 RTCD_EXTERN void (*vp9_convolve8_avg_horiz)(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 47 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); 48 void vp9_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); 49 RTCD_EXTERN void (*vp9_convolve8_avg_vert)(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 51 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); 52 void vp9_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); 53 RTCD_EXTERN void (*vp9_convolve8_horiz)(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 55 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); 56 void vp9_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); 57 RTCD_EXTERN void (*vp9_convolve8_vert)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 58 59 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); 60 void vp9_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); 61 RTCD_EXTERN void (*vp9_convolve_avg)(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 62 63 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); 64 void vp9_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); 65 RTCD_EXTERN void (*vp9_convolve_copy)(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); 66 67 void vp9_d117_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 68 #define vp9_d117_predictor_16x16 vp9_d117_predictor_16x16_c 69 70 void vp9_d117_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 71 #define vp9_d117_predictor_32x32 vp9_d117_predictor_32x32_c 72 73 void vp9_d117_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 74 #define vp9_d117_predictor_4x4 vp9_d117_predictor_4x4_c 75 76 void vp9_d117_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 77 #define vp9_d117_predictor_8x8 vp9_d117_predictor_8x8_c 78 79 void vp9_d135_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 80 #define vp9_d135_predictor_16x16 vp9_d135_predictor_16x16_c 81 82 void vp9_d135_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 83 #define vp9_d135_predictor_32x32 vp9_d135_predictor_32x32_c 84 85 void vp9_d135_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 86 #define vp9_d135_predictor_4x4 vp9_d135_predictor_4x4_c 87 88 void vp9_d135_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 89 #define vp9_d135_predictor_8x8 vp9_d135_predictor_8x8_c 90 91 void vp9_d153_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 92 #define vp9_d153_predictor_16x16 vp9_d153_predictor_16x16_c 93 94 void vp9_d153_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 95 #define vp9_d153_predictor_32x32 vp9_d153_predictor_32x32_c 96 97 void vp9_d153_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 98 #define vp9_d153_predictor_4x4 vp9_d153_predictor_4x4_c 99 100 void vp9_d153_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 101 #define vp9_d153_predictor_8x8 vp9_d153_predictor_8x8_c 102 103 void vp9_d207_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 104 #define vp9_d207_predictor_16x16 vp9_d207_predictor_16x16_c 105 106 void vp9_d207_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 107 #define vp9_d207_predictor_32x32 vp9_d207_predictor_32x32_c 108 109 void vp9_d207_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 110 #define vp9_d207_predictor_4x4 vp9_d207_predictor_4x4_c 111 112 void vp9_d207_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 113 #define vp9_d207_predictor_8x8 vp9_d207_predictor_8x8_c 114 115 void vp9_d45_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 116 #define vp9_d45_predictor_16x16 vp9_d45_predictor_16x16_c 117 118 void vp9_d45_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 119 #define vp9_d45_predictor_32x32 vp9_d45_predictor_32x32_c 120 121 void vp9_d45_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 122 #define vp9_d45_predictor_4x4 vp9_d45_predictor_4x4_c 123 124 void vp9_d45_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 125 #define vp9_d45_predictor_8x8 vp9_d45_predictor_8x8_c 126 127 void vp9_d63_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 128 #define vp9_d63_predictor_16x16 vp9_d63_predictor_16x16_c 129 130 void vp9_d63_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 131 #define vp9_d63_predictor_32x32 vp9_d63_predictor_32x32_c 132 133 void vp9_d63_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 134 #define vp9_d63_predictor_4x4 vp9_d63_predictor_4x4_c 135 136 void vp9_d63_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 137 #define vp9_d63_predictor_8x8 vp9_d63_predictor_8x8_c 138 139 void vp9_dc_128_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 140 #define vp9_dc_128_predictor_16x16 vp9_dc_128_predictor_16x16_c 141 142 void vp9_dc_128_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 143 #define vp9_dc_128_predictor_32x32 vp9_dc_128_predictor_32x32_c 144 145 void vp9_dc_128_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 146 #define vp9_dc_128_predictor_4x4 vp9_dc_128_predictor_4x4_c 147 148 void vp9_dc_128_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 149 #define vp9_dc_128_predictor_8x8 vp9_dc_128_predictor_8x8_c 150 151 void vp9_dc_left_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 152 #define vp9_dc_left_predictor_16x16 vp9_dc_left_predictor_16x16_c 153 154 void vp9_dc_left_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 155 #define vp9_dc_left_predictor_32x32 vp9_dc_left_predictor_32x32_c 156 157 void vp9_dc_left_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 158 #define vp9_dc_left_predictor_4x4 vp9_dc_left_predictor_4x4_c 159 160 void vp9_dc_left_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 161 #define vp9_dc_left_predictor_8x8 vp9_dc_left_predictor_8x8_c 162 163 void vp9_dc_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 164 #define vp9_dc_predictor_16x16 vp9_dc_predictor_16x16_c 165 166 void vp9_dc_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 167 #define vp9_dc_predictor_32x32 vp9_dc_predictor_32x32_c 168 169 void vp9_dc_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 170 #define vp9_dc_predictor_4x4 vp9_dc_predictor_4x4_c 171 172 void vp9_dc_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 173 #define vp9_dc_predictor_8x8 vp9_dc_predictor_8x8_c 174 175 void vp9_dc_top_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 176 #define vp9_dc_top_predictor_16x16 vp9_dc_top_predictor_16x16_c 177 178 void vp9_dc_top_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 179 #define vp9_dc_top_predictor_32x32 vp9_dc_top_predictor_32x32_c 180 181 void vp9_dc_top_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 182 #define vp9_dc_top_predictor_4x4 vp9_dc_top_predictor_4x4_c 183 184 void vp9_dc_top_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 185 #define vp9_dc_top_predictor_8x8 vp9_dc_top_predictor_8x8_c 186 187 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); 188 #define vp9_diamond_search_sad vp9_diamond_search_sad_c 189 190 void vp9_fdct16x16_c(const int16_t *input, tran_low_t *output, int stride); 191 #define vp9_fdct16x16 vp9_fdct16x16_c 192 193 void vp9_fdct16x16_1_c(const int16_t *input, tran_low_t *output, int stride); 194 #define vp9_fdct16x16_1 vp9_fdct16x16_1_c 195 196 void vp9_fdct32x32_c(const int16_t *input, tran_low_t *output, int stride); 197 #define vp9_fdct32x32 vp9_fdct32x32_c 198 199 void vp9_fdct32x32_1_c(const int16_t *input, tran_low_t *output, int stride); 200 #define vp9_fdct32x32_1 vp9_fdct32x32_1_c 201 202 void vp9_fdct32x32_rd_c(const int16_t *input, tran_low_t *output, int stride); 203 #define vp9_fdct32x32_rd vp9_fdct32x32_rd_c 204 205 void vp9_fdct4x4_c(const int16_t *input, tran_low_t *output, int stride); 206 #define vp9_fdct4x4 vp9_fdct4x4_c 207 208 void vp9_fdct4x4_1_c(const int16_t *input, tran_low_t *output, int stride); 209 #define vp9_fdct4x4_1 vp9_fdct4x4_1_c 210 211 void vp9_fdct8x8_c(const int16_t *input, tran_low_t *output, int stride); 212 void vp9_fdct8x8_neon(const int16_t *input, tran_low_t *output, int stride); 213 RTCD_EXTERN void (*vp9_fdct8x8)(const int16_t *input, tran_low_t *output, int stride); 214 215 void vp9_fdct8x8_1_c(const int16_t *input, tran_low_t *output, int stride); 216 void vp9_fdct8x8_1_neon(const int16_t *input, tran_low_t *output, int stride); 217 RTCD_EXTERN void (*vp9_fdct8x8_1)(const int16_t *input, tran_low_t *output, int stride); 218 219 void vp9_fht16x16_c(const int16_t *input, tran_low_t *output, int stride, int tx_type); 220 #define vp9_fht16x16 vp9_fht16x16_c 221 222 void vp9_fht4x4_c(const int16_t *input, tran_low_t *output, int stride, int tx_type); 223 #define vp9_fht4x4 vp9_fht4x4_c 224 225 void vp9_fht8x8_c(const int16_t *input, tran_low_t *output, int stride, int tx_type); 226 #define vp9_fht8x8 vp9_fht8x8_c 227 228 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); 229 #define vp9_full_range_search vp9_full_range_search_c 230 231 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); 232 #define vp9_full_search_sad vp9_full_search_sad_c 233 234 void vp9_fwht4x4_c(const int16_t *input, tran_low_t *output, int stride); 235 #define vp9_fwht4x4 vp9_fwht4x4_c 236 237 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); 238 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); 239 RTCD_EXTERN void (*vp9_get16x16var)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum); 240 241 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); 242 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); 243 RTCD_EXTERN void (*vp9_get8x8var)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse, int *sum); 244 245 unsigned int vp9_get_mb_ss_c(const int16_t *); 246 #define vp9_get_mb_ss vp9_get_mb_ss_c 247 248 void vp9_h_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 249 void vp9_h_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 250 RTCD_EXTERN void (*vp9_h_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 251 252 void vp9_h_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 253 void vp9_h_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 254 RTCD_EXTERN void (*vp9_h_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 255 256 void vp9_h_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 257 void vp9_h_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 258 RTCD_EXTERN void (*vp9_h_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 259 260 void vp9_h_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 261 void vp9_h_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 262 RTCD_EXTERN void (*vp9_h_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 263 264 void vp9_idct16x16_10_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 265 void vp9_idct16x16_10_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride); 266 RTCD_EXTERN void (*vp9_idct16x16_10_add)(const tran_low_t *input, uint8_t *dest, int dest_stride); 267 268 void vp9_idct16x16_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 269 void vp9_idct16x16_1_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride); 270 RTCD_EXTERN void (*vp9_idct16x16_1_add)(const tran_low_t *input, uint8_t *dest, int dest_stride); 271 272 void vp9_idct16x16_256_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 273 void vp9_idct16x16_256_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride); 274 RTCD_EXTERN void (*vp9_idct16x16_256_add)(const tran_low_t *input, uint8_t *dest, int dest_stride); 275 276 void vp9_idct32x32_1024_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 277 void vp9_idct32x32_1024_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride); 278 RTCD_EXTERN void (*vp9_idct32x32_1024_add)(const tran_low_t *input, uint8_t *dest, int dest_stride); 279 280 void vp9_idct32x32_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 281 void vp9_idct32x32_1_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride); 282 RTCD_EXTERN void (*vp9_idct32x32_1_add)(const tran_low_t *input, uint8_t *dest, int dest_stride); 283 284 void vp9_idct32x32_34_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 285 void vp9_idct32x32_1024_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride); 286 RTCD_EXTERN void (*vp9_idct32x32_34_add)(const tran_low_t *input, uint8_t *dest, int dest_stride); 287 288 void vp9_idct4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 289 void vp9_idct4x4_16_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride); 290 RTCD_EXTERN void (*vp9_idct4x4_16_add)(const tran_low_t *input, uint8_t *dest, int dest_stride); 291 292 void vp9_idct4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 293 void vp9_idct4x4_1_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride); 294 RTCD_EXTERN void (*vp9_idct4x4_1_add)(const tran_low_t *input, uint8_t *dest, int dest_stride); 295 296 void vp9_idct8x8_12_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 297 void vp9_idct8x8_12_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride); 298 RTCD_EXTERN void (*vp9_idct8x8_12_add)(const tran_low_t *input, uint8_t *dest, int dest_stride); 299 300 void vp9_idct8x8_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 301 void vp9_idct8x8_1_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride); 302 RTCD_EXTERN void (*vp9_idct8x8_1_add)(const tran_low_t *input, uint8_t *dest, int dest_stride); 303 304 void vp9_idct8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 305 void vp9_idct8x8_64_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride); 306 RTCD_EXTERN void (*vp9_idct8x8_64_add)(const tran_low_t *input, uint8_t *dest, int dest_stride); 307 308 void vp9_iht16x16_256_add_c(const tran_low_t *input, uint8_t *output, int pitch, int tx_type); 309 #define vp9_iht16x16_256_add vp9_iht16x16_256_add_c 310 311 void vp9_iht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type); 312 void vp9_iht4x4_16_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type); 313 RTCD_EXTERN void (*vp9_iht4x4_16_add)(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type); 314 315 void vp9_iht8x8_64_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type); 316 void vp9_iht8x8_64_add_neon(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type); 317 RTCD_EXTERN void (*vp9_iht8x8_64_add)(const tran_low_t *input, uint8_t *dest, int dest_stride, int tx_type); 318 319 void vp9_iwht4x4_16_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 320 #define vp9_iwht4x4_16_add vp9_iwht4x4_16_add_c 321 322 void vp9_iwht4x4_1_add_c(const tran_low_t *input, uint8_t *dest, int dest_stride); 323 #define vp9_iwht4x4_1_add vp9_iwht4x4_1_add_c 324 325 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); 326 void vp9_lpf_horizontal_16_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 327 RTCD_EXTERN void (*vp9_lpf_horizontal_16)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 328 329 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); 330 void vp9_lpf_horizontal_4_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 331 RTCD_EXTERN void (*vp9_lpf_horizontal_4)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 332 333 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); 334 void vp9_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); 335 RTCD_EXTERN void (*vp9_lpf_horizontal_4_dual)(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1); 336 337 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); 338 void vp9_lpf_horizontal_8_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 339 RTCD_EXTERN void (*vp9_lpf_horizontal_8)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 340 341 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); 342 void vp9_lpf_horizontal_8_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); 343 RTCD_EXTERN void (*vp9_lpf_horizontal_8_dual)(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1); 344 345 void vp9_lpf_vertical_16_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 346 void vp9_lpf_vertical_16_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 347 RTCD_EXTERN void (*vp9_lpf_vertical_16)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 348 349 void vp9_lpf_vertical_16_dual_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 350 void vp9_lpf_vertical_16_dual_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 351 RTCD_EXTERN void (*vp9_lpf_vertical_16_dual)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 352 353 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); 354 void vp9_lpf_vertical_4_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 355 RTCD_EXTERN void (*vp9_lpf_vertical_4)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 356 357 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); 358 void vp9_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); 359 RTCD_EXTERN void (*vp9_lpf_vertical_4_dual)(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1); 360 361 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); 362 void vp9_lpf_vertical_8_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 363 RTCD_EXTERN void (*vp9_lpf_vertical_8)(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 364 365 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); 366 void vp9_lpf_vertical_8_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); 367 RTCD_EXTERN void (*vp9_lpf_vertical_8_dual)(uint8_t *s, int pitch, const uint8_t *blimit0, const uint8_t *limit0, const uint8_t *thresh0, const uint8_t *blimit1, const uint8_t *limit1, const uint8_t *thresh1); 368 369 unsigned int vp9_mse16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); 370 #define vp9_mse16x16 vp9_mse16x16_c 371 372 unsigned int vp9_mse16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); 373 #define vp9_mse16x8 vp9_mse16x8_c 374 375 unsigned int vp9_mse8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); 376 #define vp9_mse8x16 vp9_mse8x16_c 377 378 unsigned int vp9_mse8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int recon_stride, unsigned int *sse); 379 #define vp9_mse8x8 vp9_mse8x8_c 380 381 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); 382 #define vp9_quantize_b vp9_quantize_b_c 383 384 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); 385 #define vp9_quantize_b_32x32 vp9_quantize_b_32x32_c 386 387 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); 388 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); 389 RTCD_EXTERN void (*vp9_quantize_fp)(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); 390 391 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); 392 #define vp9_quantize_fp_32x32 vp9_quantize_fp_32x32_c 393 394 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); 395 #define vp9_refining_search_sad vp9_refining_search_sad_c 396 397 unsigned int vp9_sad16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 398 unsigned int vp9_sad16x16_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 399 RTCD_EXTERN unsigned int (*vp9_sad16x16)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 400 401 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); 402 #define vp9_sad16x16_avg vp9_sad16x16_avg_c 403 404 void vp9_sad16x16x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array); 405 #define vp9_sad16x16x3 vp9_sad16x16x3_c 406 407 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); 408 #define vp9_sad16x16x4d vp9_sad16x16x4d_c 409 410 void vp9_sad16x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 411 #define vp9_sad16x16x8 vp9_sad16x16x8_c 412 413 unsigned int vp9_sad16x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 414 #define vp9_sad16x32 vp9_sad16x32_c 415 416 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); 417 #define vp9_sad16x32_avg vp9_sad16x32_avg_c 418 419 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); 420 #define vp9_sad16x32x4d vp9_sad16x32x4d_c 421 422 unsigned int vp9_sad16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 423 #define vp9_sad16x8 vp9_sad16x8_c 424 425 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); 426 #define vp9_sad16x8_avg vp9_sad16x8_avg_c 427 428 void vp9_sad16x8x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array); 429 #define vp9_sad16x8x3 vp9_sad16x8x3_c 430 431 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); 432 #define vp9_sad16x8x4d vp9_sad16x8x4d_c 433 434 void vp9_sad16x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 435 #define vp9_sad16x8x8 vp9_sad16x8x8_c 436 437 unsigned int vp9_sad32x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 438 #define vp9_sad32x16 vp9_sad32x16_c 439 440 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); 441 #define vp9_sad32x16_avg vp9_sad32x16_avg_c 442 443 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); 444 #define vp9_sad32x16x4d vp9_sad32x16x4d_c 445 446 unsigned int vp9_sad32x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 447 unsigned int vp9_sad32x32_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 448 RTCD_EXTERN unsigned int (*vp9_sad32x32)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 449 450 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); 451 #define vp9_sad32x32_avg vp9_sad32x32_avg_c 452 453 void vp9_sad32x32x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array); 454 #define vp9_sad32x32x3 vp9_sad32x32x3_c 455 456 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); 457 #define vp9_sad32x32x4d vp9_sad32x32x4d_c 458 459 void vp9_sad32x32x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 460 #define vp9_sad32x32x8 vp9_sad32x32x8_c 461 462 unsigned int vp9_sad32x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 463 #define vp9_sad32x64 vp9_sad32x64_c 464 465 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); 466 #define vp9_sad32x64_avg vp9_sad32x64_avg_c 467 468 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); 469 #define vp9_sad32x64x4d vp9_sad32x64x4d_c 470 471 unsigned int vp9_sad4x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 472 #define vp9_sad4x4 vp9_sad4x4_c 473 474 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); 475 #define vp9_sad4x4_avg vp9_sad4x4_avg_c 476 477 void vp9_sad4x4x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array); 478 #define vp9_sad4x4x3 vp9_sad4x4x3_c 479 480 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); 481 #define vp9_sad4x4x4d vp9_sad4x4x4d_c 482 483 void vp9_sad4x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 484 #define vp9_sad4x4x8 vp9_sad4x4x8_c 485 486 unsigned int vp9_sad4x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 487 #define vp9_sad4x8 vp9_sad4x8_c 488 489 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); 490 #define vp9_sad4x8_avg vp9_sad4x8_avg_c 491 492 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); 493 #define vp9_sad4x8x4d vp9_sad4x8x4d_c 494 495 void vp9_sad4x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 496 #define vp9_sad4x8x8 vp9_sad4x8x8_c 497 498 unsigned int vp9_sad64x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 499 #define vp9_sad64x32 vp9_sad64x32_c 500 501 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); 502 #define vp9_sad64x32_avg vp9_sad64x32_avg_c 503 504 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); 505 #define vp9_sad64x32x4d vp9_sad64x32x4d_c 506 507 unsigned int vp9_sad64x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 508 unsigned int vp9_sad64x64_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 509 RTCD_EXTERN unsigned int (*vp9_sad64x64)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 510 511 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); 512 #define vp9_sad64x64_avg vp9_sad64x64_avg_c 513 514 void vp9_sad64x64x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array); 515 #define vp9_sad64x64x3 vp9_sad64x64x3_c 516 517 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); 518 #define vp9_sad64x64x4d vp9_sad64x64x4d_c 519 520 void vp9_sad64x64x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 521 #define vp9_sad64x64x8 vp9_sad64x64x8_c 522 523 unsigned int vp9_sad8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 524 #define vp9_sad8x16 vp9_sad8x16_c 525 526 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); 527 #define vp9_sad8x16_avg vp9_sad8x16_avg_c 528 529 void vp9_sad8x16x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array); 530 #define vp9_sad8x16x3 vp9_sad8x16x3_c 531 532 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); 533 #define vp9_sad8x16x4d vp9_sad8x16x4d_c 534 535 void vp9_sad8x16x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 536 #define vp9_sad8x16x8 vp9_sad8x16x8_c 537 538 unsigned int vp9_sad8x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 539 #define vp9_sad8x4 vp9_sad8x4_c 540 541 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); 542 #define vp9_sad8x4_avg vp9_sad8x4_avg_c 543 544 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); 545 #define vp9_sad8x4x4d vp9_sad8x4x4d_c 546 547 void vp9_sad8x4x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 548 #define vp9_sad8x4x8 vp9_sad8x4x8_c 549 550 unsigned int vp9_sad8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 551 unsigned int vp9_sad8x8_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 552 RTCD_EXTERN unsigned int (*vp9_sad8x8)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride); 553 554 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); 555 #define vp9_sad8x8_avg vp9_sad8x8_avg_c 556 557 void vp9_sad8x8x3_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sad_array); 558 #define vp9_sad8x8x3 vp9_sad8x8x3_c 559 560 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); 561 #define vp9_sad8x8x4d vp9_sad8x8x4d_c 562 563 void vp9_sad8x8x8_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, uint32_t *sad_array); 564 #define vp9_sad8x8x8 vp9_sad8x8x8_c 565 566 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); 567 #define vp9_sub_pixel_avg_variance16x16 vp9_sub_pixel_avg_variance16x16_c 568 569 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); 570 #define vp9_sub_pixel_avg_variance16x32 vp9_sub_pixel_avg_variance16x32_c 571 572 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); 573 #define vp9_sub_pixel_avg_variance16x8 vp9_sub_pixel_avg_variance16x8_c 574 575 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); 576 #define vp9_sub_pixel_avg_variance32x16 vp9_sub_pixel_avg_variance32x16_c 577 578 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); 579 #define vp9_sub_pixel_avg_variance32x32 vp9_sub_pixel_avg_variance32x32_c 580 581 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); 582 #define vp9_sub_pixel_avg_variance32x64 vp9_sub_pixel_avg_variance32x64_c 583 584 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); 585 #define vp9_sub_pixel_avg_variance4x4 vp9_sub_pixel_avg_variance4x4_c 586 587 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); 588 #define vp9_sub_pixel_avg_variance4x8 vp9_sub_pixel_avg_variance4x8_c 589 590 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); 591 #define vp9_sub_pixel_avg_variance64x32 vp9_sub_pixel_avg_variance64x32_c 592 593 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); 594 #define vp9_sub_pixel_avg_variance64x64 vp9_sub_pixel_avg_variance64x64_c 595 596 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); 597 #define vp9_sub_pixel_avg_variance8x16 vp9_sub_pixel_avg_variance8x16_c 598 599 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); 600 #define vp9_sub_pixel_avg_variance8x4 vp9_sub_pixel_avg_variance8x4_c 601 602 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); 603 #define vp9_sub_pixel_avg_variance8x8 vp9_sub_pixel_avg_variance8x8_c 604 605 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); 606 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); 607 RTCD_EXTERN unsigned int (*vp9_sub_pixel_variance16x16)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 608 609 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); 610 #define vp9_sub_pixel_variance16x32 vp9_sub_pixel_variance16x32_c 611 612 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); 613 #define vp9_sub_pixel_variance16x8 vp9_sub_pixel_variance16x8_c 614 615 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); 616 #define vp9_sub_pixel_variance32x16 vp9_sub_pixel_variance32x16_c 617 618 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); 619 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); 620 RTCD_EXTERN unsigned int (*vp9_sub_pixel_variance32x32)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 621 622 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); 623 #define vp9_sub_pixel_variance32x64 vp9_sub_pixel_variance32x64_c 624 625 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); 626 #define vp9_sub_pixel_variance4x4 vp9_sub_pixel_variance4x4_c 627 628 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); 629 #define vp9_sub_pixel_variance4x8 vp9_sub_pixel_variance4x8_c 630 631 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); 632 #define vp9_sub_pixel_variance64x32 vp9_sub_pixel_variance64x32_c 633 634 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); 635 #define vp9_sub_pixel_variance64x64 vp9_sub_pixel_variance64x64_c 636 637 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); 638 #define vp9_sub_pixel_variance8x16 vp9_sub_pixel_variance8x16_c 639 640 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); 641 #define vp9_sub_pixel_variance8x4 vp9_sub_pixel_variance8x4_c 642 643 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); 644 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); 645 RTCD_EXTERN unsigned int (*vp9_sub_pixel_variance8x8)(const uint8_t *src_ptr, int source_stride, int xoffset, int yoffset, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 646 647 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); 648 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); 649 RTCD_EXTERN void (*vp9_subtract_block)(int rows, int cols, int16_t *diff_ptr, ptrdiff_t diff_stride, const uint8_t *src_ptr, ptrdiff_t src_stride, const uint8_t *pred_ptr, ptrdiff_t pred_stride); 650 651 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); 652 #define vp9_temporal_filter_apply vp9_temporal_filter_apply_c 653 654 void vp9_tm_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 655 void vp9_tm_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 656 RTCD_EXTERN void (*vp9_tm_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 657 658 void vp9_tm_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 659 void vp9_tm_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 660 RTCD_EXTERN void (*vp9_tm_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 661 662 void vp9_tm_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 663 void vp9_tm_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 664 RTCD_EXTERN void (*vp9_tm_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 665 666 void vp9_tm_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 667 void vp9_tm_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 668 RTCD_EXTERN void (*vp9_tm_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 669 670 void vp9_v_predictor_16x16_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 671 void vp9_v_predictor_16x16_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 672 RTCD_EXTERN void (*vp9_v_predictor_16x16)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 673 674 void vp9_v_predictor_32x32_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 675 void vp9_v_predictor_32x32_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 676 RTCD_EXTERN void (*vp9_v_predictor_32x32)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 677 678 void vp9_v_predictor_4x4_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 679 void vp9_v_predictor_4x4_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 680 RTCD_EXTERN void (*vp9_v_predictor_4x4)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 681 682 void vp9_v_predictor_8x8_c(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 683 void vp9_v_predictor_8x8_neon(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 684 RTCD_EXTERN void (*vp9_v_predictor_8x8)(uint8_t *dst, ptrdiff_t y_stride, const uint8_t *above, const uint8_t *left); 685 686 unsigned int vp9_variance16x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 687 unsigned int vp9_variance16x16_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 688 RTCD_EXTERN unsigned int (*vp9_variance16x16)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 689 690 unsigned int vp9_variance16x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 691 #define vp9_variance16x32 vp9_variance16x32_c 692 693 unsigned int vp9_variance16x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 694 #define vp9_variance16x8 vp9_variance16x8_c 695 696 unsigned int vp9_variance32x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 697 #define vp9_variance32x16 vp9_variance32x16_c 698 699 unsigned int vp9_variance32x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 700 unsigned int vp9_variance32x32_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 701 RTCD_EXTERN unsigned int (*vp9_variance32x32)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 702 703 unsigned int vp9_variance32x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 704 #define vp9_variance32x64 vp9_variance32x64_c 705 706 unsigned int vp9_variance4x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 707 #define vp9_variance4x4 vp9_variance4x4_c 708 709 unsigned int vp9_variance4x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 710 #define vp9_variance4x8 vp9_variance4x8_c 711 712 unsigned int vp9_variance64x32_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 713 #define vp9_variance64x32 vp9_variance64x32_c 714 715 unsigned int vp9_variance64x64_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 716 #define vp9_variance64x64 vp9_variance64x64_c 717 718 unsigned int vp9_variance8x16_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 719 #define vp9_variance8x16 vp9_variance8x16_c 720 721 unsigned int vp9_variance8x4_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 722 #define vp9_variance8x4 vp9_variance8x4_c 723 724 unsigned int vp9_variance8x8_c(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 725 unsigned int vp9_variance8x8_neon(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 726 RTCD_EXTERN unsigned int (*vp9_variance8x8)(const uint8_t *src_ptr, int source_stride, const uint8_t *ref_ptr, int ref_stride, unsigned int *sse); 727 728 void vp9_rtcd(void); 729 730 #include "vpx_config.h" 731 732 #ifdef RTCD_C 733 #include "vpx_ports/arm.h" 734 static void setup_rtcd_internal(void) 735 { 736 int flags = arm_cpu_caps(); 737 738 (void)flags; 739 740 vp9_convolve8 = vp9_convolve8_c; 741 if (flags & HAS_NEON) vp9_convolve8 = vp9_convolve8_neon; 742 vp9_convolve8_avg = vp9_convolve8_avg_c; 743 if (flags & HAS_NEON) vp9_convolve8_avg = vp9_convolve8_avg_neon; 744 vp9_convolve8_avg_horiz = vp9_convolve8_avg_horiz_c; 745 if (flags & HAS_NEON) vp9_convolve8_avg_horiz = vp9_convolve8_avg_horiz_neon; 746 vp9_convolve8_avg_vert = vp9_convolve8_avg_vert_c; 747 if (flags & HAS_NEON) vp9_convolve8_avg_vert = vp9_convolve8_avg_vert_neon; 748 vp9_convolve8_horiz = vp9_convolve8_horiz_c; 749 if (flags & HAS_NEON) vp9_convolve8_horiz = vp9_convolve8_horiz_neon; 750 vp9_convolve8_vert = vp9_convolve8_vert_c; 751 if (flags & HAS_NEON) vp9_convolve8_vert = vp9_convolve8_vert_neon; 752 vp9_convolve_avg = vp9_convolve_avg_c; 753 if (flags & HAS_NEON) vp9_convolve_avg = vp9_convolve_avg_neon; 754 vp9_convolve_copy = vp9_convolve_copy_c; 755 if (flags & HAS_NEON) vp9_convolve_copy = vp9_convolve_copy_neon; 756 vp9_fdct8x8 = vp9_fdct8x8_c; 757 if (flags & HAS_NEON) vp9_fdct8x8 = vp9_fdct8x8_neon; 758 vp9_fdct8x8_1 = vp9_fdct8x8_1_c; 759 if (flags & HAS_NEON) vp9_fdct8x8_1 = vp9_fdct8x8_1_neon; 760 vp9_get16x16var = vp9_get16x16var_c; 761 if (flags & HAS_NEON) vp9_get16x16var = vp9_get16x16var_neon; 762 vp9_get8x8var = vp9_get8x8var_c; 763 if (flags & HAS_NEON) vp9_get8x8var = vp9_get8x8var_neon; 764 vp9_h_predictor_16x16 = vp9_h_predictor_16x16_c; 765 if (flags & HAS_NEON) vp9_h_predictor_16x16 = vp9_h_predictor_16x16_neon; 766 vp9_h_predictor_32x32 = vp9_h_predictor_32x32_c; 767 if (flags & HAS_NEON) vp9_h_predictor_32x32 = vp9_h_predictor_32x32_neon; 768 vp9_h_predictor_4x4 = vp9_h_predictor_4x4_c; 769 if (flags & HAS_NEON) vp9_h_predictor_4x4 = vp9_h_predictor_4x4_neon; 770 vp9_h_predictor_8x8 = vp9_h_predictor_8x8_c; 771 if (flags & HAS_NEON) vp9_h_predictor_8x8 = vp9_h_predictor_8x8_neon; 772 vp9_idct16x16_10_add = vp9_idct16x16_10_add_c; 773 if (flags & HAS_NEON) vp9_idct16x16_10_add = vp9_idct16x16_10_add_neon; 774 vp9_idct16x16_1_add = vp9_idct16x16_1_add_c; 775 if (flags & HAS_NEON) vp9_idct16x16_1_add = vp9_idct16x16_1_add_neon; 776 vp9_idct16x16_256_add = vp9_idct16x16_256_add_c; 777 if (flags & HAS_NEON) vp9_idct16x16_256_add = vp9_idct16x16_256_add_neon; 778 vp9_idct32x32_1024_add = vp9_idct32x32_1024_add_c; 779 if (flags & HAS_NEON) vp9_idct32x32_1024_add = vp9_idct32x32_1024_add_neon; 780 vp9_idct32x32_1_add = vp9_idct32x32_1_add_c; 781 if (flags & HAS_NEON) vp9_idct32x32_1_add = vp9_idct32x32_1_add_neon; 782 vp9_idct32x32_34_add = vp9_idct32x32_34_add_c; 783 if (flags & HAS_NEON) vp9_idct32x32_34_add = vp9_idct32x32_1024_add_neon; 784 vp9_idct4x4_16_add = vp9_idct4x4_16_add_c; 785 if (flags & HAS_NEON) vp9_idct4x4_16_add = vp9_idct4x4_16_add_neon; 786 vp9_idct4x4_1_add = vp9_idct4x4_1_add_c; 787 if (flags & HAS_NEON) vp9_idct4x4_1_add = vp9_idct4x4_1_add_neon; 788 vp9_idct8x8_12_add = vp9_idct8x8_12_add_c; 789 if (flags & HAS_NEON) vp9_idct8x8_12_add = vp9_idct8x8_12_add_neon; 790 vp9_idct8x8_1_add = vp9_idct8x8_1_add_c; 791 if (flags & HAS_NEON) vp9_idct8x8_1_add = vp9_idct8x8_1_add_neon; 792 vp9_idct8x8_64_add = vp9_idct8x8_64_add_c; 793 if (flags & HAS_NEON) vp9_idct8x8_64_add = vp9_idct8x8_64_add_neon; 794 vp9_iht4x4_16_add = vp9_iht4x4_16_add_c; 795 if (flags & HAS_NEON) vp9_iht4x4_16_add = vp9_iht4x4_16_add_neon; 796 vp9_iht8x8_64_add = vp9_iht8x8_64_add_c; 797 if (flags & HAS_NEON) vp9_iht8x8_64_add = vp9_iht8x8_64_add_neon; 798 vp9_lpf_horizontal_16 = vp9_lpf_horizontal_16_c; 799 if (flags & HAS_NEON) vp9_lpf_horizontal_16 = vp9_lpf_horizontal_16_neon; 800 vp9_lpf_horizontal_4 = vp9_lpf_horizontal_4_c; 801 if (flags & HAS_NEON) vp9_lpf_horizontal_4 = vp9_lpf_horizontal_4_neon; 802 vp9_lpf_horizontal_4_dual = vp9_lpf_horizontal_4_dual_c; 803 if (flags & HAS_NEON) vp9_lpf_horizontal_4_dual = vp9_lpf_horizontal_4_dual_neon; 804 vp9_lpf_horizontal_8 = vp9_lpf_horizontal_8_c; 805 if (flags & HAS_NEON) vp9_lpf_horizontal_8 = vp9_lpf_horizontal_8_neon; 806 vp9_lpf_horizontal_8_dual = vp9_lpf_horizontal_8_dual_c; 807 if (flags & HAS_NEON) vp9_lpf_horizontal_8_dual = vp9_lpf_horizontal_8_dual_neon; 808 vp9_lpf_vertical_16 = vp9_lpf_vertical_16_c; 809 if (flags & HAS_NEON) vp9_lpf_vertical_16 = vp9_lpf_vertical_16_neon; 810 vp9_lpf_vertical_16_dual = vp9_lpf_vertical_16_dual_c; 811 if (flags & HAS_NEON) vp9_lpf_vertical_16_dual = vp9_lpf_vertical_16_dual_neon; 812 vp9_lpf_vertical_4 = vp9_lpf_vertical_4_c; 813 if (flags & HAS_NEON) vp9_lpf_vertical_4 = vp9_lpf_vertical_4_neon; 814 vp9_lpf_vertical_4_dual = vp9_lpf_vertical_4_dual_c; 815 if (flags & HAS_NEON) vp9_lpf_vertical_4_dual = vp9_lpf_vertical_4_dual_neon; 816 vp9_lpf_vertical_8 = vp9_lpf_vertical_8_c; 817 if (flags & HAS_NEON) vp9_lpf_vertical_8 = vp9_lpf_vertical_8_neon; 818 vp9_lpf_vertical_8_dual = vp9_lpf_vertical_8_dual_c; 819 if (flags & HAS_NEON) vp9_lpf_vertical_8_dual = vp9_lpf_vertical_8_dual_neon; 820 vp9_quantize_fp = vp9_quantize_fp_c; 821 if (flags & HAS_NEON) vp9_quantize_fp = vp9_quantize_fp_neon; 822 vp9_sad16x16 = vp9_sad16x16_c; 823 if (flags & HAS_NEON) vp9_sad16x16 = vp9_sad16x16_neon; 824 vp9_sad32x32 = vp9_sad32x32_c; 825 if (flags & HAS_NEON) vp9_sad32x32 = vp9_sad32x32_neon; 826 vp9_sad64x64 = vp9_sad64x64_c; 827 if (flags & HAS_NEON) vp9_sad64x64 = vp9_sad64x64_neon; 828 vp9_sad8x8 = vp9_sad8x8_c; 829 if (flags & HAS_NEON) vp9_sad8x8 = vp9_sad8x8_neon; 830 vp9_sub_pixel_variance16x16 = vp9_sub_pixel_variance16x16_c; 831 if (flags & HAS_NEON) vp9_sub_pixel_variance16x16 = vp9_sub_pixel_variance16x16_neon; 832 vp9_sub_pixel_variance32x32 = vp9_sub_pixel_variance32x32_c; 833 if (flags & HAS_NEON) vp9_sub_pixel_variance32x32 = vp9_sub_pixel_variance32x32_neon; 834 vp9_sub_pixel_variance8x8 = vp9_sub_pixel_variance8x8_c; 835 if (flags & HAS_NEON) vp9_sub_pixel_variance8x8 = vp9_sub_pixel_variance8x8_neon; 836 vp9_subtract_block = vp9_subtract_block_c; 837 if (flags & HAS_NEON) vp9_subtract_block = vp9_subtract_block_neon; 838 vp9_tm_predictor_16x16 = vp9_tm_predictor_16x16_c; 839 if (flags & HAS_NEON) vp9_tm_predictor_16x16 = vp9_tm_predictor_16x16_neon; 840 vp9_tm_predictor_32x32 = vp9_tm_predictor_32x32_c; 841 if (flags & HAS_NEON) vp9_tm_predictor_32x32 = vp9_tm_predictor_32x32_neon; 842 vp9_tm_predictor_4x4 = vp9_tm_predictor_4x4_c; 843 if (flags & HAS_NEON) vp9_tm_predictor_4x4 = vp9_tm_predictor_4x4_neon; 844 vp9_tm_predictor_8x8 = vp9_tm_predictor_8x8_c; 845 if (flags & HAS_NEON) vp9_tm_predictor_8x8 = vp9_tm_predictor_8x8_neon; 846 vp9_v_predictor_16x16 = vp9_v_predictor_16x16_c; 847 if (flags & HAS_NEON) vp9_v_predictor_16x16 = vp9_v_predictor_16x16_neon; 848 vp9_v_predictor_32x32 = vp9_v_predictor_32x32_c; 849 if (flags & HAS_NEON) vp9_v_predictor_32x32 = vp9_v_predictor_32x32_neon; 850 vp9_v_predictor_4x4 = vp9_v_predictor_4x4_c; 851 if (flags & HAS_NEON) vp9_v_predictor_4x4 = vp9_v_predictor_4x4_neon; 852 vp9_v_predictor_8x8 = vp9_v_predictor_8x8_c; 853 if (flags & HAS_NEON) vp9_v_predictor_8x8 = vp9_v_predictor_8x8_neon; 854 vp9_variance16x16 = vp9_variance16x16_c; 855 if (flags & HAS_NEON) vp9_variance16x16 = vp9_variance16x16_neon; 856 vp9_variance32x32 = vp9_variance32x32_c; 857 if (flags & HAS_NEON) vp9_variance32x32 = vp9_variance32x32_neon; 858 vp9_variance8x8 = vp9_variance8x8_c; 859 if (flags & HAS_NEON) vp9_variance8x8 = vp9_variance8x8_neon; 860 } 861 #endif 862 863 #ifdef __cplusplus 864 } // extern "C" 865 #endif 866 867 #endif 868