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