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 10 struct yv12_buffer_config; 11 12 void 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 15 void 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 18 void 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 21 void 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 24 void 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 27 void 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 30 void 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 33 void 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 36 void 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 39 void 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 42 void vp9_extend_frame_borders_c(struct yv12_buffer_config *ybf, int subsampling_x, int subsampling_y); 43 void 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 46 void vp9_extend_frame_inner_borders_c(struct yv12_buffer_config *ybf, int subsampling_x, int subsampling_y); 47 void 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 50 void vpx_scale_rtcd(void); 51 #include "vpx_config.h" 52 53 #ifdef RTCD_C 54 static void setup_rtcd_internal(void) 55 { 56 57 #if HAVE_DSPR2 58 #if CONFIG_VP8 59 void dsputil_static_init(); 60 dsputil_static_init(); 61 #endif 62 #if CONFIG_VP9 63 void vp9_dsputil_static_init(); 64 vp9_dsputil_static_init(); 65 #endif 66 #endif 67 } 68 #endif 69 #endif 70