Lines Matching defs:ddict
43 const void* ZSTD_DDict_dictContent(const ZSTD_DDict* ddict)
45 assert(ddict != NULL);
46 return ddict->dictContent;
49 size_t ZSTD_DDict_dictSize(const ZSTD_DDict* ddict)
51 assert(ddict != NULL);
52 return ddict->dictSize;
55 void ZSTD_copyDDictParameters(ZSTD_DCtx* dctx, const ZSTD_DDict* ddict)
59 assert(ddict != NULL);
60 dctx->dictID = ddict->dictID;
61 dctx->prefixStart = ddict->dictContent;
62 dctx->virtualStart = ddict->dictContent;
63 dctx->dictEnd = (const BYTE*)ddict->dictContent + ddict->dictSize;
69 if (ddict->entropyPresent) {
72 dctx->LLTptr = ddict->entropy.LLTable;
73 dctx->MLTptr = ddict->entropy.MLTable;
74 dctx->OFTptr = ddict->entropy.OFTable;
75 dctx->HUFptr = ddict->entropy.hufTable;
76 dctx->entropy.rep[0] = ddict->entropy.rep[0];
77 dctx->entropy.rep[1] = ddict->entropy.rep[1];
78 dctx->entropy.rep[2] = ddict->entropy.rep[2];
87 ZSTD_loadEntropy_intoDDict(ZSTD_DDict* ddict,
90 ddict->dictID = 0;
91 ddict->entropyPresent = 0;
94 if (ddict->dictSize < 8) {
99 { U32 const magic = MEM_readLE32(ddict->dictContent);
106 ddict->dictID = MEM_readLE32((const char*)ddict->dictContent + ZSTD_FRAMEIDSIZE);
110 &ddict->entropy, ddict->dictContent, ddict->dictSize)),
112 ddict->entropyPresent = 1;
117 static size_t ZSTD_initDDict_internal(ZSTD_DDict* ddict,
123 ddict->dictBuffer = NULL;
124 ddict->dictContent = dict;
127 void* const internalBuffer = ZSTD_customMalloc(dictSize, ddict->cMem);
128 ddict->dictBuffer = internalBuffer;
129 ddict->dictContent = internalBuffer;
133 ddict->dictSize = dictSize;
134 ddict->entropy.hufTable[0] = (HUF_DTable)((HufLog)*0x1000001); /* cover both little and big endian */
137 FORWARD_IF_ERROR( ZSTD_loadEntropy_intoDDict(ddict, dictContentType) , "");
149 { ZSTD_DDict* const ddict = (ZSTD_DDict*) ZSTD_customMalloc(sizeof(ZSTD_DDict), customMem);
150 if (ddict == NULL) return NULL;
151 ddict->cMem = customMem;
152 { size_t const initResult = ZSTD_initDDict_internal(ddict,
156 ZSTD_freeDDict(ddict);
159 return ddict;
192 ZSTD_DDict* const ddict = (ZSTD_DDict*)sBuffer;
198 ZSTD_memcpy(ddict+1, dict, dictSize); /* local copy */
199 dict = ddict+1;
201 if (ZSTD_isError( ZSTD_initDDict_internal(ddict,
205 return ddict;
209 size_t ZSTD_freeDDict(ZSTD_DDict* ddict)
211 if (ddict==NULL) return 0; /* support free on NULL */
212 { ZSTD_customMem const cMem = ddict->cMem;
213 ZSTD_customFree(ddict->dictBuffer, cMem);
214 ZSTD_customFree(ddict, cMem);
227 size_t ZSTD_sizeof_DDict(const ZSTD_DDict* ddict)
229 if (ddict==NULL) return 0; /* support sizeof on NULL */
230 return sizeof(*ddict) + (ddict->dictBuffer ? ddict->dictSize : 0) ;
234 * Provides the dictID of the dictionary loaded into `ddict`.
237 unsigned ZSTD_getDictID_fromDDict(const ZSTD_DDict* ddict)
239 if (ddict==NULL) return 0;
240 return ZSTD_getDictID_fromDict(ddict->dictContent, ddict->dictSize);