media/libvpx/vpx_scale_rtcd_armv7-android-gcc.h

Thu, 15 Jan 2015 15:59:08 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:59:08 +0100
branch
TOR_BUG_9701
changeset 10
ac0c01689b40
permissions
-rw-r--r--

Implement a real Private Browsing Mode condition by changing the API/ABI;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     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

mercurial