正文

18.1 OpenMax系統(tǒng)結構和移植內容(4)

Android系統(tǒng)級深入開發(fā):移植與調試 作者:韓超


如圖18-4所示,OpenMAL IL的客戶端,通過調用四個OpenMAL IL組件,實現(xiàn)了一個功能。四個組件分別是Source組件、Host組件、Accelerator組件和Sink組件。Source組件只有一個輸出端口;而Host組件有一個輸入端口和一個輸出端口;Accelerator組件具有一個輸入端口,調用了硬件的編解碼器,加速主要體現(xiàn)在這個環(huán)節(jié)上。Accelerator組件和Sink組件通過私有通訊方式在內部進行連接,沒有經(jīng)過明確的組件端口。

OpenMAL IL在使用的時候,其數(shù)據(jù)流也有不同的處理方式:既可以經(jīng)由客戶端,也可以不經(jīng)由客戶端。圖18-4中,Source組件到Host組件的數(shù)據(jù)流就是經(jīng)過客戶端的;而Host組件到Accelerator組件的數(shù)據(jù)流就沒有經(jīng)過客戶端,使用了隧道化的方式;Accelerator組件和Sink組件甚至可以使用私有的通訊方式。

OpenMax Core是輔助各個組件運行的部分,它通常需要完成各個組件的初始化等工作,在真正運行過程中,重點的是各個OpenMax IL的組件,OpenMax Core不是重點,也不是標準。

OpenMAL IL的組件是OpenMax IL實現(xiàn)的核心內容,一個組件以輸入、輸出端口為接口,端口可以被連接到另一個組件上。外部對組件可以發(fā)送命令,還進行設置/獲取參數(shù)、配置等內容。組件的端口可以包含緩沖區(qū)(Buffer)的隊列。

組件的處理的核心內容是:通過輸入端口消耗Buffer,通過輸出端口填充Buffer,由此多組件相聯(lián)接可以構成流式的處理。


上一章目錄下一章

Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號