昇腾社区首页
中文
注册

aclvencSendFrame

产品支持情况

产品

是否支持

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

x

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

x

Atlas 200I/500 A2 推理产品

Atlas 推理系列产品

Atlas 训练系列产品

x

Atlas 200/300/500 推理产品

功能说明

将待编码的图片传到编码器进行编码。

本接口是异步接口,调用接口成功仅表示任务下发成功,不表示任务执行成功。调用该接口后,需调用同步等待接口(例如,aclrtSynchronizeStream)确保任务已执行完成,否则可能会导致训练或推理等业务异常、Device断链掉卡等未知情况。

函数原型

aclError aclvencSendFrame(aclvencChannelDesc *channelDesc,
acldvppPicDesc *input,
void *reserve,
aclvencFrameConfig *config,
void *userdata)

参数说明

参数名

输入/输出

说明

channelDesc

输入

通道描述信息的指针。

与调用aclvencCreateChannel接口创建通道时指定的channelDesc保持一致。

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

input

输入

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

reserve

输入

预留参数,暂不使用。

config

输入

单帧配置数据的指针。

userdata

输入

用户自定义数据的指针。

返回值说明

返回0表示成功,返回其他值表示失败,请参见aclError

约束说明

  • 发送数据前必须保证通道已经被创建,否则返回错误。
  • 不能发送eos为0的空码流包(码流长度为0或码流地址为空)。
  • 结束视频编码时可以发送eos为1的空图片,表示当前编码结束。
  • 编码时,输入内存需要在aclvencCallback回调函数内获取结果之后才能进行释放。

参考资源

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