Lines Matching refs:optLdm
816 static void ZSTD_opt_getNextMatchAndUpdateSeqStore(ZSTD_optLdm_t* optLdm, U32 currPosInBlock, in ZSTD_opt_getNextMatchAndUpdateSeqStore() argument
824 if (optLdm->seqStore.size == 0 || optLdm->seqStore.pos >= optLdm->seqStore.size) { in ZSTD_opt_getNextMatchAndUpdateSeqStore()
825 optLdm->startPosInBlock = UINT_MAX; in ZSTD_opt_getNextMatchAndUpdateSeqStore()
826 optLdm->endPosInBlock = UINT_MAX; in ZSTD_opt_getNextMatchAndUpdateSeqStore()
831 currSeq = optLdm->seqStore.seq[optLdm->seqStore.pos]; in ZSTD_opt_getNextMatchAndUpdateSeqStore()
832 assert(optLdm->seqStore.posInSequence <= currSeq.litLength + currSeq.matchLength); in ZSTD_opt_getNextMatchAndUpdateSeqStore()
834 literalsBytesRemaining = (optLdm->seqStore.posInSequence < currSeq.litLength) ? in ZSTD_opt_getNextMatchAndUpdateSeqStore()
835 currSeq.litLength - (U32)optLdm->seqStore.posInSequence : in ZSTD_opt_getNextMatchAndUpdateSeqStore()
838 currSeq.matchLength - ((U32)optLdm->seqStore.posInSequence - currSeq.litLength) : in ZSTD_opt_getNextMatchAndUpdateSeqStore()
843 optLdm->startPosInBlock = UINT_MAX; in ZSTD_opt_getNextMatchAndUpdateSeqStore()
844 optLdm->endPosInBlock = UINT_MAX; in ZSTD_opt_getNextMatchAndUpdateSeqStore()
845 ZSTD_optLdm_skipRawSeqStoreBytes(&optLdm->seqStore, blockBytesRemaining); in ZSTD_opt_getNextMatchAndUpdateSeqStore()
851 optLdm->startPosInBlock = currPosInBlock + literalsBytesRemaining; in ZSTD_opt_getNextMatchAndUpdateSeqStore()
852 optLdm->endPosInBlock = optLdm->startPosInBlock + matchBytesRemaining; in ZSTD_opt_getNextMatchAndUpdateSeqStore()
853 optLdm->offset = currSeq.offset; in ZSTD_opt_getNextMatchAndUpdateSeqStore()
855 if (optLdm->endPosInBlock > currBlockEndPos) { in ZSTD_opt_getNextMatchAndUpdateSeqStore()
857 optLdm->endPosInBlock = currBlockEndPos; in ZSTD_opt_getNextMatchAndUpdateSeqStore()
858 ZSTD_optLdm_skipRawSeqStoreBytes(&optLdm->seqStore, currBlockEndPos - currPosInBlock); in ZSTD_opt_getNextMatchAndUpdateSeqStore()
861 … ZSTD_optLdm_skipRawSeqStoreBytes(&optLdm->seqStore, literalsBytesRemaining + matchBytesRemaining); in ZSTD_opt_getNextMatchAndUpdateSeqStore()
870 ZSTD_optLdm_t* optLdm, U32 currPosInBlock) { in ZSTD_optLdm_maybeAddMatch() argument
871 U32 posDiff = currPosInBlock - optLdm->startPosInBlock; in ZSTD_optLdm_maybeAddMatch()
873 U32 candidateMatchLength = optLdm->endPosInBlock - optLdm->startPosInBlock - posDiff; in ZSTD_optLdm_maybeAddMatch()
874 U32 candidateOffCode = optLdm->offset + ZSTD_REP_MOVE; in ZSTD_optLdm_maybeAddMatch()
877 if (currPosInBlock < optLdm->startPosInBlock in ZSTD_optLdm_maybeAddMatch()
878 || currPosInBlock >= optLdm->endPosInBlock in ZSTD_optLdm_maybeAddMatch()
895 static void ZSTD_optLdm_processMatchCandidate(ZSTD_optLdm_t* optLdm, ZSTD_match_t* matches, U32* nb… in ZSTD_optLdm_processMatchCandidate() argument
897 if (optLdm->seqStore.size == 0 || optLdm->seqStore.pos >= optLdm->seqStore.size) { in ZSTD_optLdm_processMatchCandidate()
901 if (currPosInBlock >= optLdm->endPosInBlock) { in ZSTD_optLdm_processMatchCandidate()
902 if (currPosInBlock > optLdm->endPosInBlock) { in ZSTD_optLdm_processMatchCandidate()
907 U32 posOvershoot = currPosInBlock - optLdm->endPosInBlock; in ZSTD_optLdm_processMatchCandidate()
908 ZSTD_optLdm_skipRawSeqStoreBytes(&optLdm->seqStore, posOvershoot); in ZSTD_optLdm_processMatchCandidate()
910 ZSTD_opt_getNextMatchAndUpdateSeqStore(optLdm, currPosInBlock, remainingBytes); in ZSTD_optLdm_processMatchCandidate()
912 ZSTD_optLdm_maybeAddMatch(matches, nbMatches, optLdm, currPosInBlock); in ZSTD_optLdm_processMatchCandidate()
967 ZSTD_optLdm_t optLdm; in ZSTD_compressBlock_opt_generic() local
969 optLdm.seqStore = ms->ldmSeqStore ? *ms->ldmSeqStore : kNullRawSeqStore; in ZSTD_compressBlock_opt_generic()
970 optLdm.endPosInBlock = optLdm.startPosInBlock = optLdm.offset = 0; in ZSTD_compressBlock_opt_generic()
971 ZSTD_opt_getNextMatchAndUpdateSeqStore(&optLdm, (U32)(ip-istart), (U32)(iend-ip)); in ZSTD_compressBlock_opt_generic()
988 ZSTD_optLdm_processMatchCandidate(&optLdm, matches, &nbMatches, in ZSTD_compressBlock_opt_generic()
1105 ZSTD_optLdm_processMatchCandidate(&optLdm, matches, &nbMatches, in ZSTD_compressBlock_opt_generic()