1 #ifndef VPX_SCALE_RTCD_H_
2 #define VPX_SCALE_RTCD_H_
7 #define RTCD_EXTERN extern
14 struct yv12_buffer_config;
16 void vp8_horizontal_line_5_4_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
17 #define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c
19 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);
20 #define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c
22 void vp8_horizontal_line_5_3_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
23 #define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c
25 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);
26 #define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c
28 void vp8_horizontal_line_2_1_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width);
29 #define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c
31 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);
32 #define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c
34 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);
35 #define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c
37 void vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config *ybf);
38 void vp8_yv12_extend_frame_borders_neon(struct yv12_buffer_config *ybf);
39 #define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_neon
41 void vp8_yv12_copy_frame_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
42 void vp8_yv12_copy_frame_neon(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
43 #define vp8_yv12_copy_frame vp8_yv12_copy_frame_neon
45 void vpx_yv12_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
46 void vpx_yv12_copy_y_neon(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
47 #define vpx_yv12_copy_y vpx_yv12_copy_y_neon
49 void vp9_extend_frame_borders_c(struct yv12_buffer_config *ybf, int subsampling_x, int subsampling_y);
50 #define vp9_extend_frame_borders vp9_extend_frame_borders_c
52 void vp9_extend_frame_inner_borders_c(struct yv12_buffer_config *ybf, int subsampling_x, int subsampling_y);
53 #define vp9_extend_frame_inner_borders vp9_extend_frame_inner_borders_c
55 void vpx_scale_rtcd(void);
56 #include "vpx_config.h"
59 #include "vpx_ports/arm.h"
60 static void setup_rtcd_internal(void)
62 int flags = arm_cpu_caps();