vp8_rtcd.h revision 1b362b15af34006e6a11974088a46d42b903418e
11b362b15af34006e6a11974088a46d42b903418eJohann#ifndef VPX_RTCD_ 21b362b15af34006e6a11974088a46d42b903418eJohann#define VPX_RTCD_ 31b362b15af34006e6a11974088a46d42b903418eJohann 41b362b15af34006e6a11974088a46d42b903418eJohann#ifdef RTCD_C 51b362b15af34006e6a11974088a46d42b903418eJohann#define RTCD_EXTERN 61b362b15af34006e6a11974088a46d42b903418eJohann#else 71b362b15af34006e6a11974088a46d42b903418eJohann#define RTCD_EXTERN extern 81b362b15af34006e6a11974088a46d42b903418eJohann#endif 91b362b15af34006e6a11974088a46d42b903418eJohann 101b362b15af34006e6a11974088a46d42b903418eJohann#include "vp8/common/blockd.h" 111b362b15af34006e6a11974088a46d42b903418eJohann 121b362b15af34006e6a11974088a46d42b903418eJohannstruct blockd; 131b362b15af34006e6a11974088a46d42b903418eJohannstruct macroblockd; 141b362b15af34006e6a11974088a46d42b903418eJohannstruct loop_filter_info; 151b362b15af34006e6a11974088a46d42b903418eJohann 161b362b15af34006e6a11974088a46d42b903418eJohann/* Encoder forward decls */ 171b362b15af34006e6a11974088a46d42b903418eJohannstruct block; 181b362b15af34006e6a11974088a46d42b903418eJohannstruct macroblock; 191b362b15af34006e6a11974088a46d42b903418eJohannstruct variance_vtable; 201b362b15af34006e6a11974088a46d42b903418eJohannunion int_mv; 211b362b15af34006e6a11974088a46d42b903418eJohannstruct yv12_buffer_config; 221b362b15af34006e6a11974088a46d42b903418eJohann 231b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_dequantize_b_c(struct blockd*, short *dqc); 241b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_dequantize_b_v6(struct blockd*, short *dqc); 251b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_dequantize_b vp8_dequantize_b_v6 261b362b15af34006e6a11974088a46d42b903418eJohann 271b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_dequant_idct_add_c(short *input, short *dq, unsigned char *output, int stride); 281b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_dequant_idct_add_v6(short *input, short *dq, unsigned char *output, int stride); 291b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_dequant_idct_add vp8_dequant_idct_add_v6 301b362b15af34006e6a11974088a46d42b903418eJohann 311b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_dequant_idct_add_y_block_c(short *q, short *dq, unsigned char *dst, int stride, char *eobs); 321b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_dequant_idct_add_y_block_v6(short *q, short *dq, unsigned char *dst, int stride, char *eobs); 331b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_dequant_idct_add_y_block vp8_dequant_idct_add_y_block_v6 341b362b15af34006e6a11974088a46d42b903418eJohann 351b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_dequant_idct_add_uv_block_c(short *q, short *dq, unsigned char *dst_u, unsigned char *dst_v, int stride, char *eobs); 361b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_dequant_idct_add_uv_block_v6(short *q, short *dq, unsigned char *dst_u, unsigned char *dst_v, int stride, char *eobs); 371b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_dequant_idct_add_uv_block vp8_dequant_idct_add_uv_block_v6 381b362b15af34006e6a11974088a46d42b903418eJohann 391b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_loop_filter_mbv_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); 401b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_loop_filter_mbv_armv6(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); 411b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_loop_filter_mbv vp8_loop_filter_mbv_armv6 421b362b15af34006e6a11974088a46d42b903418eJohann 431b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_loop_filter_bv_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); 441b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_loop_filter_bv_armv6(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); 451b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_loop_filter_bv vp8_loop_filter_bv_armv6 461b362b15af34006e6a11974088a46d42b903418eJohann 471b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_loop_filter_mbh_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); 481b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_loop_filter_mbh_armv6(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); 491b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_loop_filter_mbh vp8_loop_filter_mbh_armv6 501b362b15af34006e6a11974088a46d42b903418eJohann 511b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_loop_filter_bh_c(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); 521b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_loop_filter_bh_armv6(unsigned char *y, unsigned char *u, unsigned char *v, int ystride, int uv_stride, struct loop_filter_info *lfi); 531b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_loop_filter_bh vp8_loop_filter_bh_armv6 541b362b15af34006e6a11974088a46d42b903418eJohann 551b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_loop_filter_simple_vertical_edge_c(unsigned char *y, int ystride, const unsigned char *blimit); 561b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_loop_filter_simple_vertical_edge_armv6(unsigned char *y, int ystride, const unsigned char *blimit); 571b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_loop_filter_simple_mbv vp8_loop_filter_simple_vertical_edge_armv6 581b362b15af34006e6a11974088a46d42b903418eJohann 591b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_loop_filter_simple_horizontal_edge_c(unsigned char *y, int ystride, const unsigned char *blimit); 601b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_loop_filter_simple_horizontal_edge_armv6(unsigned char *y, int ystride, const unsigned char *blimit); 611b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_loop_filter_simple_mbh vp8_loop_filter_simple_horizontal_edge_armv6 621b362b15af34006e6a11974088a46d42b903418eJohann 631b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_loop_filter_bvs_c(unsigned char *y, int ystride, const unsigned char *blimit); 641b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_loop_filter_bvs_armv6(unsigned char *y, int ystride, const unsigned char *blimit); 651b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_loop_filter_simple_bv vp8_loop_filter_bvs_armv6 661b362b15af34006e6a11974088a46d42b903418eJohann 671b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_loop_filter_bhs_c(unsigned char *y, int ystride, const unsigned char *blimit); 681b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_loop_filter_bhs_armv6(unsigned char *y, int ystride, const unsigned char *blimit); 691b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_loop_filter_simple_bh vp8_loop_filter_bhs_armv6 701b362b15af34006e6a11974088a46d42b903418eJohann 711b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_short_idct4x4llm_c(short *input, unsigned char *pred, int pitch, unsigned char *dst, int dst_stride); 721b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_short_idct4x4llm_v6_dual(short *input, unsigned char *pred, int pitch, unsigned char *dst, int dst_stride); 731b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_short_idct4x4llm vp8_short_idct4x4llm_v6_dual 741b362b15af34006e6a11974088a46d42b903418eJohann 751b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_short_inv_walsh4x4_1_c(short *input, short *output); 761b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_short_inv_walsh4x4_1 vp8_short_inv_walsh4x4_1_c 771b362b15af34006e6a11974088a46d42b903418eJohann 781b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_short_inv_walsh4x4_c(short *input, short *output); 791b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_short_inv_walsh4x4_v6(short *input, short *output); 801b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_short_inv_walsh4x4 vp8_short_inv_walsh4x4_v6 811b362b15af34006e6a11974088a46d42b903418eJohann 821b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_dc_only_idct_add_c(short input, unsigned char *pred, int pred_stride, unsigned char *dst, int dst_stride); 831b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_dc_only_idct_add_v6(short input, unsigned char *pred, int pred_stride, unsigned char *dst, int dst_stride); 841b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_dc_only_idct_add vp8_dc_only_idct_add_v6 851b362b15af34006e6a11974088a46d42b903418eJohann 861b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_copy_mem16x16_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch); 871b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_copy_mem16x16_v6(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch); 881b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_copy_mem16x16 vp8_copy_mem16x16_v6 891b362b15af34006e6a11974088a46d42b903418eJohann 901b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_copy_mem8x8_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch); 911b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_copy_mem8x8_v6(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch); 921b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_copy_mem8x8 vp8_copy_mem8x8_v6 931b362b15af34006e6a11974088a46d42b903418eJohann 941b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_copy_mem8x4_c(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch); 951b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_copy_mem8x4_v6(unsigned char *src, int src_pitch, unsigned char *dst, int dst_pitch); 961b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_copy_mem8x4 vp8_copy_mem8x4_v6 971b362b15af34006e6a11974088a46d42b903418eJohann 981b362b15af34006e6a11974088a46d42b903418eJohannvoid 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); 991b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_build_intra_predictors_mby_s vp8_build_intra_predictors_mby_s_c 1001b362b15af34006e6a11974088a46d42b903418eJohann 1011b362b15af34006e6a11974088a46d42b903418eJohannvoid 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); 1021b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_build_intra_predictors_mbuv_s vp8_build_intra_predictors_mbuv_s_c 1031b362b15af34006e6a11974088a46d42b903418eJohann 1041b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_intra4x4_predict_c(unsigned char *Above, unsigned char *yleft, int left_stride, B_PREDICTION_MODE b_mode, unsigned char *dst, int dst_stride, unsigned char top_left); 1051b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_intra4x4_predict_armv6(unsigned char *Above, unsigned char *yleft, int left_stride, B_PREDICTION_MODE b_mode, unsigned char *dst, int dst_stride, unsigned char top_left); 1061b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_intra4x4_predict vp8_intra4x4_predict_armv6 1071b362b15af34006e6a11974088a46d42b903418eJohann 1081b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_sixtap_predict16x16_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 1091b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_sixtap_predict16x16_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 1101b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sixtap_predict16x16 vp8_sixtap_predict16x16_armv6 1111b362b15af34006e6a11974088a46d42b903418eJohann 1121b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_sixtap_predict8x8_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 1131b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_sixtap_predict8x8_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 1141b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sixtap_predict8x8 vp8_sixtap_predict8x8_armv6 1151b362b15af34006e6a11974088a46d42b903418eJohann 1161b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_sixtap_predict8x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 1171b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_sixtap_predict8x4_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 1181b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sixtap_predict8x4 vp8_sixtap_predict8x4_armv6 1191b362b15af34006e6a11974088a46d42b903418eJohann 1201b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_sixtap_predict4x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 1211b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_sixtap_predict4x4_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 1221b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sixtap_predict4x4 vp8_sixtap_predict4x4_armv6 1231b362b15af34006e6a11974088a46d42b903418eJohann 1241b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_bilinear_predict16x16_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 1251b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_bilinear_predict16x16_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 1261b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_bilinear_predict16x16 vp8_bilinear_predict16x16_armv6 1271b362b15af34006e6a11974088a46d42b903418eJohann 1281b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_bilinear_predict8x8_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 1291b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_bilinear_predict8x8_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 1301b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_bilinear_predict8x8 vp8_bilinear_predict8x8_armv6 1311b362b15af34006e6a11974088a46d42b903418eJohann 1321b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_bilinear_predict8x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 1331b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_bilinear_predict8x4_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 1341b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_bilinear_predict8x4 vp8_bilinear_predict8x4_armv6 1351b362b15af34006e6a11974088a46d42b903418eJohann 1361b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_bilinear_predict4x4_c(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 1371b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_bilinear_predict4x4_armv6(unsigned char *src, int src_pitch, int xofst, int yofst, unsigned char *dst, int dst_pitch); 1381b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_bilinear_predict4x4 vp8_bilinear_predict4x4_armv6 1391b362b15af34006e6a11974088a46d42b903418eJohann 1401b362b15af34006e6a11974088a46d42b903418eJohannunsigned int vp8_variance4x4_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 1411b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_variance4x4 vp8_variance4x4_c 1421b362b15af34006e6a11974088a46d42b903418eJohann 1431b362b15af34006e6a11974088a46d42b903418eJohannunsigned int vp8_variance8x8_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 1441b362b15af34006e6a11974088a46d42b903418eJohannunsigned int vp8_variance8x8_armv6(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 1451b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_variance8x8 vp8_variance8x8_armv6 1461b362b15af34006e6a11974088a46d42b903418eJohann 1471b362b15af34006e6a11974088a46d42b903418eJohannunsigned int vp8_variance8x16_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 1481b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_variance8x16 vp8_variance8x16_c 1491b362b15af34006e6a11974088a46d42b903418eJohann 1501b362b15af34006e6a11974088a46d42b903418eJohannunsigned int vp8_variance16x8_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 1511b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_variance16x8 vp8_variance16x8_c 1521b362b15af34006e6a11974088a46d42b903418eJohann 1531b362b15af34006e6a11974088a46d42b903418eJohannunsigned int vp8_variance16x16_c(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 1541b362b15af34006e6a11974088a46d42b903418eJohannunsigned int vp8_variance16x16_armv6(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 1551b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_variance16x16 vp8_variance16x16_armv6 1561b362b15af34006e6a11974088a46d42b903418eJohann 1571b362b15af34006e6a11974088a46d42b903418eJohannunsigned 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); 1581b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sub_pixel_variance4x4 vp8_sub_pixel_variance4x4_c 1591b362b15af34006e6a11974088a46d42b903418eJohann 1601b362b15af34006e6a11974088a46d42b903418eJohannunsigned 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); 1611b362b15af34006e6a11974088a46d42b903418eJohannunsigned int vp8_sub_pixel_variance8x8_armv6(const unsigned char *src_ptr, int source_stride, int xoffset, int yoffset, const unsigned char *ref_ptr, int Refstride, unsigned int *sse); 1621b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sub_pixel_variance8x8 vp8_sub_pixel_variance8x8_armv6 1631b362b15af34006e6a11974088a46d42b903418eJohann 1641b362b15af34006e6a11974088a46d42b903418eJohannunsigned 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); 1651b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sub_pixel_variance8x16 vp8_sub_pixel_variance8x16_c 1661b362b15af34006e6a11974088a46d42b903418eJohann 1671b362b15af34006e6a11974088a46d42b903418eJohannunsigned 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); 1681b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sub_pixel_variance16x8 vp8_sub_pixel_variance16x8_c 1691b362b15af34006e6a11974088a46d42b903418eJohann 1701b362b15af34006e6a11974088a46d42b903418eJohannunsigned 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); 1711b362b15af34006e6a11974088a46d42b903418eJohannunsigned int vp8_sub_pixel_variance16x16_armv6(const unsigned char *src_ptr, int source_stride, int xoffset, int yoffset, const unsigned char *ref_ptr, int Refstride, unsigned int *sse); 1721b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sub_pixel_variance16x16 vp8_sub_pixel_variance16x16_armv6 1731b362b15af34006e6a11974088a46d42b903418eJohann 1741b362b15af34006e6a11974088a46d42b903418eJohannunsigned 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); 1751b362b15af34006e6a11974088a46d42b903418eJohannunsigned int vp8_variance_halfpixvar16x16_h_armv6(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 1761b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_variance_halfpixvar16x16_h vp8_variance_halfpixvar16x16_h_armv6 1771b362b15af34006e6a11974088a46d42b903418eJohann 1781b362b15af34006e6a11974088a46d42b903418eJohannunsigned 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); 1791b362b15af34006e6a11974088a46d42b903418eJohannunsigned int vp8_variance_halfpixvar16x16_v_armv6(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 1801b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_variance_halfpixvar16x16_v vp8_variance_halfpixvar16x16_v_armv6 1811b362b15af34006e6a11974088a46d42b903418eJohann 1821b362b15af34006e6a11974088a46d42b903418eJohannunsigned 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); 1831b362b15af34006e6a11974088a46d42b903418eJohannunsigned int vp8_variance_halfpixvar16x16_hv_armv6(const unsigned char *src_ptr, int source_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sse); 1841b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_variance_halfpixvar16x16_hv vp8_variance_halfpixvar16x16_hv_armv6 1851b362b15af34006e6a11974088a46d42b903418eJohann 1861b362b15af34006e6a11974088a46d42b903418eJohannunsigned int vp8_sad4x4_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); 1871b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sad4x4 vp8_sad4x4_c 1881b362b15af34006e6a11974088a46d42b903418eJohann 1891b362b15af34006e6a11974088a46d42b903418eJohannunsigned int vp8_sad8x8_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); 1901b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sad8x8 vp8_sad8x8_c 1911b362b15af34006e6a11974088a46d42b903418eJohann 1921b362b15af34006e6a11974088a46d42b903418eJohannunsigned int vp8_sad8x16_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); 1931b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sad8x16 vp8_sad8x16_c 1941b362b15af34006e6a11974088a46d42b903418eJohann 1951b362b15af34006e6a11974088a46d42b903418eJohannunsigned int vp8_sad16x8_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); 1961b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sad16x8 vp8_sad16x8_c 1971b362b15af34006e6a11974088a46d42b903418eJohann 1981b362b15af34006e6a11974088a46d42b903418eJohannunsigned int vp8_sad16x16_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); 1991b362b15af34006e6a11974088a46d42b903418eJohannunsigned int vp8_sad16x16_armv6(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int max_sad); 2001b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sad16x16 vp8_sad16x16_armv6 2011b362b15af34006e6a11974088a46d42b903418eJohann 2021b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_sad4x4x3_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sad_array); 2031b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sad4x4x3 vp8_sad4x4x3_c 2041b362b15af34006e6a11974088a46d42b903418eJohann 2051b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_sad8x8x3_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sad_array); 2061b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sad8x8x3 vp8_sad8x8x3_c 2071b362b15af34006e6a11974088a46d42b903418eJohann 2081b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_sad8x16x3_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sad_array); 2091b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sad8x16x3 vp8_sad8x16x3_c 2101b362b15af34006e6a11974088a46d42b903418eJohann 2111b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_sad16x8x3_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sad_array); 2121b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sad16x8x3 vp8_sad16x8x3_c 2131b362b15af34006e6a11974088a46d42b903418eJohann 2141b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_sad16x16x3_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned int *sad_array); 2151b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sad16x16x3 vp8_sad16x16x3_c 2161b362b15af34006e6a11974088a46d42b903418eJohann 2171b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_sad4x4x8_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned short *sad_array); 2181b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sad4x4x8 vp8_sad4x4x8_c 2191b362b15af34006e6a11974088a46d42b903418eJohann 2201b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_sad8x8x8_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned short *sad_array); 2211b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sad8x8x8 vp8_sad8x8x8_c 2221b362b15af34006e6a11974088a46d42b903418eJohann 2231b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_sad8x16x8_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned short *sad_array); 2241b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sad8x16x8 vp8_sad8x16x8_c 2251b362b15af34006e6a11974088a46d42b903418eJohann 2261b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_sad16x8x8_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned short *sad_array); 2271b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sad16x8x8 vp8_sad16x8x8_c 2281b362b15af34006e6a11974088a46d42b903418eJohann 2291b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_sad16x16x8_c(const unsigned char *src_ptr, int src_stride, const unsigned char *ref_ptr, int ref_stride, unsigned short *sad_array); 2301b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sad16x16x8 vp8_sad16x16x8_c 2311b362b15af34006e6a11974088a46d42b903418eJohann 2321b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_sad4x4x4d_c(const unsigned char *src_ptr, int src_stride, const unsigned char * const ref_ptr[], int ref_stride, unsigned int *sad_array); 2331b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sad4x4x4d vp8_sad4x4x4d_c 2341b362b15af34006e6a11974088a46d42b903418eJohann 2351b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_sad8x8x4d_c(const unsigned char *src_ptr, int src_stride, const unsigned char * const ref_ptr[], int ref_stride, unsigned int *sad_array); 2361b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sad8x8x4d vp8_sad8x8x4d_c 2371b362b15af34006e6a11974088a46d42b903418eJohann 2381b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_sad8x16x4d_c(const unsigned char *src_ptr, int src_stride, const unsigned char * const ref_ptr[], int ref_stride, unsigned int *sad_array); 2391b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sad8x16x4d vp8_sad8x16x4d_c 2401b362b15af34006e6a11974088a46d42b903418eJohann 2411b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_sad16x8x4d_c(const unsigned char *src_ptr, int src_stride, const unsigned char * const ref_ptr[], int ref_stride, unsigned int *sad_array); 2421b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sad16x8x4d vp8_sad16x8x4d_c 2431b362b15af34006e6a11974088a46d42b903418eJohann 2441b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_sad16x16x4d_c(const unsigned char *src_ptr, int src_stride, const unsigned char * const ref_ptr[], int ref_stride, unsigned int *sad_array); 2451b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_sad16x16x4d vp8_sad16x16x4d_c 2461b362b15af34006e6a11974088a46d42b903418eJohann 2471b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_horizontal_line_4_5_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); 2481b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_horizontal_line_4_5_scale vp8_horizontal_line_4_5_scale_c 2491b362b15af34006e6a11974088a46d42b903418eJohann 2501b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); 2511b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_vertical_band_4_5_scale vp8_vertical_band_4_5_scale_c 2521b362b15af34006e6a11974088a46d42b903418eJohann 2531b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_last_vertical_band_4_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); 2541b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_last_vertical_band_4_5_scale vp8_last_vertical_band_4_5_scale_c 2551b362b15af34006e6a11974088a46d42b903418eJohann 2561b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_horizontal_line_2_3_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); 2571b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_horizontal_line_2_3_scale vp8_horizontal_line_2_3_scale_c 2581b362b15af34006e6a11974088a46d42b903418eJohann 2591b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); 2601b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_vertical_band_2_3_scale vp8_vertical_band_2_3_scale_c 2611b362b15af34006e6a11974088a46d42b903418eJohann 2621b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_last_vertical_band_2_3_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); 2631b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_last_vertical_band_2_3_scale vp8_last_vertical_band_2_3_scale_c 2641b362b15af34006e6a11974088a46d42b903418eJohann 2651b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_horizontal_line_3_5_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); 2661b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_horizontal_line_3_5_scale vp8_horizontal_line_3_5_scale_c 2671b362b15af34006e6a11974088a46d42b903418eJohann 2681b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); 2691b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_vertical_band_3_5_scale vp8_vertical_band_3_5_scale_c 2701b362b15af34006e6a11974088a46d42b903418eJohann 2711b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_last_vertical_band_3_5_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); 2721b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_last_vertical_band_3_5_scale vp8_last_vertical_band_3_5_scale_c 2731b362b15af34006e6a11974088a46d42b903418eJohann 2741b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_horizontal_line_3_4_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); 2751b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_horizontal_line_3_4_scale vp8_horizontal_line_3_4_scale_c 2761b362b15af34006e6a11974088a46d42b903418eJohann 2771b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); 2781b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_vertical_band_3_4_scale vp8_vertical_band_3_4_scale_c 2791b362b15af34006e6a11974088a46d42b903418eJohann 2801b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_last_vertical_band_3_4_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); 2811b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_last_vertical_band_3_4_scale vp8_last_vertical_band_3_4_scale_c 2821b362b15af34006e6a11974088a46d42b903418eJohann 2831b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_horizontal_line_1_2_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); 2841b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_horizontal_line_1_2_scale vp8_horizontal_line_1_2_scale_c 2851b362b15af34006e6a11974088a46d42b903418eJohann 2861b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); 2871b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_vertical_band_1_2_scale vp8_vertical_band_1_2_scale_c 2881b362b15af34006e6a11974088a46d42b903418eJohann 2891b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_last_vertical_band_1_2_scale_c(unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); 2901b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_last_vertical_band_1_2_scale vp8_last_vertical_band_1_2_scale_c 2911b362b15af34006e6a11974088a46d42b903418eJohann 2921b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_horizontal_line_5_4_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); 2931b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c 2941b362b15af34006e6a11974088a46d42b903418eJohann 2951b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_vertical_band_5_4_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); 2961b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c 2971b362b15af34006e6a11974088a46d42b903418eJohann 2981b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_horizontal_line_5_3_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); 2991b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c 3001b362b15af34006e6a11974088a46d42b903418eJohann 3011b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_vertical_band_5_3_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); 3021b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c 3031b362b15af34006e6a11974088a46d42b903418eJohann 3041b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_horizontal_line_2_1_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); 3051b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c 3061b362b15af34006e6a11974088a46d42b903418eJohann 3071b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_vertical_band_2_1_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); 3081b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c 3091b362b15af34006e6a11974088a46d42b903418eJohann 3101b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_vertical_band_2_1_scale_i_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width); 3111b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c 3121b362b15af34006e6a11974088a46d42b903418eJohann 3131b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config *ybf); 3141b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_c 3151b362b15af34006e6a11974088a46d42b903418eJohann 3161b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_yv12_copy_frame_c(struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); 3171b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_yv12_copy_frame vp8_yv12_copy_frame_c 3181b362b15af34006e6a11974088a46d42b903418eJohann 3191b362b15af34006e6a11974088a46d42b903418eJohannvoid vp8_yv12_copy_y_c(struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); 3201b362b15af34006e6a11974088a46d42b903418eJohann#define vp8_yv12_copy_y vp8_yv12_copy_y_c 3211b362b15af34006e6a11974088a46d42b903418eJohann 3221b362b15af34006e6a11974088a46d42b903418eJohannvoid vpx_rtcd(void); 3231b362b15af34006e6a11974088a46d42b903418eJohann#include "vpx_config.h" 3241b362b15af34006e6a11974088a46d42b903418eJohann 3251b362b15af34006e6a11974088a46d42b903418eJohann#ifdef RTCD_C 3261b362b15af34006e6a11974088a46d42b903418eJohann#include "vpx_ports/arm.h" 3271b362b15af34006e6a11974088a46d42b903418eJohannstatic void setup_rtcd_internal(void) 3281b362b15af34006e6a11974088a46d42b903418eJohann{ 3291b362b15af34006e6a11974088a46d42b903418eJohann int flags = arm_cpu_caps(); 3301b362b15af34006e6a11974088a46d42b903418eJohann 3311b362b15af34006e6a11974088a46d42b903418eJohann (void)flags; 3321b362b15af34006e6a11974088a46d42b903418eJohann 3331b362b15af34006e6a11974088a46d42b903418eJohann 3341b362b15af34006e6a11974088a46d42b903418eJohann} 3351b362b15af34006e6a11974088a46d42b903418eJohann#endif 3361b362b15af34006e6a11974088a46d42b903418eJohann#endif 337