总体说明

- 本手册中媒体数据处理V1版本与媒体数据处理V2版本的接口功能范围相同,都是描述处理媒体数据的接口,用于实现抠图、图片缩放、格式转换等功能,但两套接口不能混用。
- 建议使用V2版本中的接口,保证后续版本接口功能以及业务的连续演进。
- V1版本中的接口是为了兼容旧版本,保证使用该部分接口的用户能继续使用,后续版本不再演进。
基本概念
- Host:Host指与Device相连接的X86服务器、ARM服务器,会利用Device提供的NN(Neural-Network )计算能力,完成业务。
- Device:Device指安装了芯片的硬件设备,利用PCIe接口与Host侧连接,为Host提供NN计算能力。若存在多个Device,多个Device之间的内存资源不能共享。
- 标准形态:指Device做为EP,通过PCIe配合主设备(X86、ARM等各种服务器)进行工作,此时Device上的CPU资源仅能通过Host调用,相关推理应用程序运行在Host。Device只为服务器提供NN计算能力。
功能简介
当前已有的媒体数据处理功能如表1所示。
昇腾310 AI处理器,表1中的功能都为预留功能。
昇腾910 AI处理器,表1中的功能都为预留功能。
功能 |
说明 |
---|---|
VPC(Vision Preprocessing Core) |
负责图像处理功能,包括图像的缩放、抠图、图像金字塔、色域转换等等,详细描述请参见VPC功能。 |
JPEGE(JPEG Encoder) |
负责完成图像编码功能,详细描述请参见JPEGE功能。 |
JPEGD(JPEG Decoder) |
负责完成图像解码功能,详细描述请参见JPEGD功能。 |
VDEC(Video Decoder) |
负责视频解码,详细描述请参见VDEC功能。 |
VENC(Video Encoder) |
负责视频编码,详细描述请参见VENC功能。 |
PNGD(PNG Decoder) |
负责PNG格式图片的解码,详细描述请参见PNGD功能。 |
整体约束说明
使用本章中介绍的接口,有以下注意点:
关于内存申请/释放:实现媒体数据处理的VPC、JPEGD、JPEGE等功能前,若需要申请内存存放输入或输出数据,需调用acl.himpi.dvpp_malloc申请内存、调用acl.himpi.dvpp_free接口释放内存。
接口调用流程
昇腾310 AI处理器上,标准形态下,本文中描述的接口开发人员可以在Host上调用。
昇腾910 AI处理器,标准形态下,本文中描述的接口开发人员可以在Host上调用。
本文中描述的接口在调用时,需与部分pyACL接口配套使用(例如acl_init 、acl_finalize、acl.rt.set_device、acl.rt.reset_device接口),不能与pyACL中的媒体数据处理接口混用,接口调用流程如下:
图1 标准形态下的接口调用流程

父主题: 媒体数据处理V2