Skip to content

Commit 196ac9d

Browse files
committed
Unify CParams / Params Structs
Unwind the public/private distinction.
1 parent 4fad13e commit 196ac9d

9 files changed

+120
-256
lines changed

lib/compress/clevels.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
#ifndef ZSTD_CLEVELS_H
1212
#define ZSTD_CLEVELS_H
1313

14-
#define ZSTD_STATIC_LINKING_ONLY /* ZSTD_CParams */
14+
#define ZSTD_STATIC_LINKING_ONLY /* ZSTD_compressionParameters */
1515
#include "../zstd.h"
1616

1717
/*-===== Pre-defined compression levels =====-*/
@@ -22,7 +22,7 @@
2222
__attribute__((__unused__))
2323
#endif
2424

25-
static const ZSTD_CParams ZSTD_defaultCParameters[4][ZSTD_MAX_CLEVEL+1] = {
25+
static const ZSTD_compressionParameters ZSTD_defaultCParameters[4][ZSTD_MAX_CLEVEL+1] = {
2626
{ /* "default" - for any srcSize > 256 KB */
2727
/* W, C, H, S, L, TL, strat */
2828
{ 19, 12, 13, 1, 6, 1, ZSTD_fast }, /* base for negative levels */

lib/compress/zstd_compress.c

+83-165
Large diffs are not rendered by default.

lib/compress/zstd_compress_internal.h

+3-58
Original file line numberDiff line numberDiff line change
@@ -191,28 +191,6 @@ size_t ZSTD_buildBlockEntropyStats(
191191
* Compression internals structs *
192192
*********************************/
193193

194-
/**
195-
* Internal equivalent of public ZSTD_compressionParameters struct.
196-
*/
197-
typedef struct {
198-
unsigned windowLog; /**< largest match distance : larger == more compression, more memory needed during decompression, see also `windowFrac` in CCtxParams */
199-
unsigned chainLog; /**< fully searched segment : larger == more compression, slower, more memory (useless for fast) */
200-
unsigned hashLog; /**< dispatch table : larger == faster, more memory */
201-
unsigned searchLog; /**< nb of searches : larger == more compression, slower */
202-
unsigned minMatch; /**< match length searched : larger == faster decompression, sometimes less compression */
203-
unsigned targetLength; /**< acceptable match size for optimal parser (only) : larger == more compression, slower */
204-
ZSTD_strategy strategy; /**< see ZSTD_strategy definition above */
205-
} ZSTD_CParams;
206-
207-
/**
208-
* Internal equivalent of public ZSTD_Params struct, wrapping the internal
209-
* ZSTD_CParams struct rather than the public ZSTD_compressionParameters.
210-
*/
211-
typedef struct {
212-
ZSTD_CParams cParams;
213-
ZSTD_frameParameters fParams;
214-
} ZSTD_Params;
215-
216194
typedef struct {
217195
U32 off; /* Offset sumtype code for the match, using ZSTD_storeSeq() format */
218196
U32 len; /* Raw length of match */
@@ -386,7 +364,7 @@ typedef struct {
386364

387365
struct ZSTD_CCtx_params_s {
388366
ZSTD_format_e format;
389-
ZSTD_CParams cParams;
367+
ZSTD_compressionParameters cParams;
390368
unsigned windowFrac; /* Additional CParam controlling sub-power-of-two window sizing. */
391369
ZSTD_frameParameters fParams;
392370

@@ -1654,32 +1632,12 @@ BlockSummary ZSTD_get1BlockSummary(const ZSTD_Sequence* seqs, size_t nbSeqs);
16541632
* These prototypes shall only be called from within lib/compress
16551633
* ============================================================== */
16561634

1657-
/* ZSTD_getCParamsFromPublicCParams(), ZSTD_getPublicCParamsFromCParams() :
1658-
* Translates between the public and internal structs.
1659-
*
1660-
* Note: as these structs diverge, this may increasingly become a lossy
1661-
* translation. The only long-term justified use of these should be at the
1662-
* User API.
1663-
*/
1664-
ZSTD_CParams ZSTD_getCParamsFromPublicCParams(ZSTD_compressionParameters cParams);
1665-
ZSTD_compressionParameters ZSTD_getPublicCParamsFromCParams(ZSTD_CParams cParams);
1666-
1667-
/* ZSTD_getParamsFromPublicParams(), ZSTD_getPublicParamsFromParams() :
1668-
* Translates between the public and internal structs.
1669-
*
1670-
* Note: as these structs diverge, this may increasingly become a lossy
1671-
* translation. The only long-term justified use of these should be at the
1672-
* User API.
1673-
*/
1674-
ZSTD_Params ZSTD_getParamsFromPublicParams(ZSTD_parameters params);
1675-
ZSTD_parameters ZSTD_getPublicParamsFromParams(ZSTD_Params params);
1676-
16771635
/* ZSTD_getCParamsFromCCtxParams() :
16781636
* cParams are built depending on compressionLevel, src size hints,
16791637
* LDM and manually set compression parameters.
16801638
* Note: srcSizeHint == 0 means 0!
16811639
*/
1682-
ZSTD_CParams ZSTD_getCParamsFromCCtxParams(
1640+
ZSTD_compressionParameters ZSTD_getCParamsFromCCtxParams(
16831641
const ZSTD_CCtx_params* CCtxParams, U64 srcSizeHint, size_t dictSize, ZSTD_CParamMode_e mode);
16841642

16851643
/*! ZSTD_initCStream_internal() :
@@ -1696,26 +1654,13 @@ void ZSTD_resetSeqStore(SeqStore_t* ssPtr);
16961654

16971655
/*! ZSTD_getCParamsFromCDict() :
16981656
* as the name implies */
1699-
ZSTD_CParams ZSTD_getCParamsFromCDict(const ZSTD_CDict* cdict);
1700-
1701-
/*! ZSTD_checkCParams_internal() :
1702-
* Only used for cparams coming from the user. Checks are limited compared to
1703-
* checking the whole CCtxParams via the below. */
1704-
size_t ZSTD_checkCParams_internal(const ZSTD_CParams* cParams);
1657+
ZSTD_compressionParameters ZSTD_getCParamsFromCDict(const ZSTD_CDict* cdict);
17051658

17061659
/*! ZSTD_checkCCtxCParams_internal() :
17071660
* Checks the CParams in the CCtxParams (including related parameters not
17081661
* *actually* stored in the CParams struct). */
17091662
size_t ZSTD_checkCCtxCParams_internal(const ZSTD_CCtx_params* params);
17101663

1711-
/* ZSTD_createCDict_internal() :
1712-
* Private use only. To be called from zstdmt_compress.c. */
1713-
ZSTD_CDict* ZSTD_createCDict_internal(const void* dictBuffer, size_t dictSize,
1714-
ZSTD_dictLoadMethod_e dictLoadMethod,
1715-
ZSTD_dictContentType_e dictContentType,
1716-
ZSTD_CParams cParams,
1717-
ZSTD_customMem customMem);
1718-
17191664
/* ZSTD_compressBegin_advanced_internal() :
17201665
* Private use only. To be called from zstdmt_compress.c. */
17211666
size_t ZSTD_compressBegin_advanced_internal(ZSTD_CCtx* cctx,

lib/compress/zstd_double_fast.c

+6-6
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ ZSTD_ALLOW_POINTER_OVERFLOW_ATTR
1818
void ZSTD_fillDoubleHashTableForCDict(ZSTD_MatchState_t* ms,
1919
void const* end, ZSTD_dictTableLoadMethod_e dtlm)
2020
{
21-
const ZSTD_CParams* const cParams = &ms->cctxParams->cParams;
21+
const ZSTD_compressionParameters* const cParams = &ms->cctxParams->cParams;
2222
U32* const hashLarge = ms->hashTable;
2323
U32 const hBitsL = cParams->hashLog + ZSTD_SHORT_CACHE_TAG_BITS;
2424
U32 const mls = cParams->minMatch;
@@ -56,7 +56,7 @@ ZSTD_ALLOW_POINTER_OVERFLOW_ATTR
5656
void ZSTD_fillDoubleHashTableForCCtx(ZSTD_MatchState_t* ms,
5757
void const* end, ZSTD_dictTableLoadMethod_e dtlm)
5858
{
59-
const ZSTD_CParams* const cParams = &ms->cctxParams->cParams;
59+
const ZSTD_compressionParameters* const cParams = &ms->cctxParams->cParams;
6060
U32* const hashLarge = ms->hashTable;
6161
U32 const hBitsL = cParams->hashLog;
6262
U32 const mls = cParams->minMatch;
@@ -106,7 +106,7 @@ size_t ZSTD_compressBlock_doubleFast_noDict_generic(
106106
ZSTD_MatchState_t* ms, SeqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
107107
void const* src, size_t srcSize, U32 const mls /* template */)
108108
{
109-
const ZSTD_CParams* const cParams = &ms->cctxParams->cParams;
109+
const ZSTD_compressionParameters* const cParams = &ms->cctxParams->cParams;
110110
U32* const hashLong = ms->hashTable;
111111
const U32 hBitsL = cParams->hashLog;
112112
U32* const hashSmall = ms->chainTable;
@@ -330,7 +330,7 @@ size_t ZSTD_compressBlock_doubleFast_dictMatchState_generic(
330330
void const* src, size_t srcSize,
331331
U32 const mls /* template */)
332332
{
333-
const ZSTD_CParams* const cParams = &ms->cctxParams->cParams;
333+
const ZSTD_compressionParameters* const cParams = &ms->cctxParams->cParams;
334334
U32* const hashLong = ms->hashTable;
335335
const U32 hBitsL = cParams->hashLog;
336336
U32* const hashSmall = ms->chainTable;
@@ -348,7 +348,7 @@ size_t ZSTD_compressBlock_doubleFast_dictMatchState_generic(
348348
U32 offset_1=rep[0], offset_2=rep[1];
349349

350350
const ZSTD_MatchState_t* const dms = ms->dictMatchState;
351-
const ZSTD_CParams* const dictCParams = &dms->cctxParams->cParams;
351+
const ZSTD_compressionParameters* const dictCParams = &dms->cctxParams->cParams;
352352
const U32* const dictHashLong = dms->hashTable;
353353
const U32* const dictHashSmall = dms->chainTable;
354354
const U32 dictStartIndex = dms->window.dictLimit;
@@ -612,7 +612,7 @@ size_t ZSTD_compressBlock_doubleFast_extDict_generic(
612612
void const* src, size_t srcSize,
613613
U32 const mls /* template */)
614614
{
615-
const ZSTD_CParams* const cParams = &ms->cctxParams->cParams;
615+
const ZSTD_compressionParameters* const cParams = &ms->cctxParams->cParams;
616616
U32* const hashLong = ms->hashTable;
617617
U32 const hBitsL = cParams->hashLog;
618618
U32* const hashSmall = ms->chainTable;

lib/compress/zstd_fast.c

+6-6
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ void ZSTD_fillHashTableForCDict(ZSTD_MatchState_t* ms,
1717
const void* const end,
1818
ZSTD_dictTableLoadMethod_e dtlm)
1919
{
20-
const ZSTD_CParams* const cParams = &ms->cctxParams->cParams;
20+
const ZSTD_compressionParameters* const cParams = &ms->cctxParams->cParams;
2121
U32* const hashTable = ms->hashTable;
2222
U32 const hBits = cParams->hashLog + ZSTD_SHORT_CACHE_TAG_BITS;
2323
U32 const mls = cParams->minMatch;
@@ -54,7 +54,7 @@ void ZSTD_fillHashTableForCCtx(ZSTD_MatchState_t* ms,
5454
const void* const end,
5555
ZSTD_dictTableLoadMethod_e dtlm)
5656
{
57-
const ZSTD_CParams* const cParams = &ms->cctxParams->cParams;
57+
const ZSTD_compressionParameters* const cParams = &ms->cctxParams->cParams;
5858
U32* const hashTable = ms->hashTable;
5959
U32 const hBits = cParams->hashLog;
6060
U32 const mls = cParams->minMatch;
@@ -194,7 +194,7 @@ size_t ZSTD_compressBlock_fast_noDict_generic(
194194
void const* src, size_t srcSize,
195195
U32 const mls, int useCmov)
196196
{
197-
const ZSTD_CParams* const cParams = &ms->cctxParams->cParams;
197+
const ZSTD_compressionParameters* const cParams = &ms->cctxParams->cParams;
198198
U32* const hashTable = ms->hashTable;
199199
U32 const hlog = cParams->hashLog;
200200
size_t const stepSize = cParams->targetLength + !(cParams->targetLength) + 1; /* min 2 */
@@ -484,7 +484,7 @@ size_t ZSTD_compressBlock_fast_dictMatchState_generic(
484484
ZSTD_MatchState_t* ms, SeqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
485485
void const* src, size_t srcSize, U32 const mls, U32 const hasStep)
486486
{
487-
const ZSTD_CParams* const cParams = &ms->cctxParams->cParams;
487+
const ZSTD_compressionParameters* const cParams = &ms->cctxParams->cParams;
488488
U32* const hashTable = ms->hashTable;
489489
U32 const hlog = cParams->hashLog;
490490
/* support stepSize of 0 */
@@ -501,7 +501,7 @@ size_t ZSTD_compressBlock_fast_dictMatchState_generic(
501501
U32 offset_1=rep[0], offset_2=rep[1];
502502

503503
const ZSTD_MatchState_t* const dms = ms->dictMatchState;
504-
const ZSTD_CParams* const dictCParams = &dms->cctxParams->cParams;
504+
const ZSTD_compressionParameters* const dictCParams = &dms->cctxParams->cParams;
505505
const U32* const dictHashTable = dms->hashTable;
506506
const U32 dictStartIndex = dms->window.dictLimit;
507507
const BYTE* const dictBase = dms->window.base;
@@ -710,7 +710,7 @@ size_t ZSTD_compressBlock_fast_extDict_generic(
710710
ZSTD_MatchState_t* ms, SeqStore_t* seqStore, U32 rep[ZSTD_REP_NUM],
711711
void const* src, size_t srcSize, U32 const mls, U32 const hasStep)
712712
{
713-
const ZSTD_CParams* const cParams = &ms->cctxParams->cParams;
713+
const ZSTD_compressionParameters* const cParams = &ms->cctxParams->cParams;
714714
U32* const hashTable = ms->hashTable;
715715
U32 const hlog = cParams->hashLog;
716716
/* support stepSize of 0 */

lib/compress/zstd_lazy.c

+9-9
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ void ZSTD_updateDUBT(ZSTD_MatchState_t* ms,
3030
const BYTE* ip, const BYTE* iend,
3131
U32 mls)
3232
{
33-
const ZSTD_CParams* const cParams = &ms->cctxParams->cParams;
33+
const ZSTD_compressionParameters* const cParams = &ms->cctxParams->cParams;
3434
U32* const hashTable = ms->hashTable;
3535
U32 const hashLog = cParams->hashLog;
3636

@@ -76,7 +76,7 @@ void ZSTD_insertDUBT1(const ZSTD_MatchState_t* ms,
7676
U32 nbCompares, U32 btLow,
7777
const ZSTD_dictMode_e dictMode)
7878
{
79-
const ZSTD_CParams* const cParams = &ms->cctxParams->cParams;
79+
const ZSTD_compressionParameters* const cParams = &ms->cctxParams->cParams;
8080
U32* const bt = ms->chainTable;
8181
U32 const btLog = cParams->chainLog - 1;
8282
U32 const btMask = (1 << btLog) - 1;
@@ -171,7 +171,7 @@ size_t ZSTD_DUBT_findBetterDictMatch (
171171
const ZSTD_dictMode_e dictMode)
172172
{
173173
const ZSTD_MatchState_t * const dms = ms->dictMatchState;
174-
const ZSTD_CParams* const dmsCParams = &dms->cctxParams->cParams;
174+
const ZSTD_compressionParameters* const dmsCParams = &dms->cctxParams->cParams;
175175
const U32 * const dictHashTable = dms->hashTable;
176176
U32 const hashLog = dmsCParams->hashLog;
177177
size_t const h = ZSTD_hashPtr(ip, hashLog, mls);
@@ -246,7 +246,7 @@ size_t ZSTD_DUBT_findBestMatch(ZSTD_MatchState_t* ms,
246246
U32 const mls,
247247
const ZSTD_dictMode_e dictMode)
248248
{
249-
const ZSTD_CParams* const cParams = &ms->cctxParams->cParams;
249+
const ZSTD_compressionParameters* const cParams = &ms->cctxParams->cParams;
250250
U32* const hashTable = ms->hashTable;
251251
U32 const hashLog = cParams->hashLog;
252252
size_t const h = ZSTD_hashPtr(ip, hashLog, mls);
@@ -410,7 +410,7 @@ size_t ZSTD_BtFindBestMatch( ZSTD_MatchState_t* ms,
410410

411411
void ZSTD_dedicatedDictSearch_lazy_loadDictionary(ZSTD_MatchState_t* ms, const BYTE* const ip)
412412
{
413-
const ZSTD_CParams* const cParams = &ms->cctxParams->cParams;
413+
const ZSTD_compressionParameters* const cParams = &ms->cctxParams->cParams;
414414
const BYTE* const base = ms->window.base;
415415
U32 const target = (U32)(ip - base);
416416
U32* const hashTable = ms->hashTable;
@@ -632,7 +632,7 @@ FORCE_INLINE_TEMPLATE
632632
ZSTD_ALLOW_POINTER_OVERFLOW_ATTR
633633
U32 ZSTD_insertAndFindFirstIndex_internal(
634634
ZSTD_MatchState_t* ms,
635-
const ZSTD_CParams* const cParams,
635+
const ZSTD_compressionParameters* const cParams,
636636
const BYTE* ip, U32 const mls, U32 const lazySkipping)
637637
{
638638
U32* const hashTable = ms->hashTable;
@@ -658,7 +658,7 @@ U32 ZSTD_insertAndFindFirstIndex_internal(
658658
}
659659

660660
U32 ZSTD_insertAndFindFirstIndex(ZSTD_MatchState_t* ms, const BYTE* ip) {
661-
const ZSTD_CParams* const cParams = &ms->cctxParams->cParams;
661+
const ZSTD_compressionParameters* const cParams = &ms->cctxParams->cParams;
662662
return ZSTD_insertAndFindFirstIndex_internal(ms, cParams, ip, cParams->minMatch, /* lazySkipping*/ 0);
663663
}
664664

@@ -671,7 +671,7 @@ size_t ZSTD_HcFindBestMatch(
671671
size_t* offsetPtr,
672672
const U32 mls, const ZSTD_dictMode_e dictMode)
673673
{
674-
const ZSTD_CParams* const cParams = &ms->cctxParams->cParams;
674+
const ZSTD_compressionParameters* const cParams = &ms->cctxParams->cParams;
675675
U32* const chainTable = ms->chainTable;
676676
const U32 chainSize = (1 << cParams->chainLog);
677677
const U32 chainMask = chainSize-1;
@@ -1150,7 +1150,7 @@ size_t ZSTD_RowFindBestMatch(
11501150
BYTE* const tagTable = ms->tagTable;
11511151
U32* const hashCache = ms->hashCache;
11521152
const U32 hashLog = ms->rowHashLog;
1153-
const ZSTD_CParams* const cParams = &ms->cctxParams->cParams;
1153+
const ZSTD_compressionParameters* const cParams = &ms->cctxParams->cParams;
11541154
const BYTE* const base = ms->window.base;
11551155
const BYTE* const dictBase = ms->window.dictBase;
11561156
const U32 dictLimit = ms->window.dictLimit;

lib/compress/zstd_ldm.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -684,7 +684,7 @@ size_t ZSTD_ldm_blockCompress(RawSeqStore_t* rawSeqStore,
684684
ZSTD_ParamSwitch_e useRowMatchFinder,
685685
void const* src, size_t srcSize)
686686
{
687-
const ZSTD_CParams* const cParams = &ms->cctxParams->cParams;
687+
const ZSTD_compressionParameters* const cParams = &ms->cctxParams->cParams;
688688
unsigned const minMatch = cParams->minMatch;
689689
ZSTD_BlockCompressor_f const blockCompressor =
690690
ZSTD_selectBlockCompressor(cParams->strategy, useRowMatchFinder, ZSTD_matchState_dictMode(ms));

lib/compress/zstd_opt.c

+4-4
Original file line numberDiff line numberDiff line change
@@ -445,7 +445,7 @@ U32 ZSTD_insertBt1(
445445
U32 const target,
446446
U32 const mls, const int extDict)
447447
{
448-
const ZSTD_CParams* const cParams = &ms->cctxParams->cParams;
448+
const ZSTD_compressionParameters* const cParams = &ms->cctxParams->cParams;
449449
U32* const hashTable = ms->hashTable;
450450
U32 const hashLog = cParams->hashLog;
451451
size_t const h = ZSTD_hashPtr(ip, hashLog, mls);
@@ -598,7 +598,7 @@ ZSTD_insertBtAndGetAllMatches (
598598
const U32 lengthToBeat,
599599
const U32 mls /* template */)
600600
{
601-
const ZSTD_CParams* const cParams = &ms->cctxParams->cParams;
601+
const ZSTD_compressionParameters* const cParams = &ms->cctxParams->cParams;
602602
U32 const sufficient_len = MIN(cParams->targetLength, ZSTD_OPT_NUM -1);
603603
const BYTE* const base = ms->window.base;
604604
U32 const curr = (U32)(ip-base);
@@ -626,7 +626,7 @@ ZSTD_insertBtAndGetAllMatches (
626626
U32 nbCompares = 1U << cParams->searchLog;
627627

628628
const ZSTD_MatchState_t* dms = dictMode == ZSTD_dictMatchState ? ms->dictMatchState : NULL;
629-
const ZSTD_CParams* const dmsCParams =
629+
const ZSTD_compressionParameters* const dmsCParams =
630630
dictMode == ZSTD_dictMatchState ? &dms->cctxParams->cParams : NULL;
631631
const BYTE* const dmsBase = dictMode == ZSTD_dictMatchState ? dms->window.base : NULL;
632632
const BYTE* const dmsEnd = dictMode == ZSTD_dictMatchState ? dms->window.nextSrc : NULL;
@@ -1089,7 +1089,7 @@ ZSTD_compressBlock_opt_generic(ZSTD_MatchState_t* ms,
10891089
const BYTE* const ilimit = iend - 8;
10901090
const BYTE* const base = ms->window.base;
10911091
const BYTE* const prefixStart = base + ms->window.dictLimit;
1092-
const ZSTD_CParams* const cParams = &ms->cctxParams->cParams;
1092+
const ZSTD_compressionParameters* const cParams = &ms->cctxParams->cParams;
10931093

10941094
ZSTD_getAllMatchesFn getAllMatches = ZSTD_selectBtGetAllMatches(ms, dictMode);
10951095

lib/compress/zstdmt_compress.c

+6-5
Original file line numberDiff line numberDiff line change
@@ -1100,7 +1100,7 @@ void ZSTDMT_updateCParams_whileCompressing(ZSTDMT_CCtx* mtctx, const ZSTD_CCtx_p
11001100
DEBUGLOG(5, "ZSTDMT_updateCParams_whileCompressing (level:%i)",
11011101
compressionLevel);
11021102
mtctx->params.compressionLevel = compressionLevel;
1103-
{ ZSTD_CParams cParams = ZSTD_getCParamsFromCCtxParams(cctxParams, ZSTD_CONTENTSIZE_UNKNOWN, 0, ZSTD_cpm_noAttachDict);
1103+
{ ZSTD_compressionParameters cParams = ZSTD_getCParamsFromCCtxParams(cctxParams, ZSTD_CONTENTSIZE_UNKNOWN, 0, ZSTD_cpm_noAttachDict);
11041104
cParams.windowLog = saved_wlog;
11051105
mtctx->params.cParams = cParams;
11061106
}
@@ -1276,7 +1276,7 @@ size_t ZSTDMT_initCStream_internal(
12761276
mtctx->frameContentSize = pledgedSrcSize;
12771277
ZSTD_freeCDict(mtctx->cdictLocal);
12781278
if (dict) {
1279-
mtctx->cdictLocal = ZSTD_createCDict_internal(
1279+
mtctx->cdictLocal = ZSTD_createCDict_advanced(
12801280
dict, dictSize,
12811281
ZSTD_dlm_byCopy, dictContentType, /* note : a loadPrefix becomes an internal CDict */
12821282
params.cParams, mtctx->cMem);
@@ -1359,9 +1359,10 @@ size_t ZSTDMT_initCStream_internal(
13591359
mtctx->inBuff.prefix.size = dictSize;
13601360
} else {
13611361
/* note : a loadPrefix becomes an internal CDict */
1362-
mtctx->cdictLocal = ZSTD_createCDict_internal(dict, dictSize,
1363-
ZSTD_dlm_byRef, dictContentType,
1364-
params.cParams, mtctx->cMem);
1362+
mtctx->cdictLocal = ZSTD_createCDict_advanced(
1363+
dict, dictSize,
1364+
ZSTD_dlm_byRef, dictContentType,
1365+
params.cParams, mtctx->cMem);
13651366
mtctx->cdict = mtctx->cdictLocal;
13661367
if (mtctx->cdictLocal == NULL) return ERROR(memory_allocation);
13671368
}

0 commit comments

Comments
 (0)