Himpp IPC V2.0 開發文檔學習_概述

1.實現路徑
VI–>VPSS–>VENC+OSD+h265 / VDA / VO
VI:捕獲視頻圖像,進行剪切縮放處理;
VPSS:圖像去噪、增強、銳化;實現同源輸出多路不同分辨率的圖像數據用於編碼、預覽或抓拍;
VENC:h265編碼;
VDA:移動偵測和遮擋偵測,輸出偵測結果;
VO:接收VPSS處理後的輸出圖像,進行播放控制,按用戶配置的輸出協議輸出給外圍設備。

2.視頻緩存池:負責內存的分配和回收
視頻輸入通道:使用公共視頻緩存池(不提供創建和銷燬公共視頻緩存池的功能);
在系統初始化之前,必須爲視頻輸入通道配置公共視頻緩存池;
根據業務的不同,公共緩存池的數量、緩存塊的大小和數量不同;
緩存塊的生存期:指經過 VPSS 的 bypass 通道傳給後續模塊的情形;
若該緩存塊完全沒有經過 VPSS 的 bypass 通道傳給其他模塊,則在 VPSS 模塊處理後被放回公共緩存池。

3.系統綁定:HI_MPI_SYS_Bind
【只允許數據接收者綁定數據源】,綁定後,數據源生成的數據將自動發給接收者。
Himpp支持的綁定關係:
VI(數據接收者) bind VO/VENC/VDA/VPSS
VPSS(數據接收者) bind VO/VENC/VDA/VPSS
VO(數據接收者) bind VO/VENC/VPSS

同一個數據接收者只能綁定一個數據源。
VI 和 VDEC 作爲數據源,是以通道爲發送者,向其他模塊發送數據,用戶將設備號置爲 0, SDK 不檢查輸入的設備號;
VO 作爲數據源發送回寫(WBC)數據時,是以設備爲發送者,向其他模塊發送數據,用戶將通道號置爲 0, SDK 不檢查輸入的通道號;
VPSS 作爲數據接收者時,是以設備(GROUP)爲接收者,接收其他模塊發來的數據,用戶將通道號置爲 0, SDK 不檢查輸入的通道號;
VENC 作爲數據接收者時,是以通道號爲接收者,接收其他模塊發過來的數據;
其他情況均需指定設備號和通道號。

4.VI/VPSS 離/在線模式
VI/VPSS 離線模式: VI 進行時序解析後將圖像數據寫出到 DDR, VPSS 從DDR 中載入 VI 採集的數據進行圖像處理;
VI/VPSS 在線模式: VI 進行時序解析後直接在芯片內部將數據傳遞到 VPSS,中間無 DDR 寫出的過程。在線模式可以省一定的帶寬和內存,降低端到端的延時。
但是在線模式時,因爲 VI 不寫出數據到DDR,無法進行 CoverEx、 OverlayEx、Rotate、 LDC 等操作,需要在 VPSS 各通道寫出後再進行 Rotate/LDC 等處理,而且有些功能只在離線下能支持,比如DIS。

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