Android中使用的主要是OpenMax的編解碼功能。雖然OpenMax也可以生成輸入、輸出、文件解析—構(gòu)建等組件,但是在各個系統(tǒng)(不僅是Android)中使用的最多的還是編解碼組件。媒體的輸入、輸出環(huán)節(jié)和系統(tǒng)的關(guān)系很大,引入OpenMax標準比較麻煩;文件解析—構(gòu)建環(huán)節(jié)一般不需要使用硬件加速。編解碼組件也是最能體現(xiàn)硬件加速的環(huán)節(jié),因此最常使用。
在Android中實現(xiàn)OpenMax IL層和標準的OpenMax IL層的方式基本,一般需要實現(xiàn)以下兩個環(huán)節(jié)。
編解碼驅(qū)動程序:位于Linux內(nèi)核空間,需要通過Linux內(nèi)核調(diào)用驅(qū)動程序,通常使用非標準的驅(qū)動程序
OpenMax IL層:根據(jù)OpenMax IL層的標準頭文件實現(xiàn)不同功能的組件
Android中還提供了OpenMax的適配層接口(對OpenMax IL的標準組件進行封裝適配),它作為Android本地層的接口,可以被Android的多媒體引擎調(diào)用。