嵌入式開發中mpp(media process platform)中涉及的主要內容

原文鏈接:https://blog.csdn.net/oqqhutu12345678/article/details/82843617 https://www.cnblogs.com/xue0708/p/10088451.html https://max.book118.com/html/2018/0922/7123201132001150.shtm

MPP層屏蔽了不同操作系統和不同芯片平臺的差異。當前一些主流的芯片的sdk中都提供了這一層,目的是使客戶能夠快速的開發自己的多媒體應用。常見的如:瑞星微,海思等平臺以下分別以海思和瑞芯微的芯片作爲對比,比較他們的主要內容以及使用。


海思mpp參考:https://blog.csdn.net/oqqhutu12345678/article/details/82843617

如下爲海思的mpp的處理流程圖:

一、視屏輸入(VI)

視頻輸入,主要是指視頻的輸入接口,包括mipi-rx,lvds,HISPI,bt1120,bt656等接受視頻數據。

視頻的輸入不僅是指camera的輸入數據,以及SD卡上面的視頻文件數據。vi將接受到的數據存入到制定的內存區域,再次過程中可以對接受到的原始數據視頻圖像數據進行裁剪等處理。

二、視頻處理子系統(VPSS)

支持的功能FRC(frame rate control),crop,sharpen,3dnr,scale,像素格式轉換,ldc,魚眼角正,hdr,Spread、 固定角度旋轉、 任意角度旋轉、Cover/Coverex、 Overlayex、Mosaic、 Mirror/Flip、壓縮解壓等

三、視頻編碼(VENC)

主要關注的是視頻編碼的最大分辨率和最小分辨率,以及編碼性能。和編碼的算法,如h.264、h.265、mjpegd等

四、視頻解碼(VDEC)

關注的點基本同視頻的編碼一樣。

五。視頻輸出(VO)

視頻輸出,主要是指模塊主動的從內存的相應區域讀取視頻或者是圖片數據,並通過顯示設備顯示出來。


瑞芯微mpp參考:https://www.cnblogs.com/xue0708/p/10088451.html

https://max.book118.com/html/2018/0922/7123201132001150.shtm

瑞芯微的mpp提供的功能包括:

視頻解碼:H.265 / H.264 / H.263 / VP9 / VP8 / MPEG-4 / MPEG-2 / MPEG-1 / VC1 / MJPEG
視頻編碼:H.264 / VP8 / MJPEG
視頻處理:視頻拷貝,縮放,色彩空間轉換,場視頻解交織(Deinterlace)
 

瑞芯微mpp的系統架構:

硬件層:芯片平臺的視頻編解碼硬件加速模塊,包括 VPU, rkvdec, rkvenc 等不同類型,不同功能的硬件加速器。

內核驅動層 Kernel driver:Linux 內核的編碼器硬件設備驅動,以及相關的 mmu,內存,時鐘,電源管理模塊等。 支持的平臺
主要是 Linux kernel 3.10 和 4.4 兩個版本。 MPP 庫對於內核驅動有依賴。
MPP 層:用戶態的 MPP 層屏蔽了不同操作系統和不同芯片平臺的差異,爲上層使用者提供統一的 MPI 接口。MPP 層包括 MPI 模塊, OSAL 模塊, HAL 模塊以及視頻編解碼器(Video Decoder / Video Encoder)和視頻處理功能模塊(Video Process)。
操作系統層:MPP 用戶態的運行平臺,如 Android 以及 Debian 等 Linux 發行版
應用層:MPP 層通過 MPI 對接各種中間件軟件,如 OpenMax, ffmpeg 和 gstreamer,或者直接對接客戶的上層應用。
 

下圖爲mpi的主要的數據結構:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章