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