ZSTD_CCtx
typedef ZSTD_CCtx zstd_cctx;
ZSTDLIB_API size_t ZSTD_CCtx_loadDictionary(ZSTD_CCtx* cctx, const void* dict, size_t dictSize);
ZSTDLIB_API size_t ZSTD_CCtx_refCDict(ZSTD_CCtx* cctx, const ZSTD_CDict* cdict);
ZSTDLIB_API size_t ZSTD_CCtx_refPrefix(ZSTD_CCtx* cctx,
ZSTDLIB_API size_t ZSTD_sizeof_CCtx(const ZSTD_CCtx* cctx);
ZSTD_generateSequences(ZSTD_CCtx* zc,
ZSTD_compressSequences(ZSTD_CCtx* cctx,
ZSTD_compressSequencesAndLiterals(ZSTD_CCtx* cctx,
ZSTDLIB_STATIC_API ZSTD_CCtx* ZSTD_initStaticCCtx(void* workspace, size_t workspaceSize);
ZSTDLIB_STATIC_API ZSTD_CCtx* ZSTD_createCCtx_advanced(ZSTD_customMem customMem);
ZSTDLIB_STATIC_API size_t ZSTD_CCtx_refThreadPool(ZSTD_CCtx* cctx, ZSTD_threadPool* pool);
ZSTDLIB_STATIC_API size_t ZSTD_CCtx_setCParams(ZSTD_CCtx* cctx, ZSTD_compressionParameters cparams);
ZSTDLIB_STATIC_API size_t ZSTD_CCtx_setFParams(ZSTD_CCtx* cctx, ZSTD_frameParameters fparams);
ZSTDLIB_STATIC_API size_t ZSTD_CCtx_setParams(ZSTD_CCtx* cctx, ZSTD_parameters params);
size_t ZSTD_compress_advanced(ZSTD_CCtx* cctx,
size_t ZSTD_compress_usingCDict_advanced(ZSTD_CCtx* cctx,
ZSTDLIB_STATIC_API size_t ZSTD_CCtx_loadDictionary_byReference(ZSTD_CCtx* cctx, const void* dict, size_t dictSize);
ZSTDLIB_STATIC_API size_t ZSTD_CCtx_loadDictionary_advanced(ZSTD_CCtx* cctx, const void* dict, size_t dictSize, ZSTD_dictLoadMethod_e dictLoadMethod, ZSTD_dictContentType_e dictContentType);
ZSTDLIB_STATIC_API size_t ZSTD_CCtx_refPrefix_advanced(ZSTD_CCtx* cctx, const void* prefix, size_t prefixSize, ZSTD_dictContentType_e dictContentType);
ZSTDLIB_STATIC_API size_t ZSTD_CCtx_getParameter(const ZSTD_CCtx* cctx, ZSTD_cParameter param, int* value);
ZSTD_CCtx* cctx, const ZSTD_CCtx_params* params);
ZSTD_CCtx* cctx,
ZSTDLIB_API ZSTD_CCtx* ZSTD_createCCtx(void);
ZSTDLIB_API size_t ZSTD_freeCCtx(ZSTD_CCtx* cctx); /* compatible with NULL pointer */
ZSTDLIB_API size_t ZSTD_compressCCtx(ZSTD_CCtx* cctx,
ZSTDLIB_STATIC_API ZSTD_frameProgression ZSTD_getFrameProgression(const ZSTD_CCtx* cctx);
ZSTDLIB_STATIC_API size_t ZSTD_toFlushNow(ZSTD_CCtx* cctx);
ZSTD_CCtx* cctx,
ZSTDLIB_STATIC_API size_t ZSTD_compressBegin(ZSTD_CCtx* cctx, int compressionLevel);
ZSTDLIB_STATIC_API size_t ZSTD_compressBegin_usingDict(ZSTD_CCtx* cctx, const void* dict, size_t dictSize, int compressionLevel);
ZSTDLIB_STATIC_API size_t ZSTD_compressBegin_usingCDict(ZSTD_CCtx* cctx, const ZSTD_CDict* cdict); /*< note: fails if cdict==NULL */
size_t ZSTD_copyCCtx(ZSTD_CCtx* cctx, const ZSTD_CCtx* preparedCCtx, unsigned long long pledgedSrcSize); /*< note: if pledgedSrcSize is not known, use ZSTD_CONTENTSIZE_UNKNOWN */
ZSTDLIB_STATIC_API size_t ZSTD_compressContinue(ZSTD_CCtx* cctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize);
ZSTDLIB_STATIC_API size_t ZSTD_compressEnd(ZSTD_CCtx* cctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize);
size_t ZSTD_compressBegin_advanced(ZSTD_CCtx* cctx, const void* dict, size_t dictSize, ZSTD_parameters params, unsigned long long pledgedSrcSize); /*< pledgedSrcSize : If srcSize is not known at init time, use ZSTD_CONTENTSIZE_UNKNOWN */
size_t ZSTD_compressBegin_usingCDict_advanced(ZSTD_CCtx* const cctx, const ZSTD_CDict* const cdict, ZSTD_frameParameters const fParams, unsigned long long const pledgedSrcSize); /* compression parameters are already set within cdict. pledgedSrcSize must be correct. If srcSize is not known, use macro ZSTD_CONTENTSIZE_UNKNOWN */
ZSTDLIB_STATIC_API size_t ZSTD_getBlockSize (const ZSTD_CCtx* cctx);
ZSTDLIB_STATIC_API size_t ZSTD_compressBlock (ZSTD_CCtx* cctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize);
ZSTDLIB_API size_t ZSTD_CCtx_setParameter(ZSTD_CCtx* cctx, ZSTD_cParameter param, int value);
ZSTDLIB_API size_t ZSTD_CCtx_setPledgedSrcSize(ZSTD_CCtx* cctx, unsigned long long pledgedSrcSize);
ZSTDLIB_API size_t ZSTD_CCtx_reset(ZSTD_CCtx* cctx, ZSTD_ResetDirective reset);
ZSTDLIB_API size_t ZSTD_compress2( ZSTD_CCtx* cctx,
typedef ZSTD_CCtx ZSTD_CStream; /*< CCtx and CStream are now effectively same object (>= v1.3.0) */
ZSTDLIB_API size_t ZSTD_compressStream2( ZSTD_CCtx* cctx,
ZSTDLIB_API size_t ZSTD_compress_usingDict(ZSTD_CCtx* ctx,
ZSTDLIB_API size_t ZSTD_compress_usingCDict(ZSTD_CCtx* cctx,
void ZSTD_invalidateRepCodes(ZSTD_CCtx* cctx); /* zstdmt, adaptive_compression (shouldn't get this definition from here) */
static void ZSTD_initCCtx(ZSTD_CCtx* cctx, ZSTD_customMem memManager)
ZSTD_CCtx* cctx, const ZSTD_CCtx_params* params)
ZSTD_CCtx* ZSTD_createCCtx_advanced(ZSTD_customMem customMem)
size_t ZSTD_CCtx_setCParams(ZSTD_CCtx* cctx, ZSTD_compressionParameters cparams)
size_t ZSTD_CCtx_setFParams(ZSTD_CCtx* cctx, ZSTD_frameParameters fparams)
size_t ZSTD_CCtx_setParams(ZSTD_CCtx* cctx, ZSTD_parameters params)
size_t ZSTD_CCtx_setPledgedSrcSize(ZSTD_CCtx* cctx, unsigned long long pledgedSrcSize)
{ ZSTD_CCtx* const cctx = (ZSTD_CCtx*)ZSTD_customMalloc(sizeof(ZSTD_CCtx), customMem);
static size_t ZSTD_initLocalDict(ZSTD_CCtx* cctx)
ZSTD_CCtx* cctx,
ZSTD_CCtx* ZSTD_initStaticCCtx(void* workspace, size_t workspaceSize)
ZSTD_CCtx* cctx, const void* dict, size_t dictSize)
size_t ZSTD_CCtx_loadDictionary(ZSTD_CCtx* cctx, const void* dict, size_t dictSize)
size_t ZSTD_CCtx_refCDict(ZSTD_CCtx* cctx, const ZSTD_CDict* cdict)
ZSTD_CCtx* cctx;
size_t ZSTD_CCtx_refThreadPool(ZSTD_CCtx* cctx, ZSTD_threadPool* pool)
if (workspaceSize <= sizeof(ZSTD_CCtx)) return NULL; /* minimum size */
size_t ZSTD_CCtx_refPrefix(ZSTD_CCtx* cctx, const void* prefix, size_t prefixSize)
ZSTD_CCtx* cctx, const void* prefix, size_t prefixSize, ZSTD_dictContentType_e dictContentType)
size_t ZSTD_CCtx_reset(ZSTD_CCtx* cctx, ZSTD_ResetDirective reset)
cctx = (ZSTD_CCtx*)ZSTD_cwksp_reserve_object(&ws, sizeof(ZSTD_CCtx));
ZSTD_memset(cctx, 0, sizeof(ZSTD_CCtx));
static void ZSTD_clearAllDicts(ZSTD_CCtx* cctx)
size_t const cctxSpace = isStatic ? ZSTD_cwksp_alloc_size(sizeof(ZSTD_CCtx)) : 0;
static void ZSTD_freeCCtxContent(ZSTD_CCtx* cctx)
size_t ZSTD_freeCCtx(ZSTD_CCtx* cctx)
ZSTD_frameProgression ZSTD_getFrameProgression(const ZSTD_CCtx* cctx)
size_t ZSTD_toFlushNow(ZSTD_CCtx* cctx)
static size_t ZSTD_sizeof_mtctx(const ZSTD_CCtx* cctx)
size_t ZSTD_sizeof_CCtx(const ZSTD_CCtx* cctx)
static size_t ZSTD_resetCCtx_internal(ZSTD_CCtx* zc,
const SeqStore_t* ZSTD_getSeqStore(const ZSTD_CCtx* ctx) { return &(ctx->seqStore); }
void ZSTD_invalidateRepCodes(ZSTD_CCtx* cctx) {
ZSTD_resetCCtx_byAttachingCDict(ZSTD_CCtx* cctx,
static size_t ZSTD_resetCCtx_byCopyingCDict(ZSTD_CCtx* cctx,
static size_t ZSTD_resetCCtx_usingCDict(ZSTD_CCtx* cctx,
static size_t ZSTD_copyCCtx_internal(ZSTD_CCtx* dstCCtx,
const ZSTD_CCtx* srcCCtx,
size_t ZSTD_copyCCtx(ZSTD_CCtx* dstCCtx, const ZSTD_CCtx* srcCCtx, unsigned long long pledgedSrcSize)
ZSTD_transferSequences_wBlockDelim(ZSTD_CCtx* cctx,
static size_t ZSTD_buildSeqStore(ZSTD_CCtx* zc, const void* src, size_t srcSize)
size_t ZSTD_generateSequences(ZSTD_CCtx* zc, ZSTD_Sequence* outSeqs,
ZSTD_buildEntropyStatisticsAndEstimateSubBlockSize(SeqStore_t* seqStore, ZSTD_CCtx* zc)
ZSTD_compressSeqStore_singleBlock(ZSTD_CCtx* zc,
ZSTD_CCtx* zc, const SeqStore_t* origSeqStore)
static size_t ZSTD_deriveBlockSplits(ZSTD_CCtx* zc, U32 partitions[], U32 nbSeq)
ZSTD_compressBlock_splitBlock_internal(ZSTD_CCtx* zc,
ZSTD_compressBlock_splitBlock(ZSTD_CCtx* zc,
ZSTD_compressBlock_internal(ZSTD_CCtx* zc,
static size_t ZSTD_compressBlock_targetCBlockSize_body(ZSTD_CCtx* zc,
static size_t ZSTD_compressBlock_targetCBlockSize(ZSTD_CCtx* zc,
static size_t ZSTD_optimalBlockSize(ZSTD_CCtx* cctx, const void* src, size_t srcSize, size_t blockSizeMax, int splitLevel, ZSTD_strategy strat, S64 savings)
static size_t ZSTD_compress_frameChunk(ZSTD_CCtx* cctx,
void ZSTD_referenceExternalSequences(ZSTD_CCtx* cctx, rawSeq* seq, size_t nbSeq)
static size_t ZSTD_compressContinue_internal (ZSTD_CCtx* cctx,
size_t ZSTD_compressContinue_public(ZSTD_CCtx* cctx,
size_t ZSTD_compressContinue(ZSTD_CCtx* cctx,
static size_t ZSTD_getBlockSize_deprecated(const ZSTD_CCtx* cctx)
size_t ZSTD_getBlockSize(const ZSTD_CCtx* cctx)
size_t ZSTD_compressBlock_deprecated(ZSTD_CCtx* cctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize)
size_t ZSTD_compressBlock(ZSTD_CCtx* cctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize)
static size_t ZSTD_compressBegin_internal(ZSTD_CCtx* cctx,
size_t ZSTD_compressBegin_advanced_internal(ZSTD_CCtx* cctx,
size_t ZSTD_compressBegin_advanced(ZSTD_CCtx* cctx,
ZSTD_compressBegin_usingDict_deprecated(ZSTD_CCtx* cctx, const void* dict, size_t dictSize, int compressionLevel)
ZSTD_compressBegin_usingDict(ZSTD_CCtx* cctx, const void* dict, size_t dictSize, int compressionLevel)
size_t ZSTD_compressBegin(ZSTD_CCtx* cctx, int compressionLevel)
static size_t ZSTD_writeEpilogue(ZSTD_CCtx* cctx, void* dst, size_t dstCapacity)
void ZSTD_CCtx_trace(ZSTD_CCtx* cctx, size_t extraCSize)
size_t ZSTD_compressEnd_public(ZSTD_CCtx* cctx,
size_t ZSTD_compressEnd(ZSTD_CCtx* cctx,
size_t ZSTD_compress_advanced (ZSTD_CCtx* cctx,
ZSTD_CCtx* cctx,
size_t ZSTD_compress_usingDict(ZSTD_CCtx* cctx,
size_t ZSTD_compressCCtx(ZSTD_CCtx* cctx,
ZSTD_CCtx* cctx = ZSTD_createCCtx();
ZSTD_CCtx* const cctx, const ZSTD_CDict* const cdict,
ZSTD_CCtx* const cctx, const ZSTD_CDict* const cdict,
size_t ZSTD_compressBegin_usingCDict_deprecated(ZSTD_CCtx* cctx, const ZSTD_CDict* cdict)
size_t ZSTD_compressBegin_usingCDict(ZSTD_CCtx* cctx, const ZSTD_CDict* cdict)
static size_t ZSTD_compress_usingCDict_internal(ZSTD_CCtx* cctx,
size_t ZSTD_compress_usingCDict_advanced(ZSTD_CCtx* cctx,
size_t ZSTD_compress_usingCDict(ZSTD_CCtx* cctx,
static size_t ZSTD_nextInputSizeHint(const ZSTD_CCtx* cctx)
static size_t ZSTD_nextInputSizeHint_MTorST(const ZSTD_CCtx* cctx)
ZSTD_setBufferExpectations(ZSTD_CCtx* cctx, const ZSTD_outBuffer* output, const ZSTD_inBuffer* input)
static size_t ZSTD_checkBufferStability(ZSTD_CCtx const* cctx,
static size_t ZSTD_CCtx_init_compressStream2(ZSTD_CCtx* cctx,
size_t ZSTD_compressStream2( ZSTD_CCtx* cctx,
ZSTD_CCtx* cctx,
size_t ZSTD_compress2(ZSTD_CCtx* cctx,
ZSTD_transferSequences_wBlockDelim(ZSTD_CCtx* cctx,
ZSTD_transferSequences_noDelim(ZSTD_CCtx* cctx,
typedef size_t (*ZSTD_SequenceCopier_f)(ZSTD_CCtx* cctx,
ZSTD_compressSequences_internal(ZSTD_CCtx* cctx,
size_t ZSTD_compressSequences(ZSTD_CCtx* cctx,
size_t ZSTD_CCtx_setParameter(ZSTD_CCtx* cctx, ZSTD_cParameter param, int value)
size_t ZSTD_convertBlockSequences(ZSTD_CCtx* cctx,
ZSTD_compressSequencesAndLiterals_internal(ZSTD_CCtx* cctx,
ZSTD_compressSequencesAndLiterals(ZSTD_CCtx* cctx,
ZSTD_CCtx* zc,
ZSTD_CCtx* ZSTD_createCCtx(void)
size_t ZSTD_CCtx_getParameter(ZSTD_CCtx const* cctx, ZSTD_cParameter param, int* value)
const SeqStore_t* ZSTD_getSeqStore(const ZSTD_CCtx* ctx); /* compress & dictBuilder */
size_t ZSTD_convertBlockSequences(ZSTD_CCtx* cctx,
size_t ZSTD_compressBegin_advanced_internal(ZSTD_CCtx* cctx,
size_t ZSTD_compress_advanced_internal(ZSTD_CCtx* cctx,
void ZSTD_referenceExternalSequences(ZSTD_CCtx* cctx, rawSeq* seq, size_t nbSeq);
void ZSTD_CCtx_trace(ZSTD_CCtx* cctx, size_t extraCSize);
size_t ZSTD_compressBegin_usingCDict_deprecated(ZSTD_CCtx* cctx, const ZSTD_CDict* cdict);
size_t ZSTD_compressContinue_public(ZSTD_CCtx* cctx,
size_t ZSTD_compressEnd_public(ZSTD_CCtx* cctx,
size_t ZSTD_compressBlock_deprecated(ZSTD_CCtx* cctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize);
size_t ZSTD_compressSuperBlock(ZSTD_CCtx* zc,
size_t ZSTD_compressSuperBlock(ZSTD_CCtx* zc,