VPC图像处理

昇腾310 AI处理器上,当前版本不支持该功能。

昇腾910 AI处理器上,当前版本不支持该功能。

开发应用时,如果涉及抠图、缩放等图片处理,则应用程序中必须包含图片处理的代码逻辑,关于图片处理的接口调用流程,请依次参见主要接口调用流程以及本节中的说明(以缩放为例)。关于VPC功能的详细介绍请参见功能及约束说明

如果在Host上调用DVPP接口,图像处理的结果数据都在Device的内存中,如果想访问结果数据,需要将结果数据传输回Host侧。

图1 接口调用流程(以缩放为例)

当前系统支持对输入图片做抠图、缩放等处理,调用示例请参见VPC图片处理典型功能(抠图/缩放等),关键接口的说明如下:

  1. 调用hi_mpi_sys_init接口进行媒体数据处理系统初始化。
  2. 调用hi_mpi_vpc_create_chn接口创建通道。
  3. 调用hi_mpi_dvpp_malloc接口申请Device上的内存,存放输入或输出数据。
  4. 执行抠图、缩放等,此步骤以缩放为例说明,其它功能(例如格式转换、金字塔等)请参见VPC功能下的接口说明。

    调用hi_mpi_vpc_resize接口,按指定区域从输入图片中抠图,抠出的图作为输出图片。hi_mpi_vpc_resize接口是异步接口,调用该接口成功仅表示任务下发成功,还需要调用hi_mpi_vpc_get_process_result接口等待任务完成。

    可以跟hi_mpi_vpc_resize接口在同一个线程中调用hi_mpi_vpc_get_process_result接口,也可以新起一个线程调用hi_mpi_vpc_get_process_result接口,后者多线程并行,提高效率,但用户需自行实现线程间同步。

  5. 调用hi_mpi_dvpp_free接口释放输入、输出内存。
  6. 调用hi_mpi_vpc_destroy_chn接口销毁通道。
  7. 调用hi_mpi_sys_exit接口进行媒体数据处理系统去初始化。