Data Structures | Defines | Functions

/tmp/buildd/xz-utils-5.0.0/src/liblzma/rangecoder/range_encoder.h File Reference

Range Encoder. More...

#include "range_common.h"
#include "price.h"

Data Structures

struct  lzma_range_encoder

Defines

#define RC_SYMBOLS_MAX   58

Functions

static void rc_reset (lzma_range_encoder *rc)
static void rc_bit (lzma_range_encoder *rc, probability *prob, uint32_t bit)
static void rc_bittree (lzma_range_encoder *rc, probability *probs, uint32_t bit_count, uint32_t symbol)
static void rc_bittree_reverse (lzma_range_encoder *rc, probability *probs, uint32_t bit_count, uint32_t symbol)
static void rc_direct (lzma_range_encoder *rc, uint32_t value, uint32_t bit_count)
static void rc_flush (lzma_range_encoder *rc)
static bool rc_shift_low (lzma_range_encoder *rc, uint8_t *out, size_t *out_pos, size_t out_size)
static bool rc_encode (lzma_range_encoder *rc, uint8_t *out, size_t *out_pos, size_t out_size)
static uint64_t rc_pending (const lzma_range_encoder *rc)

Detailed Description

Range Encoder.


Define Documentation

#define RC_SYMBOLS_MAX   58

Maximum number of symbols that can be put pending into lzma_range_encoder structure between calls to lzma_rc_encode(). For LZMA, 52+5 is enough (match with big distance and length followed by range encoder flush).