鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

支持接口说明

当前KZstar仅支持块压缩解压算法,并且只支持level1-4等级的压缩,其他等级会按level5进行处理。涉及接口如表1所示。

表1 KZstar支持解压算法接口说明

接口定义

接口说明

入参说明

返回值说明

size_t ZSTD_compressBound(size_t srcSize);

根据输入数据的大小计算压缩后所需的最大输出缓冲区大小。

srcSize:输入数据的大小(字节数)。

返回压缩后的最大字节数,即为压缩所需的缓冲区大小。

unsigned long long ZSTD_getFrameContentSize(const void *src, size_t srcSize);

用于获取已经压缩的数据帧的原始大小。

  • src:数据源,压缩后的数据流。
  • srcSize:输入数据的大小(字节数)。

返回压缩数据帧的内容大小(字节数)。

ZSTD_CCtx* ZSTD_createCCtx(void);

创建并初始化一个压缩上下文。压缩上下文用于控制压缩过程的各个参数。

-

返回一个指向压缩上下文的指针。

size_t ZSTD_freeCCtx(ZSTD_CCtx* cctx);

释放由ZSTD_createCCtx创建的压缩上下文,释放相关资源。

cctx:要释放的压缩上下文指针。

  • 成功:返回“0”
  • 失败:返回一个负数错误码。

size_t ZSTD_compressCCtx(ZSTD_CCtx* cctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize, int compressionLevel);

使用给定的压缩上下文 `cctx` 对数据进行压缩。可以控制压缩等级。

  • cctx:压缩上下文,包含压缩相关设置。
  • dst:输出缓冲区,存储压缩后的数据。
  • dstCapacity:输出缓冲区的容量(字节数)。
  • src:输入数据,指向要压缩的数据。
  • srcSize:输入数据的大小(字节数)。
  • compressionLevel:压缩等级(1 ~ 22)。

返回实际压缩的数据大小。

size_t ZSTD_compress(void* dst, size_t dstCapacity, const void* src, size_t srcSize, int compressionLevel);

使用默认的压缩设置对数据进行压缩。

  • dst:输出缓冲区,存储压缩后的数据。
  • dstCapacity:输出缓冲区的容量(字节数)。
  • src:输入数据,指向要压缩的数据。
  • srcSize:输入数据的大小(字节数)。
  • compressionLevel:压缩等级(1 ~ 22)。

返回实际压缩的数据大小。

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:解压缩上下文指针。

  • 成功:返回“0”
  • 失败:返回负值。

size_t ZSTD_decompressDCtx(ZSTD_DCtx* dctx, void* dst, size_t dstCapacity, const void* src, size_t srcSize);

使用一个已创建的解压缩上下文(dctx) 对压缩数据进行解压缩。

  • dctx:解压缩上下文。
  • dst:解压缩后的数据存储缓冲区。
  • dstCapacity:dst缓冲区的大小(字节数)。
  • src:输入压缩数据缓冲区。
  • srcSize:输入压缩数据的大小(字节数)。

返回解压缩后的字节数。如果发生错误,返回负值。

size_t ZSTD_decompress(void* dst, size_t dstCapacity, const void* src, size_t srcSize);

使用默认的解压缩设置对压缩数据进行解压缩。

  • dst:解压缩后的数据存储缓冲区。
  • dstCapacity:dst缓冲区的大小(字节数)。
  • src:输入压缩数据缓冲区。
  • srcSize:输入压缩数据的大小(字节数)。

返回解压缩后的字节数。如果发生错误,返回负值。