|
Evince
Evince is a document viewer capable of displaying multiple and single page document formats like PDF and Postscript.
|
Include dependency graph for LzmaDec.c:Go to the source code of this file.
Macros | |
| #define | kNumTopBits 24 |
| #define | kTopValue ((UInt32)1 << kNumTopBits) |
| #define | kNumBitModelTotalBits 11 |
| #define | kBitModelTotal (1 << kNumBitModelTotalBits) |
| #define | kNumMoveBits 5 |
| #define | RC_INIT_SIZE 5 |
| #define | NORMALIZE if (range < kTopValue) { range <<= 8; code = (code << 8) | (*buf++); } |
| #define | IF_BIT_0(p) ttt = *(p); NORMALIZE; bound = (range >> kNumBitModelTotalBits) * ttt; if (code < bound) |
| #define | UPDATE_0(p) range = bound; *(p) = (CLzmaProb)(ttt + ((kBitModelTotal - ttt) >> kNumMoveBits)); |
| #define | UPDATE_1(p) range -= bound; code -= bound; *(p) = (CLzmaProb)(ttt - (ttt >> kNumMoveBits)); |
| #define | GET_BIT2(p, i, A0, A1) |
| #define | GET_BIT(p, i) GET_BIT2(p, i, ; , ;) |
| #define | TREE_GET_BIT(probs, i) { GET_BIT((probs + i), i); } |
| #define | TREE_DECODE(probs, limit, i) { i = 1; do { TREE_GET_BIT(probs, i); } while (i < limit); i -= limit; } |
| #define | TREE_6_DECODE(probs, i) |
| #define | NORMAL_LITER_DEC GET_BIT(prob + symbol, symbol) |
| #define | MATCHED_LITER_DEC |
| #define | NORMALIZE_CHECK if (range < kTopValue) { if (buf >= bufLimit) return DUMMY_ERROR; range <<= 8; code = (code << 8) | (*buf++); } |
| #define | IF_BIT_0_CHECK(p) ttt = *(p); NORMALIZE_CHECK; bound = (range >> kNumBitModelTotalBits) * ttt; if (code < bound) |
| #define | UPDATE_0_CHECK range = bound; |
| #define | UPDATE_1_CHECK range -= bound; code -= bound; |
| #define | GET_BIT2_CHECK(p, i, A0, A1) |
| #define | GET_BIT_CHECK(p, i) GET_BIT2_CHECK(p, i, ; , ;) |
| #define | TREE_DECODE_CHECK(probs, limit, i) { i = 1; do { GET_BIT_CHECK(probs + i, i) } while (i < limit); i -= limit; } |
| #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 | kMatchSpecLenStart (kMatchMinLen + kLenNumLowSymbols + kLenNumMidSymbols + kLenNumHighSymbols) |
| #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 | LZMA_BASE_SIZE 1846 |
| #define | LZMA_LIT_SIZE 0x300 |
| #define | LzmaProps_GetNumProbs(p) (Literal + ((UInt32)LZMA_LIT_SIZE << ((p)->lc + (p)->lp))) |
| #define | LZMA_DIC_MIN (1 << 12) |
Enumerations | |
| enum | ELzmaDummy { DUMMY_ERROR, DUMMY_LIT, DUMMY_MATCH, DUMMY_REP } |
| #define Align (SpecPos + kNumFullDistances - kEndPosModelIndex) |
| #define GET_BIT2 | ( | p, | |
| i, | |||
| A0, | |||
| A1 | |||
| ) |
| #define GET_BIT2_CHECK | ( | p, | |
| i, | |||
| A0, | |||
| A1 | |||
| ) |
| #define GET_BIT_CHECK | ( | p, | |
| i | |||
| ) | GET_BIT2_CHECK(p, i, ; , ;) |
| #define IF_BIT_0 | ( | p) | ttt = *(p); NORMALIZE; bound = (range >> kNumBitModelTotalBits) * ttt; if (code < bound) |
| #define IF_BIT_0_CHECK | ( | p) | ttt = *(p); NORMALIZE_CHECK; bound = (range >> kNumBitModelTotalBits) * ttt; if (code < bound) |
| #define IsRep (IsMatch + (kNumStates << kNumPosBitsMax)) |
| #define IsRep0Long (IsRepG2 + kNumStates) |
| #define IsRepG0 (IsRep + kNumStates) |
| #define IsRepG1 (IsRepG0 + kNumStates) |
| #define IsRepG2 (IsRepG1 + kNumStates) |
| #define kAlignTableSize (1 << kNumAlignBits) |
| #define kBitModelTotal (1 << kNumBitModelTotalBits) |
| #define kLenNumHighSymbols (1 << kLenNumHighBits) |
| #define kLenNumLowSymbols (1 << kLenNumLowBits) |
| #define kLenNumMidSymbols (1 << kLenNumMidBits) |
| #define kMatchSpecLenStart (kMatchMinLen + kLenNumLowSymbols + kLenNumMidSymbols + kLenNumHighSymbols) |
| #define kNumFullDistances (1 << (kEndPosModelIndex >> 1)) |
| #define kNumLenProbs (LenHigh + kLenNumHighSymbols) |
| #define kNumPosStatesMax (1 << kNumPosBitsMax) |
| #define kTopValue ((UInt32)1 << kNumTopBits) |
| #define LenCoder (Align + kAlignTableSize) |
| #define LenHigh (LenMid + (kNumPosStatesMax << kLenNumMidBits)) |
| #define LenLow (LenChoice2 + 1) |
| #define LenMid (LenLow + (kNumPosStatesMax << kLenNumLowBits)) |
| #define Literal (RepLenCoder + kNumLenProbs) |
| #define LzmaProps_GetNumProbs | ( | p) | (Literal + ((UInt32)LZMA_LIT_SIZE << ((p)->lc + (p)->lp))) |
| #define MATCHED_LITER_DEC |
| #define NORMALIZE if (range < kTopValue) { range <<= 8; code = (code << 8) | (*buf++); } |
| #define NORMALIZE_CHECK if (range < kTopValue) { if (buf >= bufLimit) return DUMMY_ERROR; range <<= 8; code = (code << 8) | (*buf++); } |
| #define PosSlot (IsRep0Long + (kNumStates << kNumPosBitsMax)) |
| #define RepLenCoder (LenCoder + kNumLenProbs) |
| #define SpecPos (PosSlot + (kNumLenToPosStates << kNumPosSlotBits)) |
| #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; } |
| #define TREE_DECODE_CHECK | ( | probs, | |
| limit, | |||
| i | |||
| ) | { i = 1; do { GET_BIT_CHECK(probs + i, i) } while (i < limit); i -= limit; } |
| #define TREE_GET_BIT | ( | probs, | |
| i | |||
| ) | { GET_BIT((probs + i), i); } |
| #define UPDATE_0 | ( | p) | range = bound; *(p) = (CLzmaProb)(ttt + ((kBitModelTotal - ttt) >> kNumMoveBits)); |
| #define UPDATE_1 | ( | p) | range -= bound; code -= bound; *(p) = (CLzmaProb)(ttt - (ttt >> kNumMoveBits)); |
| enum ELzmaDummy |
| SRes LzmaDec_Allocate | ( | CLzmaDec * | p, |
| const Byte * | props, | ||
| unsigned | propsSize, | ||
| ISzAllocPtr | alloc | ||
| ) |
| SRes LzmaDec_AllocateProbs | ( | CLzmaDec * | p, |
| const Byte * | props, | ||
| unsigned | propsSize, | ||
| ISzAllocPtr | alloc | ||
| ) |
|
static |
|
static |
|
static |
| 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, |
| ISzAllocPtr | alloc | ||
| ) |
|
static |
| void LzmaDec_FreeProbs | ( | CLzmaDec * | p, |
| ISzAllocPtr | alloc | ||
| ) |
| void LzmaDec_Init | ( | CLzmaDec * | p) |
|
static |
|
static |
|
static |
| SRes LzmaDecode | ( | Byte * | dest, |
| SizeT * | destLen, | ||
| const Byte * | src, | ||
| SizeT * | srcLen, | ||
| const Byte * | propData, | ||
| unsigned | propSize, | ||
| ELzmaFinishMode | finishMode, | ||
| ELzmaStatus * | status, | ||
| ISzAllocPtr | alloc | ||
| ) |