#include "LzmaDecode.h"
Go to the source code of this file.
Defines | |
#define | Byte unsigned char |
#define | kNumTopBits 24 |
#define | kTopValue ((UInt32)1 << kNumTopBits) |
#define | kNumBitModelTotalBits 11 |
#define | kBitModelTotal (1 << kNumBitModelTotalBits) |
#define | kNumMoveBits 5 |
#define | RC_READ_BYTE (*Buffer++) |
#define | RC_INIT2 |
#define | RC_TEST |
#define | RC_INIT Buffer = BufferLim = 0; RC_INIT2 |
#define | RC_NORMALIZE if (Range < kTopValue) { RC_TEST; Range <<= 8; Code = (Code << 8) | RC_READ_BYTE; } |
#define | IfBit0(p) RC_NORMALIZE; bound = (Range >> kNumBitModelTotalBits) * *(p); if (Code < bound) |
#define | UpdateBit0(p) Range = bound; *(p) += (kBitModelTotal - *(p)) >> kNumMoveBits; |
#define | UpdateBit1(p) Range -= bound; Code -= bound; *(p) -= (*(p)) >> kNumMoveBits; |
#define | RC_GET_BIT2(p, mi, A0, A1) |
#define | RC_GET_BIT(p, mi) RC_GET_BIT2(p, mi, ; , ;) |
#define | RangeDecoderBitTreeDecode(probs, numLevels, res) |
#define | kNumPosBitsMax 4 |
#define | kNumPosStatesMax (1 << kNumPosBitsMax) |
#define | kLenNumLowBits 3 |
#define | kLenNumLowSymbols (1 << kLenNumLowBits) |
#define | kLenNumMidBits 3 |
#define | kLenNumMidSymbols (1 << kLenNumMidBits) |
#define | kLenNumHighBits 8 |
#define | kLenNumHighSymbols (1 << kLenNumHighBits) |
#define | LenChoice 0 |
#define | LenChoice2 (LenChoice + 1) |
#define | LenLow (LenChoice2 + 1) |
#define | LenMid (LenLow + (kNumPosStatesMax << kLenNumLowBits)) |
#define | LenHigh (LenMid + (kNumPosStatesMax << kLenNumMidBits)) |
#define | kNumLenProbs (LenHigh + kLenNumHighSymbols) |
#define | kNumStates 12 |
#define | kNumLitStates 7 |
#define | kStartPosModelIndex 4 |
#define | kEndPosModelIndex 14 |
#define | kNumFullDistances (1 << (kEndPosModelIndex >> 1)) |
#define | kNumPosSlotBits 6 |
#define | kNumLenToPosStates 4 |
#define | kNumAlignBits 4 |
#define | kAlignTableSize (1 << kNumAlignBits) |
#define | kMatchMinLen 2 |
#define | IsMatch 0 |
#define | IsRep (IsMatch + (kNumStates << kNumPosBitsMax)) |
#define | IsRepG0 (IsRep + kNumStates) |
#define | IsRepG1 (IsRepG0 + kNumStates) |
#define | IsRepG2 (IsRepG1 + kNumStates) |
#define | IsRep0Long (IsRepG2 + kNumStates) |
#define | PosSlot (IsRep0Long + (kNumStates << kNumPosBitsMax)) |
#define | SpecPos (PosSlot + (kNumLenToPosStates << kNumPosSlotBits)) |
#define | Align (SpecPos + kNumFullDistances - kEndPosModelIndex) |
#define | LenCoder (Align + kAlignTableSize) |
#define | RepLenCoder (LenCoder + kNumLenProbs) |
#define | Literal (RepLenCoder + kNumLenProbs) |
#define | kLzmaStreamWasFinishedId (-1) |
Functions | |
int | LzmaDecodeProperties (CLzmaProperties *propsRes, const unsigned char *propsData, int size) |
int | LzmaDecode (CLzmaDecoderState *vs, ILzmaInCallback *InCallback, unsigned char *outStream, unsigned int outSize, unsigned int *outSizeProcessed) |
|
Definition at line 115 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 25 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 58 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 107 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 108 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 112 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 109 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 110 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 111 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 103 of file LzmaDecode.c. |
|
Definition at line 32 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 96 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 81 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 82 of file LzmaDecode.c. |
|
Definition at line 77 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 78 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 79 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 80 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 157 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 105 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 102 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 31 of file LzmaDecode.c. |
|
Definition at line 97 of file LzmaDecode.c. |
|
Definition at line 89 of file LzmaDecode.c. |
|
Definition at line 100 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 93 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 33 of file LzmaDecode.c. |
|
Definition at line 74 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 99 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 75 of file LzmaDecode.c. |
|
Definition at line 92 of file LzmaDecode.c. |
|
Definition at line 28 of file LzmaDecode.c. |
|
Definition at line 95 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 29 of file LzmaDecode.c. |
|
Definition at line 84 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 85 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 116 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 88 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 86 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 87 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 118 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 113 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Value: { int i = numLevels; res = 1; \ do { CProb *p = probs + res; RC_GET_BIT(p, res) } while(--i != 0); \ res -= (1 << numLevels); } Definition at line 68 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 66 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Value: IfBit0(p) \ { UpdateBit0(p); mi <<= 1; A0; } else \ { UpdateBit1(p); mi = (mi + mi) + 1; A1; } Definition at line 62 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 46 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Value: Code = 0; Range = 0xFFFFFFFF; \ { int i; for(i = 0; i < 5; i++) { RC_TEST; Code = (Code << 8) | RC_READ_BYTE; }} Definition at line 37 of file LzmaDecode.c. |
|
Definition at line 56 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 35 of file LzmaDecode.c. |
|
Value: { if (Buffer == BufferLim) \ { SizeT size; int result = InCallback->Read(InCallback, &Buffer, &size); if (result != LZMA_RESULT_OK) return result; \ BufferLim = Buffer + size; if (size == 0) return LZMA_RESULT_DATA_ERROR; }} Definition at line 42 of file LzmaDecode.c. |
|
Definition at line 117 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 114 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 59 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
Definition at line 60 of file LzmaDecode.c. Referenced by LzmaDecode(). |
|
|
Definition at line 124 of file LzmaDecode.c. References _CLzmaProperties::DictionarySize, _CLzmaProperties::lc, _CLzmaProperties::lp, LZMA_PROPERTIES_SIZE, LZMA_RESULT_DATA_ERROR, LZMA_RESULT_OK, _CLzmaProperties::pb, and UInt32. Referenced by lzdReadOpen(). |