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