MPP-使用说明
1、介绍
MPP是瑞芯微提供的媒体处理软件平台,适用于瑞芯微芯片系列。它屏蔽了有关芯片的复杂底层处理,屏蔽了不同芯片的差异,为使用者提供了统一的视频媒体统一接口。
具体提供的功能:
视频编码:H264、MJPEG、VP8
视频解码:H265、H264、VP9、VP8、MJPEG、MPEG-4、MPEG-2、VC1
视频处理:视频拷贝、色彩空间转换等
2、系统架构
Hardware:硬件层,视频编解码硬件加速模块;
Kernel driver:内核驱动层,Linux内核的编码器硬件驱动设备;
MPP层:MPP层屏蔽了不同操作系统和不同芯片平台的差异,为使用者提供统一的MPI接口,包括MPI模块,OSAL模块,NAL模块以及编解码模块(video decoder、video encoder)、视频处理模块(video process);
操作系统层:MPP的运行平台;
应用层:MPP层通过MPI对接各种中间件软件,如ffmpeg、gstreamer;
3、编译安装
源代码下载地址:https://github.com/rockchip-linux/mpp
下载命令:git clone -b release https://github.com/rockchip-linux/mpp.git
MPP源代码编译脚本为cmake,建议使用2.8.12。首先配置build/linux/arm/目录下arm.linux.cross.cmake里的工具链,再运行make-Makefiles.bash脚本,通过cmake生成Makefile,最后make即可。
4、使用测试
编码器:
编码器demo为mpi_enc_test系列程序,包括单线程mpi_enc_test,多实例mpi_enc_multi_test。
进入到mpp/test文件夹,直接运行mpi_enc_test:
-i:输入文件;
-o:输出文件;
-w:图像宽度(强制要求参数);
-h:图像高度(强制要求参数);
-f:输入文件类型;
-t:输出码流类型(强制要求参数);
-n:编码帧数;
解码器:
解码器为mpi_dec_test系列程序,包括单线程的mpi_dec_test,多线程的mpi_dec_mt_test,多实例的mpi_dec_multi_test。
直接运行mpi_dec_test:
-i:输入文件(强制要求参数);
-o:输出文件;
-w:图像宽度;
-h:图像高度;
-t:码流类型(强制要求参数);
-f:输出帧类型;
-n:输出帧数;
其它工具:
mpp_info_test:读取和打印MPP库的版本信息。
mpp_buffer_test:测试内核的内存分配器是否正常。
mpp_mem_test:测试C库的内存分配器是否正常。
mpp_runtime_test:测试一些软硬件运行时环境是否正常。
mpp_platform_test:读取和测试芯片平台信息是否正常。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)