diff options
Diffstat (limited to 'third_party/aom/aom_dsp/entcode.h')
-rw-r--r-- | third_party/aom/aom_dsp/entcode.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/third_party/aom/aom_dsp/entcode.h b/third_party/aom/aom_dsp/entcode.h new file mode 100644 index 000000000..534959e66 --- /dev/null +++ b/third_party/aom/aom_dsp/entcode.h @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2001-2016, Alliance for Open Media. All rights reserved + * + * This source code is subject to the terms of the BSD 2 Clause License and + * the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License + * was not distributed with this source code in the LICENSE file, you can + * obtain it at www.aomedia.org/license/software. If the Alliance for Open + * Media Patent License 1.0 was not distributed with this source code in the + * PATENTS file, you can obtain it at www.aomedia.org/license/patent. + */ + +#if !defined(_entcode_H) +#define _entcode_H (1) +#include <limits.h> +#include <stddef.h> +#include "av1/common/odintrin.h" + +/*OPT: od_ec_window must be at least 32 bits, but if you have fast arithmetic + on a larger type, you can speed up the decoder by using it here.*/ +typedef uint32_t od_ec_window; + +#define OD_EC_WINDOW_SIZE ((int)sizeof(od_ec_window) * CHAR_BIT) + +/*The number of bits to use for the range-coded part of unsigned integers.*/ +#define OD_EC_UINT_BITS (4) + +/*The resolution of fractional-precision bit usage measurements, i.e., + 3 => 1/8th bits.*/ +#define OD_BITRES (3) + +/*With CONFIG_EC_SMALLMUL, the value stored in a CDF is 32768 minus the actual + Q15 cumulative probability (an "inverse" CDF). + This function converts from one representation to the other (and is its own + inverse).*/ +#if CONFIG_EC_SMALLMUL +#define OD_ICDF(x) (32768U - (x)) +#else +#define OD_ICDF(x) (x) +#endif + +/*See entcode.c for further documentation.*/ + +OD_WARN_UNUSED_RESULT uint32_t od_ec_tell_frac(uint32_t nbits_total, + uint32_t rng); + +#endif |