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