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.
michael@0 | 1 | #ifndef VPX_SCALE_RTCD_H_ |
michael@0 | 2 | #define VPX_SCALE_RTCD_H_ |
michael@0 | 3 | |
michael@0 | 4 | #ifdef RTCD_C |
michael@0 | 5 | #define RTCD_EXTERN |
michael@0 | 6 | #else |
michael@0 | 7 | #define RTCD_EXTERN extern |
michael@0 | 8 | #endif |
michael@0 | 9 | |
michael@0 | 10 | struct yv12_buffer_config; |
michael@0 | 11 | |
michael@0 | 12 | void vp8_horizontal_line_5_4_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); |
michael@0 | 13 | #define vp8_horizontal_line_5_4_scale vp8_horizontal_line_5_4_scale_c |
michael@0 | 14 | |
michael@0 | 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); |
michael@0 | 16 | #define vp8_vertical_band_5_4_scale vp8_vertical_band_5_4_scale_c |
michael@0 | 17 | |
michael@0 | 18 | void vp8_horizontal_line_5_3_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); |
michael@0 | 19 | #define vp8_horizontal_line_5_3_scale vp8_horizontal_line_5_3_scale_c |
michael@0 | 20 | |
michael@0 | 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); |
michael@0 | 22 | #define vp8_vertical_band_5_3_scale vp8_vertical_band_5_3_scale_c |
michael@0 | 23 | |
michael@0 | 24 | void vp8_horizontal_line_2_1_scale_c(const unsigned char *source, unsigned int source_width, unsigned char *dest, unsigned int dest_width); |
michael@0 | 25 | #define vp8_horizontal_line_2_1_scale vp8_horizontal_line_2_1_scale_c |
michael@0 | 26 | |
michael@0 | 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); |
michael@0 | 28 | #define vp8_vertical_band_2_1_scale vp8_vertical_band_2_1_scale_c |
michael@0 | 29 | |
michael@0 | 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); |
michael@0 | 31 | #define vp8_vertical_band_2_1_scale_i vp8_vertical_band_2_1_scale_i_c |
michael@0 | 32 | |
michael@0 | 33 | void vp8_yv12_extend_frame_borders_c(struct yv12_buffer_config *ybf); |
michael@0 | 34 | void vp8_yv12_extend_frame_borders_neon(struct yv12_buffer_config *ybf); |
michael@0 | 35 | RTCD_EXTERN void (*vp8_yv12_extend_frame_borders)(struct yv12_buffer_config *ybf); |
michael@0 | 36 | |
michael@0 | 37 | void vp8_yv12_copy_frame_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); |
michael@0 | 38 | void vp8_yv12_copy_frame_neon(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); |
michael@0 | 39 | RTCD_EXTERN void (*vp8_yv12_copy_frame)(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); |
michael@0 | 40 | |
michael@0 | 41 | void vpx_yv12_copy_y_c(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); |
michael@0 | 42 | void vpx_yv12_copy_y_neon(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); |
michael@0 | 43 | RTCD_EXTERN void (*vpx_yv12_copy_y)(const struct yv12_buffer_config *src_ybc, struct yv12_buffer_config *dst_ybc); |
michael@0 | 44 | |
michael@0 | 45 | void vp9_extend_frame_borders_c(struct yv12_buffer_config *ybf, int subsampling_x, int subsampling_y); |
michael@0 | 46 | #define vp9_extend_frame_borders vp9_extend_frame_borders_c |
michael@0 | 47 | |
michael@0 | 48 | void vp9_extend_frame_inner_borders_c(struct yv12_buffer_config *ybf, int subsampling_x, int subsampling_y); |
michael@0 | 49 | #define vp9_extend_frame_inner_borders vp9_extend_frame_inner_borders_c |
michael@0 | 50 | |
michael@0 | 51 | void vpx_scale_rtcd(void); |
michael@0 | 52 | #include "vpx_config.h" |
michael@0 | 53 | |
michael@0 | 54 | #ifdef RTCD_C |
michael@0 | 55 | #include "vpx_ports/arm.h" |
michael@0 | 56 | static void setup_rtcd_internal(void) |
michael@0 | 57 | { |
michael@0 | 58 | int flags = arm_cpu_caps(); |
michael@0 | 59 | |
michael@0 | 60 | (void)flags; |
michael@0 | 61 | |
michael@0 | 62 | |
michael@0 | 63 | |
michael@0 | 64 | |
michael@0 | 65 | |
michael@0 | 66 | |
michael@0 | 67 | |
michael@0 | 68 | |
michael@0 | 69 | vp8_yv12_extend_frame_borders = vp8_yv12_extend_frame_borders_c; |
michael@0 | 70 | if (flags & HAS_NEON) vp8_yv12_extend_frame_borders = vp8_yv12_extend_frame_borders_neon; |
michael@0 | 71 | |
michael@0 | 72 | vp8_yv12_copy_frame = vp8_yv12_copy_frame_c; |
michael@0 | 73 | if (flags & HAS_NEON) vp8_yv12_copy_frame = vp8_yv12_copy_frame_neon; |
michael@0 | 74 | |
michael@0 | 75 | vpx_yv12_copy_y = vpx_yv12_copy_y_c; |
michael@0 | 76 | if (flags & HAS_NEON) vpx_yv12_copy_y = vpx_yv12_copy_y_neon; |
michael@0 | 77 | } |
michael@0 | 78 | #endif |
michael@0 | 79 | #endif |