Improve documentation of seqStore_t
parent
96b0ff7886
commit
9171f920cd
|
@ -341,23 +341,28 @@ MEM_STATIC size_t ZSTD_limitCopy(void* dst, size_t dstCapacity, const void* src,
|
|||
* Private declarations
|
||||
*********************************************/
|
||||
typedef struct seqDef_s {
|
||||
U32 offset;
|
||||
U32 offset; /* Offset code of the sequence */
|
||||
U16 litLength;
|
||||
U16 matchLength;
|
||||
} seqDef;
|
||||
|
||||
typedef struct {
|
||||
seqDef* sequencesStart;
|
||||
seqDef* sequences;
|
||||
seqDef* sequences; /* ptr to end of sequences */
|
||||
BYTE* litStart;
|
||||
BYTE* lit;
|
||||
BYTE* lit; /* ptr to end of literals */
|
||||
BYTE* llCode;
|
||||
BYTE* mlCode;
|
||||
BYTE* ofCode;
|
||||
size_t maxNbSeq;
|
||||
size_t maxNbLit;
|
||||
U32 longLengthID; /* 0 == no longLength; 1 == Lit.longLength; 2 == Match.longLength; */
|
||||
U32 longLengthPos;
|
||||
|
||||
/* longLengthPos and longLengthID to allow us to represent either a single litLength or matchLength
|
||||
* in the seqStore that has a value larger than U16 (if it exists). To do so, we increment
|
||||
* the existing value of the literal or match by 0x10000.
|
||||
*/
|
||||
U32 longLengthID; /* 0 == no longLength; 1 == Represent the long literal; 2 == Represent the long match; */
|
||||
U32 longLengthPos; /* Index of the sequence to apply long length modification to */
|
||||
} seqStore_t;
|
||||
|
||||
typedef struct {
|
||||
|
|
|
@ -2455,10 +2455,6 @@ static void ZSTD_copyBlockSequences(ZSTD_CCtx* zc)
|
|||
outSeqs[i].litLength = seqStoreSeqs[i].litLength;
|
||||
outSeqs[i].matchLength = seqStoreSeqs[i].matchLength + MINMATCH;
|
||||
|
||||
/* matchLength and litLength are stored with U16. longLengthPos
|
||||
* and longLengthID to allow us to represent a single litLength or matchLength
|
||||
* in the seqStore that has a value larger than U16 (if it exists).
|
||||
*/
|
||||
if (i == seqStore->longLengthPos) {
|
||||
if (seqStore->longLengthID == 1) {
|
||||
outSeqs[i].litLength += 0x10000;
|
||||
|
|
26
lib/zstd.h
26
lib/zstd.h
|
@ -1115,24 +1115,24 @@ typedef struct ZSTD_CCtx_params_s ZSTD_CCtx_params;
|
|||
|
||||
typedef struct {
|
||||
unsigned int offset; /* The offset of the match.
|
||||
* If == 0, then represents a block of literals, determined by litLength
|
||||
*/
|
||||
* If == 0, then represents a block of literals, determined by litLength
|
||||
*/
|
||||
|
||||
unsigned int litLength; /* Literal length */
|
||||
unsigned int matchLength; /* Match length. */
|
||||
|
||||
unsigned int rep; /* Represents which repeat offset is used. Ranges from [0, 3].
|
||||
* If rep == 0, then this sequence does not contain a repeat offset.
|
||||
* Otherwise:
|
||||
* If litLength != 0:
|
||||
* rep == 1 --> offset == repeat offset 1
|
||||
* rep == 2 --> offset == repeat offset 2
|
||||
* rep == 3 --> offset == repeat offset 3
|
||||
* If litLength == 0:
|
||||
* rep == 1 --> offset == repeat offset 2
|
||||
* rep == 2 --> offset == repeat offset 3
|
||||
* rep == 3 --> offset == repeat offset 1 - 1
|
||||
*/
|
||||
* If rep == 0, then this sequence does not contain a repeat offset.
|
||||
* Otherwise:
|
||||
* If litLength != 0:
|
||||
* rep == 1 --> offset == repeat offset 1
|
||||
* rep == 2 --> offset == repeat offset 2
|
||||
* rep == 3 --> offset == repeat offset 3
|
||||
* If litLength == 0:
|
||||
* rep == 1 --> offset == repeat offset 2
|
||||
* rep == 2 --> offset == repeat offset 3
|
||||
* rep == 3 --> offset == repeat offset 1 - 1
|
||||
*/
|
||||
} ZSTD_Sequence;
|
||||
|
||||
typedef struct {
|
||||
|
|
Loading…
Reference in New Issue