昇腾社区首页
中文
注册

函数:venc_send_frame

产品支持情况

产品

是否支持

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

x

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

x

Atlas 训练系列产品

x

Atlas 推理系列产品

Atlas 200I/500 A2 推理产品

Atlas 200/300/500 推理产品

功能说明

将待编码的图片传到编码器进行编码。异步接口。

函数原型

  • C函数原型
    1
    aclErroraclvencSendFrame(aclvencChannelDesc *channelDesc,acldvppPicDesc *input,void *reserve,aclvencFrameConfig *config,void *userdata)
    
  • python函数
    1
    ret = acl.media.venc_send_frame(venc_channel_desc, input, reserve, config, userdata)
    

参数说明

参数名

说明

venc_channel_desc

int,指定通道描述的指针地址。

与调用acl.media.venc_create_channel接口创建通道时指定的channelDesc保持一致。

在通道描述信息中指定视频编码的回调函数。

input

int,输入图片描述信息的指针地址,输入内存用户需提前申请。

reserve

int,预留参数,暂不使用,设值为0。

config

int,单帧配置数据的指针地址。

userdata

Python对象,用户自定义数据。

返回值说明

返回值

说明

ret

int,错误码,返回0表示成功,返回其它值表示失败。

约束说明

  • 本接口是异步接口,调用接口成功仅表示任务下发成功,不表示任务执行成功。调用该接口后,需调用同步等待接口(例如,acl.rt.synchronize_stream)确保任务已执行完成。
  • 发送数据前必须保证通道已经被创建,否则返回错误。
  • 不能发送eos为0的空码流包(码流长度为0或码流地址为空)。
  • 结束视频编码时可以发送eos为1的空图片,表示当前编码结束。

资源参考

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