media/libvpx/vpx_scale/yv12config.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 /*
     2  *  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
     3  *
     4  *  Use of this source code is governed by a BSD-style license
     5  *  that can be found in the LICENSE file in the root of the source
     6  *  tree. An additional intellectual property rights grant can be found
     7  *  in the file PATENTS.  All contributing project authors may
     8  *  be found in the AUTHORS file in the root of the source tree.
     9  */
    11 #ifndef YV12_CONFIG_H
    12 #define YV12_CONFIG_H
    14 #ifdef __cplusplus
    15 extern "C" {
    16 #endif
    18 #include "vpx/vpx_integer.h"
    20 #define VP8BORDERINPIXELS       32
    21 #define VP9INNERBORDERINPIXELS  96
    22 #define VP9BORDERINPIXELS      160
    23 #define VP9_INTERP_EXTEND        4
    25   typedef struct yv12_buffer_config {
    26     int   y_width;
    27     int   y_height;
    28     int   y_crop_width;
    29     int   y_crop_height;
    30     int   y_stride;
    31     /*    int   yinternal_width; */
    33     int   uv_width;
    34     int   uv_height;
    35     int   uv_crop_width;
    36     int   uv_crop_height;
    37     int   uv_stride;
    38     /*    int   uvinternal_width; */
    40     int   alpha_width;
    41     int   alpha_height;
    42     int   alpha_stride;
    44     uint8_t *y_buffer;
    45     uint8_t *u_buffer;
    46     uint8_t *v_buffer;
    47     uint8_t *alpha_buffer;
    49     uint8_t *buffer_alloc;
    50     int buffer_alloc_sz;
    51     int border;
    52     int frame_size;
    54     int corrupted;
    55     int flags;
    56   } YV12_BUFFER_CONFIG;
    58   int vp8_yv12_alloc_frame_buffer(YV12_BUFFER_CONFIG *ybf,
    59                                   int width, int height, int border);
    60   int vp8_yv12_realloc_frame_buffer(YV12_BUFFER_CONFIG *ybf,
    61                                     int width, int height, int border);
    62   int vp8_yv12_de_alloc_frame_buffer(YV12_BUFFER_CONFIG *ybf);
    64   int vp9_alloc_frame_buffer(YV12_BUFFER_CONFIG *ybf,
    65                              int width, int height, int ss_x, int ss_y,
    66                              int border);
    67   int vp9_realloc_frame_buffer(YV12_BUFFER_CONFIG *ybf,
    68                                int width, int height, int ss_x, int ss_y,
    69                                int border);
    70   int vp9_free_frame_buffer(YV12_BUFFER_CONFIG *ybf);
    72 #ifdef __cplusplus
    73 }
    74 #endif
    76 #endif  // YV12_CONFIG_H

mercurial