1ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#ifndef VPX_SCALE_RTCD_H_
2ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define VPX_SCALE_RTCD_H_
3ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
4ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#ifdef RTCD_C
5ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define RTCD_EXTERN
6ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#else
7ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define RTCD_EXTERN extern
8ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#endif
9ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
107ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanianstruct yv12_buffer_config;
117ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanian
12b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#ifdef __cplusplus
13b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanianextern "C" {
14b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#endif
15ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
16b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanianvoid vp8_horizontal_line_2_1_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
17b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c
18ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
19ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp8_horizontal_line_5_3_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
20ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c
21ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
22b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanianvoid vp8_horizontal_line_5_4_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
23b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c
24ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
25ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp8_vertical_band_2_1_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
26ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c
27ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
28ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp8_vertical_band_2_1_scale_i_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
29ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c
30ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
31b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanianvoid vp8_vertical_band_5_3_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
32b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c
33b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian
34b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanianvoid vp8_vertical_band_5_4_scale_c(unsigned char *source, unsigned int src_pitch, unsigned char *dest, unsigned int dest_pitch, unsigned int dest_width);
35b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c
36ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
371184aebb761cbeac9124c37189a80a1a58f04b6bhkuangvoid vp8_yv12_copy_frame_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
38ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp8_yv12_copy_frame vp8_yv12_copy_frame_c
39ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
40b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanianvoid vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config *ybf);
41b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_c
42ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
437ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanianvoid vpx_extend_frame_borders_c(struct yv12_buffer_config *ybf);
447ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanian#define vpx_extend_frame_borders vpx_extend_frame_borders_c
45ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
467ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanianvoid vpx_extend_frame_inner_borders_c(struct yv12_buffer_config *ybf);
477ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanian#define vpx_extend_frame_inner_borders vpx_extend_frame_inner_borders_c
4891037db265ecdd914a26e056cf69207b4f50924ehkuang
49b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanianvoid vpx_yv12_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
50b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#define vpx_yv12_copy_y vpx_yv12_copy_y_c
51b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian
52ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vpx_scale_rtcd(void);
53b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian
54ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#include "vpx_config.h"
55ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
56ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#ifdef RTCD_C
57ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangstatic void setup_rtcd_internal(void)
58ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang{
59ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#if HAVE_DSPR2
607ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanianvoid vpx_dsputil_static_init();
615ae7ac49f08a179e4f054d99fcfc9dce78d26e58hkuang#if CONFIG_VP8
62ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid dsputil_static_init();
63ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#endif
647ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanian
657ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanianvpx_dsputil_static_init();
667ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanian#if CONFIG_VP8
677ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramaniandsputil_static_init();
685ae7ac49f08a179e4f054d99fcfc9dce78d26e58hkuang#endif
695ae7ac49f08a179e4f054d99fcfc9dce78d26e58hkuang#endif
70ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang}
71ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#endif
72b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian
73b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#ifdef __cplusplus
74b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian}  // extern "C"
75b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#endif
76b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian
77ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#endif
78