minor code refactoring for clarity
This commit is contained in:
parent
33c38b0925
commit
b184589c4c
@ -815,14 +815,19 @@ static seq_t ZSTD_decodeSequence(seqState_t* seqState)
|
|||||||
U32 const totalBits = llBits+mlBits+ofBits;
|
U32 const totalBits = llBits+mlBits+ofBits;
|
||||||
|
|
||||||
static const U32 LL_base[MaxLL+1] = {
|
static const U32 LL_base[MaxLL+1] = {
|
||||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
|
0, 1, 2, 3, 4, 5, 6, 7,
|
||||||
16, 18, 20, 22, 24, 28, 32, 40, 48, 64, 0x80, 0x100, 0x200, 0x400, 0x800, 0x1000,
|
8, 9, 10, 11, 12, 13, 14, 15,
|
||||||
|
16, 18, 20, 22, 24, 28, 32, 40,
|
||||||
|
48, 64, 0x80, 0x100, 0x200, 0x400, 0x800, 0x1000,
|
||||||
0x2000, 0x4000, 0x8000, 0x10000 };
|
0x2000, 0x4000, 0x8000, 0x10000 };
|
||||||
|
|
||||||
static const U32 ML_base[MaxML+1] = {
|
static const U32 ML_base[MaxML+1] = {
|
||||||
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
|
3, 4, 5, 6, 7, 8, 9, 10,
|
||||||
19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
|
11, 12, 13, 14, 15, 16, 17, 18,
|
||||||
35, 37, 39, 41, 43, 47, 51, 59, 67, 83, 99, 0x83, 0x103, 0x203, 0x403, 0x803,
|
19, 20, 21, 22, 23, 24, 25, 26,
|
||||||
|
27, 28, 29, 30, 31, 32, 33, 34,
|
||||||
|
35, 37, 39, 41, 43, 47, 51, 59,
|
||||||
|
67, 83, 99, 0x83, 0x103, 0x203, 0x403, 0x803,
|
||||||
0x1003, 0x2003, 0x4003, 0x8003, 0x10003 };
|
0x1003, 0x2003, 0x4003, 0x8003, 0x10003 };
|
||||||
|
|
||||||
static const U32 OF_base[MaxOff+1] = {
|
static const U32 OF_base[MaxOff+1] = {
|
||||||
@ -1028,14 +1033,19 @@ FORCE_INLINE seq_t ZSTD_decodeSequenceLong_generic(seqState_t* seqState, int con
|
|||||||
U32 const totalBits = llBits+mlBits+ofBits;
|
U32 const totalBits = llBits+mlBits+ofBits;
|
||||||
|
|
||||||
static const U32 LL_base[MaxLL+1] = {
|
static const U32 LL_base[MaxLL+1] = {
|
||||||
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
|
0, 1, 2, 3, 4, 5, 6, 7,
|
||||||
16, 18, 20, 22, 24, 28, 32, 40, 48, 64, 0x80, 0x100, 0x200, 0x400, 0x800, 0x1000,
|
8, 9, 10, 11, 12, 13, 14, 15,
|
||||||
|
16, 18, 20, 22, 24, 28, 32, 40,
|
||||||
|
48, 64, 0x80, 0x100, 0x200, 0x400, 0x800, 0x1000,
|
||||||
0x2000, 0x4000, 0x8000, 0x10000 };
|
0x2000, 0x4000, 0x8000, 0x10000 };
|
||||||
|
|
||||||
static const U32 ML_base[MaxML+1] = {
|
static const U32 ML_base[MaxML+1] = {
|
||||||
3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
|
3, 4, 5, 6, 7, 8, 9, 10,
|
||||||
19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
|
11, 12, 13, 14, 15, 16, 17, 18,
|
||||||
35, 37, 39, 41, 43, 47, 51, 59, 67, 83, 99, 0x83, 0x103, 0x203, 0x403, 0x803,
|
19, 20, 21, 22, 23, 24, 25, 26,
|
||||||
|
27, 28, 29, 30, 31, 32, 33, 34,
|
||||||
|
35, 37, 39, 41, 43, 47, 51, 59,
|
||||||
|
67, 83, 99, 0x83, 0x103, 0x203, 0x403, 0x803,
|
||||||
0x1003, 0x2003, 0x4003, 0x8003, 0x10003 };
|
0x1003, 0x2003, 0x4003, 0x8003, 0x10003 };
|
||||||
|
|
||||||
static const U32 OF_base[MaxOff+1] = {
|
static const U32 OF_base[MaxOff+1] = {
|
||||||
@ -1987,15 +1997,18 @@ unsigned ZSTD_getDictID_fromDDict(const ZSTD_DDict* ddict)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*! ZSTD_getDictID_fromFrame() :
|
/*! ZSTD_getDictID_fromFrame() :
|
||||||
* Provides the dictID required to decompressed the frame stored within `src`.
|
* Provides the dictID required to decompresse frame stored within `src`.
|
||||||
* If @return == 0, the dictID could not be decoded.
|
* If @return == 0, the dictID could not be decoded.
|
||||||
* This could for one of the following reasons :
|
* This could for one of the following reasons :
|
||||||
* - The frame does not require a dictionary to be decoded (most common case).
|
* - The frame does not require a dictionary (most common case).
|
||||||
* - The frame was built with dictID intentionally removed. Whatever dictionary is necessary is a hidden information.
|
* - The frame was built with dictID intentionally removed.
|
||||||
|
* Needed dictionary is a hidden information.
|
||||||
* Note : this use case also happens when using a non-conformant dictionary.
|
* Note : this use case also happens when using a non-conformant dictionary.
|
||||||
* - `srcSize` is too small, and as a result, the frame header could not be decoded (only possible if `srcSize < ZSTD_FRAMEHEADERSIZE_MAX`).
|
* - `srcSize` is too small, and as a result, frame header could not be decoded.
|
||||||
|
* Note : possible if `srcSize < ZSTD_FRAMEHEADERSIZE_MAX`.
|
||||||
* - This is not a Zstandard frame.
|
* - This is not a Zstandard frame.
|
||||||
* When identifying the exact failure cause, it's possible to used ZSTD_getFrameParams(), which will provide a more precise error code. */
|
* When identifying the exact failure cause, it's possible to use
|
||||||
|
* ZSTD_getFrameParams(), which will provide a more precise error code. */
|
||||||
unsigned ZSTD_getDictID_fromFrame(const void* src, size_t srcSize)
|
unsigned ZSTD_getDictID_fromFrame(const void* src, size_t srcSize)
|
||||||
{
|
{
|
||||||
ZSTD_frameParams zfp = { 0 , 0 , 0 , 0 };
|
ZSTD_frameParams zfp = { 0 , 0 , 0 , 0 };
|
||||||
@ -2123,7 +2136,9 @@ size_t ZSTD_initDStream(ZSTD_DStream* zds)
|
|||||||
return ZSTD_initDStream_usingDict(zds, NULL, 0);
|
return ZSTD_initDStream_usingDict(zds, NULL, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t ZSTD_initDStream_usingDDict(ZSTD_DStream* zds, const ZSTD_DDict* ddict) /**< note : ddict will just be referenced, and must outlive decompression session */
|
/* ZSTD_initDStream_usingDDict() :
|
||||||
|
* ddict will just be referenced, and must outlive decompression session */
|
||||||
|
size_t ZSTD_initDStream_usingDDict(ZSTD_DStream* zds, const ZSTD_DDict* ddict)
|
||||||
{
|
{
|
||||||
size_t const initResult = ZSTD_initDStream(zds);
|
size_t const initResult = ZSTD_initDStream(zds);
|
||||||
zds->ddict = ddict;
|
zds->ddict = ddict;
|
||||||
@ -2153,8 +2168,11 @@ size_t ZSTD_setDStreamParameter(ZSTD_DStream* zds,
|
|||||||
|
|
||||||
size_t ZSTD_sizeof_DStream(const ZSTD_DStream* zds)
|
size_t ZSTD_sizeof_DStream(const ZSTD_DStream* zds)
|
||||||
{
|
{
|
||||||
if (zds==NULL) return 0; /* support sizeof on NULL */
|
if (zds==NULL) return 0; /* support sizeof NULL */
|
||||||
return sizeof(*zds) + ZSTD_sizeof_DCtx(zds->dctx) + ZSTD_sizeof_DDict(zds->ddictLocal) + zds->inBuffSize + zds->outBuffSize;
|
return sizeof(*zds)
|
||||||
|
+ ZSTD_sizeof_DCtx(zds->dctx)
|
||||||
|
+ ZSTD_sizeof_DDict(zds->ddictLocal)
|
||||||
|
+ zds->inBuffSize + zds->outBuffSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user