restore decompression speed on fizzle
parent
3b2bd1d11c
commit
66f69e58d2
|
@ -583,7 +583,7 @@ typedef struct {
|
||||||
FSE_DState_t stateLL;
|
FSE_DState_t stateLL;
|
||||||
FSE_DState_t stateOffb;
|
FSE_DState_t stateOffb;
|
||||||
FSE_DState_t stateML;
|
FSE_DState_t stateML;
|
||||||
U32 prevOffset[ZSTD_REP_NUM];
|
size_t prevOffset[ZSTD_REP_NUM];
|
||||||
} seqState_t;
|
} seqState_t;
|
||||||
|
|
||||||
|
|
||||||
|
@ -629,18 +629,17 @@ static seq_t ZSTD_decodeSequence(seqState_t* seqState)
|
||||||
if (ofCode <= 1) {
|
if (ofCode <= 1) {
|
||||||
if ((llCode == 0) & (offset <= 1)) offset = 1-offset;
|
if ((llCode == 0) & (offset <= 1)) offset = 1-offset;
|
||||||
if (offset) {
|
if (offset) {
|
||||||
U32 const temp = seqState->prevOffset[offset];
|
size_t const temp = seqState->prevOffset[offset];
|
||||||
if (offset != 1) seqState->prevOffset[2] = seqState->prevOffset[1];
|
if (offset != 1) seqState->prevOffset[2] = seqState->prevOffset[1];
|
||||||
seqState->prevOffset[1] = seqState->prevOffset[0];
|
seqState->prevOffset[1] = seqState->prevOffset[0];
|
||||||
seqState->prevOffset[0] = temp;
|
seqState->prevOffset[0] = offset = temp;
|
||||||
offset = temp;
|
|
||||||
} else {
|
} else {
|
||||||
offset = seqState->prevOffset[0];
|
offset = seqState->prevOffset[0];
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
seqState->prevOffset[2] = seqState->prevOffset[1];
|
seqState->prevOffset[2] = seqState->prevOffset[1];
|
||||||
seqState->prevOffset[1] = seqState->prevOffset[0];
|
seqState->prevOffset[1] = seqState->prevOffset[0];
|
||||||
seqState->prevOffset[0] = (U32)offset;
|
seqState->prevOffset[0] = offset;
|
||||||
}
|
}
|
||||||
seq.offset = offset;
|
seq.offset = offset;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue