RockChip MPP

MPP : Media Process Platform

基于rk平台的多媒体框架 提供硬件编解码支持

Mpp开发

根据所选用Rk平台

进入平台shell模式中
    root@user: uname -a 
确定平台类型和kernel版本

编译mpp

Linux平台
1. 需要指定交叉编译工具链或是直接板上编译 
2. 如果平台基于3399 centos
   推荐直接在3399上编译 方便快捷
   将mpp目录推送到3399上
   安装cmake 和 gcc g++
   1.
       修改arm.linux.cross.cmake中的
       SET(CMAKE_C_COMPILER "arm-linux-gcc")$                                           
       SET(CMAKE_CXX_COMPILER "arm-linux-g++")
       为 SET(CMAKE_C_COMPILER "gcc")
         SET(CMAKE_CXX_COMPILER "g++")
   2.  修改make-Makefiles.bash
       增加-DHAVE_DRM定义
           # generate Makefile$                                                             
           cmake -DCMAKE_BUILD_TYPE=Release \$                                              
          -DCMAKE_TOOLCHAIN_FILE=./arm.linux.cross.cmake \$                          
          -DCMAKE_RKPLATFORM_ENABLE=ON \$   
          -DHAVE-DRM=ON \                                          
          -G "Unix Makefiles" \$                                                     
         ${MPP_TOP}$  
Android平台
假定mpp代码放置在work目录 平台为android 32位arm
   root@user: cd work/build/android/arm
   root@user: ./make-Android.bash
   如果发生错误 1. 检查脚本的ndk位置是否正确
              2. 再次执行脚本(ndk版本低的话可能引起cmake错误 需要再次执行脚本)
linux下编译

运行错误

例如 failed to open /dev/ion
    1. 确认kernel版本 可能是4.4版本的原因
       如果kernel是4.4版本 在make-Android.bash 中增加cmake编译宏定义
       -DHAVE_DRM=ON  Linux平台类似做此修改

修改:

cmake -DCMAKE_TOOLCHAIN_FILE=../android.toolchain.cmake                     \
      -DCMAKE_BUILD_TYPE=Release                                            \
      -DANDROID_FORCE_ARM_BUILD=ON                                          \
      -DANDROID_NDK=${ANDROID_NDK}                                          \
      -DANDROID_SYSROOT=${PLATFORM}                                         \
      -DANDROID_ABI="armeabi-v7a with NEON"                                 \
      -DANDROID_TOOLCHAIN_NAME="arm-linux-androideabi-4.8"                  \
      -DANDROID_NATIVE_API_LEVEL=android-21                                 \
      -DANDROID_STL=system                                                  \
      -DCMAKE_RKPLATFORM_ENABLE=ON                                          \
      -DHAVE_DRM=ON \   // 添加定义
      ../../..       

调用mpp

1. mpp自带的文档和demo

参考 doc/目录下的文档 和 test目录下的调用demo
编码参考mpi_enc_tets.c
解码参考mpi_dec_test.c

2. Linux下的调用demo (mpp解码+rga旋转+drm显示)

参考git代码
https://github.com/sliver-chen/mpp_linux_cpp

3. Android下的调用demo apk

参考git代码
https://github.com/sliver-chen/mpp_android_demo

  • 0
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值