Lines Matching defs:ddict
44 const void* ZSTD_DDict_dictContent(const ZSTD_DDict* ddict)
46 assert(ddict != NULL);
47 return ddict->dictContent;
50 size_t ZSTD_DDict_dictSize(const ZSTD_DDict* ddict)
52 assert(ddict != NULL);
53 return ddict->dictSize;
56 void ZSTD_copyDDictParameters(ZSTD_DCtx* dctx, const ZSTD_DDict* ddict)
60 assert(ddict != NULL);
61 dctx->dictID = ddict->dictID;
62 dctx->prefixStart = ddict->dictContent;
63 dctx->virtualStart = ddict->dictContent;
64 dctx->dictEnd = (const BYTE*)ddict->dictContent + ddict->dictSize;
70 if (ddict->entropyPresent) {
73 dctx->LLTptr = ddict->entropy.LLTable;
74 dctx->MLTptr = ddict->entropy.MLTable;
75 dctx->OFTptr = ddict->entropy.OFTable;
76 dctx->HUFptr = ddict->entropy.hufTable;
77 dctx->entropy.rep[0] = ddict->entropy.rep[0];
78 dctx->entropy.rep[1] = ddict->entropy.rep[1];
79 dctx->entropy.rep[2] = ddict->entropy.rep[2];
88 ZSTD_loadEntropy_intoDDict(ZSTD_DDict* ddict,
91 ddict->dictID = 0;
92 ddict->entropyPresent = 0;
95 if (ddict->dictSize < 8) {
100 { U32 const magic = MEM_readLE32(ddict->dictContent);
107 ddict->dictID = MEM_readLE32((const char*)ddict->dictContent + ZSTD_FRAMEIDSIZE);
111 &ddict->entropy, ddict->dictContent, ddict->dictSize)),
113 ddict->entropyPresent = 1;
118 static size_t ZSTD_initDDict_internal(ZSTD_DDict* ddict,
124 ddict->dictBuffer = NULL;
125 ddict->dictContent = dict;
128 void* const internalBuffer = ZSTD_customMalloc(dictSize, ddict->cMem);
129 ddict->dictBuffer = internalBuffer;
130 ddict->dictContent = internalBuffer;
134 ddict->dictSize = dictSize;
135 ddict->entropy.hufTable[0] = (HUF_DTable)((ZSTD_HUFFDTABLE_CAPACITY_LOG)*0x1000001); /* cover both little and big endian */
138 FORWARD_IF_ERROR( ZSTD_loadEntropy_intoDDict(ddict, dictContentType) , "");
150 { ZSTD_DDict* const ddict = (ZSTD_DDict*) ZSTD_customMalloc(sizeof(ZSTD_DDict), customMem);
151 if (ddict == NULL) return NULL;
152 ddict->cMem = customMem;
153 { size_t const initResult = ZSTD_initDDict_internal(ddict,
157 ZSTD_freeDDict(ddict);
160 return ddict;
193 ZSTD_DDict* const ddict = (ZSTD_DDict*)sBuffer;
199 ZSTD_memcpy(ddict+1, dict, dictSize); /* local copy */
200 dict = ddict+1;
202 if (ZSTD_isError( ZSTD_initDDict_internal(ddict,
206 return ddict;
210 size_t ZSTD_freeDDict(ZSTD_DDict* ddict)
212 if (ddict==NULL) return 0; /* support free on NULL */
213 { ZSTD_customMem const cMem = ddict->cMem;
214 ZSTD_customFree(ddict->dictBuffer, cMem);
215 ZSTD_customFree(ddict, cMem);
228 size_t ZSTD_sizeof_DDict(const ZSTD_DDict* ddict)
230 if (ddict==NULL) return 0; /* support sizeof on NULL */
231 return sizeof(*ddict) + (ddict->dictBuffer ? ddict->dictSize : 0) ;
235 * Provides the dictID of the dictionary loaded into `ddict`.
238 unsigned ZSTD_getDictID_fromDDict(const ZSTD_DDict* ddict)
240 if (ddict==NULL) return 0;
241 return ddict->dictID;