]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
remove ZSTD_compressBlock_opt2_generic
authorinikep <inikep@gmail.com>
Fri, 5 Feb 2016 19:29:31 +0000 (20:29 +0100)
committerinikep <inikep@gmail.com>
Fri, 5 Feb 2016 19:29:31 +0000 (20:29 +0100)
lib/zstd_opt.c

index a346a9f5b9166580f06ccb2c7e8ec7f58b45e4d5..b945b69e1d289b18d5a3df7d4bbfbed9008bb71d 100644 (file)
@@ -394,152 +394,6 @@ void print_hex_text(uint8_t* buf, int bufsize, int endline)
 }
 
 
-/* *******************************
-*  Old parser
-*********************************/
-FORCE_INLINE
-void ZSTD_compressBlock_opt2_generic(ZSTD_CCtx* ctx,
-                                     const void* src, size_t srcSize,
-                                     const U32 searchMethod, const U32 depth)
-{
-    seqStore_t* seqStorePtr = &(ctx->seqStore);
-    const BYTE* const istart = (const BYTE*)src;
-    const BYTE* ip = istart;
-    const BYTE* anchor = istart;
-    const BYTE* const iend = istart + srcSize;
-    const BYTE* const ilimit = iend - 8;
-    const BYTE* const base = ctx->base + ctx->dictLimit;
-
-    size_t offset_2=REPCODE_STARTVALUE, offset_1=REPCODE_STARTVALUE;
-    const U32 maxSearches = 1 << ctx->params.searchLog;
-    const U32 mls = ctx->params.searchLength;
-
-    typedef size_t (*searchMax_f)(ZSTD_CCtx* zc, const BYTE* ip, const BYTE* iLimit,
-                        size_t* offsetPtr,
-                        U32 maxNbAttempts, U32 matchLengthSearch);
-    searchMax_f searchMax = searchMethod ? ZSTD_BtFindBestMatch_selectMLS : ZSTD_HcFindBestMatch_selectMLS;
-#if 0
-    typedef size_t (*getAllMatches_f)(ZSTD_CCtx* zc, const BYTE* ip, const BYTE* iLimit,
-                        U32 maxNbAttempts, U32 matchLengthSearch, ZSTD_match_t* matches);
-    getAllMatches_f getAllMatches = searchMethod ? ZSTD_BtGetAllMatches_selectMLS : ZSTD_HcGetAllMatches_selectMLS;
-
-    ZSTD_match_t matches[ZSTD_OPT_NUM+1];
-#endif
-
-    /* init */
-    ZSTD_resetSeqStore(seqStorePtr);
-    if ((ip-base) < REPCODE_STARTVALUE) ip = base + REPCODE_STARTVALUE;
-
-    /* Match Loop */
-    while (ip < ilimit) {
-        size_t matchLength=0;
-        size_t offset=0;
-        const BYTE* start=ip+1;
-
-#define ZSTD_USE_REP
-#ifdef ZSTD_USE_REP
-        /* check repCode */
-        if (MEM_read32(start) == MEM_read32(start - offset_1)) {
-            /* repcode : we take it */
-            matchLength = ZSTD_count(start+MINMATCH, start+MINMATCH-offset_1, iend) + MINMATCH;
-            if (depth==0) goto _storeSequence;
-        }
-#endif
-
-        {
-            /* first search (depth 0) */
-#if 1
-            size_t offsetFound = 99999999;
-            size_t ml2 = searchMax(ctx, ip, iend, &offsetFound, maxSearches, mls);
-            if (ml2 > matchLength)
-                start=ip, matchLength = ml2,  offset=offsetFound;
-#else
-            size_t mnum = getAllMatches(ctx, ip, iend, maxSearches, mls, matches); 
-            if (mnum > 0) {
-                if (matches[mnum-1].len > matchLength)
-                    start=ip, matchLength = matches[mnum-1].len, offset=matches[mnum-1].off;
-            }
-#endif
-        }
-
-        if (matchLength < MINMATCH) {
-       //     ip += ((ip-anchor) >> g_searchStrength) + 1;   /* jump faster over incompressible sections */
-            ip++;
-            continue;
-        }
-
-#if 1
-        /* let's try to find a better solution */
-        if (depth>=1)
-        while (ip<ilimit) {
-            ip ++;
-#ifdef ZSTD_USE_REP
-            if ((offset) && (MEM_read32(ip) == MEM_read32(ip - offset_1))) {
-                size_t mlRep = ZSTD_count(ip+MINMATCH, ip+MINMATCH-offset_1, iend) + MINMATCH;
-                int gain2 = (int)(mlRep * 3);
-                int gain1 = (int)(matchLength*3 - ZSTD_highbit((U32)offset+1) + 1);
-                if ((mlRep >= MINMATCH) && (gain2 > gain1))
-                    matchLength = mlRep, offset = 0, start = ip;
-            }
-#endif
-            {
-                size_t offset2=999999;
-                size_t ml2 = searchMax(ctx, ip, iend, &offset2, maxSearches, mls);
-                int gain2 = (int)(ml2*4 - ZSTD_highbit((U32)offset2+1));   /* raw approx */
-                int gain1 = (int)(matchLength*4 - ZSTD_highbit((U32)offset+1) + 4);
-                if ((ml2 >= MINMATCH) && (gain2 > gain1)) {
-                    matchLength = ml2, offset = offset2, start = ip;
-                    continue;   /* search a better one */
-            }   }
-
-            break;  /* nothing found : store previous solution */
-        }
-#endif
-
-        /* store sequence */
-_storeSequence:
-
-        /* catch up */
-        if (offset) {
-            while ((start>anchor) && (start>base+offset) && (start[-1] == start[-1-offset]))   /* only search for offset within prefix */
-                { start--; matchLength++; }
-            offset_2 = offset_1; offset_1 = offset;
-        }
-
-        {
-            size_t litLength = start - anchor;
-            ZSTD_LOG_ENCODE("%d/%d: ENCODE literals=%d off=%d mlen=%d offset_1=%d offset_2=%d\n", (int)(ip-base), (int)(iend-base), (int)(litLength), (int)(offset), (int)matchLength, (int)offset_1, (int)offset_2);
-            ZSTD_storeSeq(seqStorePtr, litLength, anchor, offset, matchLength-MINMATCH);
-            anchor = ip = start + matchLength;
-        }
-
-#ifdef ZSTD_USE_REP      /* check immediate repcode */
-        while ( (ip <= ilimit)
-             && (MEM_read32(ip) == MEM_read32(ip - offset_2)) ) {
-            /* store sequence */
-            matchLength = ZSTD_count(ip+MINMATCH, ip+MINMATCH-offset_2, iend);
-            offset = offset_2;
-            offset_2 = offset_1;
-            offset_1 = offset;
-            ZSTD_storeSeq(seqStorePtr, 0, anchor, 0, matchLength);
-            ip += matchLength+MINMATCH;
-            anchor = ip;
-            continue;   /* faster when present ... (?) */
-    }
-#endif   
-    }
-
-    /* Last Literals */
-    {
-        size_t lastLLSize = iend - anchor;
-        ZSTD_LOG_ENCODE("%d/%d: ENCODE lastLLSize=%d\n", (int)(ip-base), (int)(iend-base), (int)(lastLLSize));
-        memcpy(seqStorePtr->lit, anchor, lastLLSize);
-        seqStorePtr->lit += lastLLSize;
-    }
-}
-
-
 
 
 /* *******************************