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