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