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