新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式AU1200無線車載終端播放器設計實現

        嵌入式AU1200無線車載終端播放器設計實現

        作者: 時間:2009-09-18 來源:網絡 收藏

        (1)MAI:是一個流媒體的架構,用于對多媒體的管理。MAI由視頻解碼的元素庫構成,包括用于多媒體文件的讀取解析、解復用、解碼等工作的元素庫。MAI Engine會接收由輸入設備輸入的媒體信息,根據多媒體文件的類型連接MAI相應的解碼算法文件處理該媒體流,并將其輸出到視頻或音頻設備。MAIEngine對媒體流的控制主要包括以下幾個方面:
        ①預覽媒體流以確定格式;
        ②載入并連接所需的各獨立元素用于對媒體流的解碼等工作;
        ③處理播放的命令:如暫停、播放、定位等;
        ④整理播放進度以及錯誤信息并向應用程序報告。
        (2)應用層:包括:應用程序,MAIEngine的引擎函數,MAI針對各種格式的多媒體文件的元素庫。
        (3)音視頻解碼:軟件解碼程序的流圖如圖4所示。在多媒體文件解碼過程中,首先播放器應用程序分別調用播放文件函數:Player_PlayFile()和引擎函數MAIengine_QuerySupport()進行對多媒體文件的讀取和多媒體文件類型的檢測,支持此過程完成的庫函數是Libmaifilereader.so。接下來,播放器應用程序調用引擎函數MAIengine AutoConnect(),該函數會根據多媒體文件的類型調用庫文件對多媒體文件進行解復用,支持解復用的庫文件包括Libmaimpeg2demux.so和Lib-maimpeg4demux.so等;再根據解復用后的音視頻格式調用庫文件進行音視頻的解碼,播放器可解碼的音頻格式有MP3,OGG,WAV等,可解碼的視頻格式有MPEG1,MPEG2,MPEG4等;支持解碼的庫函數主要包括Lib-maimp3dec.so,Libmaimpeg2dec.so等;解碼后分別通過調用庫文件Libmaiaudrend.so和Libmaividrend.so對音視頻數據進行渲染。至此,音頻數據便可送至揚聲器輸出,視頻數據送至MAE進行硬件解碼。

        (4)MAE:是一種能解碼的基于塊的視頻格式的硬件加速單元,它主要負責對上層軟件解碼出來的可變長度編碼進行解碼。在AlchemyTM TM proces-sor承擔了視頻解碼、縮放、顏色空間轉換和過濾功能的片上硬件。通過在硬件上完成大部分的視頻解碼任務,因此省掉了外部DSP電路,MAE把MIPS32TM處理器核解放出來去執行用戶交互,音頻處理和其他任務。同時,因為處理器上運行的軟件將不同長度的解碼信息傳遞給MAE。MAE硬件上被分為前端和后端,各自執行特定的任務。MAE的前端獨立執行最為復雜和繁重的解碼任務,包括反向量化,反向余弦轉換,運動補償等。MAE后端執行一次性地水平和垂直縮放,可編程顏色空間處理,和過濾功能。當不執行視頻解碼時,MAE后端功能可以被其他數據源使用如處理從片上攝像頭接口模塊來的CMOS/CCD或NTSC/PAL數據。
        (5)外設驅動:將上層軟件解析出來的視頻宏塊數據寫回給DDR存儲器;然后通過DMA控制MAE從DDR存儲器取出視頻宏塊數據,將其解壓縮成RGB數字信號,并將RGB數字信號再寫回到DDR存儲器,然后由LCD控制器從DDR存儲器中取出該數據輸人輸出到數/模ADV 7123,經ADV 7123轉換為R,G,B三原色信號和行、場同步信號,信號通過VGA接口輸到顯示設備中,至此,便完成了視頻的播放。

        4 結 語
        多媒體系統是目前研究的熱點之一,這里提供了一種基于播放器的方案,具有功耗低,軟硬件解碼,省略外部DSP電路,通過Wi-Fi網絡進行數據的下載,節目源的更新,且功能模塊化,便于升級等,具有較大的實用價值。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 昌宁县| 旌德县| 远安县| 通化县| 崇信县| 岳阳市| 临猗县| 吉水县| 东乡族自治县| 祁连县| 当涂县| 象山县| 资兴市| 和政县| 岑巩县| 通道| 屏边| 昭觉县| 隆昌县| 襄樊市| 鹤岗市| 温宿县| 治县。| 分宜县| 左云县| 宣威市| 如东县| 长武县| 黄山市| 大邑县| 交城县| 监利县| 博客| 开封县| 潞西市| 轮台县| 岢岚县| 兴城市| 渭南市| 永靖县| 庄浪县|