文档
注册

acl.himpi.venc_send_jpege_frame

c函数原型

hi_s32 hi_mpi_venc_send_jpege_frame(hi_venc_chn chn, const hi_video_frame_info *frame, const hi_img_stream *jpege_stream, hi_s32 milli_sec)

Python函数

ret = acl.himpi.venc_send_jpege_frame(chn, frame, jpege_stream, milli_sec)

函数功能

发送原始图像进行图像编码,并支持配置编码结果的输出内存地址。

Atlas 200/300/500 推理产品,当前版本不支持该接口。

Atlas 训练系列产品,当前版本不支持该接口。

输入说明

chn:int,编码通道号。
  • Atlas 推理系列产品(Ascend 310P处理器),编码通道号的取值范围:[0, 256),JPEGE功能和VENC功能共用通道,且通道总数最多256。
  • Atlas A2训练系列产品,编码通道号的取值范围:[0, 256),JPEGE功能通道总数最多256。
  • Atlas 200I/500 A2推理产品,编码通道号的取值范围:[0, 128),JPEGE功能和VENC功能共用通道,且通道总数最多128。

frame(hi_video_frame_info):dict,原始图像信息字典。

jpege_stream(hi_img_stream):dict,用于指定编码结果的输出内存地址和长度。

输出内存首地址需满足16字节对齐,内存大小可以调用acl.himpi.venc_get_jpege_predicted_size获取,再可调用acl.himpi.dvpp_malloc接口申请输出内存。

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

返回值说明

ret:int,错误码。

约束说明

  • 在调用acl.himpi.venc_create_chn接口创建通道时,将参数hi_venc_chn_attr.get("venc_attr")["buf_size"]参数值设置为0,本接口才有效,否则返回错误码HI_ERR_VENC_NOT_SUPPORT。
  • JPEGE输入图像分辨率必须小于或等于编码通道的宽、高。
  • 调用该接口发送图像,用户需要保证编码通道已创建且开启接收输入图片。
  • 编码时,输入、输出内存均需要在调用acl.himpi.venc_get_stream接口获取结果之后才能进行释放。
  • 图像编码,对输入、输出的约束请参见JPEGE功能及约束说明

参考资源

接口调用流程及示例,参见JPEGE图片编码VENC视频编码

搜索结果
找到“0”个结果

当前产品无相关内容

未找到相关内容,请尝试其他搜索词