Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 #ifndef VPX_SCALE_RTCD_H_
2 #define VPX_SCALE_RTCD_H_
4 #ifdef RTCD_C
5 #define RTCD_EXTERN
6 #else
7 #define RTCD_EXTERN extern
8 #endif
10 struct yv12_buffer_config;
12 void 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
15 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);
16 #define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c
18 void 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
21 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);
22 #define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c
24 void 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
27 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);
28 #define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c
30 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);
31 #define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c
33 void vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config *ybf);
34 void vp8_yv12_extend_frame_borders_neon(struct yv12_buffer_config *ybf);
35 RTCD_EXTERN void (*vp8_yv12_extend_frame_borders)(struct yv12_buffer_config *ybf);
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 RTCD_EXTERN void (*vp8_yv12_copy_frame)(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
41 void vpx_yv12_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
42 void vpx_yv12_copy_y_neon(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
43 RTCD_EXTERN void (*vpx_yv12_copy_y)(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc);
45 void vp9_extend_frame_borders_c(struct yv12_buffer_config *ybf, int subsampling_x, int subsampling_y);
46 #define vp9_extend_frame_borders vp9_extend_frame_borders_c
48 void vp9_extend_frame_inner_borders_c(struct yv12_buffer_config *ybf, int subsampling_x, int subsampling_y);
49 #define vp9_extend_frame_inner_borders vp9_extend_frame_inner_borders_c
51 void vpx_scale_rtcd(void);
52 #include "vpx_config.h"
54 #ifdef RTCD_C
55 #include "vpx_ports/arm.h"
56 static void setup_rtcd_internal(void)
57 {
58 int flags = arm_cpu_caps();
60 (void)flags;
69 vp8_yv12_extend_frame_borders = vp8_yv12_extend_frame_borders_c;
70 if (flags & HAS_NEON) vp8_yv12_extend_frame_borders = vp8_yv12_extend_frame_borders_neon;
72 vp8_yv12_copy_frame = vp8_yv12_copy_frame_c;
73 if (flags & HAS_NEON) vp8_yv12_copy_frame = vp8_yv12_copy_frame_neon;
75 vpx_yv12_copy_y = vpx_yv12_copy_y_c;
76 if (flags & HAS_NEON) vpx_yv12_copy_y = vpx_yv12_copy_y_neon;
77 }
78 #endif
79 #endif