From: Yann Collet Date: Thu, 30 Mar 2017 23:23:22 +0000 (-0700) Subject: overlap at full windowSize for max compression level X-Git-Tag: v1.2.0^2~67^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=34cc487d05513fe4981c2b8832cfdd7c9f455041;p=thirdparty%2Fzstd.git overlap at full windowSize for max compression level as it provides max compression ratio --- diff --git a/lib/compress/zstdmt_compress.c b/lib/compress/zstdmt_compress.c index f9d722b11..009d04a1f 100644 --- a/lib/compress/zstdmt_compress.c +++ b/lib/compress/zstdmt_compress.c @@ -390,7 +390,8 @@ size_t ZSTDMT_compressCCtx(ZSTDMT_CCtx* mtctx, int compressionLevel) { ZSTD_parameters params = ZSTD_getParams(compressionLevel, srcSize, 0); - size_t const overlapSize = (size_t)1 << (params.cParams.windowLog - 3); + U32 const overlapLog = (compressionLevel >= ZSTD_maxCLevel()) ? 0 : 3; + size_t const overlapSize = (size_t)1 << (params.cParams.windowLog - overlapLog); size_t const chunkTargetSize = (size_t)1 << (params.cParams.windowLog + 2); unsigned const nbChunksMax = (unsigned)(srcSize / chunkTargetSize) + 1; unsigned nbChunks = MIN(nbChunksMax, mtctx->nbThreads);