天天看點

海思3518E開發筆記2.1——海思官方mpp sample總體分析簡介基本架構

目錄

  • 簡介
  • 基本架構

簡介

海思官方提供的sampe位于

\Hi3518E_SDK_V1.0.3.0\mpp\sample

sample其實是很多個例程,是以有很多個Main,每一個例程面向一個典型應用。

海思3518E開發筆記2.1——海思官方mpp sample總體分析簡介基本架構
  • audio

    為音頻相關功能
  • common

    為功能函數,是一些經常用到的函數,供其他子產品調用
  • hifb

    ——haisi framebuffer

    為視訊的實時顯示,實際上用于像手機拍照的實時顯示

  • ive

    —— Intelligent Video Engine

    是海思媒體處理晶片智能分析系統中的硬體加速子產品。

    使用者基于 IVE 開發智能分析方案可以加速智能分析,降低 CPU 占用。用來做開閉操作、邊緣提取、圖像濾波等。使用IVE可以使處理速度從幾百毫秒降到幾毫秒

  • region

    區域管理,用于OSD顯示
  • scene_auto

    自動切換場景
  • tde

    ——TDE( Two Dimensional Engine)

    利用硬體為 OSD( On Screen Display)和 GUI

    ( Graphics User Interface)提供快速的圖形繪制功能,主要有快速位圖搬移、快速色彩

    填充、快速抗閃搬移、快速位圖縮放、畫點、畫水準/垂直線、位圖格式轉換、位圖alpha 疊加、位圖按位布爾運算、 ColorKey 操作。

  • venc

    ——video encode
  • 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函數。

海思這一套到了很多關鍵的地方就是調用了一個庫函數,很多情況很多核心的東西是看不到的,隻知道調用這個庫函數就能完成操作,研究的重點是怎麼去調這個庫函數,怎麼去傳參,參數是什麼意思,參數如果不對會傳回怎麼樣一個錯誤