瑞芯微提供的媒体处理软件平台(Media Process Platform,简称 MPP)是适用于瑞芯微芯片系列的
通用媒体处理软件平台。该平台对应用软件屏蔽了芯片相关的复杂底层处理,其目的是为了屏蔽不
同芯片的差异,为使用者提供统一的视频媒体处理接口(Media Process Interface,缩写 MPI)。MPP
提供的功能包括:
视频解码
H.265 / H.264 / H.263 / VP9 / VP8 / MPEG-4 / MPEG-2 / MPEG-1 / VC1 / MJPEG
视频编码
H.264 / VP8 / MJPEG
视频处理
视频拷贝,缩放,色彩空间转换,场视频解交织(Deinterlace)
硬件环境:
ArmSoM-W3 RK3588开发板
软件版本:
OS:ArmSoM-W3 Debian11
从github下载mpp包:
git clone https://github.com/rockchip-linux/mpp.git
编译安装
cd mpp/build/linux/aarch64
./make-Makefiles.bash
make -j8
sudo make install
tree
/usr/local/
├── bin
│ ├── mpi_dec_test
│ ├── mpi_dec_mt_test
│ ├── mpi_dec_multi_test
│ ├── mpi_dec_nt_test
│ ├── mpi_enc_mt_test
│ ├── mpi_enc_test
│ ├── mpi_rc2_test
│ ├── mpp_info_test
│ ├── test_rknn_demo.sh
│ ├── test_rtsp.sh
│ └── vpu_api_test
│
└── include/
│ └── rockchip
│
└── lib
├── librockchip_mpp.so
├── librockchip_mpp.so.0
├── librockchip_mpp.so.1
├── librockchip_vpu.so
├── librockchip_vpu.so.0
├── librockchip_vpu.so.1
└── pkgconfig
查看mpp对应的库文件:
ls /usr/local/lib
librockchip_mpp.so librockchip_mpp.so.1 librockchip_vpu.so.0 pkgconfig
librockchip_mpp.so.0 librockchip_vpu.so librockchip_vpu.so.1
查看mpp对应的头文件:
ls /usr/local/include/rockchip/
mpp_buffer.h mpp_log.h mpp_task.h rk_vdec_cfg.h rk_venc_ref.h
mpp_compat.h mpp_meta.h rk_hdr_meta_com.h rk_vdec_cmd.h vpu_api.h
mpp_err.h mpp_packet.h rk_mpi_cmd.h rk_venc_cfg.h vpu.h
mpp_frame.h mpp_rc_api.h rk_mpi.h rk_venc_cmd.h
mpp_log_def.h mpp_rc_defs.h rk_type.h rk_venc_rc.h
查看mpp对应的bin文件:
ls /usr/local/bin
mpi_dec_mt_test mpi_dec_test mpi_rc2_test test_rtsp.sh
mpi_dec_multi_test mpi_enc_mt_test mpp_info_test vpu_api_test
mpi_dec_nt_test mpi_enc_test test_rknn_demo.sh
编解码器demo:
mpp_dec_test: 单线程解码器demo
mpi_dec_mt_test:多线程解码器demo
mpi_dec_multi_test:多实例解码器demo
mpp_enc_test:单线程编码器demo
mpi_enc_multi_test:多实例编码器demo
实用工具
MPP 提供了一些单元测试用的工具程序,这种程序可以对软硬件平台以及 MPP 库本身进行测试
mpp_info_test: 读取和打印 MPP 库的版本信息
mpp_buffer_test: 测试内核的内存分配器是否正常。
mpp_mem_test: 测试C库的内存分配器是否正常。
mpp_runtime_test: 测试一些软硬件运行时环境是否正常。
mpp_platform_test:读取和测试芯片平台信息是否正常。
mpp_dec_test