vp9_rtcd.h revision f3bed9137f66ef693bd406e43b17e9a1114f1e14
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 macroblockd; 18ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 19ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang/* Encoder forward decls */ 20ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangstruct macroblock; 21ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangstruct vp9_variance_vtable; 22ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 23ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define DEC_MVCOSTS int *mvjcost, int *mvcost[2] 24ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangunion int_mv; 25ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangstruct yv12_buffer_config; 26ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 27ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_idct_add_16x16_c(int16_t *input, uint8_t *dest, int stride, int eob); 28ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_idct_add_16x16 vp9_idct_add_16x16_c 29ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 30ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_idct_add_8x8_c(int16_t *input, uint8_t *dest, int stride, int eob); 31ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_idct_add_8x8 vp9_idct_add_8x8_c 32ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 33ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_idct_add_c(int16_t *input, uint8_t *dest, int stride, int eob); 34ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_idct_add vp9_idct_add_c 35ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 36ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_idct_add_32x32_c(int16_t *q, uint8_t *dst, int stride, int eob); 37ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_idct_add_32x32 vp9_idct_add_32x32_c 38ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 3991037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_d27_predictor_4x4_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 4091037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_d27_predictor_4x4 vp9_d27_predictor_4x4_c 41ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 4291037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_d45_predictor_4x4_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 4391037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_d45_predictor_4x4 vp9_d45_predictor_4x4_c 44ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 4591037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_d63_predictor_4x4_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 4691037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_d63_predictor_4x4 vp9_d63_predictor_4x4_c 47ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 4891037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_h_predictor_4x4_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 4991037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_h_predictor_4x4 vp9_h_predictor_4x4_c 50ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 5191037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_d117_predictor_4x4_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 5291037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_d117_predictor_4x4 vp9_d117_predictor_4x4_c 53ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 5491037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_d135_predictor_4x4_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 5591037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_d135_predictor_4x4 vp9_d135_predictor_4x4_c 56ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 5791037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_d153_predictor_4x4_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 5891037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_d153_predictor_4x4 vp9_d153_predictor_4x4_c 5991037db265ecdd914a26e056cf69207b4f50924ehkuang 6091037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_v_predictor_4x4_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 6191037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_v_predictor_4x4 vp9_v_predictor_4x4_c 6291037db265ecdd914a26e056cf69207b4f50924ehkuang 6391037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_tm_predictor_4x4_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 6491037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_tm_predictor_4x4 vp9_tm_predictor_4x4_c 6591037db265ecdd914a26e056cf69207b4f50924ehkuang 6691037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_dc_predictor_4x4_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 6791037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_dc_predictor_4x4 vp9_dc_predictor_4x4_c 6891037db265ecdd914a26e056cf69207b4f50924ehkuang 6991037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_dc_top_predictor_4x4_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 7091037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_dc_top_predictor_4x4 vp9_dc_top_predictor_4x4_c 7191037db265ecdd914a26e056cf69207b4f50924ehkuang 7291037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_dc_left_predictor_4x4_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 7391037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_dc_left_predictor_4x4 vp9_dc_left_predictor_4x4_c 7491037db265ecdd914a26e056cf69207b4f50924ehkuang 7591037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_dc_128_predictor_4x4_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 7691037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_dc_128_predictor_4x4 vp9_dc_128_predictor_4x4_c 7791037db265ecdd914a26e056cf69207b4f50924ehkuang 7891037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_d27_predictor_8x8_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 7991037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_d27_predictor_8x8 vp9_d27_predictor_8x8_c 8091037db265ecdd914a26e056cf69207b4f50924ehkuang 8191037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_d45_predictor_8x8_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 8291037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_d45_predictor_8x8 vp9_d45_predictor_8x8_c 8391037db265ecdd914a26e056cf69207b4f50924ehkuang 8491037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_d63_predictor_8x8_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 8591037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_d63_predictor_8x8 vp9_d63_predictor_8x8_c 8691037db265ecdd914a26e056cf69207b4f50924ehkuang 8791037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_h_predictor_8x8_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 8891037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_h_predictor_8x8 vp9_h_predictor_8x8_c 8991037db265ecdd914a26e056cf69207b4f50924ehkuang 9091037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_d117_predictor_8x8_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 9191037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_d117_predictor_8x8 vp9_d117_predictor_8x8_c 9291037db265ecdd914a26e056cf69207b4f50924ehkuang 9391037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_d135_predictor_8x8_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 9491037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_d135_predictor_8x8 vp9_d135_predictor_8x8_c 9591037db265ecdd914a26e056cf69207b4f50924ehkuang 9691037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_d153_predictor_8x8_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 9791037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_d153_predictor_8x8 vp9_d153_predictor_8x8_c 9891037db265ecdd914a26e056cf69207b4f50924ehkuang 9991037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_v_predictor_8x8_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 10091037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_v_predictor_8x8 vp9_v_predictor_8x8_c 10191037db265ecdd914a26e056cf69207b4f50924ehkuang 10291037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_tm_predictor_8x8_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 10391037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_tm_predictor_8x8 vp9_tm_predictor_8x8_c 10491037db265ecdd914a26e056cf69207b4f50924ehkuang 10591037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_dc_predictor_8x8_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 10691037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_dc_predictor_8x8 vp9_dc_predictor_8x8_c 10791037db265ecdd914a26e056cf69207b4f50924ehkuang 10891037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_dc_top_predictor_8x8_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 10991037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_dc_top_predictor_8x8 vp9_dc_top_predictor_8x8_c 11091037db265ecdd914a26e056cf69207b4f50924ehkuang 11191037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_dc_left_predictor_8x8_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 11291037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_dc_left_predictor_8x8 vp9_dc_left_predictor_8x8_c 11391037db265ecdd914a26e056cf69207b4f50924ehkuang 11491037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_dc_128_predictor_8x8_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 11591037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_dc_128_predictor_8x8 vp9_dc_128_predictor_8x8_c 11691037db265ecdd914a26e056cf69207b4f50924ehkuang 11791037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_d27_predictor_16x16_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 11891037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_d27_predictor_16x16 vp9_d27_predictor_16x16_c 11991037db265ecdd914a26e056cf69207b4f50924ehkuang 12091037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_d45_predictor_16x16_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 12191037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_d45_predictor_16x16 vp9_d45_predictor_16x16_c 12291037db265ecdd914a26e056cf69207b4f50924ehkuang 12391037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_d63_predictor_16x16_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 12491037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_d63_predictor_16x16 vp9_d63_predictor_16x16_c 12591037db265ecdd914a26e056cf69207b4f50924ehkuang 12691037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_h_predictor_16x16_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 12791037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_h_predictor_16x16 vp9_h_predictor_16x16_c 12891037db265ecdd914a26e056cf69207b4f50924ehkuang 12991037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_d117_predictor_16x16_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 13091037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_d117_predictor_16x16 vp9_d117_predictor_16x16_c 13191037db265ecdd914a26e056cf69207b4f50924ehkuang 13291037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_d135_predictor_16x16_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 13391037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_d135_predictor_16x16 vp9_d135_predictor_16x16_c 13491037db265ecdd914a26e056cf69207b4f50924ehkuang 13591037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_d153_predictor_16x16_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 13691037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_d153_predictor_16x16 vp9_d153_predictor_16x16_c 13791037db265ecdd914a26e056cf69207b4f50924ehkuang 13891037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_v_predictor_16x16_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 13991037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_v_predictor_16x16 vp9_v_predictor_16x16_c 14091037db265ecdd914a26e056cf69207b4f50924ehkuang 14191037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_tm_predictor_16x16_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 14291037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_tm_predictor_16x16 vp9_tm_predictor_16x16_c 14391037db265ecdd914a26e056cf69207b4f50924ehkuang 14491037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_dc_predictor_16x16_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 14591037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_dc_predictor_16x16 vp9_dc_predictor_16x16_c 14691037db265ecdd914a26e056cf69207b4f50924ehkuang 14791037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_dc_top_predictor_16x16_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 14891037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_dc_top_predictor_16x16 vp9_dc_top_predictor_16x16_c 14991037db265ecdd914a26e056cf69207b4f50924ehkuang 15091037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_dc_left_predictor_16x16_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 15191037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_dc_left_predictor_16x16 vp9_dc_left_predictor_16x16_c 15291037db265ecdd914a26e056cf69207b4f50924ehkuang 15391037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_dc_128_predictor_16x16_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 15491037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_dc_128_predictor_16x16 vp9_dc_128_predictor_16x16_c 15591037db265ecdd914a26e056cf69207b4f50924ehkuang 15691037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_d27_predictor_32x32_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 15791037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_d27_predictor_32x32 vp9_d27_predictor_32x32_c 15891037db265ecdd914a26e056cf69207b4f50924ehkuang 15991037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_d45_predictor_32x32_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 16091037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_d45_predictor_32x32 vp9_d45_predictor_32x32_c 16191037db265ecdd914a26e056cf69207b4f50924ehkuang 16291037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_d63_predictor_32x32_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 16391037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_d63_predictor_32x32 vp9_d63_predictor_32x32_c 16491037db265ecdd914a26e056cf69207b4f50924ehkuang 16591037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_h_predictor_32x32_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 16691037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_h_predictor_32x32 vp9_h_predictor_32x32_c 16791037db265ecdd914a26e056cf69207b4f50924ehkuang 16891037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_d117_predictor_32x32_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 16991037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_d117_predictor_32x32 vp9_d117_predictor_32x32_c 17091037db265ecdd914a26e056cf69207b4f50924ehkuang 17191037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_d135_predictor_32x32_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 17291037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_d135_predictor_32x32 vp9_d135_predictor_32x32_c 17391037db265ecdd914a26e056cf69207b4f50924ehkuang 17491037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_d153_predictor_32x32_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 17591037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_d153_predictor_32x32 vp9_d153_predictor_32x32_c 17691037db265ecdd914a26e056cf69207b4f50924ehkuang 17791037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_v_predictor_32x32_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 17891037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_v_predictor_32x32 vp9_v_predictor_32x32_c 17991037db265ecdd914a26e056cf69207b4f50924ehkuang 18091037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_tm_predictor_32x32_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 18191037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_tm_predictor_32x32 vp9_tm_predictor_32x32_c 18291037db265ecdd914a26e056cf69207b4f50924ehkuang 18391037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_dc_predictor_32x32_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 18491037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_dc_predictor_32x32 vp9_dc_predictor_32x32_c 18591037db265ecdd914a26e056cf69207b4f50924ehkuang 18691037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_dc_top_predictor_32x32_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 18791037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_dc_top_predictor_32x32 vp9_dc_top_predictor_32x32_c 18891037db265ecdd914a26e056cf69207b4f50924ehkuang 18991037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_dc_left_predictor_32x32_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 19091037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_dc_left_predictor_32x32 vp9_dc_left_predictor_32x32_c 19191037db265ecdd914a26e056cf69207b4f50924ehkuang 19291037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_dc_128_predictor_32x32_c(uint8_t *ypred_ptr, ptrdiff_t y_stride, uint8_t *yabove_row, uint8_t *yleft_col); 19391037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_dc_128_predictor_32x32 vp9_dc_128_predictor_32x32_c 194ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 195ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_add_constant_residual_8x8_c(const int16_t diff, uint8_t *dest, int stride); 196ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_add_constant_residual_8x8 vp9_add_constant_residual_8x8_c 197ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 198ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_add_constant_residual_16x16_c(const int16_t diff, uint8_t *dest, int stride); 199ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_add_constant_residual_16x16 vp9_add_constant_residual_16x16_c 200ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 201ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_add_constant_residual_32x32_c(const int16_t diff, uint8_t *dest, int stride); 202ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_add_constant_residual_32x32 vp9_add_constant_residual_32x32_c 203ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 204ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_mb_lpf_vertical_edge_w_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh); 205ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_mb_lpf_vertical_edge_w vp9_mb_lpf_vertical_edge_w_c 206ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 207ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid 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); 208ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_mbloop_filter_vertical_edge vp9_mbloop_filter_vertical_edge_c 209ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 210ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid 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); 211ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_loop_filter_vertical_edge vp9_loop_filter_vertical_edge_c 212ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 21391037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_mb_lpf_horizontal_edge_w_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count); 214ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_mb_lpf_horizontal_edge_w vp9_mb_lpf_horizontal_edge_w_c 215ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 216ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid 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); 217ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_mbloop_filter_horizontal_edge vp9_mbloop_filter_horizontal_edge_c 218ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 219ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid 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); 220ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_loop_filter_horizontal_edge vp9_loop_filter_horizontal_edge_c 221ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 222ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_blend_mb_inner_c(uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1, int v1, int alpha, int stride); 223ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_blend_mb_inner vp9_blend_mb_inner_c 224ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 225ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_blend_mb_outer_c(uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1, int v1, int alpha, int stride); 226ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_blend_mb_outer vp9_blend_mb_outer_c 227ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 228ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_blend_b_c(uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1, int v1, int alpha, int stride); 229ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_blend_b vp9_blend_b_c 230ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 23191037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_convolve_copy_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 23291037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_convolve_copy vp9_convolve_copy_c 23391037db265ecdd914a26e056cf69207b4f50924ehkuang 23491037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_convolve_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 23591037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_convolve_avg vp9_convolve_avg_c 23691037db265ecdd914a26e056cf69207b4f50924ehkuang 23791037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_convolve8_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 238ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_convolve8 vp9_convolve8_c 239ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 24091037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_convolve8_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 241ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_convolve8_horiz vp9_convolve8_horiz_c 242ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 24391037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_convolve8_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 244ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_convolve8_vert vp9_convolve8_vert_c 245ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 24691037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_convolve8_avg_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 247ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_convolve8_avg vp9_convolve8_avg_c 248ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 24991037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_convolve8_avg_horiz_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 250ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_convolve8_avg_horiz vp9_convolve8_avg_horiz_c 251ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 25291037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_convolve8_avg_vert_c(const uint8_t *src, ptrdiff_t src_stride, uint8_t *dst, ptrdiff_t dst_stride, const int16_t *filter_x, int x_step_q4, const int16_t *filter_y, int y_step_q4, int w, int h); 253ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_convolve8_avg_vert vp9_convolve8_avg_vert_c 254ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 255ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct4x4_1_add_c(int16_t *input, uint8_t *dest, int dest_stride); 256ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_idct4x4_1_add vp9_short_idct4x4_1_add_c 257ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 258ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct4x4_add_c(int16_t *input, uint8_t *dest, int dest_stride); 259ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_idct4x4_add vp9_short_idct4x4_add_c 260ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 261f3bed9137f66ef693bd406e43b17e9a1114f1e14hkuangvoid vp9_short_idct8x8_1_add_c(int16_t *input, uint8_t *dest, int dest_stride); 262f3bed9137f66ef693bd406e43b17e9a1114f1e14hkuang#define vp9_short_idct8x8_1_add vp9_short_idct8x8_1_add_c 263f3bed9137f66ef693bd406e43b17e9a1114f1e14hkuang 264ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct8x8_add_c(int16_t *input, uint8_t *dest, int dest_stride); 265ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_idct8x8_add vp9_short_idct8x8_add_c 266ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 267ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct10_8x8_add_c(int16_t *input, uint8_t *dest, int dest_stride); 268ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_idct10_8x8_add vp9_short_idct10_8x8_add_c 269ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 270f3bed9137f66ef693bd406e43b17e9a1114f1e14hkuangvoid vp9_short_idct16x16_1_add_c(int16_t *input, uint8_t *dest, int dest_stride); 271f3bed9137f66ef693bd406e43b17e9a1114f1e14hkuang#define vp9_short_idct16x16_1_add vp9_short_idct16x16_1_add_c 272ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 273ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct16x16_add_c(int16_t *input, uint8_t *dest, int dest_stride); 274ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_idct16x16_add vp9_short_idct16x16_add_c 275ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 276ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct10_16x16_add_c(int16_t *input, uint8_t *dest, int dest_stride); 277ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_idct10_16x16_add vp9_short_idct10_16x16_add_c 278ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 279ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct32x32_add_c(int16_t *input, uint8_t *dest, int dest_stride); 280ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_idct32x32_add vp9_short_idct32x32_add_c 281ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 282ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct1_32x32_c(int16_t *input, int16_t *output); 283ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_idct1_32x32 vp9_short_idct1_32x32_c 284ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 285ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_iht4x4_add_c(int16_t *input, uint8_t *dest, int dest_stride, int tx_type); 286ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_iht4x4_add vp9_short_iht4x4_add_c 287ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 288ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_iht8x8_add_c(int16_t *input, uint8_t *dest, int dest_stride, int tx_type); 289ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_iht8x8_add vp9_short_iht8x8_add_c 290ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 291ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_iht16x16_add_c(int16_t *input, uint8_t *output, int pitch, int tx_type); 292ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_iht16x16_add vp9_short_iht16x16_add_c 293ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 294ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_idct4_1d_c(int16_t *input, int16_t *output); 295ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_idct4_1d vp9_idct4_1d_c 296ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 297ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_iwalsh4x4_1_add_c(int16_t *input, uint8_t *dest, int dest_stride); 298ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_iwalsh4x4_1_add vp9_short_iwalsh4x4_1_add_c 299ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 300ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_iwalsh4x4_add_c(int16_t *input, uint8_t *dest, int dest_stride); 301ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_iwalsh4x4_add vp9_short_iwalsh4x4_add_c 302ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 303ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangunsigned int vp9_sad32x3_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, int max_sad); 304ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_sad32x3 vp9_sad32x3_c 305ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 306ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangunsigned int vp9_sad3x32_c(const uint8_t *src_ptr, int src_stride, const uint8_t *ref_ptr, int ref_stride, int max_sad); 307ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_sad3x32 vp9_sad3x32_c 308ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 309ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_rtcd(void); 310ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#include "vpx_config.h" 311ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 312ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#ifdef RTCD_C 313ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangstatic void setup_rtcd_internal(void) 314ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang{ 315ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 316ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#if HAVE_DSPR2 317ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid dsputil_static_init(); 318ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangdsputil_static_init(); 319ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#endif 320ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang} 321ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#endif 322ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#endif 323