From: W. Felix Handte Date: Thu, 20 Apr 2023 15:53:23 +0000 (-0400) Subject: Merge Ultra and Ultra2 Exclusion X-Git-Tag: v1.5.6^2~162^2~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b12e8cb3e73c2eb0d176eb9b4dd0ff943b766242;p=thirdparty%2Fzstd.git Merge Ultra and Ultra2 Exclusion Ultra2 does not exist for dict compression, and so uses ultra. So ultra must be present if ultra2 is. --- diff --git a/lib/compress/zstd_compress.c b/lib/compress/zstd_compress.c index cbe10aa98..c51151980 100644 --- a/lib/compress/zstd_compress.c +++ b/lib/compress/zstd_compress.c @@ -1469,12 +1469,10 @@ ZSTD_adjustCParams_internal(ZSTD_compressionParameters cPar, /* Cascade the selected strategy down to the next-highest one built into * this binary. */ -#ifdef ZSTD_EXCLUDE_BTULTRA2_BLOCK_COMPRESSOR +#ifdef ZSTD_EXCLUDE_BTULTRA_BLOCK_COMPRESSOR if (cPar.strategy == ZSTD_btultra2) { cPar.strategy = ZSTD_btultra; } -#endif -#ifdef ZSTD_EXCLUDE_BTULTRA_BLOCK_COMPRESSOR if (cPar.strategy == ZSTD_btultra) { cPar.strategy = ZSTD_btopt; } @@ -3068,12 +3066,9 @@ ZSTD_blockCompressor ZSTD_selectBlockCompressor(ZSTD_strategy strat, ZSTD_paramS #endif #ifdef ZSTD_EXCLUDE_BTULTRA_BLOCK_COMPRESSOR NULL, -#else - ZSTD_compressBlock_btultra, -#endif -#ifdef ZSTD_EXCLUDE_BTULTRA2_BLOCK_COMPRESSOR NULL #else + ZSTD_compressBlock_btultra, ZSTD_compressBlock_btultra2 #endif }, @@ -5006,8 +5001,7 @@ static size_t ZSTD_loadDictionaryContent(ZSTD_matchState_t* ms, case ZSTD_btultra2: #if !defined(ZSTD_EXCLUDE_BTLAZY2_BLOCK_COMPRESSOR) \ || !defined(ZSTD_EXCLUDE_BTOPT_BLOCK_COMPRESSOR) \ - || !defined(ZSTD_EXCLUDE_BTULTRA_BLOCK_COMPRESSOR) \ - || !defined(ZSTD_EXCLUDE_BTULTRA2_BLOCK_COMPRESSOR) + || !defined(ZSTD_EXCLUDE_BTULTRA_BLOCK_COMPRESSOR) assert(srcSize >= HASH_READ_SIZE); ZSTD_updateTree(ms, iend-HASH_READ_SIZE, iend); #endif diff --git a/lib/compress/zstd_opt.c b/lib/compress/zstd_opt.c index 2856398cf..edcd65e21 100644 --- a/lib/compress/zstd_opt.c +++ b/lib/compress/zstd_opt.c @@ -14,8 +14,7 @@ #if !defined(ZSTD_EXCLUDE_BTLAZY2_BLOCK_COMPRESSOR) \ || !defined(ZSTD_EXCLUDE_BTOPT_BLOCK_COMPRESSOR) \ - || !defined(ZSTD_EXCLUDE_BTULTRA_BLOCK_COMPRESSOR) \ - || !defined(ZSTD_EXCLUDE_BTULTRA2_BLOCK_COMPRESSOR) + || !defined(ZSTD_EXCLUDE_BTULTRA_BLOCK_COMPRESSOR) #define ZSTD_LITFREQ_ADD 2 /* scaling factor for litFreq, so that frequencies adapt faster to new stats */ #define ZSTD_MAX_PRICE (1<<30) @@ -1361,8 +1360,7 @@ static size_t ZSTD_compressBlock_opt0( } #endif -#if !defined(ZSTD_EXCLUDE_BTULTRA_BLOCK_COMPRESSOR) \ - || !defined(ZSTD_EXCLUDE_BTULTRA2_BLOCK_COMPRESSOR) +#ifndef ZSTD_EXCLUDE_BTULTRA_BLOCK_COMPRESSOR static size_t ZSTD_compressBlock_opt2( ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], const void* src, size_t srcSize, const ZSTD_dictMode_e dictMode) @@ -1384,7 +1382,7 @@ size_t ZSTD_compressBlock_btopt( -#ifndef ZSTD_EXCLUDE_BTULTRA2_BLOCK_COMPRESSOR +#ifndef ZSTD_EXCLUDE_BTULTRA_BLOCK_COMPRESSOR /* ZSTD_initStats_ultra(): * make a first compression pass, just to seed stats with more accurate starting values. * only works on first block, with no dictionary and no ldm. @@ -1425,9 +1423,7 @@ size_t ZSTD_compressBlock_btultra( DEBUGLOG(5, "ZSTD_compressBlock_btultra (srcSize=%zu)", srcSize); return ZSTD_compressBlock_opt2(ms, seqStore, rep, src, srcSize, ZSTD_noDict); } -#endif -#ifndef ZSTD_EXCLUDE_BTULTRA2_BLOCK_COMPRESSOR size_t ZSTD_compressBlock_btultra2( ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], const void* src, size_t srcSize) diff --git a/lib/compress/zstd_opt.h b/lib/compress/zstd_opt.h index 141981da0..e503df32b 100644 --- a/lib/compress/zstd_opt.h +++ b/lib/compress/zstd_opt.h @@ -19,8 +19,7 @@ extern "C" { #if !defined(ZSTD_EXCLUDE_BTLAZY2_BLOCK_COMPRESSOR) \ || !defined(ZSTD_EXCLUDE_BTOPT_BLOCK_COMPRESSOR) \ - || !defined(ZSTD_EXCLUDE_BTULTRA_BLOCK_COMPRESSOR) \ - || !defined(ZSTD_EXCLUDE_BTULTRA2_BLOCK_COMPRESSOR) + || !defined(ZSTD_EXCLUDE_BTULTRA_BLOCK_COMPRESSOR) /* used in ZSTD_loadDictionaryContent() */ void ZSTD_updateTree(ZSTD_matchState_t* ms, const BYTE* ip, const BYTE* iend); #endif @@ -34,8 +33,6 @@ size_t ZSTD_compressBlock_btopt( size_t ZSTD_compressBlock_btultra( ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], void const* src, size_t srcSize); -#endif -#ifndef ZSTD_EXCLUDE_BTULTRA2_BLOCK_COMPRESSOR size_t ZSTD_compressBlock_btultra2( ZSTD_matchState_t* ms, seqStore_t* seqStore, U32 rep[ZSTD_REP_NUM], void const* src, size_t srcSize); diff --git a/tests/fuzzer.c b/tests/fuzzer.c index c17cdcd4a..4a68ff731 100644 --- a/tests/fuzzer.c +++ b/tests/fuzzer.c @@ -2433,8 +2433,7 @@ static int basicUnitTests(U32 const seed, double compressibility) && !defined(ZSTD_EXCLUDE_LAZY2_BLOCK_COMPRESSOR) \ && !defined(ZSTD_EXCLUDE_BTLAZY2_BLOCK_COMPRESSOR) \ && !defined(ZSTD_EXCLUDE_BTOPT_BLOCK_COMPRESSOR) \ - && !defined(ZSTD_EXCLUDE_BTULTRA_BLOCK_COMPRESSOR) \ - && !defined(ZSTD_EXCLUDE_BTULTRA2_BLOCK_COMPRESSOR) + && !defined(ZSTD_EXCLUDE_BTULTRA_BLOCK_COMPRESSOR) /* Note : these tests should be replaced by proper regression tests, * but existing ones do not focus on small data + dictionary + all levels. */