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