Cleaning up parsing per suggestion
This commit is contained in:
parent
e3c5825918
commit
47199480da
@ -2291,27 +2291,17 @@ static void ZSTD_copyBlockSequences(ZSTD_CCtx* zc)
|
|||||||
outSeqs[i].rep = 1;
|
outSeqs[i].rep = 1;
|
||||||
repIdx = i - outSeqs[i].offset;
|
repIdx = i - outSeqs[i].offset;
|
||||||
|
|
||||||
/* Not first block */
|
if (outSeqs[i].litLength == 0) {
|
||||||
if (repIdx >= 0) {
|
if (outSeqs[i].offset < 3) {
|
||||||
/* Special case where litLength == 0 */
|
--repIdx;
|
||||||
if (outSeqs[i].litLength == 0) {
|
|
||||||
/* When the offset is 3 */
|
|
||||||
if (outSeqs[i].offset > 2) {
|
|
||||||
outSeqs[i].offset = outSeqs[repIdx - 1].offset - 1;
|
|
||||||
/* When the offset is either 1 or 2 */
|
|
||||||
} else {
|
|
||||||
outSeqs[i].offset = outSeqs[repIdx - 1].offset;
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
outSeqs[i].offset = outSeqs[repIdx].offset;
|
repIdx = i - 1;
|
||||||
}
|
}
|
||||||
/* First block */
|
}
|
||||||
} else if (repIdx == -1) {
|
assert(repIdx >= -3);
|
||||||
outSeqs[i].offset = 1;
|
outSeqs[i].offset = repIdx >= 0 ? outSeqs[repIdx].offset : repStartValue[-repIdx - 1];
|
||||||
} else if (repIdx == -2) {
|
if (outSeqs[i].offset == 3) {
|
||||||
outSeqs[i].offset = 4;
|
--outSeqs[i].offset;
|
||||||
} else if (repIdx == -3) {
|
|
||||||
outSeqs[i].offset = 8;
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
outSeqs[i].offset -= ZSTD_REP_NUM;
|
outSeqs[i].offset -= ZSTD_REP_NUM;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user