昇腾社区首页
中文
注册

pngd_send_stream

产品支持情况

产品

是否支持

Atlas A3 训练系列产品/Atlas A3 推理系列产品

Atlas A2 训练系列产品/Atlas 800I A2 推理产品/A200I A2 Box 异构组件

Atlas 训练系列产品

x

Atlas 推理系列产品

Atlas 200I/500 A2 推理产品

Atlas 200/300/500 推理产品

x

功能说明

解码前,向解码通道发送码流数据及存放解码结果的Buffer。

函数原型

  • C函数原型
    1
    hi_s32 hi_mpi_pngd_send_stream(hi_pngd_chn chn, const hi_img_stream *stream, hi_pic_info *png_pic_info, hi_s32 milli_sec)
    
  • python函数
    1
    ret = acl.himpi.pngd_send_stream(chn, stream, png_pic_info, milli_sec)
    

参数说明

参数名

说明

chn

int,解码通道号。

该参数的取值范围为[0, 128),通道总数最多128。

stream

dict,输入码流信息,具体请参见hi_img_stream。该字典内的“addr”参数配置的地址为Device上的内存地址。

png_pic_info

dict,输出图片信息字典,hi_pic_info

milli_sec

int,超时时间,单位是毫秒。

  • -1:阻塞方式
  • 0:非阻塞方式
  • >0:超时方式,配置具体的超时时间。超时时间受操作系统影响,一般偏差在操作系统的一个时间片内,例如,操作系统的一个时间片为4ms,用户设置的milli_sec参数值为1,则实际的超时时间在1ms到5ms范围内。在CPU负载高场景下,超时时间仍可能存在波动。

返回值说明

返回值

说明

ret

int,错误码。

约束说明

  • 发送数据前必须保证通道已经被创建,否则直接返回通道未创建的错误码“HI_ERR_PNGD_UNEXIST”。如果在发送码流过程中销毁通道,就会立刻返回错误码“HI_ERR_PNGD_UNEXIST”
  • 发送码流时需要送入整张PNG图片。否则,解码会出现错误。
  • 以非阻塞方式发送码流,如果码流缓冲区已满,会立刻返回错误码“HI_ERR_PNGD_BUF_FULL”
  • 以超时方式发送码流,到达设定的超时时间还不能成功发送码流会返回错误码“HI_ERR_PNGD_BUF_FULL”
  • 图像解码时,对输入、输出图片的要求请参见功能及约束说明
  • 解码时,输入输出内存必须使用acl.himpi.dvpp_malloc接口和acl.himpi.dvpp_free接口进行申请和释放,输入输出内存均需要在调用pngd_get_image_data接口获取结果之后才能进行释放。

资源参考

接口调用流程,参见功能及约束说明