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:讀取和測試晶片平台資訊是否正常。