RKMPP库简介
MPP库是Rockchip根据自己的硬编解码器开发的应用程序编解码库,如果想达到最好的效果,必须要通过librockchip_mpp来直接编码实现编解码。gstreamer和ffmpeg都会因为兼容api的原因,徒增几次无用的帧拷贝动作,并且使用的都是虚拟地址。在上一篇RGA的教学中,我们知道纯物理连续地址的硬件操作是非常快的,转到虚拟地址后效率就会降低。如果想榨干Toybrick的性能,开发最完美的代码,纯连续的物理Buffer、mpp+rga是离不开的。
Mpp的API思路其实跟目前绝大多数的编解码库是一致的,都是queue/dequeue的队列操作方式,先设置好编解码状态,然后不停的queue/dequeue input/output buffer就可以实现编解码控制了。如果大家熟悉FFMPEG,那学习MPP会非常容易,MPP和FFMPEG的api非常相像。
RKMPP库安装方式
第一种: dnf 安装
sudo dnf install librockchip_mpp-devel
第二种: 源码编译安装
MPP库源码下载地址
https://github.com/rockchip-linux/mpp
MPP兼容的gstreamer源码下载地址
https://github.com/rockchip-linux/gstreamer-rockchip
如果大家习惯使用gstreamer或者ffmpeg的接口的话,可以直接使用以上源码进行快速开发或代码迁移。但是这两个库已经交给开源社区维护了,遇到问题大家只能自己按着源码自己去debug。不是很建议项目中去使用。
MPP编译
1. &