標籤:android style http io color ar os 使用 sp
1.openmax 簡介http://www.khronos.org/openmax/
OpenMax是一個多媒體應用程式的架構標準,由NVIDIA公司和Khronos在2006年推出。
OpenMAX分為3層:
第一層:OpenMax DL(Development Layer,開發層)
第二層:OpenMax IL(Integration Layer,整合層)
第三層:OpenMax AL(Appliction Layer,應用程式層)
2.OpenMax IL簡介
OpenMax IL 處在中介層的位置,OpenMAX IL 作為音頻,視頻和影像轉碼器 能與多媒體轉碼器互動,並以統一的行為支援組件(例如資源和皮膚)。這些轉碼器或許是軟硬體的混合體,對使用者是 的底層介面應用於嵌入式或 / 和行動裝置。它提供了應用程式和媒體架構, 透明的。本質上不存在這種標準化的介面,轉碼器供 應商必須寫私人的或者封閉的介面,整合進行動裝置。 IL 的主要目的 是使用特徵集合為轉碼器提供一個系統抽象,為解決多個不同媒體系統之間輕便性的問題。
OpenMax IL 的目的就是為硬體平台的圖形及音視頻提供一個抽象層,可以為上層的應用提供一個可跨平台的支撐。這一點對於跨平台的媒體應用來說十分重要。本人也接觸過幾家高清解碼晶片,這些晶片底層的音視頻介面雖然功能上大致相同,但是介面設計及用法上各有不同,而且相差很多。你要想讓自己開發的媒體應用完美的運行在不同的硬體廠商平台上,就得適應不同晶片的底層解碼介面。這個對於應用開發來說十分繁瑣。所以就需要類似於OpenMax IL 這種介面規範。應用假如涉及到音視頻相關功能時,只需調用這些標準的介面,而不需要關心介面下方硬體相關的實現。假如換了硬體平台時,只需要把介面層與硬體適配好了就行了。上層應用不需要頻繁改動。
你可以把OpenMax IL 看作是中介軟體中的porting層介面,但是現在中介軟體大部分都是自家定義自己的。OpenMax 想做的就是定義一個這樣的行業標準,這樣媒體應用、硬體廠商都遵循這種標準。硬體廠商將OpenMax 與處理器一併提供,上層的多媒體架構想要用到硬體音視頻加速功能時,只需遵循openmax的介面就可以擴平台運行。
可喜的,現在越來越多的多媒體架構及多媒體應用正在遵循openmax標準,包括各種知名的媒體開源軟體。越來越多的晶片廠商也在遵循openmax的標準。對於現在的音視頻編解碼來說,解析度越來越高,需要晶片提供硬體加速功能是個大的趨勢。我相信 介面的標準化是一定要走的。
3.OpenMax IL結構
OpenMax IL主要內容如下所示。
用戶端(Client):OpenMax IL的調用者
組件(Component):OpenMax IL的單元,每一個組件實現一種功能
連接埠(Port):組件的輸入輸出介面
隧道化(Tunneled):讓兩個組件直接連接的方式
組件、連接埠、隧道化思想和GStreamer 中的 pipeline 十分類似。Component實現單一功能、或是Source、Host、Accelerator和Sink。Port 是 Component對外的輸入輸出口。通過Tunneled 將單一Component串聯起來形成一個完整功能。OpenMax Core是輔助各個組件啟動並執行部分 4.Component內部結構
Component 的基本模型如,可以把它想象成一個加工車間:
輸入連接埠輸入材料
輸出連接埠輸出加工完成品
通過handle 來給車間發送指令或者或者狀態
將事件及時發送給車間外部管理者
Android多媒體開發-- OpenMax IL簡介