vpx_scale_rtcd.h revision 2ec72e65689c948e92b826ae1e867bf369e72f13
1ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#ifndef VPX_SCALE_RTCD_H_
2ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define VPX_SCALE_RTCD_H_
3ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
4ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#ifdef RTCD_C
5ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define RTCD_EXTERN
6ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#else
7ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define RTCD_EXTERN extern
8ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#endif
9ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
102ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian#ifdef __cplusplus
112ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanianextern "C" {
122ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian#endif
13ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
142ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanianstruct yv12_buffer_config;
15ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
162ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanianvoid vp8_horizontal_line_2_1_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
172ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian#define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c
18ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
19ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vp8_horizontal_line_5_3_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
20ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c
21ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
222ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanianvoid vp8_horizontal_line_5_4_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
232ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian#define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c
24ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
25ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid 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);
26ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c
27ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
28ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid 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);
29ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c
30ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
312ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanianvoid 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);
322ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian#define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c
332ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian
342ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanianvoid 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);
352ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian#define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c
36ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
371184aebb761cbeac9124c37189a80a1a58f04b6bhkuangvoid vp8_yv12_copy_frame_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
381184aebb761cbeac9124c37189a80a1a58f04b6bhkuangvoid vp8_yv12_copy_frame_neon(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
39ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp8_yv12_copy_frame vp8_yv12_copy_frame_neon
40ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
412ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanianvoid vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config *ybf);
422ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanianvoid vp8_yv12_extend_frame_borders_neon(struct yv12_buffer_config *ybf);
432ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian#define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_neon
44ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
452ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanianvoid vp9_extend_frame_borders_c(struct yv12_buffer_config *ybf);
46ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#define vp9_extend_frame_borders vp9_extend_frame_borders_c
47ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
482ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanianvoid vp9_extend_frame_inner_borders_c(struct yv12_buffer_config *ybf);
4991037db265ecdd914a26e056cf69207b4f50924ehkuang#define vp9_extend_frame_inner_borders vp9_extend_frame_inner_borders_c
5091037db265ecdd914a26e056cf69207b4f50924ehkuang
512ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanianvoid vpx_yv12_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
522ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian#define vpx_yv12_copy_y vpx_yv12_copy_y_c
532ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian
54ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangvoid vpx_scale_rtcd(void);
552ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian
56ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#include "vpx_config.h"
57ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
58ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#ifdef RTCD_C
59ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#include "vpx_ports/arm.h"
60ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangstatic void setup_rtcd_internal(void)
61ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang{
62ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang    int flags = arm_cpu_caps();
63ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
64ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang    (void)flags;
65ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
66ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang}
67ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#endif
682ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian
692ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian#ifdef __cplusplus
702ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian}  // extern "C"
712ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian#endif
722ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian
73ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang#endif
74