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 11 extern "C" { 12 #endif 13 14 struct yv12_buffer_config; 15 16 void 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 19 void 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 22 void 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 25 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); 26 #define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c 27 28 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); 29 #define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c 30 31 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); 32 #define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c 33 34 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); 35 #define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c 36 37 void vp8_yv12_copy_frame_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); 38 void vp8_yv12_copy_frame_neon(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); 39 #define vp8_yv12_copy_frame vp8_yv12_copy_frame_neon 40 41 void vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config *ybf); 42 void vp8_yv12_extend_frame_borders_neon(struct yv12_buffer_config *ybf); 43 #define vp8_yv12_extend_frame_borders vp8_yv12_extend_frame_borders_neon 44 45 void vp9_extend_frame_borders_c(struct yv12_buffer_config *ybf); 46 #define vp9_extend_frame_borders vp9_extend_frame_borders_c 47 48 void vp9_extend_frame_inner_borders_c(struct yv12_buffer_config *ybf); 49 #define vp9_extend_frame_inner_borders vp9_extend_frame_inner_borders_c 50 51 void 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 54 void vpx_scale_rtcd(void); 55 56 #include "vpx_config.h" 57 58 #ifdef RTCD_C 59 #include "vpx_ports/arm.h" 60 static void setup_rtcd_internal(void) 61 { 62 int flags = arm_cpu_caps(); 63 64 (void)flags; 65 66 } 67 #endif 68 69 #ifdef __cplusplus 70 } // extern "C" 71 #endif 72 73 #endif 74