函数逻辑报告 |
Source Code:lib\zstd\decompress.c |
Create Date:2022-07-27 08:04:33 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称: : 0, `fparamsPtr` is correctly filled,
函数原型:size_t ZSTD_getFrameParams(ZSTD_frameParams *fparamsPtr, const void *src, size_t srcSize)
返回类型:size_t
参数:
类型 | 参数 | 名称 |
---|---|---|
ZSTD_frameParams * | fparamsPtr | |
const void * | src | |
size_t | srcSize |
213 | 如果ZSTD_readLE32(src)不等于>= v0.8.0 则 |
214 | 如果ZSTD_readLE32(src)按位与0xFFFFFFF0U的值恒等于ZSTD_MAGIC_SKIPPABLE_START则 |
217 | memset(fparamsPtr, 0, fparamsPtr的长度) |
218 | frameContentSize等于ZSTD_readLE32((constchar * )src + 4) |
219 | windowSize等于0 |
220 | 返回:0 |
234 | pos等于5 |
235 | dictIDSizeCode等于fhdByte按位与3 |
236 | checksumFlag等于fhdByte右移2位按位与1 |
237 | singleSegment等于fhdByte右移5位按位与1 |
239 | windowSizeMax等于1U左移ZSTD_WINDOWLOG_MAX位 |
240 | windowSize等于0 |
241 | dictID等于0 |
242 | frameContentSize等于0 |
243 | 如果fhdByte按位与0x08的值不等于0则返回:-***************************************** Error codes handling(frameParameter_unsupported) |
245 | 如果非singleSegment则 |
247 | windowLog等于wlByte右移3位的值加ZSTD_WINDOWLOG_ABSOLUTEMIN |
248 | 如果windowLog大于ZSTD_WINDOWLOG_MAX则返回:-***************************************** Error codes handling(frameParameter_windowTooLarge) |
250 | windowSize等于1U左移windowLog位 |
251 | windowSize加等于windowSize右移3位的值乘wlByte按位与7的值 |
255 | 默认 |
256 | 当:dictIDSizeCode恒等于0 |
256 | 退出 |
257 | 当:dictIDSizeCode恒等于1 |
261 | 当:dictIDSizeCode恒等于2 |
265 | 当:dictIDSizeCode恒等于3 |
266 | dictID等于ZSTD_readLE32(ip + pos) |
267 | pos加等于4 |
268 | 退出 |
271 | 默认 |
273 | 如果singleSegment则frameContentSize等于ip[pos] |
275 | 退出 |
276 | 退出 |
277 | frameContentSize等于ZSTD_readLE32(ip + pos) |
277 | 退出 |
278 | frameContentSize等于ZSTD_readLE64(ip + pos) |
278 | 退出 |
280 | 如果非windowSize则windowSize等于frameContentSize |
282 | 如果windowSize大于windowSizeMax则返回:-***************************************** Error codes handling(frameParameter_windowTooLarge) |
285 | windowSize等于windowSize |
287 | checksumFlag等于checksumFlag |
289 | 返回:0 |
名称 | 描述 |
---|---|
ZSTD_getFrameContentSize | : decompressed size of the single frame pointed to be `src` if known, otherwise |
ZSTD_decodeFrameHeader | : 0 if success, or an error code, which can be tested using ZSTD_isError() |
ZSTD_findFrameCompressedSize | : the compressed size of the frame starting at `src` |
ZSTD_getDictID_fromFrame | ! ZSTD_getDictID_fromFrame() :* Provides the dictID required to decompressed the frame stored within `src`.* If @return == 0, the dictID could not be decoded.* This could for one of the following reasons : |
ZSTD_decompressStream |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |
摘要:ZSTD_getFrameParams() :* decode Frame Header, or require larger `srcSize`.* >0, `srcSize` is too small, result is expected `srcSize`,* or an error code, which can be tested using ZSTD_isError()