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);
19691037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_add_constant_residual_8x8_neon(const int16_t diff, uint8_t *dest, int stride);
19791037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_add_constant_residual_8x8 vp9_add_constant_residual_8x8_neon
198ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
199ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_add_constant_residual_16x16_c(const int16_t diff, uint8_t *dest, int stride);
20091037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_add_constant_residual_16x16_neon(const int16_t diff, uint8_t *dest, int stride);
20191037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_add_constant_residual_16x16 vp9_add_constant_residual_16x16_neon
202ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
203ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_add_constant_residual_32x32_c(const int16_t diff, uint8_t *dest, int stride);
20491037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_add_constant_residual_32x32_neon(const int16_t diff, uint8_t *dest, int stride);
20591037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_add_constant_residual_32x32 vp9_add_constant_residual_32x32_neon
206ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
207ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_mb_lpf_vertical_edge_w_c(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
208f3bed9137f66ef693bd406e43b17e9a1114f1e14hkuangvoid vp9_mb_lpf_vertical_edge_w_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh);
209f3bed9137f66ef693bd406e43b17e9a1114f1e14hkuang#define vp9_mb_lpf_vertical_edge_w vp9_mb_lpf_vertical_edge_w_neon
210ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
211ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid 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);
21291037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_mbloop_filter_vertical_edge_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
21391037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_mbloop_filter_vertical_edge vp9_mbloop_filter_vertical_edge_neon
214ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
215ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid 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);
21691037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_loop_filter_vertical_edge_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
21791037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_loop_filter_vertical_edge vp9_loop_filter_vertical_edge_neon
218ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
21991037db265ecdd914a26e056cf69207b4f50924ehkuangvoid 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);
220f3bed9137f66ef693bd406e43b17e9a1114f1e14hkuangvoid vp9_mb_lpf_horizontal_edge_w_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
221f3bed9137f66ef693bd406e43b17e9a1114f1e14hkuang#define vp9_mb_lpf_horizontal_edge_w vp9_mb_lpf_horizontal_edge_w_neon
222ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
223ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid 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);
22491037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_mbloop_filter_horizontal_edge_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
22591037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_mbloop_filter_horizontal_edge vp9_mbloop_filter_horizontal_edge_neon
226ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
227ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid 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);
22891037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_loop_filter_horizontal_edge_neon(uint8_t *s, int pitch, const uint8_t *blimit, const uint8_t *limit, const uint8_t *thresh, int count);
22991037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_loop_filter_horizontal_edge vp9_loop_filter_horizontal_edge_neon
230ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
231ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_blend_mb_inner_c(uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1, int v1, int alpha, int stride);
232ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_blend_mb_inner vp9_blend_mb_inner_c
233ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
234ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_blend_mb_outer_c(uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1, int v1, int alpha, int stride);
235ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_blend_mb_outer vp9_blend_mb_outer_c
236ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
237ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_blend_b_c(uint8_t *y, uint8_t *u, uint8_t *v, int y1, int u1, int v1, int alpha, int stride);
238ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_blend_b vp9_blend_b_c
239ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
24091037db265ecdd914a26e056cf69207b4f50924ehkuangvoid 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);
24191037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_convolve_copy vp9_convolve_copy_c
242ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
24391037db265ecdd914a26e056cf69207b4f50924ehkuangvoid 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);
24491037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_convolve_avg vp9_convolve_avg_c
245ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
24691037db265ecdd914a26e056cf69207b4f50924ehkuangvoid 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);
24791037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_convolve8_neon(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);
24891037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_convolve8 vp9_convolve8_neon
249ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
25091037db265ecdd914a26e056cf69207b4f50924ehkuangvoid 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);
25191037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_convolve8_horiz_neon(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);
25291037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_convolve8_horiz vp9_convolve8_horiz_neon
253ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
25491037db265ecdd914a26e056cf69207b4f50924ehkuangvoid 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);
25591037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_convolve8_vert_neon(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);
25691037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_convolve8_vert vp9_convolve8_vert_neon
257ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
25891037db265ecdd914a26e056cf69207b4f50924ehkuangvoid 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);
25991037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_convolve8_avg_neon(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);
26091037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_convolve8_avg vp9_convolve8_avg_neon
26191037db265ecdd914a26e056cf69207b4f50924ehkuang
26291037db265ecdd914a26e056cf69207b4f50924ehkuangvoid 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);
26391037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_convolve8_avg_horiz_neon(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);
26491037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_convolve8_avg_horiz vp9_convolve8_avg_horiz_neon
26591037db265ecdd914a26e056cf69207b4f50924ehkuang
26691037db265ecdd914a26e056cf69207b4f50924ehkuangvoid 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);
26791037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_convolve8_avg_vert_neon(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);
26891037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_convolve8_avg_vert vp9_convolve8_avg_vert_neon
269ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
270ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct4x4_1_add_c(int16_t *input, uint8_t *dest, int dest_stride);
271ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_idct4x4_1_add vp9_short_idct4x4_1_add_c
272ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
273ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct4x4_add_c(int16_t *input, uint8_t *dest, int dest_stride);
274ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_idct4x4_add vp9_short_idct4x4_add_c
275ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
276f3bed9137f66ef693bd406e43b17e9a1114f1e14hkuangvoid vp9_short_idct8x8_1_add_c(int16_t *input, uint8_t *dest, int dest_stride);
277f3bed9137f66ef693bd406e43b17e9a1114f1e14hkuang#define vp9_short_idct8x8_1_add vp9_short_idct8x8_1_add_c
278f3bed9137f66ef693bd406e43b17e9a1114f1e14hkuang
279ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct8x8_add_c(int16_t *input, uint8_t *dest, int dest_stride);
28091037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_short_idct8x8_add_neon(int16_t *input, uint8_t *dest, int dest_stride);
28191037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_short_idct8x8_add vp9_short_idct8x8_add_neon
282ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
283ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct10_8x8_add_c(int16_t *input, uint8_t *dest, int dest_stride);
284ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_idct10_8x8_add vp9_short_idct10_8x8_add_c
285ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
286f3bed9137f66ef693bd406e43b17e9a1114f1e14hkuangvoid vp9_short_idct16x16_1_add_c(int16_t *input, uint8_t *dest, int dest_stride);
287f3bed9137f66ef693bd406e43b17e9a1114f1e14hkuang#define vp9_short_idct16x16_1_add vp9_short_idct16x16_1_add_c
288ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
289ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct16x16_add_c(int16_t *input, uint8_t *dest, int dest_stride);
290ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_idct16x16_add vp9_short_idct16x16_add_c
291ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
292ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct10_16x16_add_c(int16_t *input, uint8_t *dest, int dest_stride);
293ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_idct10_16x16_add vp9_short_idct10_16x16_add_c
294ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
295ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct32x32_add_c(int16_t *input, uint8_t *dest, int dest_stride);
296ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_idct32x32_add vp9_short_idct32x32_add_c
297ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
298ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_idct1_32x32_c(int16_t *input, int16_t *output);
299ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_idct1_32x32 vp9_short_idct1_32x32_c
300ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
301ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_iht4x4_add_c(int16_t *input, uint8_t *dest, int dest_stride, int tx_type);
302ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_iht4x4_add vp9_short_iht4x4_add_c
303ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
304ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_iht8x8_add_c(int16_t *input, uint8_t *dest, int dest_stride, int tx_type);
305ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_iht8x8_add vp9_short_iht8x8_add_c
306ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
307ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_iht16x16_add_c(int16_t *input, uint8_t *output, int pitch, int tx_type);
308ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_iht16x16_add vp9_short_iht16x16_add_c
309ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
310ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_idct4_1d_c(int16_t *input, int16_t *output);
311ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_idct4_1d vp9_idct4_1d_c
312ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
313ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_iwalsh4x4_1_add_c(int16_t *input, uint8_t *dest, int dest_stride);
314ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_iwalsh4x4_1_add vp9_short_iwalsh4x4_1_add_c
315ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
316ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_short_iwalsh4x4_add_c(int16_t *input, uint8_t *dest, int dest_stride);
317ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_short_iwalsh4x4_add vp9_short_iwalsh4x4_add_c
318ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
319ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangunsigned int vp9_sad32x3_c(const uint8_t *src_ptr, int  src_stride, const uint8_t *ref_ptr, int ref_stride, int max_sad);
320ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_sad32x3 vp9_sad32x3_c
321ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
322ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangunsigned int vp9_sad3x32_c(const uint8_t *src_ptr, int  src_stride, const uint8_t *ref_ptr, int ref_stride, int max_sad);
323ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_sad3x32 vp9_sad3x32_c
324ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
325ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_rtcd(void);
326ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#include "vpx_config.h"
327ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
328ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#ifdef RTCD_C
329ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#include "vpx_ports/arm.h"
330ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangstatic void setup_rtcd_internal(void)
331ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang{
332ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang    int flags = arm_cpu_caps();
333ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
334ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang    (void)flags;
335ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
336ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
337ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang}
338ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#endif
339ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#endif
340