tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

entcode.h (1418B)


      1 /*
      2 * Copyright (c) 2001-2016, Alliance for Open Media. All rights reserved.
      3 *
      4 * This source code is subject to the terms of the BSD 2 Clause License and
      5 * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
      6 * was not distributed with this source code in the LICENSE file, you can
      7 * obtain it at www.aomedia.org/license/software. If the Alliance for Open
      8 * Media Patent License 1.0 was not distributed with this source code in the
      9 * PATENTS file, you can obtain it at www.aomedia.org/license/patent.
     10 */
     11 
     12 #ifndef AOM_AOM_DSP_ENTCODE_H_
     13 #define AOM_AOM_DSP_ENTCODE_H_
     14 
     15 #include <limits.h>
     16 #include <stddef.h>
     17 #include "aom_dsp/odintrin.h"
     18 #include "aom_dsp/prob.h"
     19 
     20 #define EC_PROB_SHIFT 6
     21 #define EC_MIN_PROB 4  // must be <= (1<<EC_PROB_SHIFT)/16
     22 
     23 /*OPT: od_ec_window must be at least 32 bits, but if you have fast arithmetic
     24   on a larger type, you can speed up the decoder by using it here.*/
     25 typedef uint32_t od_ec_window;
     26 
     27 /*The size in bits of od_ec_window.*/
     28 #define OD_EC_WINDOW_SIZE ((int)sizeof(od_ec_window) * CHAR_BIT)
     29 
     30 /*The resolution of fractional-precision bit usage measurements, i.e.,
     31   3 => 1/8th bits.*/
     32 #define OD_BITRES (3)
     33 
     34 #define OD_ICDF AOM_ICDF
     35 
     36 /*See entcode.c for further documentation.*/
     37 
     38 OD_WARN_UNUSED_RESULT uint32_t od_ec_tell_frac(uint32_t nbits_total,
     39                                               uint32_t rng);
     40 
     41 #endif  // AOM_AOM_DSP_ENTCODE_H_