跳到主要内容
版本:2.9.0

MPI API 参考

Zmedia 提供的媒体处理接口 (Zmedia Media Process Interface,简称 ZH MPI),支持应用软件快速开发。该平台整合了硬件资源,对应用软件屏蔽芯片相关的底层处理,并为应用软件提供接口以完成相应功能。

该平台支持应用软件快速开发如下功能:输入视频捕获、H.265/H.264/JPEG 编码、H.265/H.264/JPEG 解码、视频输出显示、视频图像前处理(包括裁剪、缩放、旋转)、智能、音频捕获及输出、音频编解码等功能。

本文档提供 MPI API 及数据类型说明,为每个 API 提供库、头文件、API 文档和示例源代码,开发者可根据文档说明开发嵌入式应用程序。

本文档适用于 A200 和 A210 芯片平台。


系统架构

系统架构图

  • 应用层

    基于 Zmedia MPI 及其他驱动,由用户开发的应用软件系统。

  • Zmedia MPI 层

    基于适配层(已有芯片适配封装接口),完成媒体处理功能。对外屏蔽了硬件处理细节,并对应用提供通用化的媒体处理功能接口。

  • 操作系统适配层

    基于芯片已有的硬件模块对外提供的驱动接口。

  • 操作系统层

    基于 Linux 和 Android 系统。

  • 硬件层

    由芯片加上必要的外围器件构成。


模块介绍

简称全称功能概述
SYSsystem实现 ZH MPI 系统初始化、反初始化、数据流管理及平台性的功能接口。
MBMedia Buffer & Pool实现通用化内存接口,内存和内存池管理。
VPSSVideo Process Sub-System视频处理子系统,支持的具体图像处理功能包括 FRC、CROP、Scale、像素格式转换、角度旋转、Cover、Overlay、Mosaic、Mirror/Flip、压缩解压等。
VIVideo Input视频输入(VI)模块实现 Sensor、HDMI 等图像数据采集,VI 将接收到的数据存入到指定内存位置。
VDECVideo Decoder提供视频硬件解码接口,实现视频解码功能。
VENCVideo Encoder提供视频硬件编码接口,实现视频编码功能。
VOVideo Output模块主动从内存相应位置读取视频和图形数据,并通过相应的显示设备输出视频和图形。
RGNRegion ManagerREGION 模块用于统一管理 OSD、遮挡、马赛克、画线等区域资源,将这些区域信息提供至各模块中去。
VGSVideo Graphics System视频图形系统,由 GPU 接口实现各种图像处理功能。
TDETwo Dimensional Engine二维图像处理引擎,由 RGA 接口实现 2D 图像处理功能。
AIAudio Input音频采集模块。
ADECAudio Decoder音频解码模块,芯片平台通常为软件音频解码。
AENCAudio Encoder音频编码模块,芯片平台通常为软件音频编码。
AOAudio Output音频输出模块,将音频 PCM 数据输出至各个声卡硬件。

媒体处理平台典型应用

MPI 的典型应用产品包括 IPC、NVR、显控等,各种典型应用的流程描述如下。

  • VI 模块 捕获视频图像,可对其做剪切、缩放、镜像等处理,并输出多路不同分辨率的图像数据。

  • VDEC 模块 对编码后的视频码流进行解码,并将解析后的图像数据送 VPSS 进行图像处理或直接送 VO 显示。可对 H.264/H.265/MJPEG/MPEG2/MPEG4 等多种格式的视频码流进行解码。

  • VPSS 模块 接收 VI 和解码模块发送过来的图像,可对图像进行裁剪、缩放、旋转、镜像、贴图等处理,并实现同源输出多路不同分辨率的图像数据用于编码、预览、智能分析或抓拍。

  • VENC 模块 接收 VI 捕获并经 VPSS 处理后输出的图像数据,可叠加用户通过 Region 模块设置的 OSD 图像,然后按不同协议进行编码并输出相应码流。

  • VO 模块 接收 VPSS 处理后的输出图像,可进行播放控制等处理,最后按用户配置的输出协议输出给外围视频设备。

  • AI 模块 捕获音频数据,然后 AENC 模块支持按多种音频协议对其进行编码,最后输出音频码流。

  • 用户从网络或外围存储设备获取的音频码流可直接送给 ADEC 模块,ADEC 支持解码多种不同的音频格式码流,解码后数据送给 AO 模块即可播放声音。


IPC 典型应用

IPC典型应用

NVR典型应用

NVR典型应用