Go to the source code of this file.
Enumerations | |
enum | ELzmaDummy { DUMMY_ERROR, DUMMY_LIT, DUMMY_MATCH, DUMMY_REP } |
Functions | |
SRes | LzmaDec_Allocate (CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc) |
SRes | LzmaDec_AllocateProbs (CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAlloc *alloc) |
static SRes | LzmaDec_AllocateProbs2 (CLzmaDec *p, const CLzmaProps *propNew, ISzAlloc *alloc) |
static int | LzmaDec_DecodeReal (CLzmaDec *p, SizeT limit, const Byte *bufLimit) |
static int | LzmaDec_DecodeReal2 (CLzmaDec *p, SizeT limit, const Byte *bufLimit) |
SRes | LzmaDec_DecodeToBuf (CLzmaDec *p, Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen, ELzmaFinishMode finishMode, ELzmaStatus *status) |
SRes | LzmaDec_DecodeToDic (CLzmaDec *p, SizeT dicLimit, const Byte *src, SizeT *srcLen, ELzmaFinishMode finishMode, ELzmaStatus *status) |
void | LzmaDec_Free (CLzmaDec *p, ISzAlloc *alloc) |
static void | LzmaDec_FreeDict (CLzmaDec *p, ISzAlloc *alloc) |
void | LzmaDec_FreeProbs (CLzmaDec *p, ISzAlloc *alloc) |
void | LzmaDec_Init (CLzmaDec *p) |
void | LzmaDec_InitDicAndState (CLzmaDec *p, Bool initDic, Bool initState) |
static void | LzmaDec_InitRc (CLzmaDec *p, const Byte *data) |
static void | LzmaDec_InitStateReal (CLzmaDec *p) |
static ELzmaDummy | LzmaDec_TryDummy (const CLzmaDec *p, const Byte *buf, SizeT inSize) |
static void | LzmaDec_WriteRem (CLzmaDec *p, SizeT limit) |
SRes | LzmaDecode (Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen, const Byte *propData, unsigned propSize, ELzmaFinishMode finishMode, ELzmaStatus *status, ISzAlloc *alloc) |
SRes | LzmaProps_Decode (CLzmaProps *p, const Byte *data, unsigned size) |
#define Align (SpecPos + kNumFullDistances - kEndPosModelIndex) |
Definition at line 102 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
Definition at line 25 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal().
#define GET_BIT2 | ( | p, | |
i, | |||
A0, | |||
A1 | |||
) |
#define GET_BIT2_CHECK | ( | p, | |
i, | |||
A0, | |||
A1 | |||
) |
Definition at line 52 of file LzmaDec.cc.
Referenced by LzmaDec_TryDummy().
#define GET_BIT_CHECK | ( | p, | |
i | |||
) | GET_BIT2_CHECK(p, i, ; , ;) |
Definition at line 55 of file LzmaDec.cc.
Referenced by LzmaDec_TryDummy().
#define IF_BIT_0 | ( | p | ) | ttt = *(p); NORMALIZE; bound = (range >> kNumBitModelTotalBits) * ttt; if (code < bound) |
Definition at line 19 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal().
#define IF_BIT_0_CHECK | ( | p | ) | ttt = *(p); NORMALIZE_CHECK; bound = (range >> kNumBitModelTotalBits) * ttt; if (code < bound) |
Definition at line 49 of file LzmaDec.cc.
Referenced by LzmaDec_TryDummy().
#define IsMatch 0 |
Definition at line 94 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define IsRep (IsMatch + (kNumStates << kNumPosBitsMax)) |
Definition at line 95 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define IsRep0Long (IsRepG2 + kNumStates) |
Definition at line 99 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define IsRepG0 (IsRep + kNumStates) |
Definition at line 96 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define IsRepG1 (IsRepG0 + kNumStates) |
Definition at line 97 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define IsRepG2 (IsRepG1 + kNumStates) |
Definition at line 98 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define kAlignTableSize (1 << kNumAlignBits) |
Definition at line 89 of file LzmaDec.cc.
#define kBitModelTotal (1 << kNumBitModelTotalBits) |
Definition at line 12 of file LzmaDec.cc.
Referenced by LzmaDec_InitStateReal().
#define kEndPosModelIndex 14 |
Definition at line 82 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define kLenNumHighBits 8 |
Definition at line 67 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define kLenNumHighSymbols (1 << kLenNumHighBits) |
Definition at line 68 of file LzmaDec.cc.
#define kLenNumLowBits 3 |
Definition at line 63 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define kLenNumLowSymbols (1 << kLenNumLowBits) |
Definition at line 64 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define kLenNumMidBits 3 |
Definition at line 65 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define kLenNumMidSymbols (1 << kLenNumMidBits) |
Definition at line 66 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define kMatchMinLen 2 |
Definition at line 91 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal().
#define kMatchSpecLenStart (kMatchMinLen + kLenNumLowSymbols + kLenNumMidSymbols + kLenNumHighSymbols) |
Definition at line 92 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), LzmaDec_DecodeReal2(), LzmaDec_DecodeToDic(), and LzmaDec_WriteRem().
#define kNumAlignBits 4 |
Definition at line 88 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define kNumBitModelTotalBits 11 |
Definition at line 11 of file LzmaDec.cc.
#define kNumFullDistances (1 << (kEndPosModelIndex >> 1)) |
Definition at line 83 of file LzmaDec.cc.
#define kNumLenProbs (LenHigh + kLenNumHighSymbols) |
Definition at line 75 of file LzmaDec.cc.
#define kNumLenToPosStates 4 |
Definition at line 86 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define kNumLitStates 7 |
Definition at line 79 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define kNumMoveBits 5 |
Definition at line 13 of file LzmaDec.cc.
#define kNumPosBitsMax 4 |
Definition at line 60 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define kNumPosSlotBits 6 |
Definition at line 85 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define kNumPosStatesMax (1 << kNumPosBitsMax) |
Definition at line 61 of file LzmaDec.cc.
#define kNumStates 12 |
Definition at line 78 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define kNumTopBits 24 |
Definition at line 8 of file LzmaDec.cc.
#define kStartPosModelIndex 4 |
Definition at line 81 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define kTopValue ((UInt32)1 << kNumTopBits) |
Definition at line 9 of file LzmaDec.cc.
#define LenChoice 0 |
Definition at line 70 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define LenChoice2 (LenChoice + 1) |
Definition at line 71 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define LenCoder (Align + kAlignTableSize) |
Definition at line 103 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define LenHigh (LenMid + (kNumPosStatesMax << kLenNumMidBits)) |
Definition at line 74 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define LenLow (LenChoice2 + 1) |
Definition at line 72 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define LenMid (LenLow + (kNumPosStatesMax << kLenNumLowBits)) |
Definition at line 73 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define Literal (RepLenCoder + kNumLenProbs) |
Definition at line 105 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), LzmaDec_InitStateReal(), and LzmaDec_TryDummy().
#define LZMA_BASE_SIZE 1846 |
Definition at line 107 of file LzmaDec.cc.
#define LZMA_DIC_MIN (1 << 12) |
Definition at line 116 of file LzmaDec.cc.
Referenced by LzmaProps_Decode().
#define LZMA_LIT_SIZE 768 |
Definition at line 108 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), LzmaDec_InitStateReal(), and LzmaDec_TryDummy().
#define LzmaProps_GetNumProbs | ( | p | ) | ((UInt32)LZMA_BASE_SIZE + (LZMA_LIT_SIZE << ((p)->lc + (p)->lp))) |
Definition at line 110 of file LzmaDec.cc.
Referenced by LzmaDec_AllocateProbs2().
Definition at line 17 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal().
#define NORMALIZE_CHECK if (range < kTopValue) { if (buf >= bufLimit) return DUMMY_ERROR; range <<= 8; code = (code << 8) | (*buf++); } |
Definition at line 47 of file LzmaDec.cc.
Referenced by LzmaDec_TryDummy().
#define PosSlot (IsRep0Long + (kNumStates << kNumPosBitsMax)) |
Definition at line 100 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define RC_INIT_SIZE 5 |
Definition at line 15 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeToDic(), and LzmaDecode().
#define RepLenCoder (LenCoder + kNumLenProbs) |
Definition at line 104 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define SpecPos (PosSlot + (kNumLenToPosStates << kNumPosSlotBits)) |
Definition at line 101 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal(), and LzmaDec_TryDummy().
#define TREE_6_DECODE | ( | probs, | |
i | |||
) |
#define TREE_DECODE | ( | probs, | |
limit, | |||
i | |||
) | { i = 1; do { TREE_GET_BIT(probs, i); } while (i < limit); i -= limit; } |
Definition at line 28 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal().
#define TREE_DECODE_CHECK | ( | probs, | |
limit, | |||
i | |||
) | { i = 1; do { GET_BIT_CHECK(probs + i, i) } while (i < limit); i -= limit; } |
Definition at line 56 of file LzmaDec.cc.
Referenced by LzmaDec_TryDummy().
Definition at line 27 of file LzmaDec.cc.
#define UPDATE_0 | ( | p | ) | range = bound; *(p) = (CLzmaProb)(ttt + ((kBitModelTotal - ttt) >> kNumMoveBits)); |
Definition at line 20 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal().
#define UPDATE_0_CHECK range = bound; |
Definition at line 50 of file LzmaDec.cc.
Referenced by LzmaDec_TryDummy().
#define UPDATE_1 | ( | p | ) | range -= bound; code -= bound; *(p) = (CLzmaProb)(ttt - (ttt >> kNumMoveBits)); |
Definition at line 21 of file LzmaDec.cc.
Referenced by LzmaDec_DecodeReal().
#define UPDATE_1_CHECK range -= bound; code -= bound; |
Definition at line 51 of file LzmaDec.cc.
Referenced by LzmaDec_TryDummy().
enum ELzmaDummy |
Enumerator | |
---|---|
DUMMY_ERROR | |
DUMMY_LIT | |
DUMMY_MATCH | |
DUMMY_REP |
Definition at line 479 of file LzmaDec.cc.
Definition at line 947 of file LzmaDec.cc.
References ISzAlloc::Alloc, CLzmaDec::dic, CLzmaDec::dicBufSize, _CLzmaProps::dicSize, LzmaDec_AllocateProbs2(), LzmaDec_FreeDict(), LzmaDec_FreeProbs(), LzmaProps_Decode(), CLzmaDec::prop, RINOK, SZ_ERROR_MEM, and SZ_OK.
Referenced by LzmaFile::Open().
SRes LzmaDec_AllocateProbs | ( | CLzmaDec * | p, |
const Byte * | props, | ||
unsigned | propsSize, | ||
ISzAlloc * | alloc | ||
) |
Definition at line 938 of file LzmaDec.cc.
References LzmaDec_AllocateProbs2(), LzmaProps_Decode(), CLzmaDec::prop, RINOK, and SZ_OK.
Referenced by LzmaDecode().
|
static |
Definition at line 924 of file LzmaDec.cc.
References ISzAlloc::Alloc, CLzmaProb, LzmaDec_FreeProbs(), LzmaProps_GetNumProbs, CLzmaDec::numProbs, CLzmaDec::probs, SZ_ERROR_MEM, and SZ_OK.
Referenced by LzmaDec_Allocate(), and LzmaDec_AllocateProbs().
Definition at line 131 of file LzmaDec.cc.
References Align, CLzmaDec::buf, CLzmaDec::checkDicSize, CLzmaProb, CLzmaDec::code, alignCSCRings::dest, CLzmaDec::dic, CLzmaDec::dicBufSize, CLzmaDec::dicPos, HLT_25ns14e33_v1_cff::distance, GET_BIT, GET_BIT2, i, IF_BIT_0, IsMatch, IsRep, IsRep0Long, IsRepG0, IsRepG1, IsRepG2, kEndPosModelIndex, kLenNumHighBits, kLenNumLowBits, kLenNumLowSymbols, kLenNumMidBits, kLenNumMidSymbols, kMatchMinLen, kMatchSpecLenStart, kNumAlignBits, kNumLenToPosStates, kNumLitStates, kNumPosBitsMax, kNumPosSlotBits, kNumStates, kStartPosModelIndex, _CLzmaProps::lc, LenChoice, LenChoice2, LenCoder, LenHigh, LenLow, LenMid, MessageLogger_cff::limit, Literal, _CLzmaProps::lp, LZMA_LIT_SIZE, NORMALIZE, HLT_25ns14e33_v1_cff::offset, _CLzmaProps::pb, PosSlot, CLzmaDec::probs, CLzmaDec::processedPos, CLzmaDec::prop, CLzmaDec::range, CLzmaDec::remainLen, RepLenCoder, CLzmaDec::reps, SpecPos, alcazmumu_cfi::src, CLzmaDec::state, SZ_ERROR_DATA, SZ_OK, edmStreamStallGrapher::t, TREE_6_DECODE, TREE_DECODE, UPDATE_0, and UPDATE_1.
Referenced by LzmaDec_DecodeReal2().
Definition at line 454 of file LzmaDec.cc.
References CLzmaDec::buf, CLzmaDec::checkDicSize, CLzmaDec::dicPos, _CLzmaProps::dicSize, kMatchSpecLenStart, MessageLogger_cff::limit, LzmaDec_DecodeReal(), LzmaDec_WriteRem(), CLzmaDec::processedPos, CLzmaDec::prop, CLzmaDec::remainLen, and RINOK.
Referenced by LzmaDec_DecodeToDic().
SRes LzmaDec_DecodeToBuf | ( | CLzmaDec * | p, |
Byte * | dest, | ||
SizeT * | destLen, | ||
const Byte * | src, | ||
SizeT * | srcLen, | ||
ELzmaFinishMode | finishMode, | ||
ELzmaStatus * | status | ||
) |
Definition at line 840 of file LzmaDec.cc.
References CLzmaDec::dic, CLzmaDec::dicBufSize, CLzmaDec::dicPos, LZMA_FINISH_ANY, LzmaDec_DecodeToDic(), and SZ_OK.
Referenced by LzmaFile::DecodeAll(), and LzmaFile::DecodeBuffer().
SRes LzmaDec_DecodeToDic | ( | CLzmaDec * | p, |
SizeT | dicLimit, | ||
const Byte * | src, | ||
SizeT * | srcLen, | ||
ELzmaFinishMode | finishMode, | ||
ELzmaStatus * | status | ||
) |
Definition at line 719 of file LzmaDec.cc.
References CLzmaDec::buf, CLzmaDec::code, CLzmaDec::dicPos, DUMMY_ERROR, DUMMY_MATCH, if(), kMatchSpecLenStart, LZMA_FINISH_ANY, LZMA_REQUIRED_INPUT_MAX, LZMA_STATUS_FINISHED_WITH_MARK, LZMA_STATUS_MAYBE_FINISHED_WITHOUT_MARK, LZMA_STATUS_NEEDS_MORE_INPUT, LZMA_STATUS_NOT_FINISHED, LZMA_STATUS_NOT_SPECIFIED, LzmaDec_DecodeReal2(), LzmaDec_InitRc(), LzmaDec_InitStateReal(), LzmaDec_TryDummy(), LzmaDec_WriteRem(), CLzmaDec::needFlush, CLzmaDec::needInitState, RC_INIT_SIZE, CLzmaDec::remainLen, alcazmumu_cfi::src, SZ_ERROR_DATA, SZ_OK, CLzmaDec::tempBuf, and CLzmaDec::tempBufSize.
Referenced by LzmaDec_DecodeToBuf(), and LzmaDecode().
Definition at line 892 of file LzmaDec.cc.
References LzmaDec_FreeDict(), and LzmaDec_FreeProbs().
Referenced by LzmaFile::Close().
Definition at line 886 of file LzmaDec.cc.
References CLzmaDec::dic, and ISzAlloc::Free.
Referenced by LzmaDec_Allocate(), and LzmaDec_Free().
Definition at line 880 of file LzmaDec.cc.
References ISzAlloc::Free, and CLzmaDec::probs.
Referenced by LzmaDec_Allocate(), LzmaDec_AllocateProbs2(), LzmaDec_Free(), and LzmaDecode().
void LzmaDec_Init | ( | CLzmaDec * | p | ) |
Definition at line 701 of file LzmaDec.cc.
References CLzmaDec::dicPos, LzmaDec_InitDicAndState(), and True.
Referenced by LzmaDecode(), and LzmaFile::Open().
Definition at line 685 of file LzmaDec.cc.
References CLzmaDec::checkDicSize, CLzmaDec::needFlush, CLzmaDec::needInitState, CLzmaDec::processedPos, CLzmaDec::remainLen, and CLzmaDec::tempBufSize.
Referenced by LzmaDec_Init().
Definition at line 678 of file LzmaDec.cc.
References CLzmaDec::code, CLzmaDec::needFlush, and CLzmaDec::range.
Referenced by LzmaDec_DecodeToDic().
|
static |
Definition at line 707 of file LzmaDec.cc.
References CLzmaProb, i, kBitModelTotal, _CLzmaProps::lc, Literal, _CLzmaProps::lp, LZMA_LIT_SIZE, CLzmaDec::needInitState, CLzmaDec::probs, CLzmaDec::prop, CLzmaDec::reps, and CLzmaDec::state.
Referenced by LzmaDec_DecodeToDic().
|
static |
Definition at line 487 of file LzmaDec.cc.
References Align, CLzmaDec::checkDicSize, CLzmaProb, CLzmaDec::code, CLzmaDec::dic, CLzmaDec::dicBufSize, CLzmaDec::dicPos, DUMMY_LIT, DUMMY_MATCH, DUMMY_REP, GET_BIT2_CHECK, GET_BIT_CHECK, i, IF_BIT_0_CHECK, IsMatch, IsRep, IsRep0Long, IsRepG0, IsRepG1, IsRepG2, kEndPosModelIndex, kLenNumHighBits, kLenNumLowBits, kLenNumLowSymbols, kLenNumMidBits, kLenNumMidSymbols, kNumAlignBits, kNumLenToPosStates, kNumLitStates, kNumPosBitsMax, kNumPosSlotBits, kNumStates, kStartPosModelIndex, _CLzmaProps::lc, LenChoice, LenChoice2, LenCoder, LenHigh, LenLow, LenMid, MessageLogger_cff::limit, Literal, _CLzmaProps::lp, LZMA_LIT_SIZE, NORMALIZE_CHECK, HLT_25ns14e33_v1_cff::offset, _CLzmaProps::pb, PosSlot, CLzmaDec::probs, CLzmaDec::processedPos, CLzmaDec::prop, CLzmaDec::range, RepLenCoder, CLzmaDec::reps, SpecPos, CLzmaDec::state, TREE_DECODE_CHECK, UPDATE_0_CHECK, and UPDATE_1_CHECK.
Referenced by LzmaDec_DecodeToDic().
Definition at line 428 of file LzmaDec.cc.
References CLzmaDec::checkDicSize, CLzmaDec::dic, CLzmaDec::dicBufSize, CLzmaDec::dicPos, _CLzmaProps::dicSize, kMatchSpecLenStart, CLzmaDec::processedPos, CLzmaDec::prop, CLzmaDec::remainLen, and CLzmaDec::reps.
Referenced by LzmaDec_DecodeReal2(), and LzmaDec_DecodeToDic().
SRes LzmaDecode | ( | Byte * | dest, |
SizeT * | destLen, | ||
const Byte * | src, | ||
SizeT * | srcLen, | ||
const Byte * | propData, | ||
unsigned | propSize, | ||
ELzmaFinishMode | finishMode, | ||
ELzmaStatus * | status, | ||
ISzAlloc * | alloc | ||
) |
Definition at line 969 of file LzmaDec.cc.
References alignCSCRings::dest, CLzmaDec::dic, CLzmaDec::dicBufSize, CLzmaDec::dicPos, LZMA_STATUS_NEEDS_MORE_INPUT, LzmaDec_AllocateProbs(), LzmaDec_Construct, LzmaDec_DecodeToDic(), LzmaDec_FreeProbs(), LzmaDec_Init(), AlCaHLTBitMon_ParallelJobs::p, RC_INIT_SIZE, SZ_ERROR_INPUT_EOF, and SZ_OK.
SRes LzmaProps_Decode | ( | CLzmaProps * | p, |
const Byte * | data, | ||
unsigned | size | ||
) |
Definition at line 898 of file LzmaDec.cc.
References ztail::d, _CLzmaProps::dicSize, _CLzmaProps::lc, _CLzmaProps::lp, LZMA_DIC_MIN, LZMA_PROPS_SIZE, _CLzmaProps::pb, SZ_ERROR_UNSUPPORTED, and SZ_OK.
Referenced by LzmaDec_Allocate(), and LzmaDec_AllocateProbs().