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