update targetCBlockSize documentation
This commit is contained in:
@@ -469,8 +469,6 @@ static size_t sizeBlockSequences(const seqDef* sp, size_t nbSeqs,
|
|||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define CBLOCK_TARGET_SIZE_MIN 1340 /* suitable to fit into an ethernet / wifi / 4G transport frame */
|
|
||||||
|
|
||||||
/** ZSTD_compressSubBlock_multi() :
|
/** ZSTD_compressSubBlock_multi() :
|
||||||
* Breaks super-block into multiple sub-blocks and compresses them.
|
* Breaks super-block into multiple sub-blocks and compresses them.
|
||||||
* Entropy will be written into the first block.
|
* Entropy will be written into the first block.
|
||||||
@@ -504,7 +502,7 @@ static size_t ZSTD_compressSubBlock_multi(const seqStore_t* seqStorePtr,
|
|||||||
const BYTE* llCodePtr = seqStorePtr->llCode;
|
const BYTE* llCodePtr = seqStorePtr->llCode;
|
||||||
const BYTE* mlCodePtr = seqStorePtr->mlCode;
|
const BYTE* mlCodePtr = seqStorePtr->mlCode;
|
||||||
const BYTE* ofCodePtr = seqStorePtr->ofCode;
|
const BYTE* ofCodePtr = seqStorePtr->ofCode;
|
||||||
size_t const minTarget = CBLOCK_TARGET_SIZE_MIN; /* enforce minimum size, to reduce undesirable side effects */
|
size_t const minTarget = ZSTD_TARGETCBLOCKSIZE_MIN; /* enforce minimum size, to reduce undesirable side effects */
|
||||||
size_t const targetCBlockSize = MAX(minTarget, cctxParams->targetCBlockSize);
|
size_t const targetCBlockSize = MAX(minTarget, cctxParams->targetCBlockSize);
|
||||||
int writeLitEntropy = (entropyMetadata->hufMetadata.hType == set_compressed);
|
int writeLitEntropy = (entropyMetadata->hufMetadata.hType == set_compressed);
|
||||||
int writeSeqEntropy = 1;
|
int writeSeqEntropy = 1;
|
||||||
|
|||||||
+21
-17
@@ -262,9 +262,9 @@ ZSTDLIB_API size_t ZSTD_freeCCtx(ZSTD_CCtx* cctx); /* accept NULL pointer *
|
|||||||
|
|
||||||
/*! ZSTD_compressCCtx() :
|
/*! ZSTD_compressCCtx() :
|
||||||
* Same as ZSTD_compress(), using an explicit ZSTD_CCtx.
|
* Same as ZSTD_compress(), using an explicit ZSTD_CCtx.
|
||||||
* Important : in order to behave similarly to `ZSTD_compress()`,
|
* Important : in order to mirror `ZSTD_compress()` behavior,
|
||||||
* this function compresses at requested compression level,
|
* this function compresses at the requested compression level,
|
||||||
* __ignoring any other parameter__ .
|
* __ignoring any other advanced parameter__ .
|
||||||
* If any advanced parameter was set using the advanced API,
|
* If any advanced parameter was set using the advanced API,
|
||||||
* they will all be reset. Only `compressionLevel` remains.
|
* they will all be reset. Only `compressionLevel` remains.
|
||||||
*/
|
*/
|
||||||
@@ -286,7 +286,7 @@ ZSTDLIB_API size_t ZSTD_freeDCtx(ZSTD_DCtx* dctx); /* accept NULL pointer *
|
|||||||
/*! ZSTD_decompressDCtx() :
|
/*! ZSTD_decompressDCtx() :
|
||||||
* Same as ZSTD_decompress(),
|
* Same as ZSTD_decompress(),
|
||||||
* requires an allocated ZSTD_DCtx.
|
* requires an allocated ZSTD_DCtx.
|
||||||
* Compatible with sticky parameters.
|
* Compatible with sticky parameters (see below).
|
||||||
*/
|
*/
|
||||||
ZSTDLIB_API size_t ZSTD_decompressDCtx(ZSTD_DCtx* dctx,
|
ZSTDLIB_API size_t ZSTD_decompressDCtx(ZSTD_DCtx* dctx,
|
||||||
void* dst, size_t dstCapacity,
|
void* dst, size_t dstCapacity,
|
||||||
@@ -302,12 +302,12 @@ ZSTDLIB_API size_t ZSTD_decompressDCtx(ZSTD_DCtx* dctx,
|
|||||||
* using ZSTD_CCtx_set*() functions.
|
* using ZSTD_CCtx_set*() functions.
|
||||||
* Pushed parameters are sticky : they are valid for next compressed frame, and any subsequent frame.
|
* Pushed parameters are sticky : they are valid for next compressed frame, and any subsequent frame.
|
||||||
* "sticky" parameters are applicable to `ZSTD_compress2()` and `ZSTD_compressStream*()` !
|
* "sticky" parameters are applicable to `ZSTD_compress2()` and `ZSTD_compressStream*()` !
|
||||||
* __They do not apply to "simple" one-shot variants such as ZSTD_compressCCtx()__ .
|
* __They do not apply to one-shot variants such as ZSTD_compressCCtx()__ .
|
||||||
*
|
*
|
||||||
* It's possible to reset all parameters to "default" using ZSTD_CCtx_reset().
|
* It's possible to reset all parameters to "default" using ZSTD_CCtx_reset().
|
||||||
*
|
*
|
||||||
* This API supersedes all other "advanced" API entry points in the experimental section.
|
* This API supersedes all other "advanced" API entry points in the experimental section.
|
||||||
* In the future, we expect to remove from experimental API entry points which are redundant with this API.
|
* In the future, we expect to remove API entry points from experimental which are redundant with this API.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@@ -390,16 +390,19 @@ typedef enum {
|
|||||||
* The higher the value of selected strategy, the more complex it is,
|
* The higher the value of selected strategy, the more complex it is,
|
||||||
* resulting in stronger and slower compression.
|
* resulting in stronger and slower compression.
|
||||||
* Special: value 0 means "use default strategy". */
|
* Special: value 0 means "use default strategy". */
|
||||||
ZSTD_c_targetCBlockSize=130, /* Tries to fit compressed block size to be
|
|
||||||
* around targetCBlockSize. No target when
|
ZSTD_c_targetCBlockSize=130, /* v1.5.6+
|
||||||
* targetCBlockSize == 0. There is no guarantee
|
* Attempts to fit compressed block size into approximatively targetCBlockSize.
|
||||||
* on compressed block size (default:0).
|
* Bound by ZSTD_TARGETCBLOCKSIZE_MIN and ZSTD_TARGETCBLOCKSIZE_MAX.
|
||||||
* Since the decoder has to buffer a complete
|
* Note that it's not a guarantee, just a convergence target (default:0).
|
||||||
* block to begin decoding it, in low band-
|
* No target when targetCBlockSize == 0.
|
||||||
* width streaming environments this may
|
* This is helpful in low bandwidth streaming environments to improve end-to-end latency,
|
||||||
* improve end-to-end latency. Bound by
|
* when a client can make use of partial documents (a prominent example being Chrome).
|
||||||
* ZSTD_TARGETCBLOCKSIZE_MIN and
|
* Note: this parameter is stable since v1.5.6.
|
||||||
* ZSTD_TARGETCBLOCKSIZE_MAX. */
|
* It was present as an experimental parameter in earlier versions,
|
||||||
|
* but we don't recomment using it with earlier library versions
|
||||||
|
* due to massive performance regressions.
|
||||||
|
*/
|
||||||
/* LDM mode parameters */
|
/* LDM mode parameters */
|
||||||
ZSTD_c_enableLongDistanceMatching=160, /* Enable long distance matching.
|
ZSTD_c_enableLongDistanceMatching=160, /* Enable long distance matching.
|
||||||
* This parameter is designed to improve compression ratio
|
* This parameter is designed to improve compression ratio
|
||||||
@@ -584,6 +587,7 @@ ZSTDLIB_API size_t ZSTD_CCtx_reset(ZSTD_CCtx* cctx, ZSTD_ResetDirective reset);
|
|||||||
|
|
||||||
/*! ZSTD_compress2() :
|
/*! ZSTD_compress2() :
|
||||||
* Behave the same as ZSTD_compressCCtx(), but compression parameters are set using the advanced API.
|
* Behave the same as ZSTD_compressCCtx(), but compression parameters are set using the advanced API.
|
||||||
|
* (note that this entry point doesn't even expose a compression level parameter).
|
||||||
* ZSTD_compress2() always starts a new frame.
|
* ZSTD_compress2() always starts a new frame.
|
||||||
* Should cctx hold data from a previously unfinished frame, everything about it is forgotten.
|
* Should cctx hold data from a previously unfinished frame, everything about it is forgotten.
|
||||||
* - Compression parameters are pushed into CCtx before starting compression, using ZSTD_CCtx_set*()
|
* - Compression parameters are pushed into CCtx before starting compression, using ZSTD_CCtx_set*()
|
||||||
@@ -1250,7 +1254,7 @@ ZSTDLIB_API size_t ZSTD_sizeof_DDict(const ZSTD_DDict* ddict);
|
|||||||
#define ZSTD_LDM_HASHRATELOG_MAX (ZSTD_WINDOWLOG_MAX - ZSTD_HASHLOG_MIN)
|
#define ZSTD_LDM_HASHRATELOG_MAX (ZSTD_WINDOWLOG_MAX - ZSTD_HASHLOG_MIN)
|
||||||
|
|
||||||
/* Advanced parameter bounds */
|
/* Advanced parameter bounds */
|
||||||
#define ZSTD_TARGETCBLOCKSIZE_MIN 64
|
#define ZSTD_TARGETCBLOCKSIZE_MIN 1340 /* suitable to fit into an ethernet / wifi / 4G transport frame */
|
||||||
#define ZSTD_TARGETCBLOCKSIZE_MAX ZSTD_BLOCKSIZE_MAX
|
#define ZSTD_TARGETCBLOCKSIZE_MAX ZSTD_BLOCKSIZE_MAX
|
||||||
#define ZSTD_SRCSIZEHINT_MIN 0
|
#define ZSTD_SRCSIZEHINT_MIN 0
|
||||||
#define ZSTD_SRCSIZEHINT_MAX INT_MAX
|
#define ZSTD_SRCSIZEHINT_MAX INT_MAX
|
||||||
|
|||||||
Reference in New Issue
Block a user