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

MPP-使用说明的更多相关文章

  1. Hi3531 SDK 安装以及升级使用说明

    Hi3531 SDK 安装以及升级使用说明 第一章 Hi3531_SDK_Vx.x.x.x版本升级操作说明    如果您是首次安装本SDK,请直接参看第2章.     第二章 首次安装SDK 1.Hi ...

  2. Hi3536DV100 SDK 安装以及升级使用说明

    第一章 Hi3536DV100_SDK_Vx.x.x.x版本升级操作说明 如果您是首次安装本SDK,请直接参看第2章. 第二章 首次安装SDK1.Hi3536DV100 SDK包位置 在"H ...

  3. Atitit.项目修改补丁打包工具 使用说明

    Atitit.项目修改补丁打包工具 使用说明 1.1. 打包工具已经在群里面.打包工具.bat1 1.2. 使用方法:放在项目主目录下,执行即可1 1.3. 打包工具的原理以及要打包的项目列表1 1. ...

  4. awk使用说明

    原文地址:http://www.cnblogs.com/verrion/p/awk_usage.html Awk使用说明 运维必须掌握的三剑客工具:grep(文件内容过滤器),sed(数据流处理器), ...

  5. asp.net 读取导入的project(mpp)文件

    公司项目有用到读取project文件(.mpp)并保存到指定数据库类似的功能. 查了一下大家总结的方法. 找到一哥们代码,初步判断可行,特此收藏. using System.IO; using Mic ...

  6. SMP、NUMA、MPP(Teradata)体系结构介绍

    从系统架构来看,目前的商用服务器大体可以分为三类,即对称多处理器结构 (SMP : Symmetric Multi-Processor) ,非一致存储访问结构 (NUMA : Non-Uniform ...

  7. “我爱背单词”beta版发布与使用说明

    我爱背单词BETA版本发布 第二轮迭代终于画上圆满句号,我们的“我爱背单词”beta版本已经发布. Beta版本说明 项目名称 我爱背单词 版本 Beta版 团队名称 北京航空航天大学计算机学院  拒 ...

  8. Oracle 中 union 和union all 的简单使用说明

    1.刚刚工作不久,经常接触oracle,但是对oracle很多东西都不是很熟.今天我们来了解一下union和union all的简单使用说明.Union(union all): 指令的目的是将两个 S ...

  9. Map工具系列-02-数据迁移工具使用说明

    所有cs端工具集成了一个工具面板 -打开(IE) Map工具系列-01-Map代码生成工具说明 Map工具系列-02-数据迁移工具使用说明 Map工具系列-03-代码生成BySQl工具使用说明 Map ...

  10. Map工具系列-03-代码生成BySQl工具使用说明

    所有cs端工具集成了一个工具面板 -打开(IE) Map工具系列-01-Map代码生成工具说明 Map工具系列-02-数据迁移工具使用说明 Map工具系列-03-代码生成BySQl工具使用说明 Map ...

随机推荐

  1. 几张图帮你理解 docker 基本原理及快速入门

    写的非常好的一篇文章,不知道为什么被删除了.  利用Google快照,做个存档. 快照地址:地址 作者地址:青牛 什么是docker Docker 是一个开源项目,诞生于 2013 年初,最初是 do ...

  2. centos7 mysql安装

    一.系统环境 [root@localhost home]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 二.mysql安装 ...

  3. dup和dup2应用实例(dup跟APUE有出入,close+dup=dup2?)

    dup/dup2函数 有时我们希望把标准输入重定向到一个文件,或者把标准输出重定向到一个网络连接. dup()与dup2()能对输入文件描述符进行重定向. 函数原型如下: dup函数创建一个新的文件描 ...

  4. synchronized与Lock的区别

    两者的区别分类对比: 类别 synchronized Lock 存在层次 Java的关键字,在jvm层面上 是一个类 锁的释放 1.以获取锁的线程执行完同步代码,释放锁 2.线程执行发生异常,jvm会 ...

  5. Linux用户登录日志查询

    # 1 utmp.wtmp.btmp文件 Linux用户登录信息放在三个文件中: 1 /var/run/utmp:记录当前正在登录系统的用户信息,默认由who和w记录当前登录用户的信息,uptime记 ...

  6. CORS 实战 专题

    本文会代码层面对CORS问题进行剖析 CORS相关相关概念可参考http://www.cnblogs.com/softidea/p/5496719.html ERROR info: XMLHttpRe ...

  7. Python爬取谷歌街景图片

    最近有个需求是要爬取街景图片,国内厂商百度高德和腾讯地图都没有开放接口,查询资料得知谷歌地图开放街景api 谷歌捷径申请key地址:https://developers.google.com/maps ...

  8. Tensorflow学习-数据读取

    Tensorflow数据读取方式主要包括以下三种 Preloaded data:预加载数据 Feeding: 通过Python代码读取或者产生数据,然后给后端 Reading from file: 通 ...

  9. spot 状压dp

    题目大意:数轴上有n个泥点,共有m个木板,求最少用几个木板可以覆盖全部泥点,并求最优方案数(n,m<=15) 看范围,肯定是状压 f[i][j]表示前i个泥点都被覆盖,使用的木板集合为j 转移: ...

  10. luoguP2526_[SHOI2001]小狗散步_二分图匹配

    luoguP2526_[SHOI2001]小狗散步_二分图匹配 题意: Grant喜欢带着他的小狗Pandog散步.Grant以一定的速度沿着固定路线走,该路线可能自交.Pandog喜欢游览沿途的景点 ...