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#ifdef __cplusplus
117765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgextern "C" {
127765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#endif
137765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
147765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org/*
157765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org * VP8
167765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org */
177765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
187765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgstruct blockd;
197765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgstruct macroblockd;
207765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgstruct loop_filter_info;
217765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
227765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org/* Encoder forward decls */
237765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgstruct block;
247765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgstruct macroblock;
257765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgstruct variance_vtable;
267765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunion int_mv;
277765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgstruct yv12_buffer_config;
287765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
587765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_build_intra_predictors_mbuv_s vp8_build_intra_predictors_mbuv_s_c
597765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
607765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
617765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_build_intra_predictors_mby_s vp8_build_intra_predictors_mby_s_c
627765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
637765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_clear_system_state_c();
647765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_clear_system_state vp8_clear_system_state_c
657765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
667765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_copy_mem16x16_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
677765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_copy_mem16x16_neon(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
687765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_copy_mem16x16 vp8_copy_mem16x16_neon
697765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
707765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_copy_mem8x4_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
717765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_copy_mem8x4_neon(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
727765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_copy_mem8x4 vp8_copy_mem8x4_neon
737765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
747765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_copy_mem8x8_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
757765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_copy_mem8x8_neon(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch);
767765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_copy_mem8x8 vp8_copy_mem8x8_neon
777765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
787765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_dc_only_idct_add_c(short input, unsigned char *pred, int pred_stride, unsigned char *dst, int dst_stride);
797765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_dc_only_idct_add_neon(short input, unsigned char *pred, int pred_stride, unsigned char *dst, int dst_stride);
807765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_dc_only_idct_add vp8_dc_only_idct_add_neon
817765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
82118f379ec73bf762ee63784bc5f41ffd41107470johannkoenig@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);
83118f379ec73bf762ee63784bc5f41ffd41107470johannkoenig@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);
847765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_denoiser_filter vp8_denoiser_filter_neon
857765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
867765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_dequant_idct_add_c(short *input, short *dq, unsigned char *output, int stride);
877765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_dequant_idct_add_neon(short *input, short *dq, unsigned char *output, int stride);
887765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_dequant_idct_add vp8_dequant_idct_add_neon
897765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
907765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
917765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_dequant_idct_add_uv_block vp8_dequant_idct_add_uv_block_c
927765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
937765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_dequant_idct_add_y_block_c(short *q, short *dq, unsigned char *dst, int stride, char *eobs);
947765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_dequant_idct_add_y_block vp8_dequant_idct_add_y_block_c
957765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
967765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_dequantize_b_c(struct blockd*, short *dqc);
977765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_dequantize_b_neon(struct blockd*, short *dqc);
987765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_dequantize_b vp8_dequantize_b_neon
997765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1007765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
1017765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_diamond_search_sad vp8_diamond_search_sad_c
1027765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1037765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_fast_quantize_b_c(struct block *, struct blockd *);
1047765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_fast_quantize_b vp8_fast_quantize_b_c
1057765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1067765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_fast_quantize_b_pair_c(struct block *b1, struct block *b2, struct blockd *d1, struct blockd *d2);
1077765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_fast_quantize_b_pair vp8_fast_quantize_b_pair_c
1087765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1097765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_filter_by_weight16x16_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight);
1107765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_filter_by_weight16x16 vp8_filter_by_weight16x16_c
1117765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1127765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_filter_by_weight4x4_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight);
1137765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_filter_by_weight4x4 vp8_filter_by_weight4x4_c
1147765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1157765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_filter_by_weight8x8_c(unsigned char *src, int src_stride, unsigned char *dst, int dst_stride, int src_weight);
1167765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_filter_by_weight8x8 vp8_filter_by_weight8x8_c
1177765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1187765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
1197765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_full_search_sad vp8_full_search_sad_c
1207765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1217765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_get4x4sse_cs_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int  ref_stride);
1227765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_get4x4sse_cs vp8_get4x4sse_cs_c
1237765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1247765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgunsigned int vp8_get_mb_ss_c(const short *);
1257765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_get_mb_ss vp8_get_mb_ss_c
1267765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1277765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
1287765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_intra4x4_predict vp8_intra4x4_predict_c
1297765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1307765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
1317765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_loop_filter_bh vp8_loop_filter_bh_c
1327765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1337765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
1347765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_loop_filter_bv vp8_loop_filter_bv_c
1357765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1367765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
1377765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
1387765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_loop_filter_mbh vp8_loop_filter_mbh_neon
1397765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1407765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
1417765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
1427765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_loop_filter_mbv vp8_loop_filter_mbv_neon
1437765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1447765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_loop_filter_bhs_c(unsigned char *y, int ystride, const unsigned char *blimit);
1457765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_loop_filter_bhs_neon(unsigned char *y, int ystride, const unsigned char *blimit);
1467765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_loop_filter_simple_bh vp8_loop_filter_bhs_neon
1477765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1487765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_loop_filter_bvs_c(unsigned char *y, int ystride, const unsigned char *blimit);
1497765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_loop_filter_simple_bv vp8_loop_filter_bvs_c
1507765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1517765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_loop_filter_simple_horizontal_edge_c(unsigned char *y, int ystride, const unsigned char *blimit);
1527765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_loop_filter_mbhs_neon(unsigned char *y, int ystride, const unsigned char *blimit);
1537765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_loop_filter_simple_mbh vp8_loop_filter_mbhs_neon
1547765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1557765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_loop_filter_simple_vertical_edge_c(unsigned char *y, int ystride, const unsigned char *blimit);
1567765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_loop_filter_simple_mbv vp8_loop_filter_simple_vertical_edge_c
1577765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1587765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgint vp8_mbblock_error_c(struct macroblock *mb, int dc);
1597765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_mbblock_error vp8_mbblock_error_c
1607765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1617765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_mbpost_proc_across_ip_c(unsigned char *dst, int pitch, int rows, int cols,int flimit);
1627765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_mbpost_proc_across_ip vp8_mbpost_proc_across_ip_c
1637765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1647765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_mbpost_proc_down_c(unsigned char *dst, int pitch, int rows, int cols,int flimit);
1657765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_mbpost_proc_down vp8_mbpost_proc_down_c
1667765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1677765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgint vp8_mbuverror_c(struct macroblock *mb);
1687765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_mbuverror vp8_mbuverror_c
1697765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1707765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
1717765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_mse16x16 vp8_mse16x16_c
1727765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1737765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
1747765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_plane_add_noise vp8_plane_add_noise_c
1757765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1767765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
1777765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_post_proc_down_and_across_mb_row vp8_post_proc_down_and_across_mb_row_c
1787765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1797765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_quantize_mb_c(struct macroblock *);
1807765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_quantize_mb_neon(struct macroblock *);
1817765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_quantize_mb vp8_quantize_mb_neon
1827765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1837765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_quantize_mbuv_c(struct macroblock *);
1847765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_quantize_mbuv_neon(struct macroblock *);
1857765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_quantize_mbuv vp8_quantize_mbuv_neon
1867765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1877765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_quantize_mby_c(struct macroblock *);
1887765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_quantize_mby_neon(struct macroblock *);
1897765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_quantize_mby vp8_quantize_mby_neon
1907765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1917765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
1927765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_refining_search_sad vp8_refining_search_sad_c
1937765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1947765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_regular_quantize_b_c(struct block *, struct blockd *);
1957765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_regular_quantize_b vp8_regular_quantize_b_c
1967765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
1977765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_regular_quantize_b_pair_c(struct block *b1, struct block *b2, struct blockd *d1, struct blockd *d2);
1987765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_regular_quantize_b_pair vp8_regular_quantize_b_pair_c
1997765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2007765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
2017765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
2027765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad16x16 vp8_sad16x16_neon
2037765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2047765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
2057765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad16x16x3 vp8_sad16x16x3_c
2067765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2077765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
2087765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad16x16x4d vp8_sad16x16x4d_c
2097765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2107765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
2117765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad16x16x8 vp8_sad16x16x8_c
2127765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2137765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
2147765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
2157765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad16x8 vp8_sad16x8_neon
2167765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2177765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
2187765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad16x8x3 vp8_sad16x8x3_c
2197765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2207765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
2217765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad16x8x4d vp8_sad16x8x4d_c
2227765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2237765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
2247765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad16x8x8 vp8_sad16x8x8_c
2257765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2267765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
2277765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
2287765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad4x4 vp8_sad4x4_neon
2297765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2307765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
2317765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad4x4x3 vp8_sad4x4x3_c
2327765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2337765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
2347765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad4x4x4d vp8_sad4x4x4d_c
2357765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2367765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
2377765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad4x4x8 vp8_sad4x4x8_c
2387765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2397765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
2407765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
2417765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad8x16 vp8_sad8x16_neon
2427765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2437765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
2447765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad8x16x3 vp8_sad8x16x3_c
2457765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2467765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
2477765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad8x16x4d vp8_sad8x16x4d_c
2487765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2497765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
2507765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad8x16x8 vp8_sad8x16x8_c
2517765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2527765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
2537765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
2547765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad8x8 vp8_sad8x8_neon
2557765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2567765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
2577765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad8x8x3 vp8_sad8x8x3_c
2587765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2597765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
2607765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad8x8x4d vp8_sad8x8x4d_c
2617765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2627765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
2637765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sad8x8x8 vp8_sad8x8x8_c
2647765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2657765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_short_fdct4x4_c(short *input, short *output, int pitch);
2667765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_short_fdct4x4 vp8_short_fdct4x4_c
2677765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2687765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_short_fdct8x4_c(short *input, short *output, int pitch);
2697765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_short_fdct8x4 vp8_short_fdct8x4_c
2707765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2717765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_short_idct4x4llm_c(short *input, unsigned char *pred, int pitch, unsigned char *dst, int dst_stride);
2727765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_short_idct4x4llm_neon(short *input, unsigned char *pred, int pitch, unsigned char *dst, int dst_stride);
2737765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_short_idct4x4llm vp8_short_idct4x4llm_neon
2747765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2757765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_short_inv_walsh4x4_c(short *input, short *output);
2767765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_short_inv_walsh4x4_neon(short *input, short *output);
2777765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_short_inv_walsh4x4 vp8_short_inv_walsh4x4_neon
2787765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2797765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_short_inv_walsh4x4_1_c(short *input, short *output);
2807765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_short_inv_walsh4x4_1 vp8_short_inv_walsh4x4_1_c
2817765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2827765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_short_walsh4x4_c(short *input, short *output, int pitch);
2837765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_short_walsh4x4 vp8_short_walsh4x4_c
2847765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2857765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sixtap_predict16x16_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
2867765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sixtap_predict16x16_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
2877765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sixtap_predict16x16 vp8_sixtap_predict16x16_neon
2887765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2897765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sixtap_predict4x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
2907765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sixtap_predict4x4_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
2917765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sixtap_predict4x4 vp8_sixtap_predict4x4_neon
2927765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2937765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sixtap_predict8x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
2947765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sixtap_predict8x4_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
2957765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sixtap_predict8x4 vp8_sixtap_predict8x4_neon
2967765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
2977765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sixtap_predict8x8_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
2987765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_sixtap_predict8x8_neon(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch);
2997765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sixtap_predict8x8 vp8_sixtap_predict8x8_neon
3007765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
3017765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
3027765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sub_pixel_mse16x16 vp8_sub_pixel_mse16x16_c
3037765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
3047765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
3057765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sub_pixel_variance16x16 vp8_sub_pixel_variance16x16_c
3067765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
3077765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
3087765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sub_pixel_variance16x8 vp8_sub_pixel_variance16x8_c
3097765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
3107765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
3117765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sub_pixel_variance4x4 vp8_sub_pixel_variance4x4_c
3127765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
3137765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
3147765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sub_pixel_variance8x16 vp8_sub_pixel_variance8x16_c
3157765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
3167765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
3177765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_sub_pixel_variance8x8 vp8_sub_pixel_variance8x8_c
3187765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
3197765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_subtract_b_c(struct block *be, struct blockd *bd, int pitch);
3207765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_subtract_b vp8_subtract_b_c
3217765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
3227765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
3237765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_subtract_mbuv vp8_subtract_mbuv_c
3247765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
3257765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_subtract_mby_c(short *diff, unsigned char *src, int src_stride, unsigned char *pred, int pred_stride);
3267765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_subtract_mby vp8_subtract_mby_c
3277765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
3287765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
3297765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
3307765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_variance16x16 vp8_variance16x16_neon
3317765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
3327765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
3337765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
3347765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_variance16x8 vp8_variance16x8_neon
3357765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
3367765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
3377765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_variance4x4 vp8_variance4x4_c
3387765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
3397765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
3407765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
3417765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_variance8x16 vp8_variance8x16_neon
3427765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
3437765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
3447765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
3457765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_variance8x8 vp8_variance8x8_neon
3467765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
3477765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
3487765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_variance_halfpixvar16x16_h vp8_variance_halfpixvar16x16_h_c
3497765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
3507765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
3517765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_variance_halfpixvar16x16_hv vp8_variance_halfpixvar16x16_hv_c
3527765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
3537765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@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);
3547765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_variance_halfpixvar16x16_v vp8_variance_halfpixvar16x16_v_c
3557765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
3567765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_yv12_copy_partial_frame_c(struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
3577765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#define vp8_yv12_copy_partial_frame vp8_yv12_copy_partial_frame_c
3587765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
3597765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgvoid vp8_rtcd(void);
3607765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
3617765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#include "vpx_config.h"
3627765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
3637765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#ifdef RTCD_C
3647765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#include "vpx_ports/arm.h"
3657765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.orgstatic void setup_rtcd_internal(void)
3667765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org{
3677765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org    int flags = arm_cpu_caps();
3687765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
3697765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org    (void)flags;
3707765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
3717765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org}
3727765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#endif
3737765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
3747765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#ifdef __cplusplus
3757765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org}  // extern "C"
3767765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#endif
3777765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org
3787765c078fa920ba6c949c15f16b6cc979d8bb95bjohannkoenig@chromium.org#endif
379