Go to the source code of this file.
|
SRes | LzmaProps_Decode (CLzmaProps *p, const Byte *data, unsigned size) |
|
void | LzmaDec_Init (CLzmaDec *p) |
|
SRes | LzmaDec_AllocateProbs (CLzmaDec *p, const Byte *props, unsigned propsSize, ISzAllocPtr alloc) |
|
void | LzmaDec_FreeProbs (CLzmaDec *p, ISzAllocPtr alloc) |
|
SRes | LzmaDec_Allocate (CLzmaDec *state, const Byte *prop, unsigned propsSize, ISzAllocPtr alloc) |
|
void | LzmaDec_Free (CLzmaDec *state, ISzAllocPtr alloc) |
|
SRes | LzmaDec_DecodeToDic (CLzmaDec *p, SizeT dicLimit, const Byte *src, SizeT *srcLen, ELzmaFinishMode finishMode, ELzmaStatus *status) |
|
SRes | LzmaDec_DecodeToBuf (CLzmaDec *p, Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen, ELzmaFinishMode finishMode, ELzmaStatus *status) |
|
SRes | LzmaDecode (Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen, const Byte *propData, unsigned propSize, ELzmaFinishMode finishMode, ELzmaStatus *status, ISzAllocPtr alloc) |
|
#define LZMA_PROPS_SIZE 5 |
#define LZMA_REQUIRED_INPUT_MAX 20 |
#define LzmaDec_Construct |
( |
|
p) | |
{ (p)->dic = 0; (p)->probs = 0; } |
Enumerator |
---|
LZMA_FINISH_ANY |
|
LZMA_FINISH_END |
|
Definition at line 77 of file LzmaDec.h.
Enumerator |
---|
LZMA_STATUS_NOT_SPECIFIED |
|
LZMA_STATUS_FINISHED_WITH_MARK |
|
LZMA_STATUS_NOT_FINISHED |
|
LZMA_STATUS_NEEDS_MORE_INPUT |
|
LZMA_STATUS_MAYBE_FINISHED_WITHOUT_MARK |
|
Definition at line 98 of file LzmaDec.h.
Definition at line 1045 of file LzmaDec.c.
1055 if (dictSize >= ((
UInt32)1 << 30)) mask = ((
UInt32)1 << 22) - 1;
1056 else if (dictSize >= ((
UInt32)1 << 22)) mask = ((
UInt32)1 << 20) - 1;;
1057 dicBufSize = ((
SizeT)dictSize + mask) & ~mask;
1058 if (dicBufSize < dictSize)
1059 dicBufSize = dictSize;
1062 if (!p->dic || dicBufSize != p->dicBufSize)
1072 p->dicBufSize = dicBufSize;
Definition at line 938 of file LzmaDec.c.
940 SizeT outSize = *destLen;
941 SizeT inSize = *srcLen;
942 *srcLen = *destLen = 0;
945 SizeT inSizeCur = inSize, outSizeCur, dicPos;
958 outSizeCur = dicPos + outSize;
959 curFinishMode = finishMode;
965 *srcLen += inSizeCur;
966 outSizeCur = p->
dicPos - dicPos;
967 memcpy(dest, p->
dic + dicPos, outSizeCur);
969 outSize -= outSizeCur;
970 *destLen += outSizeCur;
973 if (outSizeCur == 0 || outSize == 0)
Definition at line 803 of file LzmaDec.c.
806 SizeT inSize = *srcLen;
832 p->
range = 0xFFFFFFFF;
838 if (p->
dicPos >= dicLimit)
864 const Byte *bufLimit;
889 (*srcLen) += processed;
896 while (rem < LZMA_REQUIRED_INPUT_MAX && lookAhead < inSize)
897 p->
tempBuf[rem++] = src[lookAhead++];
899 if (rem < LZMA_REQUIRED_INPUT_MAX || checkEndMarkNow)
904 (*srcLen) += lookAhead;
919 unsigned kkk = (unsigned)(p->
buf - p->
tempBuf);
927 (*srcLen) += lookAhead;
Definition at line 1077 of file LzmaDec.c.
1083 SizeT outSize = *destLen, inSize = *srcLen;
1084 *destLen = *srcLen = 0;
Definition at line 996 of file LzmaDec.c.
1004 dicSize = data[1] | ((
UInt32)data[2] << 8) | ((
UInt32)data[3] << 16) | ((
UInt32)data[4] << 24);
1011 if (d >= (9 * 5 * 5))