有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
iOS、Android 以及 Windows 三种客户端的 SDK 均由 C 语言实现,下面对 SDK 的 API 接口进行详细说明。

解码器

API 列表

名称
描述
TPGParseHeader
解析 TPG 码流头数据
TPGDecCreate
创建 TPG 解码器
TPGDecodeImage
解码 TPG 码流
TPGDecDestroy
销毁 TPG 解码器对象
TPGGetDelayTime
获取动态图片的显示延迟时间
TPGCanDecode
检测第 index 帧图像是否能解码
TPGGetAdditionalInfo
获取用户自定义数据,例如 EXIF 信息等
TPGDecGetVersion
获取解码器版本号


TPGParseHeader

接口详情:TPGStatusCode TPGParseHeader(unsigned char* pData, int len, TPGFeatures* pFeatures);
功能描述:解析 TPG 码流头文件。
参数说明:
参数
类型
说明
pData
unsigned char*
需解码的 TPG 码流
len
int
TPG 文件长度
pFeatures
TPGFeatures*
输出 TPG 文件格式信息(文件头 length、width、height 等)
返回值:解码成功返回0(TPG_STATUS_OK),否则返回相应的错误码。
状态码说明:
TPGStatusCode 状态码
说明
TPG_STATUS_OK
成功
TPG_STATUS_OUT_OF_MEMORY
内存越界
TPG_STATUS_INVALID_PARAM
参数无效
TPG_STATUS_BITSTREAM_ERROR
比特流错误
TPG_STATUS_UNSUPPORTED_FEATURE
无支持特征
TPG_STATUS_SUSPENDED,
挂起
TPG_STATUS_USER_ABORT
用户异常终止
TPG_STATUS_NOT_ENOUGH_DATA
数据不足
TPG_STATUS_INIT_ERROR
初始化错误

TPGDecCreate

接口详情:void\\* TPGDecCreate(const unsigned char\\* pData, int len);
功能描述:创建 TPG 解码器。
参数说明:
参数
类型
说明
pData
const unsigned char*
需解码的 TPG 码流
len
int
TPG 码流长度
返回值:TPG 解码器对象,创建不成功则返回 NULL。

TPGDecodeImage

接口详情:TPGStatusCode TPGDecodeImage(void\\* hDec, const unsigned char\\* pData, int len, int index, TPGOutFrame \\*pDecFrame);
功能描述:解码一帧 TPG 图像。
参数说明:
参数
类型
说明
hDec
void*
创建的 TPG 解码器对象
pData
const unsigned char*
需解码的 TPG 码流数据(从文件头开始)
len
int
TPG 文件长度(码流长度)
index
int
解码帧索引(静态图像该值为0;动态图像表示解码第 index 帧图像)
pDecFrame
TPGOutFrame*
解码输出帧数据
返回值说明:解码成功返回0(TPG_STATUS_OK),否则返回相应的错误码。

TPGDecDestroy

接口详情:void TPGDecDestroy(void\\* pDec);
功能描述:销毁 TPG 解码器对象。
参数说明:
参数
类型
说明
pDec
void*
TPG 解码器对象

TPGGetDelayTime

接口详情:TPGStatusCode TPGGetDelayTime(void\\* hDec, const unsigned char\\* pData, int len, int index, int\\* pDelayTime) ;
功能描述:获取动态图片当前帧的显示延迟时间。
参数说明:
参数
类型
说明
hDec
void*
TPG 解码器对象
pData
const unsigned char*
需解码的 TPG 码流数据(从文件头开始)
len
int
TPG 文件长度(码流长度)
index
int
解码帧索引(静态图像该值为 0;动态图像表示解码第 index 帧图像)
pDelayTime
int*
输出第index帧的延迟时间
返回值说明:解码成功返回0(TPG_STATUS_OK),否则返回相应的错误码。

TPGCanDecode

接口详情:TPGStatusCode TPGCanDecode(void\\* pDec,  const unsigned char\\* pData, int len, int index);
功能描述:检测第 index 帧图像是否能够解码。
参数说明:
参数
类型
说明
pDec
void*
TPG 解码器对象
pData
const unsigned char*
需解码的 TPG 码流数据(从文件头开始)
len
int
TPG 文件长度
index
int
解码帧索引(静态图像该值为0;动态图像表示解码第 index 帧图像)
返回值说明:当前帧可以解码返回0(TPG_STATUS_OK),否则返回相应的错误码。

TPGGetAdditionalInfo

接口详情:TPGStatusCode TPGGetAdditionalInfo(void\\* hDec, const unsigned char\\* pInData, int nInDatalen, int nIdentity, const unsigned char\\*\\* pOutData, int\\* pOutDataLen) ;
功能描述:获取用户自定义的辅助数据,例如 EXIF 信息等。
参数说明:
参数
类型
说明
hDec
void*
TPG 解码器对象
pInData
const unsigned char*
需解码的 TPG 码流数据(从文件头开始)
nInDatalen
int
已下载数据长度(码流长度)
nIdentity
int
要获取数据的 ID 标识
pOutData
const unsigned char*
对应数据段的首地址,如果没有返回 NULL(不需要用户申请内存)
pOutDataLen
int
对应数据段的长度
返回值说明:获取成功返回0(TPG_STATUS_OK),否则返回相应的错误码。

TPGDecGetVersion

接口详情:int TPGDecGetVersion();
功能描述:获取解码器版本号。
返回值:当前解码器的版本号。

编码器

API 列表

名称
描述
TPGEncCreate
创建 TPG 编码器对象
TPGEncodeImage
对图片进行 TPG 编码
TPGEncDestroy
销毁 TPG 编码器对象

TPGEncCreate

接口详情:void\\* TPGEncCreate(TPGEncInitParam\\* pCreateParam);
功能描述:创建 TPG 编码器对象。
参数说明:
参数
类型
说明
pCreateParam
TPGEncInitParam*
编码器初始化参数
返回值:TPG 编码器对象。

TPGEncodeImage

接口详情:unsigned long long TPGEncodeImage(void\\* pEnc, TPGInFrame* pFrame, int* pQP, int nFrameIndex);
功能描述:对图片进行 TPG 编码。
参数说明:
参数
类型
说明
pEnc
void*
TPG 编码器对象
pFrame
TPGInFrame*
编码图片帧数据信息
pQP
int*
编码 QP
nFrameIndex
int
编码第 nFrameIndex 帧,静态图片该值为0
pDecFrame
TPGOutFrame*
解码输出帧数据
返回值说明:返回64位状态码。其中,高32位为 TPGStatusCode 状态值,低32位为编码后码流文件的长度。