17765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#ifndef VP8_RTCD_H_ 27765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define VP8_RTCD_H_ 37765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 47765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#ifdef RTCD_C 57765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define RTCD_EXTERN 67765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#else 77765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define RTCD_EXTERN extern 87765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#endif 97765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 107765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org/* 117765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org * VP8 127765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org */ 137765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 147765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgstruct blockd; 157765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgstruct macroblockd; 167765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgstruct loop_filter_info; 177765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 187765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org/* Encoder forward decls */ 197765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgstruct block; 207765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgstruct macroblock; 217765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgstruct variance_vtable; 227765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunion int_mv; 237765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgstruct yv12_buffer_config; 247765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.org#ifdef __cplusplus 2687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgextern "C" { 2787997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.org#endif 2887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.org 297765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_bilinear_predict16x16_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 307765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_bilinear_predict16x16_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 317765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_bilinear_predict16x16 vp8_bilinear_predict16x16_neon 327765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 337765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_bilinear_predict4x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 347765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_bilinear_predict4x4_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 357765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_bilinear_predict4x4 vp8_bilinear_predict4x4_neon 367765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 377765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_bilinear_predict8x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 387765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_bilinear_predict8x4_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 397765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_bilinear_predict8x4 vp8_bilinear_predict8x4_neon 407765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 417765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_bilinear_predict8x8_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 427765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_bilinear_predict8x8_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 437765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_bilinear_predict8x8 vp8_bilinear_predict8x8_neon 447765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 457765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_blend_b_c(unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride); 467765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_blend_b vp8_blend_b_c 477765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 487765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_blend_mb_inner_c(unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride); 497765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_blend_mb_inner vp8_blend_mb_inner_c 507765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 517765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_blend_mb_outer_c(unsigned char *y, unsigned char *u, unsigned char *v, int y1, int u1, int v1, int alpha, int stride); 527765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_blend_mb_outer vp8_blend_mb_outer_c 537765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 547765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgint vp8_block_error_c(short *coeff, short *dqcoeff); 557765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_block_error vp8_block_error_c 567765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 577765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_build_intra_predictors_mbuv_s_c(struct macroblockd *x, unsigned char * uabove_row, unsigned char * vabove_row, unsigned char *uleft, unsigned char *vleft, int left_stride, unsigned char * upred_ptr, unsigned char * vpred_ptr, int pred_stride); 58d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.orgvoid vp8_build_intra_predictors_mbuv_s_neon(struct macroblockd *x, unsigned char * uabove_row, unsigned char * vabove_row, unsigned char *uleft, unsigned char *vleft, int left_stride, unsigned char * upred_ptr, unsigned char * vpred_ptr, int pred_stride); 59d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org#define vp8_build_intra_predictors_mbuv_s vp8_build_intra_predictors_mbuv_s_neon 607765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 617765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_build_intra_predictors_mby_s_c(struct macroblockd *x, unsigned char * yabove_row, unsigned char * yleft, int left_stride, unsigned char * ypred_ptr, int y_stride); 62d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.orgvoid vp8_build_intra_predictors_mby_s_neon(struct macroblockd *x, unsigned char * yabove_row, unsigned char * yleft, int left_stride, unsigned char * ypred_ptr, int y_stride); 63d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org#define vp8_build_intra_predictors_mby_s vp8_build_intra_predictors_mby_s_neon 647765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 657765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_clear_system_state_c(); 667765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_clear_system_state vp8_clear_system_state_c 677765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 687765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_copy_mem16x16_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch); 697765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_copy_mem16x16_neon(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch); 707765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_copy_mem16x16 vp8_copy_mem16x16_neon 717765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 727765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_copy_mem8x4_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch); 737765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_copy_mem8x4_neon(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch); 747765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_copy_mem8x4 vp8_copy_mem8x4_neon 757765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 767765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_copy_mem8x8_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch); 777765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_copy_mem8x8_neon(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch); 787765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_copy_mem8x8 vp8_copy_mem8x8_neon 797765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 807765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_dc_only_idct_add_c(short input, unsigned char *pred, int pred_stride, unsigned char *dst, int dst_stride); 817765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_dc_only_idct_add_neon(short input, unsigned char *pred, int pred_stride, unsigned char *dst, int dst_stride); 827765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_dc_only_idct_add vp8_dc_only_idct_add_neon 837765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 84118f379ec73bf762ee63784bc5f41ffd41107470johannkoenig@chromium.orgint vp8_denoiser_filter_c(unsigned char *mc_running_avg_y, int mc_avg_y_stride, unsigned char *running_avg_y, int avg_y_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising); 85118f379ec73bf762ee63784bc5f41ffd41107470johannkoenig@chromium.orgint vp8_denoiser_filter_neon(unsigned char *mc_running_avg_y, int mc_avg_y_stride, unsigned char *running_avg_y, int avg_y_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising); 867765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_denoiser_filter vp8_denoiser_filter_neon 877765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 88e2064011d36b2008099446503f28e64d445060ecjohannkoenig@chromium.orgint vp8_denoiser_filter_uv_c(unsigned char *mc_running_avg, int mc_avg_stride, unsigned char *running_avg, int avg_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising); 89e2064011d36b2008099446503f28e64d445060ecjohannkoenig@chromium.orgint vp8_denoiser_filter_uv_neon(unsigned char *mc_running_avg, int mc_avg_stride, unsigned char *running_avg, int avg_stride, unsigned char *sig, int sig_stride, unsigned int motion_magnitude, int increase_denoising); 90e2064011d36b2008099446503f28e64d445060ecjohannkoenig@chromium.org#define vp8_denoiser_filter_uv vp8_denoiser_filter_uv_neon 91e2064011d36b2008099446503f28e64d445060ecjohannkoenig@chromium.org 927765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_dequant_idct_add_c(short *input, short *dq, unsigned char *output, int stride); 937765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_dequant_idct_add_neon(short *input, short *dq, unsigned char *output, int stride); 947765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_dequant_idct_add vp8_dequant_idct_add_neon 957765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 967765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_dequant_idct_add_uv_block_c(short *q, short *dq, unsigned char *dst_u, unsigned char *dst_v, int stride, char *eobs); 97d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.orgvoid vp8_dequant_idct_add_uv_block_neon(short *q, short *dq, unsigned char *dst_u, unsigned char *dst_v, int stride, char *eobs); 98d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org#define vp8_dequant_idct_add_uv_block vp8_dequant_idct_add_uv_block_neon 997765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1007765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_dequant_idct_add_y_block_c(short *q, short *dq, unsigned char *dst, int stride, char *eobs); 101d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.orgvoid vp8_dequant_idct_add_y_block_neon(short *q, short *dq, unsigned char *dst, int stride, char *eobs); 102d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org#define vp8_dequant_idct_add_y_block vp8_dequant_idct_add_y_block_neon 1037765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1047765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_dequantize_b_c(struct blockd*, short *dqc); 1057765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_dequantize_b_neon(struct blockd*, short *dqc); 1067765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_dequantize_b vp8_dequantize_b_neon 1077765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1087765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgint vp8_diamond_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, union int_mv *best_mv, int search_param, int sad_per_bit, int *num00, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv); 1097765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_diamond_search_sad vp8_diamond_search_sad_c 1107765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1117765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_fast_quantize_b_c(struct block *, struct blockd *); 1127765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_fast_quantize_b vp8_fast_quantize_b_c 1137765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1147765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_fast_quantize_b_pair_c(struct block *b1, struct block *b2, struct blockd *d1, struct blockd *d2); 1157765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_fast_quantize_b_pair vp8_fast_quantize_b_pair_c 1167765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1177765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_filter_by_weight16x16_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight); 1187765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_filter_by_weight16x16 vp8_filter_by_weight16x16_c 1197765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1207765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_filter_by_weight4x4_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight); 1217765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_filter_by_weight4x4 vp8_filter_by_weight4x4_c 1227765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1237765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_filter_by_weight8x8_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight); 1247765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_filter_by_weight8x8 vp8_filter_by_weight8x8_c 1257765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1267765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgint vp8_full_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, int sad_per_bit, int distance, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv); 1277765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_full_search_sad vp8_full_search_sad_c 1287765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1297765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_get4x4sse_cs_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride); 13087997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgunsigned int vp8_get4x4sse_cs_neon(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride); 13187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.org#define vp8_get4x4sse_cs vp8_get4x4sse_cs_neon 1327765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1337765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_get_mb_ss_c(const short *); 1347765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_get_mb_ss vp8_get_mb_ss_c 1357765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1367765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_intra4x4_predict_c(unsigned char *Above, unsigned char *yleft, int left_stride, int b_mode, unsigned char *dst, int dst_stride, unsigned char top_left); 1377765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_intra4x4_predict vp8_intra4x4_predict_c 1387765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1397765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_loop_filter_bh_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); 140d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.orgvoid vp8_loop_filter_bh_neon(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); 141d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org#define vp8_loop_filter_bh vp8_loop_filter_bh_neon 1427765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1437765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_loop_filter_bv_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); 144d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.orgvoid vp8_loop_filter_bv_neon(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); 145d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org#define vp8_loop_filter_bv vp8_loop_filter_bv_neon 1467765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1477765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_loop_filter_mbh_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); 1487765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_loop_filter_mbh_neon(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); 1497765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_loop_filter_mbh vp8_loop_filter_mbh_neon 1507765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1517765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_loop_filter_mbv_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); 1527765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_loop_filter_mbv_neon(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); 1537765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_loop_filter_mbv vp8_loop_filter_mbv_neon 1547765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1557765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_loop_filter_bhs_c(unsigned char *y, int ystride, const unsigned char *blimit); 1567765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_loop_filter_bhs_neon(unsigned char *y, int ystride, const unsigned char *blimit); 1577765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_loop_filter_simple_bh vp8_loop_filter_bhs_neon 1587765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1597765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_loop_filter_bvs_c(unsigned char *y, int ystride, const unsigned char *blimit); 160d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.orgvoid vp8_loop_filter_bvs_neon(unsigned char *y, int ystride, const unsigned char *blimit); 161d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org#define vp8_loop_filter_simple_bv vp8_loop_filter_bvs_neon 1627765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1637765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_loop_filter_simple_horizontal_edge_c(unsigned char *y, int ystride, const unsigned char *blimit); 1647765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_loop_filter_mbhs_neon(unsigned char *y, int ystride, const unsigned char *blimit); 1657765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_loop_filter_simple_mbh vp8_loop_filter_mbhs_neon 1667765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1677765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_loop_filter_simple_vertical_edge_c(unsigned char *y, int ystride, const unsigned char *blimit); 168d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.orgvoid vp8_loop_filter_mbvs_neon(unsigned char *y, int ystride, const unsigned char *blimit); 169d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org#define vp8_loop_filter_simple_mbv vp8_loop_filter_mbvs_neon 1707765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1717765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgint vp8_mbblock_error_c(struct macroblock *mb, int dc); 1727765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_mbblock_error vp8_mbblock_error_c 1737765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1747765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_mbpost_proc_across_ip_c(unsigned char *dst, int pitch, int rows, int cols,int flimit); 1757765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_mbpost_proc_across_ip vp8_mbpost_proc_across_ip_c 1767765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1777765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_mbpost_proc_down_c(unsigned char *dst, int pitch, int rows, int cols,int flimit); 1787765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_mbpost_proc_down vp8_mbpost_proc_down_c 1797765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1807765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgint vp8_mbuverror_c(struct macroblock *mb); 1817765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_mbuverror vp8_mbuverror_c 1827765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1837765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_mse16x16_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 18487997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgunsigned int vp8_mse16x16_neon(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 18587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.org#define vp8_mse16x16 vp8_mse16x16_neon 1867765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1877765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_plane_add_noise_c(unsigned char *s, char *noise, char blackclamp[16], char whiteclamp[16], char bothclamp[16], unsigned int w, unsigned int h, int pitch); 1887765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_plane_add_noise vp8_plane_add_noise_c 1897765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1907765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_post_proc_down_and_across_mb_row_c(unsigned char *src, unsigned char *dst, int src_pitch, int dst_pitch, int cols, unsigned char *flimits, int size); 1917765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_post_proc_down_and_across_mb_row vp8_post_proc_down_and_across_mb_row_c 1927765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1937765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_quantize_mb_c(struct macroblock *); 1947765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_quantize_mb_neon(struct macroblock *); 1957765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_quantize_mb vp8_quantize_mb_neon 1967765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 1977765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_quantize_mbuv_c(struct macroblock *); 1987765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_quantize_mbuv_neon(struct macroblock *); 1997765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_quantize_mbuv vp8_quantize_mbuv_neon 2007765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2017765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_quantize_mby_c(struct macroblock *); 2027765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_quantize_mby_neon(struct macroblock *); 2037765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_quantize_mby vp8_quantize_mby_neon 2047765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2057765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgint vp8_refining_search_sad_c(struct macroblock *x, struct block *b, struct blockd *d, union int_mv *ref_mv, int sad_per_bit, int distance, struct variance_vtable *fn_ptr, int *mvcost[2], union int_mv *center_mv); 2067765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_refining_search_sad vp8_refining_search_sad_c 2077765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2087765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_regular_quantize_b_c(struct block *, struct blockd *); 2097765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_regular_quantize_b vp8_regular_quantize_b_c 2107765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2117765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_regular_quantize_b_pair_c(struct block *b1, struct block *b2, struct blockd *d1, struct blockd *d2); 2127765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_regular_quantize_b_pair vp8_regular_quantize_b_pair_c 2137765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2147765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_sad16x16_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); 2157765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_sad16x16_neon(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); 2167765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad16x16 vp8_sad16x16_neon 2177765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2187765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sad16x16x3_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sad_array); 2197765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad16x16x3 vp8_sad16x16x3_c 2207765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2217765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sad16x16x4d_c(const unsigned char *src_ptr, int src_stride, const unsigned char * const ref_ptr[], int ref_stride, unsigned int *sad_array); 2227765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad16x16x4d vp8_sad16x16x4d_c 2237765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2247765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sad16x16x8_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned short *sad_array); 2257765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad16x16x8 vp8_sad16x16x8_c 2267765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2277765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_sad16x8_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); 2287765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_sad16x8_neon(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); 2297765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad16x8 vp8_sad16x8_neon 2307765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2317765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sad16x8x3_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sad_array); 2327765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad16x8x3 vp8_sad16x8x3_c 2337765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2347765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sad16x8x4d_c(const unsigned char *src_ptr, int src_stride, const unsigned char * const ref_ptr[], int ref_stride, unsigned int *sad_array); 2357765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad16x8x4d vp8_sad16x8x4d_c 2367765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2377765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sad16x8x8_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned short *sad_array); 2387765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad16x8x8 vp8_sad16x8x8_c 2397765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2407765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_sad4x4_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); 2417765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_sad4x4_neon(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); 2427765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad4x4 vp8_sad4x4_neon 2437765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2447765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sad4x4x3_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sad_array); 2457765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad4x4x3 vp8_sad4x4x3_c 2467765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2477765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sad4x4x4d_c(const unsigned char *src_ptr, int src_stride, const unsigned char * const ref_ptr[], int ref_stride, unsigned int *sad_array); 2487765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad4x4x4d vp8_sad4x4x4d_c 2497765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2507765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sad4x4x8_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned short *sad_array); 2517765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad4x4x8 vp8_sad4x4x8_c 2527765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2537765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_sad8x16_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); 2547765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_sad8x16_neon(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); 2557765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad8x16 vp8_sad8x16_neon 2567765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2577765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sad8x16x3_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sad_array); 2587765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad8x16x3 vp8_sad8x16x3_c 2597765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2607765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sad8x16x4d_c(const unsigned char *src_ptr, int src_stride, const unsigned char * const ref_ptr[], int ref_stride, unsigned int *sad_array); 2617765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad8x16x4d vp8_sad8x16x4d_c 2627765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2637765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sad8x16x8_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned short *sad_array); 2647765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad8x16x8 vp8_sad8x16x8_c 2657765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2667765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_sad8x8_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); 2677765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_sad8x8_neon(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); 2687765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad8x8 vp8_sad8x8_neon 2697765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2707765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sad8x8x3_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sad_array); 2717765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad8x8x3 vp8_sad8x8x3_c 2727765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2737765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sad8x8x4d_c(const unsigned char *src_ptr, int src_stride, const unsigned char * const ref_ptr[], int ref_stride, unsigned int *sad_array); 2747765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad8x8x4d vp8_sad8x8x4d_c 2757765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2767765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sad8x8x8_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned short *sad_array); 2777765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad8x8x8 vp8_sad8x8x8_c 2787765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2797765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_short_fdct4x4_c(short *input, short *output, int pitch); 280d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.orgvoid vp8_short_fdct4x4_neon(short *input, short *output, int pitch); 281d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org#define vp8_short_fdct4x4 vp8_short_fdct4x4_neon 2827765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2837765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_short_fdct8x4_c(short *input, short *output, int pitch); 284d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.orgvoid vp8_short_fdct8x4_neon(short *input, short *output, int pitch); 285d95585fb0ec024f6abd96f7b02e0df58019d46afjohannkoenig@chromium.org#define vp8_short_fdct8x4 vp8_short_fdct8x4_neon 2867765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2877765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_short_idct4x4llm_c(short *input, unsigned char *pred, int pitch, unsigned char *dst, int dst_stride); 2887765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_short_idct4x4llm_neon(short *input, unsigned char *pred, int pitch, unsigned char *dst, int dst_stride); 2897765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_short_idct4x4llm vp8_short_idct4x4llm_neon 2907765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2917765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_short_inv_walsh4x4_c(short *input, short *output); 2927765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_short_inv_walsh4x4_neon(short *input, short *output); 2937765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_short_inv_walsh4x4 vp8_short_inv_walsh4x4_neon 2947765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2957765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_short_inv_walsh4x4_1_c(short *input, short *output); 2967765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_short_inv_walsh4x4_1 vp8_short_inv_walsh4x4_1_c 2977765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 2987765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_short_walsh4x4_c(short *input, short *output, int pitch); 299ace65784417788374f0b19ce5a8abd06c9ccd007johannkoenig@chromium.orgvoid vp8_short_walsh4x4_neon(short *input, short *output, int pitch); 300ace65784417788374f0b19ce5a8abd06c9ccd007johannkoenig@chromium.org#define vp8_short_walsh4x4 vp8_short_walsh4x4_neon 3017765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3027765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sixtap_predict16x16_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 3037765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sixtap_predict16x16_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 3047765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sixtap_predict16x16 vp8_sixtap_predict16x16_neon 3057765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3067765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sixtap_predict4x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 307ac4e313c19203132648a2a271703b6ee76fe4284johannkoenig@chromium.org#define vp8_sixtap_predict4x4 vp8_sixtap_predict4x4_c 3087765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3097765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sixtap_predict8x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 3107765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sixtap_predict8x4_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 3117765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sixtap_predict8x4 vp8_sixtap_predict8x4_neon 3127765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3137765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sixtap_predict8x8_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 3147765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sixtap_predict8x8_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 3157765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sixtap_predict8x8 vp8_sixtap_predict8x8_neon 3167765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3177765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_sub_pixel_mse16x16_c(const unsigned char *src_ptr, int source_stride, int xoffset, int yoffset, const unsigned char *ref_ptr, int Refstride, unsigned int *sse); 3187765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sub_pixel_mse16x16 vp8_sub_pixel_mse16x16_c 3197765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3207765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_sub_pixel_variance16x16_c(const unsigned char *src_ptr, int source_stride, int xoffset, int yoffset, const unsigned char *ref_ptr, int Refstride, unsigned int *sse); 3217765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sub_pixel_variance16x16 vp8_sub_pixel_variance16x16_c 3227765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3237765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_sub_pixel_variance16x8_c(const unsigned char *src_ptr, int source_stride, int xoffset, int yoffset, const unsigned char *ref_ptr, int Refstride, unsigned int *sse); 3247765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sub_pixel_variance16x8 vp8_sub_pixel_variance16x8_c 3257765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3267765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_sub_pixel_variance4x4_c(const unsigned char *src_ptr, int source_stride, int xoffset, int yoffset, const unsigned char *ref_ptr, int Refstride, unsigned int *sse); 3277765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sub_pixel_variance4x4 vp8_sub_pixel_variance4x4_c 3287765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3297765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_sub_pixel_variance8x16_c(const unsigned char *src_ptr, int source_stride, int xoffset, int yoffset, const unsigned char *ref_ptr, int Refstride, unsigned int *sse); 3307765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sub_pixel_variance8x16 vp8_sub_pixel_variance8x16_c 3317765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3327765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_sub_pixel_variance8x8_c(const unsigned char *src_ptr, int source_stride, int xoffset, int yoffset, const unsigned char *ref_ptr, int Refstride, unsigned int *sse); 3337765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sub_pixel_variance8x8 vp8_sub_pixel_variance8x8_c 3347765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3357765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_subtract_b_c(struct block *be, struct blockd *bd, int pitch); 336ace65784417788374f0b19ce5a8abd06c9ccd007johannkoenig@chromium.orgvoid vp8_subtract_b_neon(struct block *be, struct blockd *bd, int pitch); 337ace65784417788374f0b19ce5a8abd06c9ccd007johannkoenig@chromium.org#define vp8_subtract_b vp8_subtract_b_neon 3387765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3397765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_subtract_mbuv_c(short *diff, unsigned char *usrc, unsigned char *vsrc, int src_stride, unsigned char *upred, unsigned char *vpred, int pred_stride); 340ace65784417788374f0b19ce5a8abd06c9ccd007johannkoenig@chromium.orgvoid vp8_subtract_mbuv_neon(short *diff, unsigned char *usrc, unsigned char *vsrc, int src_stride, unsigned char *upred, unsigned char *vpred, int pred_stride); 341ace65784417788374f0b19ce5a8abd06c9ccd007johannkoenig@chromium.org#define vp8_subtract_mbuv vp8_subtract_mbuv_neon 3427765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3437765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_subtract_mby_c(short *diff, unsigned char *src, int src_stride, unsigned char *pred, int pred_stride); 344ace65784417788374f0b19ce5a8abd06c9ccd007johannkoenig@chromium.orgvoid vp8_subtract_mby_neon(short *diff, unsigned char *src, int src_stride, unsigned char *pred, int pred_stride); 345ace65784417788374f0b19ce5a8abd06c9ccd007johannkoenig@chromium.org#define vp8_subtract_mby vp8_subtract_mby_neon 3467765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3477765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_variance16x16_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 3487765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_variance16x16_neon(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 3497765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_variance16x16 vp8_variance16x16_neon 3507765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3517765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_variance16x8_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 3527765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_variance16x8_neon(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 3537765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_variance16x8 vp8_variance16x8_neon 3547765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3557765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_variance4x4_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 3567765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_variance4x4 vp8_variance4x4_c 3577765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3587765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_variance8x16_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 3597765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_variance8x16_neon(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 3607765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_variance8x16 vp8_variance8x16_neon 3617765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3627765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_variance8x8_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 3637765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_variance8x8_neon(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 3647765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_variance8x8 vp8_variance8x8_neon 3657765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3667765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_variance_halfpixvar16x16_h_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 36787997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgunsigned int vp8_variance_halfpixvar16x16_h_neon(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 36887997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.org#define vp8_variance_halfpixvar16x16_h vp8_variance_halfpixvar16x16_h_neon 3697765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3707765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_variance_halfpixvar16x16_hv_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 37187997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgunsigned int vp8_variance_halfpixvar16x16_hv_neon(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 37287997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.org#define vp8_variance_halfpixvar16x16_hv vp8_variance_halfpixvar16x16_hv_neon 3737765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3747765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_variance_halfpixvar16x16_v_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 37587997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.orgunsigned int vp8_variance_halfpixvar16x16_v_neon(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 37687997d490ae52aa962a985c95b3cddf7f8832641johannkoenig@chromium.org#define vp8_variance_halfpixvar16x16_v vp8_variance_halfpixvar16x16_v_neon 3777765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3787765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_rtcd(void); 3797765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3807765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#include "vpx_config.h" 3817765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3827765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#ifdef RTCD_C 3837765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#include "vpx_ports/arm.h" 3847765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgstatic void setup_rtcd_internal(void) 3857765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org{ 3867765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org int flags = arm_cpu_caps(); 3877765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3887765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org (void)flags; 3897765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3907765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org} 3917765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#endif 3927765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3937765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#ifdef __cplusplus 3947765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org} // extern "C" 3957765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#endif 3967765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org 3977765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#endif 398