接口调用流程(
昇腾310 AI处理器
)
标准形态
下,在Host上调用DVPP接口的流程如
图1
所示,流程描述如下:
pyACL
初始化:调用
pyACL
提供的
acl.init
接口实现初始化
pyACL
,详细描述请参见
pyACL API参考
章节。
pyACL
运行管理资源申请:
pyACL
中运行管理资源涉及Device、Context、Stream,详细申请的流程请参见
接口调用流程
章节。
调用
acl.himpi.sys_init
接口实现DVPP初始化。
用户首先需要调用
acl.himpi.venc_create_chn
函数创建完通道;
调用
acl.himpi.venc_start_chn
函数通知通道准备开始编码;
之后用户就可以调用
acl.himpi.venc_send_frame
函数发送待编码的码流;
用户就可以调用
acl.himpi.venc_get_stream
函数获取编码结果;
用户需要注意的是,编码结果数据使用完成之后,需要及时调用
acl.himpi.venc_release_stream
函数释放buffer。否则会因编码buffer用完导致后续编码无法进行;
当用户不需发送图像到目的通道继续编码时,需要调用
acl.himpi.venc_stop_chn
函数通知该通道不再接收新的输入图片;
最后,当用户完成所有编码之后,需要调用
acl.himpi.venc_destroy_chn
释放编码通道以及内部内存资源。
调用
acl.himpi.sys_exit
接口实现DVPP去初始化。
pyACL
运行管理资源释放:
pyACL
中运行管理资源涉及Device、Context、Stream,详细释放的流程请参见
接口调用流程
章节。
pyACL
去初始化:调用
pyACL
提供的acl_finalize接口实现
pyACL
去初始化,详细描述请参见
pyACL API参考
章节。
图1
标准形态下,在Host上调用DVPP接口的流程
父主题:
VENC视频/JPEGE图像编码接口