1#ifndef VPX_SCALE_RTCD_H_ 2#define VPX_SCALE_RTCD_H_ 3 4#ifdef RTCD_C 5#define RTCD_EXTERN 6#else 7#define RTCD_EXTERN extern 8#endif 9 10struct yv12_buffer_config; 11 12void vp8_horizontal_line_5_4_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); 13#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c 14 15void 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); 16#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c 17 18void vp8_horizontal_line_5_3_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); 19#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c 20 21void 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); 22#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c 23 24void vp8_horizontal_line_2_1_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); 25#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c 26 27void 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); 28#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c 29 30void 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); 31#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c 32 33void vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config *ybf); 34#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_c 35 36void vp8_yv12_copy_frame_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); 37#define vp8_yv12_copy_frame vp8_yv12_copy_frame_c 38 39void vpx_yv12_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); 40#define vpx_yv12_copy_y vpx_yv12_copy_y_c 41 42void vp9_extend_frame_borders_c(struct yv12_buffer_config *ybf, int subsampling_x, int subsampling_y); 43void vp9_extend_frame_borders_dspr2(struct yv12_buffer_config *ybf, int subsampling_x, int subsampling_y); 44#define vp9_extend_frame_borders vp9_extend_frame_borders_dspr2 45 46void vp9_extend_frame_inner_borders_c(struct yv12_buffer_config *ybf, int subsampling_x, int subsampling_y); 47void vp9_extend_frame_inner_borders_dspr2(struct yv12_buffer_config *ybf, int subsampling_x, int subsampling_y); 48#define vp9_extend_frame_inner_borders vp9_extend_frame_inner_borders_dspr2 49 50void vpx_scale_rtcd(void); 51#include "vpx_config.h" 52 53#ifdef RTCD_C 54static void setup_rtcd_internal(void) 55{ 56 57#if HAVE_DSPR2 58#if CONFIG_VP8 59void dsputil_static_init(); 60dsputil_static_init(); 61#endif 62#if CONFIG_VP9 63void vp9_dsputil_static_init(); 64vp9_dsputil_static_init(); 65#endif 66#endif 67} 68#endif 69#endif 70