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:读取和测试芯片平台信息是否正常。

 

posted @ 2018-12-09 13:49  为取经而来  阅读(10821)  评论(0编辑  收藏  举报