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 #define vp9_extend_frame_borders vp9_extend_frame_borders_c
44 
45 void vp9_extend_frame_inner_borders_c(struct yv12_buffer_config *ybf, int subsampling_x, int subsampling_y);
46 #define vp9_extend_frame_inner_borders vp9_extend_frame_inner_borders_c
47 
48 void vpx_scale_rtcd(void);
49 #include "vpx_config.h"
50 
51 #ifdef RTCD_C
setup_rtcd_internal(void)52 static void setup_rtcd_internal(void)
53 {
54 
55 #if HAVE_DSPR2
56 #if CONFIG_VP8
57 void dsputil_static_init();
58 dsputil_static_init();
59 #endif
60 #if CONFIG_VP9
61 void vp9_dsputil_static_init();
62 vp9_dsputil_static_init();
63 #endif
64 #endif
65 }
66 #endif
67 #endif
68