目錄
- 簡介
- 基本架構
簡介
海思官方提供的sampe位于
\Hi3518E_SDK_V1.0.3.0\mpp\sample
中
sample其實是很多個例程,是以有很多個Main,每一個例程面向一個典型應用。
-
為音頻相關功能audio
-
為功能函數,是一些經常用到的函數,供其他子產品調用common
-
hifb
——haisi framebuffer
為視訊的實時顯示,實際上用于像手機拍照的實時顯示
-
ive
—— Intelligent Video Engine
是海思媒體處理晶片智能分析系統中的硬體加速子產品。
使用者基于 IVE 開發智能分析方案可以加速智能分析,降低 CPU 占用。用來做開閉操作、邊緣提取、圖像濾波等。使用IVE可以使處理速度從幾百毫秒降到幾毫秒
-
區域管理,用于OSD顯示region
-
自動切換場景scene_auto
-
tde
——TDE( Two Dimensional Engine)
利用硬體為 OSD( On Screen Display)和 GUI
( Graphics User Interface)提供快速的圖形繪制功能,主要有快速位圖搬移、快速色彩
填充、快速抗閃搬移、快速位圖縮放、畫點、畫水準/垂直線、位圖格式轉換、位圖alpha 疊加、位圖按位布爾運算、 ColorKey 操作。
-
——video encodevenc
-
vio
region和tde都能夠實作OSD,選用其中一個就好。如果疊加需求量大,那麼兩個就能夠一起使用
基本架構
sample的重點是venc,視訊編碼是音視訊中最重要的一點。
以venc為例,venc中的main調用venc中的功能函數,再調用common中的功能函數,common中的功能函數再調用mpp中的API,mpp的API在哪裡?mpp中的API實作的函數體在ko裡面
他們是以庫的形式來提供的,是看不見海思的源碼的,隻能去查海思的手冊,
HiMPP IPC V2.0 媒體處理軟體開發參考.pdf
,在
\Hi3518E V200R001C01SPC030\01.software\board\document_cn
,這份文檔就是mpp的API手冊,裡面包括了所有mpp的的API,
API最終會去調用hi3518E内部的硬體單元(内部有ARM DSP)。
除了common(被其他目錄的函數調用),其他目錄下面的都是一個獨立的程式(例程,面向一個典型應用),有自己的Main函數。
海思這一套到了很多關鍵的地方就是調用了一個庫函數,很多情況很多核心的東西是看不到的,隻知道調用這個庫函數就能完成操作,研究的重點是怎麼去調這個庫函數,怎麼去傳參,參數是什麼意思,參數如果不對會傳回怎麼樣一個錯誤