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 10da49e34c1fb5e99681f4ad99c21d9cfd83eddb96Vignesh Venkatasubramanianstruct yv12_buffer_config; 11da49e34c1fb5e99681f4ad99c21d9cfd83eddb96Vignesh 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 43da49e34c1fb5e99681f4ad99c21d9cfd83eddb96Vignesh Venkatasubramanianvoid vpx_extend_frame_borders_c(struct yv12_buffer_config *ybf); 44da49e34c1fb5e99681f4ad99c21d9cfd83eddb96Vignesh Venkatasubramanianvoid vpx_extend_frame_borders_dspr2(struct yv12_buffer_config *ybf); 45da49e34c1fb5e99681f4ad99c21d9cfd83eddb96Vignesh Venkatasubramanian#define vpx_extend_frame_borders vpx_extend_frame_borders_dspr2 46ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 47da49e34c1fb5e99681f4ad99c21d9cfd83eddb96Vignesh Venkatasubramanianvoid vpx_extend_frame_inner_borders_c(struct yv12_buffer_config *ybf); 48da49e34c1fb5e99681f4ad99c21d9cfd83eddb96Vignesh Venkatasubramanianvoid vpx_extend_frame_inner_borders_dspr2(struct yv12_buffer_config *ybf); 49da49e34c1fb5e99681f4ad99c21d9cfd83eddb96Vignesh Venkatasubramanian#define vpx_extend_frame_inner_borders vpx_extend_frame_inner_borders_dspr2 5091037db265ecdd914a26e056cf69207b4f50924ehkuang 51b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanianvoid vpx_yv12_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); 52b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#define vpx_yv12_copy_y vpx_yv12_copy_y_c 53b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 54ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vpx_scale_rtcd(void); 55b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 56ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#include "vpx_config.h" 57ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 58ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#ifdef RTCD_C 59ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangstatic void setup_rtcd_internal(void) 60ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang{ 61ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#if HAVE_DSPR2 62da49e34c1fb5e99681f4ad99c21d9cfd83eddb96Vignesh Venkatasubramanianvoid vpx_dsputil_static_init(); 635ae7ac49f08a179e4f054d99fcfc9dce78d26e58hkuang#if CONFIG_VP8 64ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid dsputil_static_init(); 65ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#endif 66da49e34c1fb5e99681f4ad99c21d9cfd83eddb96Vignesh Venkatasubramanian 67da49e34c1fb5e99681f4ad99c21d9cfd83eddb96Vignesh Venkatasubramanianvpx_dsputil_static_init(); 68da49e34c1fb5e99681f4ad99c21d9cfd83eddb96Vignesh Venkatasubramanian#if CONFIG_VP8 69da49e34c1fb5e99681f4ad99c21d9cfd83eddb96Vignesh Venkatasubramaniandsputil_static_init(); 705ae7ac49f08a179e4f054d99fcfc9dce78d26e58hkuang#endif 715ae7ac49f08a179e4f054d99fcfc9dce78d26e58hkuang#endif 72ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang} 73ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#endif 74b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 75b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#ifdef __cplusplus 76b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian} // extern "C" 77b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian#endif 78b08e2e23eec181e9951df33cd704ac294c5407b6Vignesh Venkatasubramanian 79ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#endif 80