]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
Merge branch 'dev' into advancedDecompress 1062/head
authorYann Collet <cyan@fb.com>
Wed, 21 Mar 2018 13:08:28 +0000 (06:08 -0700)
committerYann Collet <cyan@fb.com>
Wed, 21 Mar 2018 13:08:28 +0000 (06:08 -0700)
1  2 
doc/zstd_manual.html
lib/compress/zstd_compress.c
lib/compress/zstd_compress_internal.h
lib/compress/zstdmt_compress.c
lib/compress/zstdmt_compress.h
lib/zstd.h
tests/fuzzer.c

Simple merge
index 85678a8dc4d5336d8d53ef604dcf8fcf465e480d,06ec4609f1335419e2428347e41cb90293166c28..528291777954556d095051fb716c1aaccbdf544a
@@@ -547,10 -516,10 +516,10 @@@ size_t ZSTD_CCtx_loadDictionary_advance
          cctx->cdict = NULL;
      } else {
          ZSTD_compressionParameters const cParams =
-                 ZSTD_getCParamsFromCCtxParams(cctx->requestedParams, cctx->pledgedSrcSizePlusOne-1, dictSize);
+                 ZSTD_getCParamsFromCCtxParams(&cctx->requestedParams, cctx->pledgedSrcSizePlusOne-1, dictSize);
          cctx->cdictLocal = ZSTD_createCDict_advanced(
                                  dict, dictSize,
 -                                dictLoadMethod, dictMode,
 +                                dictLoadMethod, dictContentType,
                                  cParams, cctx->customMem);
          cctx->cdict = cctx->cdictLocal;
          if (cctx->cdictLocal == NULL)
@@@ -2538,10 -2616,11 +2616,11 @@@ static size_t ZSTD_initCDict_internal
                      ZSTD_CDict* cdict,
                const void* dictBuffer, size_t dictSize,
                      ZSTD_dictLoadMethod_e dictLoadMethod,
 -                    ZSTD_dictMode_e dictMode,
 +                    ZSTD_dictContentType_e dictContentType,
                      ZSTD_compressionParameters cParams)
  {
-     DEBUGLOG(3, "ZSTD_initCDict_internal, mode %u", (U32)dictContentType);
 -    DEBUGLOG(3, "ZSTD_initCDict_internal, mode %u", (U32)dictMode);
++    DEBUGLOG(3, "ZSTD_initCDict_internal, dictContentType %u", (U32)dictContentType);
+     assert(!ZSTD_checkCParams(cParams));
      cdict->cParams = cParams;
      if ((dictLoadMethod == ZSTD_dlm_byRef) || (!dictBuffer) || (!dictSize)) {
          cdict->dictBuffer = NULL;
          params.compressionLevel = ZSTD_CLEVEL_DEFAULT;
          params.fParams.contentSizeFlag = 1;
          params.cParams = cParams;
-         {
-             size_t const dictID = ZSTD_compress_insertDictionary(
-                     &cdict->cBlockState, &cdict->matchState,&params,
+         {   size_t const dictID = ZSTD_compress_insertDictionary(
+                     &cdict->cBlockState, &cdict->matchState, &params,
                      cdict->dictContent, cdict->dictContentSize,
 -                    dictMode, cdict->workspace);
 +                    dictContentType, cdict->workspace);
              if (ZSTD_isError(dictID)) return dictID;
              assert(dictID <= (size_t)(U32)-1);
              cdict->dictID = (U32)dictID;
@@@ -2836,8 -2912,8 +2912,8 @@@ size_t ZSTD_resetCStream(ZSTD_CStream* 
      DEBUGLOG(4, "ZSTD_resetCStream: pledgedSrcSize = %u", (U32)pledgedSrcSize);
      if (pledgedSrcSize==0) pledgedSrcSize = ZSTD_CONTENTSIZE_UNKNOWN;
      params.fParams.contentSizeFlag = 1;
-     params.cParams = ZSTD_getCParamsFromCCtxParams(params, pledgedSrcSize, 0);
+     params.cParams = ZSTD_getCParamsFromCCtxParams(&params, pledgedSrcSize, 0);
 -    return ZSTD_resetCStream_internal(zcs, NULL, 0, ZSTD_dm_auto, zcs->cdict, params, pledgedSrcSize);
 +    return ZSTD_resetCStream_internal(zcs, NULL, 0, ZSTD_dct_auto, zcs->cdict, params, pledgedSrcSize);
  }
  
  /*! ZSTD_initCStream_internal() :
@@@ -2873,10 -2949,7 +2949,7 @@@ size_t ZSTD_initCStream_internal(ZSTD_C
          zcs->cdict = cdict;
      }
  
-     params.compressionLevel = ZSTD_CLEVEL_CUSTOM; /* enforce usage of cParams, instead of a dynamic derivation from cLevel (but does that happen ?) */
-     zcs->requestedParams = params;
 -    return ZSTD_resetCStream_internal(zcs, NULL, 0, ZSTD_dm_auto, zcs->cdict, params, pledgedSrcSize);
 +    return ZSTD_resetCStream_internal(zcs, NULL, 0, ZSTD_dct_auto, zcs->cdict, params, pledgedSrcSize);
  }
  
  /* ZSTD_initCStream_usingCDict_advanced() :
Simple merge
Simple merge
Simple merge
diff --cc lib/zstd.h
index 5d1466e761d3d0d86671b1bdb9bc6a281fc9e586,938c71216189d781882128a84f271f90e7a165b0..a35091a58ab45667e1a73d5cdb3ec53660d71bb9
@@@ -1132,8 -1125,18 +1127,18 @@@ ZSTDLIB_API size_t ZSTD_CCtx_refCDict(Z
   *  Note 3 : By default, the prefix is treated as raw content (ZSTD_dm_rawContent).
   *           Use ZSTD_CCtx_refPrefix_advanced() to alter dictMode. */
  ZSTDLIB_API size_t ZSTD_CCtx_refPrefix(ZSTD_CCtx* cctx, const void* prefix, size_t prefixSize);
 -ZSTDLIB_API size_t ZSTD_CCtx_refPrefix_advanced(ZSTD_CCtx* cctx, const void* prefix, size_t prefixSize, ZSTD_dictMode_e dictMode);
 +ZSTDLIB_API size_t ZSTD_CCtx_refPrefix_advanced(ZSTD_CCtx* cctx, const void* prefix, size_t prefixSize, ZSTD_dictContentType_e dictContentType);
  
+ /*! ZSTD_CCtx_reset() :
+  *  Return a CCtx to clean state.
+  *  Useful after an error, or to interrupt an ongoing compression job and start a new one.
+  *  Any internal data not yet flushed is cancelled.
+  *  Dictionary (if any) is dropped.
+  *  All parameters are back to default values.
+  *  It's possible to modify compression parameters after a reset.
+  */
+ ZSTDLIB_API void ZSTD_CCtx_reset(ZSTD_CCtx* cctx);
  
  
  typedef enum {
diff --cc tests/fuzzer.c
Simple merge