30 #ifndef AVCODEC_LAGARITHRAC_H
31 #define AVCODEC_LAGARITHRAC_H
59 while (l->
range <= 0x800000) {
75 unsigned range_scaled, low_scaled;
82 if (l->
low < range_scaled * l->
prob[255]) {
84 if (l->
low < range_scaled * l->
prob[1]) {
90 while (l->
low >= range_scaled * l->
prob[val + 1])
static uint8_t lag_get_rac(lag_rac *l)
Decode a single byte from the compressed plane described by *l.
const char const char void * val
uint64_t_TMPL AV_WL64 unsigned int_TMPL AV_WL32 unsigned int_TMPL AV_WL24 unsigned int_TMPL AV_WL16 uint64_t_TMPL AV_WB64 unsigned int_TMPL AV_WB32 unsigned int_TMPL AV_WB24 unsigned int_TMPL AV_RB16
const uint8_t * bytestream_end
End position of input bytestream.
const uint8_t * bytestream_start
Start of input bytestream.
unsigned scale
Number of bits of precision in range.
bitstream reader API header.
Libavcodec external API header.
uint32_t prob[258]
Table of cumulative probability for each symbol.
main external API structure.
uint8_t range_hash[1024]
Hash table mapping upper byte to approximate symbol.
common internal and external API header
unsigned hash_shift
Number of bits to shift to calculate hash for radix search.
static void lag_rac_refill(lag_rac *l)
void ff_lag_rac_init(lag_rac *l, GetBitContext *gb, int length)
const uint8_t * bytestream
Current position in input bytestream.