XZ Utils 5.3.3alpha
|
Public Types | |
enum | { SEQ_NORMALIZE , SEQ_IS_MATCH , seq_8 =(SEQ_LITERAL) , seq_8 =(SEQ_LITERAL) , SEQ_LITERAL_WRITE , SEQ_IS_REP , seq_len =(SEQ_MATCH_LEN) , seq_6 =(SEQ_DIST_SLOT) , SEQ_DIST_MODEL , SEQ_DIRECT , seq_4 =(SEQ_ALIGN) , SEQ_EOPM , SEQ_IS_REP0 , SEQ_SHORTREP , SEQ_IS_REP0_LONG , SEQ_IS_REP1 , SEQ_IS_REP2 , seq_len =(SEQ_MATCH_LEN) , SEQ_COPY } |
Position where to continue the decoder loop. More... | |
Data Fields | |
probability | literal [LITERAL_CODERS_MAX][LITERAL_CODER_SIZE] |
Literals; see comments in lzma_common.h. More... | |
probability | is_match [STATES][POS_STATES_MAX] |
If 1, it's a match. Otherwise it's a single 8-bit literal. More... | |
probability | is_rep [STATES] |
If 1, it's a repeated match. The distance is one of rep0 .. rep3. More... | |
probability | is_rep0 [STATES] |
probability | is_rep1 [STATES] |
probability | is_rep2 [STATES] |
If 0, distance of a repeated match is rep2. Otherwise it is rep3. More... | |
probability | is_rep0_long [STATES][POS_STATES_MAX] |
probability | dist_slot [DIST_STATES][DIST_SLOTS] |
probability | pos_special [FULL_DISTANCES - DIST_MODEL_END] |
probability | pos_align [ALIGN_SIZE] |
lzma_length_decoder | match_len_decoder |
Length of a normal match. More... | |
lzma_length_decoder | rep_len_decoder |
Length of a repeated match. More... | |
lzma_range_decoder | rc |
lzma_lzma_state | state |
uint32_t | rep0 |
Distance of the latest match. More... | |
uint32_t | rep1 |
Distance of second latest match. More... | |
uint32_t | rep2 |
Distance of third latest match. More... | |
uint32_t | rep3 |
Distance of fourth latest match. More... | |
uint32_t | pos_mask |
uint32_t | literal_context_bits |
uint32_t | literal_pos_mask |
lzma_vli | uncompressed_size |
bool | allow_eopm |
enum lzma_lzma1_decoder:: { ... } | sequence |
Position where to continue the decoder loop. More... | |
probability * | probs |
Base of the current probability tree. More... | |
uint32_t | symbol |
uint32_t | limit |
uint32_t | offset |
uint32_t | len |
anonymous enum |
Position where to continue the decoder loop.
probability lzma_lzma1_decoder::literal[LITERAL_CODERS_MAX][LITERAL_CODER_SIZE] |
Literals; see comments in lzma_common.h.
probability lzma_lzma1_decoder::is_match[STATES][POS_STATES_MAX] |
If 1, it's a match. Otherwise it's a single 8-bit literal.
probability lzma_lzma1_decoder::is_rep[STATES] |
If 1, it's a repeated match. The distance is one of rep0 .. rep3.
probability lzma_lzma1_decoder::is_rep0[STATES] |
If 0, distance of a repeated match is rep0. Otherwise check is_rep1.
probability lzma_lzma1_decoder::is_rep1[STATES] |
If 0, distance of a repeated match is rep1. Otherwise check is_rep2.
probability lzma_lzma1_decoder::is_rep2[STATES] |
If 0, distance of a repeated match is rep2. Otherwise it is rep3.
probability lzma_lzma1_decoder::is_rep0_long[STATES][POS_STATES_MAX] |
If 1, the repeated match has length of one byte. Otherwise the length is decoded from rep_len_decoder.
probability lzma_lzma1_decoder::dist_slot[DIST_STATES][DIST_SLOTS] |
Probability tree for the highest two bits of the match distance. There is a separate probability tree for match lengths of 2 (i.e. MATCH_LEN_MIN), 3, 4, and [5, 273].
probability lzma_lzma1_decoder::pos_special[FULL_DISTANCES - DIST_MODEL_END] |
Probability trees for additional bits for match distance when the distance is in the range [4, 127].
probability lzma_lzma1_decoder::pos_align[ALIGN_SIZE] |
Probability tree for the lowest four bits of a match distance that is equal to or greater than 128.
lzma_length_decoder lzma_lzma1_decoder::match_len_decoder |
Length of a normal match.
lzma_length_decoder lzma_lzma1_decoder::rep_len_decoder |
Length of a repeated match.
uint32_t lzma_lzma1_decoder::rep0 |
Distance of the latest match.
uint32_t lzma_lzma1_decoder::rep1 |
Distance of second latest match.
uint32_t lzma_lzma1_decoder::rep2 |
Distance of third latest match.
uint32_t lzma_lzma1_decoder::rep3 |
Distance of fourth latest match.
lzma_vli lzma_lzma1_decoder::uncompressed_size |
Uncompressed size as bytes, or LZMA_VLI_UNKNOWN if end of payload marker is expected.
bool lzma_lzma1_decoder::allow_eopm |
True if end of payload marker (EOPM) is allowed even when uncompressed_size is known; false if EOPM must not be present. This is ignored if uncompressed_size == LZMA_VLI_UNKNOWN.
enum { ... } lzma_lzma1_decoder::sequence |
Position where to continue the decoder loop.
probability* lzma_lzma1_decoder::probs |
Base of the current probability tree.
uint32_t lzma_lzma1_decoder::symbol |
Symbol being decoded. This is also used as an index variable in bittree decoders: probs[symbol]
uint32_t lzma_lzma1_decoder::limit |
Used as a loop termination condition on bittree decoders and direct bits decoder.
uint32_t lzma_lzma1_decoder::offset |
Matched literal decoder: 0x100 or 0 to help avoiding branches. Bittree reverse decoders: Offset of the next bit: 1 << offset
uint32_t lzma_lzma1_decoder::len |
If decoding a literal: match byte. If decoding a match: length of the match.