]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
adding ZSTD_createCDict_advanced2 to zstd.h
authorBimba Shrestha <bimbashrestha@fb.com>
Fri, 12 Jun 2020 01:12:48 +0000 (18:12 -0700)
committerW. Felix Handte <w@felixhandte.com>
Thu, 10 Sep 2020 22:51:52 +0000 (18:51 -0400)
lib/compress/zstd_compress.c
lib/zstd.h

index 3671a6621bfc32b5c2d523ce21ed3d96e11c722d..00a31e8549810cfba65b6ecb04578418401ca8f9 100644 (file)
@@ -3476,6 +3476,26 @@ ZSTD_CDict* ZSTD_createCDict_advanced(const void* dictBuffer, size_t dictSize,
     }
 }
 
+ZSTDLIB_API ZSTD_CDict* ZSTD_createCDict_advanced2(const void* dict, size_t dictSize,
+                                                  ZSTD_dictLoadMethod_e dictLoadMethod,
+                                                  ZSTD_dictContentType_e dictContentType,
+                                                  ZSTD_CCtx_params cctxParams,
+                                                  ZSTD_customMem customMem)
+{
+    int const enableDedicatedDictSearch = cctxParams.enableDedicatedDictSearch &&
+        ZSTD_dedicatedDictSearch_isSupported(cctxParams.compressionLevel, dictSize);
+    if (!enableDedicatedDictSearch)
+        return ZSTD_createCDict_advanced(dict, dictSize,
+            dictLoadMethod, dictContentType, cctxParams.cParams,
+            customMem);
+    {
+        ZSTD_compressionParameters const cParams = ZSTD_dedicatedDictSearch_getCParams(
+            cctxParams.compressionLevel, dictSize);
+        return ZSTD_createCDict_advanced(dict, dictSize,
+            dictLoadMethod, dictContentType, cParams, customMem);
+    }
+}
+
 ZSTD_CDict* ZSTD_createCDict(const void* dict, size_t dictSize, int compressionLevel)
 {
     ZSTD_compressionParameters cParams = ZSTD_getCParams_internal(compressionLevel, ZSTD_CONTENTSIZE_UNKNOWN, dictSize);
index ea3e46532babaa563101076a2420eb2b2b5ad017..fe5a865d513847e7ba0e7b2396464d1c05584627 100644 (file)
@@ -1417,6 +1417,12 @@ ZSTDLIB_API ZSTD_CDict* ZSTD_createCDict_advanced(const void* dict, size_t dictS
                                                   ZSTD_compressionParameters cParams,
                                                   ZSTD_customMem customMem);
 
+ZSTDLIB_API ZSTD_CDict* ZSTD_createCDict_advanced2(const void* dict, size_t dictSize,
+                                                  ZSTD_dictLoadMethod_e dictLoadMethod,
+                                                  ZSTD_dictContentType_e dictContentType,
+                                                  ZSTD_CCtx_params cctxParams,
+                                                  ZSTD_customMem customMem);
+
 ZSTDLIB_API ZSTD_DDict* ZSTD_createDDict_advanced(const void* dict, size_t dictSize,
                                                   ZSTD_dictLoadMethod_e dictLoadMethod,
                                                   ZSTD_dictContentType_e dictContentType,