Decompressed size functions now handle multiframes and distinguish cases
- Add ZSTD_findDecompressedSize
- Traverses multiple frames to find total output size
- Add ZSTD_getFrameContentSize
- Gets the decompressed size of a single frame by reading header
- Deprecate ZSTD_getDecompressedSize
This commit is contained in:
@@ -123,6 +123,30 @@ MEM_STATIC size_t ZSTD_decompressLegacy(
|
||||
}
|
||||
}
|
||||
|
||||
MEM_STATIC size_t ZSTD_frameSrcSizeLegacy(const void *src,
|
||||
size_t compressedSize)
|
||||
{
|
||||
U32 const version = ZSTD_isLegacy(src, compressedSize);
|
||||
switch(version)
|
||||
{
|
||||
case 1 :
|
||||
return ZSTDv01_frameSrcSize(src, compressedSize);
|
||||
case 2 :
|
||||
return ZSTDv02_frameSrcSize(src, compressedSize);
|
||||
case 3 :
|
||||
return ZSTDv03_frameSrcSize(src, compressedSize);
|
||||
case 4 :
|
||||
return ZSTDv04_frameSrcSize(src, compressedSize);
|
||||
case 5 :
|
||||
return ZSTDv05_frameSrcSize(src, compressedSize);
|
||||
case 6 :
|
||||
return ZSTDv06_frameSrcSize(src, compressedSize);
|
||||
case 7 :
|
||||
return ZSTDv07_frameSrcSize(src, compressedSize);
|
||||
default :
|
||||
return ERROR(prefix_unknown);
|
||||
}
|
||||
}
|
||||
|
||||
MEM_STATIC size_t ZSTD_freeLegacyStreamContext(void* legacyContext, U32 version)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user