Lines Matching refs:dctx

214 size_t ZSTD_sizeof_DCtx (const ZSTD_DCtx* dctx)  in ZSTD_sizeof_DCtx()  argument
216 if (dctx==NULL) return 0; /* support sizeof NULL */ in ZSTD_sizeof_DCtx()
217 return sizeof(*dctx) in ZSTD_sizeof_DCtx()
218 + ZSTD_sizeof_DDict(dctx->ddictLocal) in ZSTD_sizeof_DCtx()
219 + dctx->inBuffSize + dctx->outBuffSize; in ZSTD_sizeof_DCtx()
233 static void ZSTD_DCtx_resetParameters(ZSTD_DCtx* dctx) in ZSTD_DCtx_resetParameters() argument
235 assert(dctx->streamStage == zdss_init); in ZSTD_DCtx_resetParameters()
236 dctx->format = ZSTD_f_zstd1; in ZSTD_DCtx_resetParameters()
237 dctx->maxWindowSize = ZSTD_MAXWINDOWSIZE_DEFAULT; in ZSTD_DCtx_resetParameters()
238 dctx->outBufferMode = ZSTD_bm_buffered; in ZSTD_DCtx_resetParameters()
239 dctx->forceIgnoreChecksum = ZSTD_d_validateChecksum; in ZSTD_DCtx_resetParameters()
240 dctx->refMultipleDDicts = ZSTD_rmd_refSingleDDict; in ZSTD_DCtx_resetParameters()
243 static void ZSTD_initDCtx_internal(ZSTD_DCtx* dctx) in ZSTD_initDCtx_internal() argument
245 dctx->staticSize = 0; in ZSTD_initDCtx_internal()
246 dctx->ddict = NULL; in ZSTD_initDCtx_internal()
247 dctx->ddictLocal = NULL; in ZSTD_initDCtx_internal()
248 dctx->dictEnd = NULL; in ZSTD_initDCtx_internal()
249 dctx->ddictIsCold = 0; in ZSTD_initDCtx_internal()
250 dctx->dictUses = ZSTD_dont_use; in ZSTD_initDCtx_internal()
251 dctx->inBuff = NULL; in ZSTD_initDCtx_internal()
252 dctx->inBuffSize = 0; in ZSTD_initDCtx_internal()
253 dctx->outBuffSize = 0; in ZSTD_initDCtx_internal()
254 dctx->streamStage = zdss_init; in ZSTD_initDCtx_internal()
255 dctx->legacyContext = NULL; in ZSTD_initDCtx_internal()
256 dctx->previousLegacyVersion = 0; in ZSTD_initDCtx_internal()
257 dctx->noForwardProgress = 0; in ZSTD_initDCtx_internal()
258 dctx->oversizedDuration = 0; in ZSTD_initDCtx_internal()
259 dctx->bmi2 = ZSTD_cpuid_bmi2(ZSTD_cpuid()); in ZSTD_initDCtx_internal()
260 dctx->ddictSet = NULL; in ZSTD_initDCtx_internal()
261 ZSTD_DCtx_resetParameters(dctx); in ZSTD_initDCtx_internal()
263 dctx->dictContentEndForFuzzing = NULL; in ZSTD_initDCtx_internal()
269 ZSTD_DCtx* const dctx = (ZSTD_DCtx*) workspace; in ZSTD_initStaticDCtx() local
274 ZSTD_initDCtx_internal(dctx); in ZSTD_initStaticDCtx()
275 dctx->staticSize = workspaceSize; in ZSTD_initStaticDCtx()
276 dctx->inBuff = (char*)(dctx+1); in ZSTD_initStaticDCtx()
277 return dctx; in ZSTD_initStaticDCtx()
284 { ZSTD_DCtx* const dctx = (ZSTD_DCtx*)ZSTD_customMalloc(sizeof(*dctx), customMem); in ZSTD_createDCtx_advanced() local
285 if (!dctx) return NULL; in ZSTD_createDCtx_advanced()
286 dctx->customMem = customMem; in ZSTD_createDCtx_advanced()
287 ZSTD_initDCtx_internal(dctx); in ZSTD_createDCtx_advanced()
288 return dctx; in ZSTD_createDCtx_advanced()
298 static void ZSTD_clearDict(ZSTD_DCtx* dctx) in ZSTD_clearDict() argument
300 ZSTD_freeDDict(dctx->ddictLocal); in ZSTD_clearDict()
301 dctx->ddictLocal = NULL; in ZSTD_clearDict()
302 dctx->ddict = NULL; in ZSTD_clearDict()
303 dctx->dictUses = ZSTD_dont_use; in ZSTD_clearDict()
306 size_t ZSTD_freeDCtx(ZSTD_DCtx* dctx) in ZSTD_freeDCtx() argument
308 if (dctx==NULL) return 0; /* support free on NULL */ in ZSTD_freeDCtx()
309 RETURN_ERROR_IF(dctx->staticSize, memory_allocation, "not compatible with static DCtx"); in ZSTD_freeDCtx()
310 { ZSTD_customMem const cMem = dctx->customMem; in ZSTD_freeDCtx()
311 ZSTD_clearDict(dctx); in ZSTD_freeDCtx()
312 ZSTD_customFree(dctx->inBuff, cMem); in ZSTD_freeDCtx()
313 dctx->inBuff = NULL; in ZSTD_freeDCtx()
314 if (dctx->ddictSet) { in ZSTD_freeDCtx()
315 ZSTD_freeDDictHashSet(dctx->ddictSet, cMem); in ZSTD_freeDCtx()
316 dctx->ddictSet = NULL; in ZSTD_freeDCtx()
318 ZSTD_customFree(dctx, cMem); in ZSTD_freeDCtx()
338 static void ZSTD_DCtx_selectFrameDDict(ZSTD_DCtx* dctx) { in ZSTD_DCtx_selectFrameDDict() argument
339 assert(dctx->refMultipleDDicts && dctx->ddictSet); in ZSTD_DCtx_selectFrameDDict()
341 if (dctx->ddict) { in ZSTD_DCtx_selectFrameDDict()
342 … const ZSTD_DDict* frameDDict = ZSTD_DDictHashSet_getDDict(dctx->ddictSet, dctx->fParams.dictID); in ZSTD_DCtx_selectFrameDDict()
345 ZSTD_clearDict(dctx); in ZSTD_DCtx_selectFrameDDict()
346 dctx->dictID = dctx->fParams.dictID; in ZSTD_DCtx_selectFrameDDict()
347 dctx->ddict = frameDDict; in ZSTD_DCtx_selectFrameDDict()
348 dctx->dictUses = ZSTD_use_indefinitely; in ZSTD_DCtx_selectFrameDDict()
601 static size_t ZSTD_decodeFrameHeader(ZSTD_DCtx* dctx, const void* src, size_t headerSize) in ZSTD_decodeFrameHeader() argument
603 …size_t const result = ZSTD_getFrameHeader_advanced(&(dctx->fParams), src, headerSize, dctx->format… in ZSTD_decodeFrameHeader()
608 if (dctx->refMultipleDDicts == ZSTD_rmd_refMultipleDDicts && dctx->ddictSet) { in ZSTD_decodeFrameHeader()
609 ZSTD_DCtx_selectFrameDDict(dctx); in ZSTD_decodeFrameHeader()
616 RETURN_ERROR_IF(dctx->fParams.dictID && (dctx->dictID != dctx->fParams.dictID), in ZSTD_decodeFrameHeader()
619 dctx->validateChecksum = (dctx->fParams.checksumFlag && !dctx->forceIgnoreChecksum) ? 1 : 0; in ZSTD_decodeFrameHeader()
620 if (dctx->validateChecksum) xxh64_reset(&dctx->xxhState, 0); in ZSTD_decodeFrameHeader()
621 dctx->processedCSize += headerSize; in ZSTD_decodeFrameHeader()
737 size_t ZSTD_insertBlock(ZSTD_DCtx* dctx, const void* blockStart, size_t blockSize) in ZSTD_insertBlock() argument
740 ZSTD_checkContinuity(dctx, blockStart, blockSize); in ZSTD_insertBlock()
741 dctx->previousDstEnd = (const char*)blockStart + blockSize; in ZSTD_insertBlock()
772 static void ZSTD_DCtx_trace_end(ZSTD_DCtx const* dctx, U64 uncompressedSize, U64 compressedSize, un… in ZSTD_DCtx_trace_end() argument
774 (void)dctx; in ZSTD_DCtx_trace_end()
785 static size_t ZSTD_decompressFrame(ZSTD_DCtx* dctx, in ZSTD_decompressFrame() argument
800 remainingSrcSize < ZSTD_FRAMEHEADERSIZE_MIN(dctx->format)+ZSTD_blockHeaderSize, in ZSTD_decompressFrame()
805 ip, ZSTD_FRAMEHEADERSIZE_PREFIX(dctx->format), dctx->format); in ZSTD_decompressFrame()
809 FORWARD_IF_ERROR( ZSTD_decodeFrameHeader(dctx, ip, frameHeaderSize) , ""); in ZSTD_decompressFrame()
827 …decodedSize = ZSTD_decompressBlock_internal(dctx, op, (size_t)(oend-op), ip, cBlockSize, /* frame … in ZSTD_decompressFrame()
841 if (dctx->validateChecksum) in ZSTD_decompressFrame()
842 xxh64_update(&dctx->xxhState, op, decodedSize); in ZSTD_decompressFrame()
851 if (dctx->fParams.frameContentSize != ZSTD_CONTENTSIZE_UNKNOWN) { in ZSTD_decompressFrame()
852 RETURN_ERROR_IF((U64)(op-ostart) != dctx->fParams.frameContentSize, in ZSTD_decompressFrame()
855 if (dctx->fParams.checksumFlag) { /* Frame content checksum verification */ in ZSTD_decompressFrame()
857 if (!dctx->forceIgnoreChecksum) { in ZSTD_decompressFrame()
858 U32 const checkCalc = (U32)xxh64_digest(&dctx->xxhState); in ZSTD_decompressFrame()
866 ZSTD_DCtx_trace_end(dctx, (U64)(op-ostart), (U64)(ip-istart), /* streaming */ 0); in ZSTD_decompressFrame()
873 static size_t ZSTD_decompressMultiFrame(ZSTD_DCtx* dctx, in ZSTD_decompressMultiFrame() argument
890 while (srcSize >= ZSTD_startingInputLength(dctx->format)) { in ZSTD_decompressMultiFrame()
908 FORWARD_IF_ERROR(ZSTD_decompressBegin_usingDDict(dctx, ddict), ""); in ZSTD_decompressMultiFrame()
912 FORWARD_IF_ERROR(ZSTD_decompressBegin_usingDict(dctx, dict, dictSize), ""); in ZSTD_decompressMultiFrame()
914 ZSTD_checkContinuity(dctx, dst, dstCapacity); in ZSTD_decompressMultiFrame()
916 { const size_t res = ZSTD_decompressFrame(dctx, dst, dstCapacity, in ZSTD_decompressMultiFrame()
943 size_t ZSTD_decompress_usingDict(ZSTD_DCtx* dctx, in ZSTD_decompress_usingDict() argument
948 return ZSTD_decompressMultiFrame(dctx, dst, dstCapacity, src, srcSize, dict, dictSize, NULL); in ZSTD_decompress_usingDict()
952 static ZSTD_DDict const* ZSTD_getDDict(ZSTD_DCtx* dctx) in ZSTD_getDDict() argument
954 switch (dctx->dictUses) { in ZSTD_getDDict()
959 ZSTD_clearDict(dctx); in ZSTD_getDDict()
962 return dctx->ddict; in ZSTD_getDDict()
964 dctx->dictUses = ZSTD_dont_use; in ZSTD_getDDict()
965 return dctx->ddict; in ZSTD_getDDict()
969 size_t ZSTD_decompressDCtx(ZSTD_DCtx* dctx, void* dst, size_t dstCapacity, const void* src, size_t … in ZSTD_decompressDCtx() argument
971 return ZSTD_decompress_usingDDict(dctx, dst, dstCapacity, src, srcSize, ZSTD_getDDict(dctx)); in ZSTD_decompressDCtx()
979 ZSTD_DCtx* const dctx = ZSTD_createDCtx(); in ZSTD_decompress() local
980 RETURN_ERROR_IF(dctx==NULL, memory_allocation, "NULL pointer!"); in ZSTD_decompress()
981 regenSize = ZSTD_decompressDCtx(dctx, dst, dstCapacity, src, srcSize); in ZSTD_decompress()
982 ZSTD_freeDCtx(dctx); in ZSTD_decompress()
985 ZSTD_DCtx dctx; in ZSTD_decompress()
986 ZSTD_initDCtx_internal(&dctx); in ZSTD_decompress()
987 return ZSTD_decompressDCtx(&dctx, dst, dstCapacity, src, srcSize); in ZSTD_decompress()
996 size_t ZSTD_nextSrcSizeToDecompress(ZSTD_DCtx* dctx) { return dctx->expected; } in ZSTD_nextSrcSizeToDecompress() argument
1008 static size_t ZSTD_nextSrcSizeToDecompressWithInputSize(ZSTD_DCtx* dctx, size_t inputSize) { in ZSTD_nextSrcSizeToDecompressWithInputSize() argument
1009 if (!(dctx->stage == ZSTDds_decompressBlock || dctx->stage == ZSTDds_decompressLastBlock)) in ZSTD_nextSrcSizeToDecompressWithInputSize()
1010 return dctx->expected; in ZSTD_nextSrcSizeToDecompressWithInputSize()
1011 if (dctx->bType != bt_raw) in ZSTD_nextSrcSizeToDecompressWithInputSize()
1012 return dctx->expected; in ZSTD_nextSrcSizeToDecompressWithInputSize()
1013 return MIN(MAX(inputSize, 1), dctx->expected); in ZSTD_nextSrcSizeToDecompressWithInputSize()
1016 ZSTD_nextInputType_e ZSTD_nextInputType(ZSTD_DCtx* dctx) { in ZSTD_nextInputType() argument
1017 switch(dctx->stage) in ZSTD_nextInputType()
1041 static int ZSTD_isSkipFrame(ZSTD_DCtx* dctx) { return dctx->stage == ZSTDds_skipFrame; } in ZSTD_isSkipFrame() argument
1047 size_t ZSTD_decompressContinue(ZSTD_DCtx* dctx, void* dst, size_t dstCapacity, const void* src, siz… in ZSTD_decompressContinue() argument
1051 …RETURN_ERROR_IF(srcSize != ZSTD_nextSrcSizeToDecompressWithInputSize(dctx, srcSize), srcSize_wrong… in ZSTD_decompressContinue()
1052 ZSTD_checkContinuity(dctx, dst, dstCapacity); in ZSTD_decompressContinue()
1054 dctx->processedCSize += srcSize; in ZSTD_decompressContinue()
1056 switch (dctx->stage) in ZSTD_decompressContinue()
1060 if (dctx->format == ZSTD_f_zstd1) { /* allows header */ in ZSTD_decompressContinue()
1063 ZSTD_memcpy(dctx->headerBuffer, src, srcSize); in ZSTD_decompressContinue()
1064dctx->expected = ZSTD_SKIPPABLEHEADERSIZE - srcSize; /* remaining to load to get full skippable f… in ZSTD_decompressContinue()
1065 dctx->stage = ZSTDds_decodeSkippableHeader; in ZSTD_decompressContinue()
1068 dctx->headerSize = ZSTD_frameHeaderSize_internal(src, srcSize, dctx->format); in ZSTD_decompressContinue()
1069 if (ZSTD_isError(dctx->headerSize)) return dctx->headerSize; in ZSTD_decompressContinue()
1070 ZSTD_memcpy(dctx->headerBuffer, src, srcSize); in ZSTD_decompressContinue()
1071 dctx->expected = dctx->headerSize - srcSize; in ZSTD_decompressContinue()
1072 dctx->stage = ZSTDds_decodeFrameHeader; in ZSTD_decompressContinue()
1077 ZSTD_memcpy(dctx->headerBuffer + (dctx->headerSize - srcSize), src, srcSize); in ZSTD_decompressContinue()
1078 FORWARD_IF_ERROR(ZSTD_decodeFrameHeader(dctx, dctx->headerBuffer, dctx->headerSize), ""); in ZSTD_decompressContinue()
1079 dctx->expected = ZSTD_blockHeaderSize; in ZSTD_decompressContinue()
1080 dctx->stage = ZSTDds_decodeBlockHeader; in ZSTD_decompressContinue()
1087 …RETURN_ERROR_IF(cBlockSize > dctx->fParams.blockSizeMax, corruption_detected, "Block Size Exceeds … in ZSTD_decompressContinue()
1088 dctx->expected = cBlockSize; in ZSTD_decompressContinue()
1089 dctx->bType = bp.blockType; in ZSTD_decompressContinue()
1090 dctx->rleSize = bp.origSize; in ZSTD_decompressContinue()
1092 dctx->stage = bp.lastBlock ? ZSTDds_decompressLastBlock : ZSTDds_decompressBlock; in ZSTD_decompressContinue()
1097 if (dctx->fParams.checksumFlag) { in ZSTD_decompressContinue()
1098 dctx->expected = 4; in ZSTD_decompressContinue()
1099 dctx->stage = ZSTDds_checkChecksum; in ZSTD_decompressContinue()
1101 dctx->expected = 0; /* end of frame */ in ZSTD_decompressContinue()
1102 dctx->stage = ZSTDds_getFrameHeaderSize; in ZSTD_decompressContinue()
1105 dctx->expected = ZSTD_blockHeaderSize; /* jump to next header */ in ZSTD_decompressContinue()
1106 dctx->stage = ZSTDds_decodeBlockHeader; in ZSTD_decompressContinue()
1115 switch(dctx->bType) in ZSTD_decompressContinue()
1119 … rSize = ZSTD_decompressBlock_internal(dctx, dst, dstCapacity, src, srcSize, /* frame */ 1); in ZSTD_decompressContinue()
1120 dctx->expected = 0; /* Streaming not supported */ in ZSTD_decompressContinue()
1123 assert(srcSize <= dctx->expected); in ZSTD_decompressContinue()
1127 dctx->expected -= rSize; in ZSTD_decompressContinue()
1130 rSize = ZSTD_setRleBlock(dst, dstCapacity, *(const BYTE*)src, dctx->rleSize); in ZSTD_decompressContinue()
1131 dctx->expected = 0; /* Streaming not supported */ in ZSTD_decompressContinue()
1138 …RETURN_ERROR_IF(rSize > dctx->fParams.blockSizeMax, corruption_detected, "Decompressed Block Size … in ZSTD_decompressContinue()
1140 dctx->decodedSize += rSize; in ZSTD_decompressContinue()
1141 if (dctx->validateChecksum) xxh64_update(&dctx->xxhState, dst, rSize); in ZSTD_decompressContinue()
1142 dctx->previousDstEnd = (char*)dst + rSize; in ZSTD_decompressContinue()
1145 if (dctx->expected > 0) { in ZSTD_decompressContinue()
1149 if (dctx->stage == ZSTDds_decompressLastBlock) { /* end of frame */ in ZSTD_decompressContinue()
1150 … DEBUGLOG(4, "ZSTD_decompressContinue: decoded size from frame : %u", (unsigned)dctx->decodedSize); in ZSTD_decompressContinue()
1152 dctx->fParams.frameContentSize != ZSTD_CONTENTSIZE_UNKNOWN in ZSTD_decompressContinue()
1153 && dctx->decodedSize != dctx->fParams.frameContentSize, in ZSTD_decompressContinue()
1155 if (dctx->fParams.checksumFlag) { /* another round for frame checksum */ in ZSTD_decompressContinue()
1156 dctx->expected = 4; in ZSTD_decompressContinue()
1157 dctx->stage = ZSTDds_checkChecksum; in ZSTD_decompressContinue()
1159 … ZSTD_DCtx_trace_end(dctx, dctx->decodedSize, dctx->processedCSize, /* streaming */ 1); in ZSTD_decompressContinue()
1160 dctx->expected = 0; /* ends here */ in ZSTD_decompressContinue()
1161 dctx->stage = ZSTDds_getFrameHeaderSize; in ZSTD_decompressContinue()
1164 dctx->stage = ZSTDds_decodeBlockHeader; in ZSTD_decompressContinue()
1165 dctx->expected = ZSTD_blockHeaderSize; in ZSTD_decompressContinue()
1173 if (dctx->validateChecksum) { in ZSTD_decompressContinue()
1174 U32 const h32 = (U32)xxh64_digest(&dctx->xxhState); in ZSTD_decompressContinue()
1179 ZSTD_DCtx_trace_end(dctx, dctx->decodedSize, dctx->processedCSize, /* streaming */ 1); in ZSTD_decompressContinue()
1180 dctx->expected = 0; in ZSTD_decompressContinue()
1181 dctx->stage = ZSTDds_getFrameHeaderSize; in ZSTD_decompressContinue()
1188 …ZSTD_memcpy(dctx->headerBuffer + (ZSTD_SKIPPABLEHEADERSIZE - srcSize), src, srcSize); /* complet… in ZSTD_decompressContinue()
1189dctx->expected = MEM_readLE32(dctx->headerBuffer + ZSTD_FRAMEIDSIZE); /* note : dctx->expected c… in ZSTD_decompressContinue()
1190 dctx->stage = ZSTDds_skipFrame; in ZSTD_decompressContinue()
1194 dctx->expected = 0; in ZSTD_decompressContinue()
1195 dctx->stage = ZSTDds_getFrameHeaderSize; in ZSTD_decompressContinue()
1205 static size_t ZSTD_refDictContent(ZSTD_DCtx* dctx, const void* dict, size_t dictSize) in ZSTD_refDictContent() argument
1207 dctx->dictEnd = dctx->previousDstEnd; in ZSTD_refDictContent()
1208dctx->virtualStart = (const char*)dict - ((const char*)(dctx->previousDstEnd) - (const char*)(dctx in ZSTD_refDictContent()
1209 dctx->prefixStart = dict; in ZSTD_refDictContent()
1210 dctx->previousDstEnd = (const char*)dict + dictSize; in ZSTD_refDictContent()
1212 dctx->dictContentBeginForFuzzing = dctx->prefixStart; in ZSTD_refDictContent()
1213 dctx->dictContentEndForFuzzing = dctx->previousDstEnd; in ZSTD_refDictContent()
1309 static size_t ZSTD_decompress_insertDictionary(ZSTD_DCtx* dctx, const void* dict, size_t dictSize) in ZSTD_decompress_insertDictionary() argument
1311 if (dictSize < 8) return ZSTD_refDictContent(dctx, dict, dictSize); in ZSTD_decompress_insertDictionary()
1314 return ZSTD_refDictContent(dctx, dict, dictSize); /* pure content mode */ in ZSTD_decompress_insertDictionary()
1316 dctx->dictID = MEM_readLE32((const char*)dict + ZSTD_FRAMEIDSIZE); in ZSTD_decompress_insertDictionary()
1319 { size_t const eSize = ZSTD_loadDEntropy(&dctx->entropy, dict, dictSize); in ZSTD_decompress_insertDictionary()
1324 dctx->litEntropy = dctx->fseEntropy = 1; in ZSTD_decompress_insertDictionary()
1327 return ZSTD_refDictContent(dctx, dict, dictSize); in ZSTD_decompress_insertDictionary()
1330 size_t ZSTD_decompressBegin(ZSTD_DCtx* dctx) in ZSTD_decompressBegin() argument
1332 assert(dctx != NULL); in ZSTD_decompressBegin()
1333dctx->expected = ZSTD_startingInputLength(dctx->format); /* dctx->format must be properly set */ in ZSTD_decompressBegin()
1334 dctx->stage = ZSTDds_getFrameHeaderSize; in ZSTD_decompressBegin()
1335 dctx->processedCSize = 0; in ZSTD_decompressBegin()
1336 dctx->decodedSize = 0; in ZSTD_decompressBegin()
1337 dctx->previousDstEnd = NULL; in ZSTD_decompressBegin()
1338 dctx->prefixStart = NULL; in ZSTD_decompressBegin()
1339 dctx->virtualStart = NULL; in ZSTD_decompressBegin()
1340 dctx->dictEnd = NULL; in ZSTD_decompressBegin()
1341dctx->entropy.hufTable[0] = (HUF_DTable)((HufLog)*0x1000001); /* cover both little and big endian… in ZSTD_decompressBegin()
1342 dctx->litEntropy = dctx->fseEntropy = 0; in ZSTD_decompressBegin()
1343 dctx->dictID = 0; in ZSTD_decompressBegin()
1344 dctx->bType = bt_reserved; in ZSTD_decompressBegin()
1345 ZSTD_STATIC_ASSERT(sizeof(dctx->entropy.rep) == sizeof(repStartValue)); in ZSTD_decompressBegin()
1346 ZSTD_memcpy(dctx->entropy.rep, repStartValue, sizeof(repStartValue)); /* initial repcodes */ in ZSTD_decompressBegin()
1347 dctx->LLTptr = dctx->entropy.LLTable; in ZSTD_decompressBegin()
1348 dctx->MLTptr = dctx->entropy.MLTable; in ZSTD_decompressBegin()
1349 dctx->OFTptr = dctx->entropy.OFTable; in ZSTD_decompressBegin()
1350 dctx->HUFptr = dctx->entropy.hufTable; in ZSTD_decompressBegin()
1354 size_t ZSTD_decompressBegin_usingDict(ZSTD_DCtx* dctx, const void* dict, size_t dictSize) in ZSTD_decompressBegin_usingDict() argument
1356 FORWARD_IF_ERROR( ZSTD_decompressBegin(dctx) , ""); in ZSTD_decompressBegin_usingDict()
1359 ZSTD_isError(ZSTD_decompress_insertDictionary(dctx, dict, dictSize)), in ZSTD_decompressBegin_usingDict()
1367 size_t ZSTD_decompressBegin_usingDDict(ZSTD_DCtx* dctx, const ZSTD_DDict* ddict) in ZSTD_decompressBegin_usingDDict() argument
1370 assert(dctx != NULL); in ZSTD_decompressBegin_usingDDict()
1375 dctx->ddictIsCold = (dctx->dictEnd != dictEnd); in ZSTD_decompressBegin_usingDDict()
1377 dctx->ddictIsCold ? "~cold~" : "hot!"); in ZSTD_decompressBegin_usingDDict()
1379 FORWARD_IF_ERROR( ZSTD_decompressBegin(dctx) , ""); in ZSTD_decompressBegin_usingDDict()
1381 ZSTD_copyDDictParameters(dctx, ddict); in ZSTD_decompressBegin_usingDDict()
1422 size_t ZSTD_decompress_usingDDict(ZSTD_DCtx* dctx, in ZSTD_decompress_usingDDict() argument
1428 return ZSTD_decompressMultiFrame(dctx, dst, dstCapacity, src, srcSize, in ZSTD_decompress_usingDDict()
1465 size_t ZSTD_DCtx_loadDictionary_advanced(ZSTD_DCtx* dctx, in ZSTD_DCtx_loadDictionary_advanced() argument
1470 RETURN_ERROR_IF(dctx->streamStage != zdss_init, stage_wrong, ""); in ZSTD_DCtx_loadDictionary_advanced()
1471 ZSTD_clearDict(dctx); in ZSTD_DCtx_loadDictionary_advanced()
1473dctx->ddictLocal = ZSTD_createDDict_advanced(dict, dictSize, dictLoadMethod, dictContentType, dctx in ZSTD_DCtx_loadDictionary_advanced()
1474 RETURN_ERROR_IF(dctx->ddictLocal == NULL, memory_allocation, "NULL pointer!"); in ZSTD_DCtx_loadDictionary_advanced()
1475 dctx->ddict = dctx->ddictLocal; in ZSTD_DCtx_loadDictionary_advanced()
1476 dctx->dictUses = ZSTD_use_indefinitely; in ZSTD_DCtx_loadDictionary_advanced()
1481 size_t ZSTD_DCtx_loadDictionary_byReference(ZSTD_DCtx* dctx, const void* dict, size_t dictSize) in ZSTD_DCtx_loadDictionary_byReference() argument
1483 return ZSTD_DCtx_loadDictionary_advanced(dctx, dict, dictSize, ZSTD_dlm_byRef, ZSTD_dct_auto); in ZSTD_DCtx_loadDictionary_byReference()
1486 size_t ZSTD_DCtx_loadDictionary(ZSTD_DCtx* dctx, const void* dict, size_t dictSize) in ZSTD_DCtx_loadDictionary() argument
1488 return ZSTD_DCtx_loadDictionary_advanced(dctx, dict, dictSize, ZSTD_dlm_byCopy, ZSTD_dct_auto); in ZSTD_DCtx_loadDictionary()
1491 size_t ZSTD_DCtx_refPrefix_advanced(ZSTD_DCtx* dctx, const void* prefix, size_t prefixSize, ZSTD_di… in ZSTD_DCtx_refPrefix_advanced() argument
1493 …FORWARD_IF_ERROR(ZSTD_DCtx_loadDictionary_advanced(dctx, prefix, prefixSize, ZSTD_dlm_byRef, dictC… in ZSTD_DCtx_refPrefix_advanced()
1494 dctx->dictUses = ZSTD_use_once; in ZSTD_DCtx_refPrefix_advanced()
1498 size_t ZSTD_DCtx_refPrefix(ZSTD_DCtx* dctx, const void* prefix, size_t prefixSize) in ZSTD_DCtx_refPrefix() argument
1500 return ZSTD_DCtx_refPrefix_advanced(dctx, prefix, prefixSize, ZSTD_dct_rawContent); in ZSTD_DCtx_refPrefix()
1525 size_t ZSTD_initDStream_usingDDict(ZSTD_DStream* dctx, const ZSTD_DDict* ddict) in ZSTD_initDStream_usingDDict() argument
1527 FORWARD_IF_ERROR( ZSTD_DCtx_reset(dctx, ZSTD_reset_session_only) , ""); in ZSTD_initDStream_usingDDict()
1528 FORWARD_IF_ERROR( ZSTD_DCtx_refDDict(dctx, ddict) , ""); in ZSTD_initDStream_usingDDict()
1529 return ZSTD_startingInputLength(dctx->format); in ZSTD_initDStream_usingDDict()
1535 size_t ZSTD_resetDStream(ZSTD_DStream* dctx) in ZSTD_resetDStream() argument
1537 FORWARD_IF_ERROR(ZSTD_DCtx_reset(dctx, ZSTD_reset_session_only), ""); in ZSTD_resetDStream()
1538 return ZSTD_startingInputLength(dctx->format); in ZSTD_resetDStream()
1542 size_t ZSTD_DCtx_refDDict(ZSTD_DCtx* dctx, const ZSTD_DDict* ddict) in ZSTD_DCtx_refDDict() argument
1544 RETURN_ERROR_IF(dctx->streamStage != zdss_init, stage_wrong, ""); in ZSTD_DCtx_refDDict()
1545 ZSTD_clearDict(dctx); in ZSTD_DCtx_refDDict()
1547 dctx->ddict = ddict; in ZSTD_DCtx_refDDict()
1548 dctx->dictUses = ZSTD_use_indefinitely; in ZSTD_DCtx_refDDict()
1549 if (dctx->refMultipleDDicts == ZSTD_rmd_refMultipleDDicts) { in ZSTD_DCtx_refDDict()
1550 if (dctx->ddictSet == NULL) { in ZSTD_DCtx_refDDict()
1551 dctx->ddictSet = ZSTD_createDDictHashSet(dctx->customMem); in ZSTD_DCtx_refDDict()
1552 if (!dctx->ddictSet) { in ZSTD_DCtx_refDDict()
1556 … assert(!dctx->staticSize); /* Impossible: ddictSet cannot have been allocated if static dctx */ in ZSTD_DCtx_refDDict()
1557 … FORWARD_IF_ERROR(ZSTD_DDictHashSet_addDDict(dctx->ddictSet, ddict, dctx->customMem), ""); in ZSTD_DCtx_refDDict()
1566 size_t ZSTD_DCtx_setMaxWindowSize(ZSTD_DCtx* dctx, size_t maxWindowSize) in ZSTD_DCtx_setMaxWindowSize() argument
1571 RETURN_ERROR_IF(dctx->streamStage != zdss_init, stage_wrong, ""); in ZSTD_DCtx_setMaxWindowSize()
1574 dctx->maxWindowSize = maxWindowSize; in ZSTD_DCtx_setMaxWindowSize()
1578 size_t ZSTD_DCtx_setFormat(ZSTD_DCtx* dctx, ZSTD_format_e format) in ZSTD_DCtx_setFormat() argument
1580 return ZSTD_DCtx_setParameter(dctx, ZSTD_d_format, (int)format); in ZSTD_DCtx_setFormat()
1630 size_t ZSTD_DCtx_getParameter(ZSTD_DCtx* dctx, ZSTD_dParameter param, int* value) in ZSTD_DCtx_getParameter() argument
1634 *value = (int)ZSTD_highbit32((U32)dctx->maxWindowSize); in ZSTD_DCtx_getParameter()
1637 *value = (int)dctx->format; in ZSTD_DCtx_getParameter()
1640 *value = (int)dctx->outBufferMode; in ZSTD_DCtx_getParameter()
1643 *value = (int)dctx->forceIgnoreChecksum; in ZSTD_DCtx_getParameter()
1646 *value = (int)dctx->refMultipleDDicts; in ZSTD_DCtx_getParameter()
1653 size_t ZSTD_DCtx_setParameter(ZSTD_DCtx* dctx, ZSTD_dParameter dParam, int value) in ZSTD_DCtx_setParameter() argument
1655 RETURN_ERROR_IF(dctx->streamStage != zdss_init, stage_wrong, ""); in ZSTD_DCtx_setParameter()
1660 dctx->maxWindowSize = ((size_t)1) << value; in ZSTD_DCtx_setParameter()
1664 dctx->format = (ZSTD_format_e)value; in ZSTD_DCtx_setParameter()
1668 dctx->outBufferMode = (ZSTD_bufferMode_e)value; in ZSTD_DCtx_setParameter()
1672 dctx->forceIgnoreChecksum = (ZSTD_forceIgnoreChecksum_e)value; in ZSTD_DCtx_setParameter()
1676 if (dctx->staticSize != 0) { in ZSTD_DCtx_setParameter()
1679 dctx->refMultipleDDicts = (ZSTD_refMultipleDDicts_e)value; in ZSTD_DCtx_setParameter()
1686 size_t ZSTD_DCtx_reset(ZSTD_DCtx* dctx, ZSTD_ResetDirective reset) in ZSTD_DCtx_reset() argument
1690 dctx->streamStage = zdss_init; in ZSTD_DCtx_reset()
1691 dctx->noForwardProgress = 0; in ZSTD_DCtx_reset()
1695 RETURN_ERROR_IF(dctx->streamStage != zdss_init, stage_wrong, ""); in ZSTD_DCtx_reset()
1696 ZSTD_clearDict(dctx); in ZSTD_DCtx_reset()
1697 ZSTD_DCtx_resetParameters(dctx); in ZSTD_DCtx_reset()
1703 size_t ZSTD_sizeof_DStream(const ZSTD_DStream* dctx) in ZSTD_sizeof_DStream() argument
1705 return ZSTD_sizeof_DCtx(dctx); in ZSTD_sizeof_DStream()
2074 ZSTD_DCtx* dctx, in ZSTD_decompressStream_simpleArgs() argument
2081 size_t const cErr = ZSTD_decompressStream(dctx, &output, &input); in ZSTD_decompressStream_simpleArgs()