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