OpenCORE的實現(xiàn)是基于C++語言的,要求平臺必須支持C++模板,但并非所有的C++標準(如運行時類型識別(RTTI,Run Time Type Indication))都要求平臺支持。
根據(jù)層次劃分,OpenCORE主要分為內(nèi)容策略管理(Content Pollcy Manager)、多媒體引擎(MultiMedia Engines)、數(shù)據(jù)格式解析器(Data Formats Parser)、視頻編解碼器(Video Codecs)、音頻編解碼器(Audio Codecs)、操作系統(tǒng)兼容庫(OSCL, Operating System Compatibility Library)等幾個部分。OpenCORE的框架如下圖所示。

OpenCORE框架
其中,內(nèi)容策略管理允許移動終端支持多種商業(yè)模型和商業(yè)規(guī)則。
多媒體引擎分為兩個部分:PVPlayer和PVAuthor。其中,PVPlayer提供媒體播放器的功能,完成各種音頻、視頻流的回放(Playback)功能;PVAuthor提供媒體流記錄的功能,完成各種音頻(Audio)、視頻(Video)流的功能及靜態(tài)圖像捕獲功能。
數(shù)據(jù)格式解析器則負責文件格式的解析。
視頻編解碼器、音頻編解碼器則完成壓縮流和元數(shù)據(jù)流之間的轉(zhuǎn)換。目前OpenCORE已經(jīng)能夠支持全部的主流音、視頻格式。音頻格式有AAC、AMR、MP3、WAV等,視頻格式有3GP、MP4、JPG等。
為了更好地在不同操作系統(tǒng)提供可移植性。OSCL包含了基本數(shù)據(jù)類型、配置、字符串工具、輸入/輸出、錯誤處理、線程等內(nèi)容,類似一個基礎(chǔ)的C++庫。
相對其他模塊而言,OpenCORE的代碼量非常龐大,OpenCORE基于C++實現(xiàn),定義了全功能的操作系統(tǒng)移植層,各種基本功能均被封裝成類的形式,各層次之間的接口多使用繼承等方式。