c函数原型
|
hi_s32 hi_mpi_pngd_get_image_data(hi_pngd_chn chn, hi_pic_info *png_pic_info, hi_img_stream *stream, hi_s32 milli_sec)
|
Python函数
|
png_pic_info, stream, ret = acl.himpi.pngd_get_image_data(chn, milli_sec)
|
函数功能
|
解码后,获取解码通道的解码图像及输入Stream。
Atlas 200/300/500 推理产品,当前版本不支持该接口。
Atlas 训练系列产品,当前版本不支持该接口。
|
输入说明
|
chn:int,解码通道号。
该参数的取值范围为[0, 128),通道总数最多128。
milli_sec:int,超时时间,单位是毫秒。
- -1:阻塞方式
- 0:非阻塞方式
- >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。
|
返回值说明
|
png_pic_info:dict,获取已经完成解码的图像信息字典,具体请参见hi_pic_info。解码后的数据存放在Device内存中。
stream:dict,获取已完成解码的输入码流信息字典,具体请参见hi_img_stream。
ret:int,错误码。 - 返回0表示获取数据成功。
- 返回非0表示失败,参见PNGD图像解码返回码。“HI_ERR_PNGD_BUF_EMPTY”表示无数据,其他错误码表示解码异常。
|
约束说明
|
- 此接口通过改变“milli_sec”值支持阻塞方式、非阻塞方式、超时方式获取解码图像。
- 获取解码图像时必须保证通道已经被创建,否则直接返回通道未创建的错误码“HI_ERR_PNGD_UNEXIST”。如果在获取图像的过程中销毁通道,就会立刻返回错误码“HI_ERR_PNGD_UNEXIST”。
- 以非阻塞方式获取解码图像,如果缓冲区内无图像,会立刻返回错误码“HI_ERR_PNGD_BUF_EMPTY”。
- 以超时方式获取解码图像,到达设定的超时时间还不能获取到图像则会返回错误码“HI_ERR_PNGD_BUF_EMPTY”。
- 向PNGD获取解码结果,输入Buffer和输出Buffer一起获取。
- PNGD图片解码时,关于输入、输出图片的要求请参见功能及约束说明。
|
参考资源
|
接口调用流程,参见功能及约束说明。
|