支持接口说明
当前KZstar仅支持块压缩解压算法,并且只支持level1-4等级的压缩,其他等级会按level5进行处理。涉及接口如表1所示。
接口定义 |
接口说明 |
入参说明 |
返回值说明 |
---|---|---|---|
size_t ZSTD_compressBound(size_t srcSize); |
根据输入数据的大小计算压缩后所需的最大输出缓冲区大小。 |
srcSize:输入数据的大小(字节数)。 |
返回压缩后的最大字节数,即为压缩所需的缓冲区大小。 |
unsigned long long ZSTD_getFrameContentSize(const void *src, size_t srcSize); |
用于获取已经压缩的数据帧的原始大小。 |
|
返回压缩数据帧的内容大小(字节数)。 |
ZSTD_CCtx* ZSTD_createCCtx(void); |
创建并初始化一个压缩上下文。压缩上下文用于控制压缩过程的各个参数。 |
- |
返回一个指向压缩上下文的指针。 |
size_t ZSTD_freeCCtx(ZSTD_CCtx* cctx); |
释放由ZSTD_createCCtx创建的压缩上下文,释放相关资源。 |
cctx:要释放的压缩上下文指针。 |
|
size_t ZSTD_compressCCtx(ZSTD_CCtx* cctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize, int compressionLevel); |
使用给定的压缩上下文 `cctx` 对数据进行压缩。可以控制压缩等级。 |
|
返回实际压缩的数据大小。 |
size_t ZSTD_compress(void* dst, size_t dstCapacity, const void* src, size_t srcSize, int compressionLevel); |
使用默认的压缩设置对数据进行压缩。 |
|
返回实际压缩的数据大小。 |
ZSTD_DCtx* ZSTD_createDCtx_advanced(ZSTD_customMem customMem); |
创建一个解压缩上下文,并允许传入自定义的内存分配和释放函数。 |
customMem:自定义内存分配函数。 |
返回一个指向解压缩上下文的指针。 |
ZSTD_DCtx* ZSTD_createDCtx(void); |
创建并初始化一个解压缩上下文,使用默认的内存分配方式。 |
- |
返回一个指向解压缩上下文的指针。 |
size_t ZSTD_freeDCtx(ZSTD_DCtx* dctx); |
释放由ZSTD_createDCtx或ZSTD_createDCtx_advanced创建的解压缩上下文。 |
dctx:解压缩上下文指针。 |
|
size_t ZSTD_decompressDCtx(ZSTD_DCtx* dctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize); |
使用一个已创建的解压缩上下文(dctx) 对压缩数据进行解压缩。 |
|
返回解压缩后的字节数。如果发生错误,返回负值。 |
size_t ZSTD_decompress(void* dst, size_t dstCapacity, const void* src, size_t srcSize); |
使用默认的解压缩设置对压缩数据进行解压缩。 |
|
返回解压缩后的字节数。如果发生错误,返回负值。 |