media/libvpx/vp8/decoder/treereader.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  */
    12 #ifndef TREEREADER_H_
    13 #define TREEREADER_H_
    15 #include "vp8/common/treecoder.h"
    16 #include "dboolhuff.h"
    18 typedef BOOL_DECODER vp8_reader;
    20 #define vp8_read vp8dx_decode_bool
    21 #define vp8_read_literal vp8_decode_value
    22 #define vp8_read_bit(R) vp8_read(R, vp8_prob_half)
    25 /* Intent of tree data structure is to make decoding trivial. */
    27 static int vp8_treed_read(
    28     vp8_reader *const r,        /* !!! must return a 0 or 1 !!! */
    29     vp8_tree t,
    30     const vp8_prob *const p
    31 )
    32 {
    33     register vp8_tree_index i = 0;
    35     while ((i = t[ i + vp8_read(r, p[i>>1])]) > 0) ;
    37     return -i;
    38 }
    40 #endif  // TREEREADER_H_

mercurial