MPP 说明 海思提供的媒体处理软件平台(Media Process Platform,简称" MPP"),可支持 应用软件快速开发。该平台对应用软件屏蔽了芯片相关的复杂的底层处理,并对 应用软件直接提供 "MPI"( MPP Program Interface )接口完成相应功能。该 平台支持应用软件快速开发以下功能:输入视频捕获、H.265/H.264/JPEG 编码、 H.265/H.264/JPEG 解码、视频输出显 示、视频图像前处理 ( 包括去噪、增强 、锐化 )、图像拼接、图像几何矫正、智能、音频捕获及输出、音频编解码等 功能。源码中包含了平台所有模块功能的示例方便快速熟悉 软件开发。本节将 以提供的"MPP"示例为基础做介绍。 目录介绍 Hi3559AV100_SDK/mpp/ ├── component 部分模块驱动和库源码(GPU、ISP、Sensor、PCIV) ├── out 闭源驱动 ko 文件和 MPI 所需要的库 ├── sample 所有模块的功能示例 └── tools 视频调试相关工具 Hi3559AV100_SDK/mpp/out/ ├── linux Linux 端部署 │   ├── big-little │   │   ├── include 头文件 │   │   ├── init 驱动设备层信息 │   │   ├── ko 驱动文件 │   │   ├── lib MPI 库 │   │   └── obj 驱动编译 .o 文件 │   └── multi-core │   ├── include │   ├── init │   ├── ko │   ├── lib │   └── obj └── liteos Huawei LiteOS 端部署 ├── dsp │   ├── dsp0 │   ├── dsp1 │   ├── dsp2 │   └── dsp3 └── single ├── include ├── init └── lib Hi3559AV100_SDK/mpp/sample ├── audio 音频编解码 ├── avs 视频拼接 ├── awb_online_calibration 自动白平衡测试 ├── common MPI 再次封装 ├── dis 数字防抖 ├── dpu 深度图 ├── fireflyfb Firefly MPP初始化相关 ├── fisheye 鱼眼模式 ├── gpu GPU相关(包含全景视频矫正) ├── hifb Framebuff ├── liteos Huawei LiteOS 初始化 ├── mode_switch 摄像头模式切换 ├── pciv PCIe 级联通信 ├── snap 摄像头拍照 ├── svp SVP 平台相关(智能加速、神经网络) ├── tde TDE 2D 加速 ├── uvc_app 虚拟 UVC Camera ├── vdec 视频解码 ├── venc 视频编码 ├── vgs 视频图形子系统 └── vio 视频输入输出 编译流程 在编译之前,用户需要搭建好编译环境。官方已经提供了相关编译链工具,请参 考《编译环境》一节。 ./build.sh perpare Firefly3559A4G-multi-core_defconfig (如果是异构模式 选择 Firefly3559A4G-big-little_defconfig) mpp内部部分功能需要其他模块的支持,在顶层目录执行 ./build.sh osdrv 把 整个海思原始 SDK 编译一遍。 ./build.sh mpp_sample 编译 sample sample 目录下会生成可执行文件,把二进制文件拷贝到板子上就可以运行了 PS: 如果是异构模式,编译出来的就是 A53UP 启动的 Huawei LiteOS 镜像,需要烧 写到对应分区,具体操作可以产考《固件升级》一节。 异构模式下进入如果需要运行 sample 需要使用virt-tty进入 A53UP 运行 sample 命令运行。