昇腾社区首页
中文
注册

venc_send_jpeg_frame

产品支持情况

产品

是否支持

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

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

Atlas 训练系列产品

x

Atlas 推理系列产品

Atlas 200I/500 A2 推理产品

Atlas 200/300/500 推理产品

x

功能说明

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

函数原型

  • C函数原型
    1
    hi_s32 hi_mpi_venc_send_jpeg_frame(hi_venc_chn chn, const hi_video_frame_info *frame, const hi_img_stream *jpege_stream, hi_s32 milli_sec)
    
  • python函数
    1
    ret = acl.himpi.venc_send_jpege_frame(chn,  frame,  jpege_stream,  milli_sec)
    

参数说明

参数名

说明

chn

int,解码通道号。

  • Atlas 推理系列产品 ,该参数的取值范围:[0, 256),JPEGD功能和VDEC功能共用通道,且通道总数最多256。
  • Atlas A2 训练系列产品 / Atlas 800I A2 推理产品 /A200I A2 Box 异构组件,该参数的取值范围:[0, 256),JPEGD功能和VDEC功能共用通道,且通道总数最多256,其中,JPEGD解码通道总数最多256,VDEC解码通道总数最多32。
  • Atlas 200I/500 A2 推理产品 ,该参数的取值范围:[0, 128),JPEGD功能和VDEC功能共用通道,且通道总数最多128。
  • Atlas A3 训练系列产品 / Atlas A3 推理系列产品 ,该参数的取值范围:[0, 256),JPEGD功能和VDEC功能共用通道,且通道总数最多256,其中,JPEGD解码通道总数最多256,VDEC解码通道总数最多32。

frame

dict,原始图像信息字典,具体请参见hi_video_frame_info

jpege_stream

dict,用于指定编码结果的输出内存地址和长度,具体请参见hi_img_stream

输出内存首地址需满足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,错误码。

约束说明

  • 在调用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视频编码