vpx_scale_rtcd.h revision 5ae7ac49f08a179e4f054d99fcfc9dce78d26e58
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 10ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangstruct yv12_buffer_config; 11ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 12ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp8_horizontal_line_5_4_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); 13ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c 14ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 15ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid 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); 16ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c 17ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 18ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp8_horizontal_line_5_3_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); 19ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c 20ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 21ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid 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); 22ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c 23ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 24ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp8_horizontal_line_2_1_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); 25ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c 26ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 27ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid 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); 28ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c 29ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 30ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid 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); 31ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c 32ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 33ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config *ybf); 34ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_c 35ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 361184aebb761cbeac9124c37189a80a1a58f04b6bhkuangvoid vp8_yv12_copy_frame_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); 37ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp8_yv12_copy_frame vp8_yv12_copy_frame_c 38ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 391184aebb761cbeac9124c37189a80a1a58f04b6bhkuangvoid vpx_yv12_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); 401184aebb761cbeac9124c37189a80a1a58f04b6bhkuang#define vpx_yv12_copy_y vpx_yv12_copy_y_c 41ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 42ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp9_extend_frame_borders_c(struct yv12_buffer_config *ybf, int subsampling_x, int subsampling_y); 435ae7ac49f08a179e4f054d99fcfc9dce78d26e58hkuangvoid vp9_extend_frame_borders_dspr2(struct yv12_buffer_config *ybf, int subsampling_x, int subsampling_y); 445ae7ac49f08a179e4f054d99fcfc9dce78d26e58hkuang#define vp9_extend_frame_borders vp9_extend_frame_borders_dspr2 45ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 4691037db265ecdd914a26e056cf69207b4f50924ehkuangvoid vp9_extend_frame_inner_borders_c(struct yv12_buffer_config *ybf, int subsampling_x, int subsampling_y); 475ae7ac49f08a179e4f054d99fcfc9dce78d26e58hkuangvoid vp9_extend_frame_inner_borders_dspr2(struct yv12_buffer_config *ybf, int subsampling_x, int subsampling_y); 485ae7ac49f08a179e4f054d99fcfc9dce78d26e58hkuang#define vp9_extend_frame_inner_borders vp9_extend_frame_inner_borders_dspr2 4991037db265ecdd914a26e056cf69207b4f50924ehkuang 50ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vpx_scale_rtcd(void); 51ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#include "vpx_config.h" 52ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 53ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#ifdef RTCD_C 54ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangstatic void setup_rtcd_internal(void) 55ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang{ 56ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 57ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#if HAVE_DSPR2 585ae7ac49f08a179e4f054d99fcfc9dce78d26e58hkuang#if CONFIG_VP8 59ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid dsputil_static_init(); 60ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangdsputil_static_init(); 61ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#endif 625ae7ac49f08a179e4f054d99fcfc9dce78d26e58hkuang#if CONFIG_VP9 635ae7ac49f08a179e4f054d99fcfc9dce78d26e58hkuangvoid vp9_dsputil_static_init(); 645ae7ac49f08a179e4f054d99fcfc9dce78d26e58hkuangvp9_dsputil_static_init(); 655ae7ac49f08a179e4f054d99fcfc9dce78d26e58hkuang#endif 665ae7ac49f08a179e4f054d99fcfc9dce78d26e58hkuang#endif 67ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang} 68ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#endif 69ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#endif 70