Lines Matching refs:optLdm
942 ZSTD_opt_getNextMatchAndUpdateSeqStore(ZSTD_optLdm_t* optLdm, U32 currPosInBlock, in ZSTD_opt_getNextMatchAndUpdateSeqStore() argument
951 if (optLdm->seqStore.size == 0 || optLdm->seqStore.pos >= optLdm->seqStore.size) { in ZSTD_opt_getNextMatchAndUpdateSeqStore()
952 optLdm->startPosInBlock = UINT_MAX; in ZSTD_opt_getNextMatchAndUpdateSeqStore()
953 optLdm->endPosInBlock = UINT_MAX; in ZSTD_opt_getNextMatchAndUpdateSeqStore()
958 currSeq = optLdm->seqStore.seq[optLdm->seqStore.pos]; in ZSTD_opt_getNextMatchAndUpdateSeqStore()
959 assert(optLdm->seqStore.posInSequence <= currSeq.litLength + currSeq.matchLength); in ZSTD_opt_getNextMatchAndUpdateSeqStore()
961 literalsBytesRemaining = (optLdm->seqStore.posInSequence < currSeq.litLength) ? in ZSTD_opt_getNextMatchAndUpdateSeqStore()
962 currSeq.litLength - (U32)optLdm->seqStore.posInSequence : in ZSTD_opt_getNextMatchAndUpdateSeqStore()
965 currSeq.matchLength - ((U32)optLdm->seqStore.posInSequence - currSeq.litLength) : in ZSTD_opt_getNextMatchAndUpdateSeqStore()
970 optLdm->startPosInBlock = UINT_MAX; in ZSTD_opt_getNextMatchAndUpdateSeqStore()
971 optLdm->endPosInBlock = UINT_MAX; in ZSTD_opt_getNextMatchAndUpdateSeqStore()
972 ZSTD_optLdm_skipRawSeqStoreBytes(&optLdm->seqStore, blockBytesRemaining); in ZSTD_opt_getNextMatchAndUpdateSeqStore()
978 optLdm->startPosInBlock = currPosInBlock + literalsBytesRemaining; in ZSTD_opt_getNextMatchAndUpdateSeqStore()
979 optLdm->endPosInBlock = optLdm->startPosInBlock + matchBytesRemaining; in ZSTD_opt_getNextMatchAndUpdateSeqStore()
980 optLdm->offset = currSeq.offset; in ZSTD_opt_getNextMatchAndUpdateSeqStore()
982 if (optLdm->endPosInBlock > currBlockEndPos) { in ZSTD_opt_getNextMatchAndUpdateSeqStore()
984 optLdm->endPosInBlock = currBlockEndPos; in ZSTD_opt_getNextMatchAndUpdateSeqStore()
985 ZSTD_optLdm_skipRawSeqStoreBytes(&optLdm->seqStore, currBlockEndPos - currPosInBlock); in ZSTD_opt_getNextMatchAndUpdateSeqStore()
988 … ZSTD_optLdm_skipRawSeqStoreBytes(&optLdm->seqStore, literalsBytesRemaining + matchBytesRemaining); in ZSTD_opt_getNextMatchAndUpdateSeqStore()
998 const ZSTD_optLdm_t* optLdm, U32 currPosInBlock, in ZSTD_optLdm_maybeAddMatch() argument
1001 U32 const posDiff = currPosInBlock - optLdm->startPosInBlock; in ZSTD_optLdm_maybeAddMatch()
1003 U32 const candidateMatchLength = optLdm->endPosInBlock - optLdm->startPosInBlock - posDiff; in ZSTD_optLdm_maybeAddMatch()
1006 if (currPosInBlock < optLdm->startPosInBlock in ZSTD_optLdm_maybeAddMatch()
1007 || currPosInBlock >= optLdm->endPosInBlock in ZSTD_optLdm_maybeAddMatch()
1013 U32 const candidateOffBase = OFFSET_TO_OFFBASE(optLdm->offset); in ZSTD_optLdm_maybeAddMatch()
1026 ZSTD_optLdm_processMatchCandidate(ZSTD_optLdm_t* optLdm, in ZSTD_optLdm_processMatchCandidate() argument
1031 if (optLdm->seqStore.size == 0 || optLdm->seqStore.pos >= optLdm->seqStore.size) { in ZSTD_optLdm_processMatchCandidate()
1035 if (currPosInBlock >= optLdm->endPosInBlock) { in ZSTD_optLdm_processMatchCandidate()
1036 if (currPosInBlock > optLdm->endPosInBlock) { in ZSTD_optLdm_processMatchCandidate()
1041 U32 const posOvershoot = currPosInBlock - optLdm->endPosInBlock; in ZSTD_optLdm_processMatchCandidate()
1042 ZSTD_optLdm_skipRawSeqStoreBytes(&optLdm->seqStore, posOvershoot); in ZSTD_optLdm_processMatchCandidate()
1044 ZSTD_opt_getNextMatchAndUpdateSeqStore(optLdm, currPosInBlock, remainingBytes); in ZSTD_optLdm_processMatchCandidate()
1046 ZSTD_optLdm_maybeAddMatch(matches, nbMatches, optLdm, currPosInBlock, minMatch); in ZSTD_optLdm_processMatchCandidate()
1104 ZSTD_optLdm_t optLdm; in ZSTD_compressBlock_opt_generic() local
1108 optLdm.seqStore = ms->ldmSeqStore ? *ms->ldmSeqStore : kNullRawSeqStore; in ZSTD_compressBlock_opt_generic()
1109 optLdm.endPosInBlock = optLdm.startPosInBlock = optLdm.offset = 0; in ZSTD_compressBlock_opt_generic()
1110 ZSTD_opt_getNextMatchAndUpdateSeqStore(&optLdm, (U32)(ip-istart), (U32)(iend-ip)); in ZSTD_compressBlock_opt_generic()
1127 ZSTD_optLdm_processMatchCandidate(&optLdm, matches, &nbMatches, in ZSTD_compressBlock_opt_generic()
1282 ZSTD_optLdm_processMatchCandidate(&optLdm, matches, &nbMatches, in ZSTD_compressBlock_opt_generic()