Lines Matching refs:zds

3850 ZSTDLIB_API size_t ZSTD_freeDStream(ZSTD_DStream* zds);
3859 ZSTDLIB_API size_t ZSTD_initDStream(ZSTD_DStream* zds);
3861 ZSTDLIB_API size_t ZSTD_decompressStream(ZSTD_DStream* zds, ZSTD_outBuffer* output, ZSTD_inBuffer* …
4098 ZSTDLIB_API size_t ZSTD_sizeof_DStream(const ZSTD_DStream* zds);
4946 ZSTDLIB_API size_t ZSTD_initDStream_usingDict(ZSTD_DStream* zds, const void* dict, size_t dictSize);
4957 ZSTDLIB_API size_t ZSTD_initDStream_usingDDict(ZSTD_DStream* zds, const ZSTD_DDict* ddict);
4967 ZSTDLIB_API size_t ZSTD_resetDStream(ZSTD_DStream* zds);
25785 size_t ZSTD_freeDStream(ZSTD_DStream* zds) in ZSTD_freeDStream() argument
25787 return ZSTD_freeDCtx(zds); in ZSTD_freeDStream()
25838 size_t ZSTD_initDStream_usingDict(ZSTD_DStream* zds, const void* dict, size_t dictSize) in ZSTD_initDStream_usingDict() argument
25841 FORWARD_IF_ERROR( ZSTD_DCtx_reset(zds, ZSTD_reset_session_only) , ""); in ZSTD_initDStream_usingDict()
25842 FORWARD_IF_ERROR( ZSTD_DCtx_loadDictionary(zds, dict, dictSize) , ""); in ZSTD_initDStream_usingDict()
25843 return ZSTD_startingInputLength(zds->format); in ZSTD_initDStream_usingDict()
25847 size_t ZSTD_initDStream(ZSTD_DStream* zds) in ZSTD_initDStream() argument
25850 return ZSTD_initDStream_usingDDict(zds, NULL); in ZSTD_initDStream()
26022 static int ZSTD_DCtx_isOverflow(ZSTD_DStream* zds, size_t const neededInBuffSize, size_t const need… in ZSTD_DCtx_isOverflow() argument
26024 …return (zds->inBuffSize + zds->outBuffSize) >= (neededInBuffSize + neededOutBuffSize) * ZSTD_WORKS… in ZSTD_DCtx_isOverflow()
26027 static void ZSTD_DCtx_updateOversizedDuration(ZSTD_DStream* zds, size_t const neededInBuffSize, siz… in ZSTD_DCtx_updateOversizedDuration() argument
26029 if (ZSTD_DCtx_isOverflow(zds, neededInBuffSize, neededOutBuffSize)) in ZSTD_DCtx_updateOversizedDuration()
26030 zds->oversizedDuration++; in ZSTD_DCtx_updateOversizedDuration()
26032 zds->oversizedDuration = 0; in ZSTD_DCtx_updateOversizedDuration()
26035 static int ZSTD_DCtx_isOversizedTooLong(ZSTD_DStream* zds) in ZSTD_DCtx_isOversizedTooLong() argument
26037 return zds->oversizedDuration >= ZSTD_WORKSPACETOOLARGE_MAXDURATION; in ZSTD_DCtx_isOversizedTooLong()
26041 static size_t ZSTD_checkOutBuffer(ZSTD_DStream const* zds, ZSTD_outBuffer const* output) in ZSTD_checkOutBuffer() argument
26043 ZSTD_outBuffer const expect = zds->expectedOutBuffer; in ZSTD_checkOutBuffer()
26045 if (zds->outBufferMode != ZSTD_obm_stable) in ZSTD_checkOutBuffer()
26050 if (zds->streamStage == zdss_init) in ZSTD_checkOutBuffer()
26064 ZSTD_DStream* zds, char** op, char* oend, in ZSTD_decompressContinueStream() argument
26066 int const isSkipFrame = ZSTD_isSkipFrame(zds); in ZSTD_decompressContinueStream()
26067 if (zds->outBufferMode == ZSTD_obm_buffered) { in ZSTD_decompressContinueStream()
26068 size_t const dstSize = isSkipFrame ? 0 : zds->outBuffSize - zds->outStart; in ZSTD_decompressContinueStream()
26069 size_t const decodedSize = ZSTD_decompressContinue(zds, in ZSTD_decompressContinueStream()
26070 zds->outBuff + zds->outStart, dstSize, src, srcSize); in ZSTD_decompressContinueStream()
26073 zds->streamStage = zdss_read; in ZSTD_decompressContinueStream()
26075 zds->outEnd = zds->outStart + decodedSize; in ZSTD_decompressContinueStream()
26076 zds->streamStage = zdss_flush; in ZSTD_decompressContinueStream()
26081 size_t const decodedSize = ZSTD_decompressContinue(zds, *op, dstSize, src, srcSize); in ZSTD_decompressContinueStream()
26085 zds->streamStage = zdss_read; in ZSTD_decompressContinueStream()
26087 assert(zds->outBufferMode == ZSTD_obm_stable); in ZSTD_decompressContinueStream()
26092 size_t ZSTD_decompressStream(ZSTD_DStream* zds, ZSTD_outBuffer* output, ZSTD_inBuffer* input) in ZSTD_decompressStream() argument
26116 FORWARD_IF_ERROR(ZSTD_checkOutBuffer(zds, output), ""); in ZSTD_decompressStream()
26119 switch(zds->streamStage) in ZSTD_decompressStream()
26123 zds->streamStage = zdss_loadHeader; in ZSTD_decompressStream()
26124 zds->lhSize = zds->inPos = zds->outStart = zds->outEnd = 0; in ZSTD_decompressStream()
26125 zds->legacyVersion = 0; in ZSTD_decompressStream()
26126 zds->hostageByte = 0; in ZSTD_decompressStream()
26127 zds->expectedOutBuffer = *output; in ZSTD_decompressStream()
26133 if (zds->legacyVersion) { in ZSTD_decompressStream()
26134 RETURN_ERROR_IF(zds->staticSize, memory_allocation, in ZSTD_decompressStream()
26136 …{ size_t const hint = ZSTD_decompressLegacyStream(zds->legacyContext, zds->legacyVersion, output… in ZSTD_decompressStream()
26137 if (hint==0) zds->streamStage = zdss_init; in ZSTD_decompressStream()
26141 … size_t const hSize = ZSTD_getFrameHeader_advanced(&zds->fParams, zds->headerBuffer, zds->lhSize, … in ZSTD_decompressStream()
26147 ZSTD_DDict const* const ddict = ZSTD_getDDict(zds); in ZSTD_decompressStream()
26151 RETURN_ERROR_IF(zds->staticSize, memory_allocation, in ZSTD_decompressStream()
26153 FORWARD_IF_ERROR(ZSTD_initLegacyStream(&zds->legacyContext, in ZSTD_decompressStream()
26154 zds->previousLegacyVersion, legacyVersion, in ZSTD_decompressStream()
26156 zds->legacyVersion = zds->previousLegacyVersion = legacyVersion; in ZSTD_decompressStream()
26157 …{ size_t const hint = ZSTD_decompressLegacyStream(zds->legacyContext, legacyVersion, output, inp… in ZSTD_decompressStream()
26158 … if (hint==0) zds->streamStage = zdss_init; /* or stay in stage zdss_loadHeader */ in ZSTD_decompressStream()
26165 … size_t const toLoad = hSize - zds->lhSize; /* if hSize!=0, hSize > zds->lhSize */ in ZSTD_decompressStream()
26170 memcpy(zds->headerBuffer + zds->lhSize, ip, remainingInput); in ZSTD_decompressStream()
26171 zds->lhSize += remainingInput; in ZSTD_decompressStream()
26174 …return (MAX((size_t)ZSTD_FRAMEHEADERSIZE_MIN(zds->format), hSize) - zds->lhSize) + ZSTD_blockHeade… in ZSTD_decompressStream()
26177 … memcpy(zds->headerBuffer + zds->lhSize, ip, toLoad); zds->lhSize = hSize; ip += toLoad; in ZSTD_decompressStream()
26182 if (zds->fParams.frameContentSize != ZSTD_CONTENTSIZE_UNKNOWN in ZSTD_decompressStream()
26183 && zds->fParams.frameType != ZSTD_skippableFrame in ZSTD_decompressStream()
26184 && (U64)(size_t)(oend-op) >= zds->fParams.frameContentSize) { in ZSTD_decompressStream()
26188 …onst decompressedSize = ZSTD_decompress_usingDDict(zds, op, oend-op, istart, cSize, ZSTD_getDDict(… in ZSTD_decompressStream()
26193 zds->expected = 0; in ZSTD_decompressStream()
26194 zds->streamStage = zdss_init; in ZSTD_decompressStream()
26200 if (zds->outBufferMode == ZSTD_obm_stable in ZSTD_decompressStream()
26201 && zds->fParams.frameType != ZSTD_skippableFrame in ZSTD_decompressStream()
26202 && zds->fParams.frameContentSize != ZSTD_CONTENTSIZE_UNKNOWN in ZSTD_decompressStream()
26203 && (U64)(size_t)(oend-op) < zds->fParams.frameContentSize) { in ZSTD_decompressStream()
26209 FORWARD_IF_ERROR(ZSTD_decompressBegin_usingDDict(zds, ZSTD_getDDict(zds)), ""); in ZSTD_decompressStream()
26211 …if ((MEM_readLE32(zds->headerBuffer) & ZSTD_MAGIC_SKIPPABLE_MASK) == ZSTD_MAGIC_SKIPPABLE_START) {… in ZSTD_decompressStream()
26212 zds->expected = MEM_readLE32(zds->headerBuffer + ZSTD_FRAMEIDSIZE); in ZSTD_decompressStream()
26213 zds->stage = ZSTDds_skipFrame; in ZSTD_decompressStream()
26215 FORWARD_IF_ERROR(ZSTD_decodeFrameHeader(zds, zds->headerBuffer, zds->lhSize), ""); in ZSTD_decompressStream()
26216 zds->expected = ZSTD_blockHeaderSize; in ZSTD_decompressStream()
26217 zds->stage = ZSTDds_decodeBlockHeader; in ZSTD_decompressStream()
26222 (U32)(zds->fParams.windowSize >>10), in ZSTD_decompressStream()
26223 (U32)(zds->maxWindowSize >> 10) ); in ZSTD_decompressStream()
26224 … zds->fParams.windowSize = MAX(zds->fParams.windowSize, 1U << ZSTD_WINDOWLOG_ABSOLUTEMIN); in ZSTD_decompressStream()
26225 RETURN_ERROR_IF(zds->fParams.windowSize > zds->maxWindowSize, in ZSTD_decompressStream()
26229 … { size_t const neededInBuffSize = MAX(zds->fParams.blockSizeMax, 4 /* frame checksum */); in ZSTD_decompressStream()
26230 size_t const neededOutBuffSize = zds->outBufferMode == ZSTD_obm_buffered in ZSTD_decompressStream()
26231 … ? ZSTD_decodingBufferSize_min(zds->fParams.windowSize, zds->fParams.frameContentSize) in ZSTD_decompressStream()
26234 ZSTD_DCtx_updateOversizedDuration(zds, neededInBuffSize, neededOutBuffSize); in ZSTD_decompressStream()
26236 …{ int const tooSmall = (zds->inBuffSize < neededInBuffSize) || (zds->outBuffSize < neededOutBuff… in ZSTD_decompressStream()
26237 int const tooLarge = ZSTD_DCtx_isOversizedTooLong(zds); in ZSTD_decompressStream()
26242 (U32)zds->inBuffSize, (U32)neededInBuffSize); in ZSTD_decompressStream()
26244 (U32)zds->outBuffSize, (U32)neededOutBuffSize); in ZSTD_decompressStream()
26245 if (zds->staticSize) { /* static DCtx */ in ZSTD_decompressStream()
26246 DEBUGLOG(4, "staticSize : %u", (U32)zds->staticSize); in ZSTD_decompressStream()
26247 assert(zds->staticSize >= sizeof(ZSTD_DCtx)); /* controlled at init */ in ZSTD_decompressStream()
26249 bufferSize > zds->staticSize - sizeof(ZSTD_DCtx), in ZSTD_decompressStream()
26252 ZSTD_free(zds->inBuff, zds->customMem); in ZSTD_decompressStream()
26253 zds->inBuffSize = 0; in ZSTD_decompressStream()
26254 zds->outBuffSize = 0; in ZSTD_decompressStream()
26255 zds->inBuff = (char*)ZSTD_malloc(bufferSize, zds->customMem); in ZSTD_decompressStream()
26256 RETURN_ERROR_IF(zds->inBuff == NULL, memory_allocation, ""); in ZSTD_decompressStream()
26258 zds->inBuffSize = neededInBuffSize; in ZSTD_decompressStream()
26259 zds->outBuff = zds->inBuff + zds->inBuffSize; in ZSTD_decompressStream()
26260 zds->outBuffSize = neededOutBuffSize; in ZSTD_decompressStream()
26262 zds->streamStage = zdss_read; in ZSTD_decompressStream()
26267 … { size_t const neededInSize = ZSTD_nextSrcSizeToDecompressWithInputSize(zds, iend - ip); in ZSTD_decompressStream()
26270 zds->streamStage = zdss_init; in ZSTD_decompressStream()
26275 … FORWARD_IF_ERROR(ZSTD_decompressContinueStream(zds, &op, oend, ip, neededInSize), ""); in ZSTD_decompressStream()
26281 zds->streamStage = zdss_load; in ZSTD_decompressStream()
26285 { size_t const neededInSize = ZSTD_nextSrcSizeToDecompress(zds); in ZSTD_decompressStream()
26286 size_t const toLoad = neededInSize - zds->inPos; in ZSTD_decompressStream()
26287 int const isSkipFrame = ZSTD_isSkipFrame(zds); in ZSTD_decompressStream()
26290 assert(neededInSize == ZSTD_nextSrcSizeToDecompressWithInputSize(zds, iend - ip)); in ZSTD_decompressStream()
26294 RETURN_ERROR_IF(toLoad > zds->inBuffSize - zds->inPos, in ZSTD_decompressStream()
26297 loadedSize = ZSTD_limitCopy(zds->inBuff + zds->inPos, toLoad, ip, iend-ip); in ZSTD_decompressStream()
26300 zds->inPos += loadedSize; in ZSTD_decompressStream()
26304 zds->inPos = 0; /* input is consumed */ in ZSTD_decompressStream()
26305 … FORWARD_IF_ERROR(ZSTD_decompressContinueStream(zds, &op, oend, zds->inBuff, neededInSize), ""); in ZSTD_decompressStream()
26310 { size_t const toFlushSize = zds->outEnd - zds->outStart; in ZSTD_decompressStream()
26311 … size_t const flushedSize = ZSTD_limitCopy(op, oend-op, zds->outBuff + zds->outStart, toFlushSize); in ZSTD_decompressStream()
26313 zds->outStart += flushedSize; in ZSTD_decompressStream()
26315 zds->streamStage = zdss_read; in ZSTD_decompressStream()
26316 if ( (zds->outBuffSize < zds->fParams.frameContentSize) in ZSTD_decompressStream()
26317 && (zds->outStart + zds->fParams.blockSizeMax > zds->outBuffSize) ) { in ZSTD_decompressStream()
26319 (int)(zds->outBuffSize - zds->outStart), in ZSTD_decompressStream()
26320 (U32)zds->fParams.blockSizeMax); in ZSTD_decompressStream()
26321 zds->outStart = zds->outEnd = 0; in ZSTD_decompressStream()
26339 zds->expectedOutBuffer = *output; in ZSTD_decompressStream()
26342 zds->noForwardProgress ++; in ZSTD_decompressStream()
26343 if (zds->noForwardProgress >= ZSTD_NO_FORWARD_PROGRESS_MAX) { in ZSTD_decompressStream()
26349 zds->noForwardProgress = 0; in ZSTD_decompressStream()
26351 { size_t nextSrcSizeHint = ZSTD_nextSrcSizeToDecompress(zds); in ZSTD_decompressStream()
26353 if (zds->outEnd == zds->outStart) { /* output fully flushed */ in ZSTD_decompressStream()
26354 if (zds->hostageByte) { in ZSTD_decompressStream()
26357 zds->streamStage = zdss_read; in ZSTD_decompressStream()
26364 …if (!zds->hostageByte) { /* output not fully flushed; keep last byte as hostage; will be released … in ZSTD_decompressStream()
26366 zds->hostageByte=1; in ZSTD_decompressStream()
26370 …nextSrcSizeHint += ZSTD_blockHeaderSize * (ZSTD_nextInputType(zds) == ZSTDnit_block); /* preload… in ZSTD_decompressStream()
26371 assert(zds->inPos <= nextSrcSizeHint); in ZSTD_decompressStream()
26372 nextSrcSizeHint -= zds->inPos; /* part already loaded*/ in ZSTD_decompressStream()