vp9_rtcd.h revision ba164dffc5a6795bce97fae02b51ccf3330e15e4
1ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#ifndef VP9_RTCD_H_ 2ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define VP9_RTCD_H_ 3ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 4ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#ifdef RTCD_C 5ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define RTCD_EXTERN 6ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#else 7ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define RTCD_EXTERN extern 8ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#endif 9ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 10ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang/* 11ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang * VP9 12ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang */ 13ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 14ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#include "vpx/vpx_integer.h" 15ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#include "vp9/common/vp9_enums.h" 16ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 17ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangstruct loop_filter_info; 18ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangstruct macroblockd; 19ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangstruct loop_filter_info; 20ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 21ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang/* Encoder forward decls */ 22ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangstruct macroblock; 23ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangstruct vp9_variance_vtable; 24ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 25ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define DEC_MVCOSTS int *mvjcost, int *mvcost[2] 26ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangunion int_mv; 27ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangstruct yv12_buffer_config; 28ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 29ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_idct_add_16x16_c(int16_t *input, uint8_t *dest, int stride, int eob); 30ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_idct_add_16x16 vp9_idct_add_16x16_c 31ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 32ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_idct_add_8x8_c(int16_t *input, uint8_t *dest, int stride, int eob); 33ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_idct_add_8x8 vp9_idct_add_8x8_c 34ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 35ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_idct_add_c(int16_t *input, uint8_t *dest, int stride, int eob); 36ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_idct_add vp9_idct_add_c 37ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 38ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_idct_add_32x32_c(int16_t *q, uint8_t *dst, int stride, int eob); 39ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_idct_add_32x32 vp9_idct_add_32x32_c 40ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 41ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_copy_mem16x16_c(const uint8_t *src, int src_pitch, uint8_t *dst, int dst_pitch); 42ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_copy_mem16x16 vp9_copy_mem16x16_c 43ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 44ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_copy_mem8x8_c(const uint8_t *src, int src_pitch, uint8_t *dst, int dst_pitch); 45ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_copy_mem8x8 vp9_copy_mem8x8_c 46ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 47ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_copy_mem8x4_c(const uint8_t *src, int src_pitch, uint8_t *dst, int dst_pitch); 48ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_copy_mem8x4 vp9_copy_mem8x4_c 49ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 50ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_build_intra_predictors_c(uint8_t *src, int src_stride, uint8_t *pred, int y_stride, int mode, int bw, int bh, int up_available, int left_available, int right_available); 51ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_build_intra_predictors vp9_build_intra_predictors_c 52ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 53ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_build_intra_predictors_sby_s_c(struct macroblockd *x, enum BLOCK_SIZE_TYPE bsize); 54ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_build_intra_predictors_sby_s vp9_build_intra_predictors_sby_s_c 55ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 56ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_build_intra_predictors_sbuv_s_c(struct macroblockd *x, enum BLOCK_SIZE_TYPE bsize); 57ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_build_intra_predictors_sbuv_s vp9_build_intra_predictors_sbuv_s_c 58ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 59ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_intra4x4_predict_c(struct macroblockd *xd, int block, enum BLOCK_SIZE_TYPE bsize, int b_mode, uint8_t *predictor, int pre_stride); 60ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_intra4x4_predict vp9_intra4x4_predict_c 61ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 62ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_add_constant_residual_8x8_c(const int16_t diff, uint8_t *dest, int stride); 63ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_add_constant_residual_8x8 vp9_add_constant_residual_8x8_c 64ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 65ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_add_constant_residual_16x16_c(const int16_t diff, uint8_t *dest, int stride); 66ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_add_constant_residual_16x16 vp9_add_constant_residual_16x16_c 67ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 68ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_add_constant_residual_32x32_c(const int16_t diff, uint8_t *dest, int stride); 69ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_add_constant_residual_32x32 vp9_add_constant_residual_32x32_c 70ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 71ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_mb_lpf_vertical_edge_w_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 72ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_mb_lpf_vertical_edge_w vp9_mb_lpf_vertical_edge_w_c 73ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 74ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_mbloop_filter_vertical_edge_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 75ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_mbloop_filter_vertical_edge vp9_mbloop_filter_vertical_edge_c 76ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 77ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_loop_filter_vertical_edge_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 78ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_loop_filter_vertical_edge vp9_loop_filter_vertical_edge_c 79ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 80ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_mb_lpf_horizontal_edge_w_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 81ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_mb_lpf_horizontal_edge_w vp9_mb_lpf_horizontal_edge_w_c 82ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 83ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_mbloop_filter_horizontal_edge_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 84ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_mbloop_filter_horizontal_edge vp9_mbloop_filter_horizontal_edge_c 85ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 86ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_loop_filter_horizontal_edge_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 87ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_loop_filter_horizontal_edge vp9_loop_filter_horizontal_edge_c 88ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 89ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_blend_mb_inner_c(uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1, int v1, int alpha, int stride); 90ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_blend_mb_inner vp9_blend_mb_inner_c 91ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 92ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_blend_mb_outer_c(uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1, int v1, int alpha, int stride); 93ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_blend_mb_outer vp9_blend_mb_outer_c 94ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 95ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_blend_b_c(uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1, int v1, int alpha, int stride); 96ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_blend_b vp9_blend_b_c 97ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 98ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_convolve8_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 99ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_convolve8 vp9_convolve8_c 100ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 101ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_convolve8_horiz_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 102ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_convolve8_horiz vp9_convolve8_horiz_c 103ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 104ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_convolve8_vert_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 105ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_convolve8_vert vp9_convolve8_vert_c 106ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 107ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_convolve8_avg_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 108ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_convolve8_avg vp9_convolve8_avg_c 109ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 110ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_convolve8_avg_horiz_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 111ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_convolve8_avg_horiz vp9_convolve8_avg_horiz_c 112ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 113ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_convolve8_avg_vert_c(const uint8_t *src, int src_stride, uint8_t *dst, int dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 114ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_convolve8_avg_vert vp9_convolve8_avg_vert_c 115ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 116ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct4x4_1_add_c(int16_t *input, uint8_t *dest, int dest_stride); 117ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_idct4x4_1_add vp9_short_idct4x4_1_add_c 118ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 119ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct4x4_add_c(int16_t *input, uint8_t *dest, int dest_stride); 120ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_idct4x4_add vp9_short_idct4x4_add_c 121ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 122ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct8x8_add_c(int16_t *input, uint8_t *dest, int dest_stride); 123ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_idct8x8_add vp9_short_idct8x8_add_c 124ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 125ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct10_8x8_add_c(int16_t *input, uint8_t *dest, int dest_stride); 126ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_idct10_8x8_add vp9_short_idct10_8x8_add_c 127ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 128ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct1_8x8_c(int16_t *input, int16_t *output); 129ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_idct1_8x8 vp9_short_idct1_8x8_c 130ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 131ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct16x16_add_c(int16_t *input, uint8_t *dest, int dest_stride); 132ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_idct16x16_add vp9_short_idct16x16_add_c 133ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 134ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct10_16x16_add_c(int16_t *input, uint8_t *dest, int dest_stride); 135ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_idct10_16x16_add vp9_short_idct10_16x16_add_c 136ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 137ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct1_16x16_c(int16_t *input, int16_t *output); 138ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_idct1_16x16 vp9_short_idct1_16x16_c 139ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 140ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct32x32_add_c(int16_t *input, uint8_t *dest, int dest_stride); 141ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_idct32x32_add vp9_short_idct32x32_add_c 142ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 143ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct1_32x32_c(int16_t *input, int16_t *output); 144ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_idct1_32x32 vp9_short_idct1_32x32_c 145ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 146ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct10_32x32_add_c(int16_t *input, uint8_t *dest, int dest_stride); 147ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_idct10_32x32_add vp9_short_idct10_32x32_add_c 148ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 149ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_iht4x4_add_c(int16_t *input, uint8_t *dest, int dest_stride, int tx_type); 150ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_iht4x4_add vp9_short_iht4x4_add_c 151ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 152ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_iht8x8_add_c(int16_t *input, uint8_t *dest, int dest_stride, int tx_type); 153ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_iht8x8_add vp9_short_iht8x8_add_c 154ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 155ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_iht16x16_add_c(int16_t *input, uint8_t *output, int pitch, int tx_type); 156ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_iht16x16_add vp9_short_iht16x16_add_c 157ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 158ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_idct4_1d_c(int16_t *input, int16_t *output); 159ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_idct4_1d vp9_idct4_1d_c 160ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 161ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_dc_only_idct_add_c(int input_dc, uint8_t *pred_ptr, uint8_t *dst_ptr, int pitch, int stride); 162ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_dc_only_idct_add vp9_dc_only_idct_add_c 163ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 164ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_iwalsh4x4_1_add_c(int16_t *input, uint8_t *dest, int dest_stride); 165ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_iwalsh4x4_1_add vp9_short_iwalsh4x4_1_add_c 166ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 167ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_iwalsh4x4_add_c(int16_t *input, uint8_t *dest, int dest_stride); 168ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_iwalsh4x4_add vp9_short_iwalsh4x4_add_c 169ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 170ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangunsigned int vp9_sad32x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, int max_sad); 171ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_sad32x3 vp9_sad32x3_c 172ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 173ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangunsigned int vp9_sad3x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, int max_sad); 174ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_sad3x32 vp9_sad3x32_c 175ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 176ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_rtcd(void); 177ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#include "vpx_config.h" 178ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 179ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#ifdef RTCD_C 180ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#include "vpx_ports/arm.h" 181ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangstatic void setup_rtcd_internal(void) 182ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang{ 183ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang int flags = arm_cpu_caps(); 184ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 185ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang (void)flags; 186ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 187ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 188ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang} 189ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#endif 190ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#endif 191