當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]基于MP2530F平臺的媒體播放器

引 言
    MP2530F是韓國MagicEyes公司專門為嵌入式多媒體處理器MMSP2+設計的多媒體芯片。它可提供高性能媒體功能,具有低功耗的特點,集成ARM926EJ和ARM946E的雙核處理器(MMSP2+),支持多種視頻編解碼功能(如MPEG4和H.264.的解碼、MPEG4的編碼等);而且它帶有2D和3D的圖形加速器,能夠更為合理地區(qū)分和處理不同維度的數據,展現(xiàn)了在普通用戶界面操作下導航3D地圖的良好效果,同時還能在多圖層下支持視頻播放的顯示。另外,由于在核心增加了NTSC/PAL的編碼器,可以為該芯片輕松實現(xiàn)1路數字、1路模擬雙屏輸出的強大功能。
    本文研究采用MagicEyes公司設計的AESOP—MP2530F作為開發(fā)平臺,實現(xiàn)該平臺下硬件解碼高清視頻(WVGA和D1分辨率)的媒體播放器,展現(xiàn)了1個高性能的車載多媒體終端方案。本文將從系統(tǒng)硬件結構和軟件移植開發(fā)兩方面來闡述該系統(tǒng)的實現(xiàn)。


1 系統(tǒng)硬件結構
1.1 總體硬件架構

    如圖1所示,MP2530F在1個雙核32位CPU處理器的基礎上集成了視頻處理器,專門進行硬件編解碼視頻的處理;集成了1個顯示控制器來進行雙路顯示輸出;集成了1個Memory控制器(包含雙DDR控制器和NAND Flash/Static控制器),其中雙DDR控制器的設計極大地提高了內存讀/寫效率,而將不同模塊處理部分使用不同的內存區(qū)域,減少了內存讀/寫沖突的發(fā)生;集成了1個視頻輸入控制器,可以外接攝像頭,回顯模擬視頻流;集成了AC 97和I。S兩種方式的音頻控制器,提供更為豐富的音頻接口;集成了2D、3D圖形加速器和PWM脈沖寬度調制器等。

    此外,MP2530F提供了豐富的外圍數據接口。其中包含:6路UART通道,目前1路作為調試接口,1路作為GPS模塊接口,其余4路空閑;USB 1.1 HOST、USB 2.ODEVICE、SD卡讀寫通道;以太網控制器等。
1.2 雙核硬件接口
    MP2530F最大的特性是具有ARM926EJ和ARM946E的雙核處理器,主頻為360 MHz和300 MHz,兩個處理器都能獨立工作且共享部分內存區(qū)域。ARM926EJ是作為主CPU使用,而ARM946E主要作為協(xié)處理器來調用視頻處理器進行硬件視頻編解碼。雙核之間是不能直接通信的,必須通過雙核接口來發(fā)送命令和數據。因此,如何使得雙核協(xié)同工作來發(fā)揮芯片的最高效率就變得很重要。
    如圖2所示,所謂的雙核接口其實為兩個處理器各自分配一組寄存器,包含中斷使能、數據寄存器、中斷清除等。

    工作流程:系統(tǒng)啟動后,ARM926EJ作為主CPU在一開始就進行初始化,而ARM946E則是之后選擇一定的時機再處理。當ARM926EJ需要ARM946E協(xié)同工作時,通過I/O控制器將命令寫入雙核接口中的DUAL 946寄存器過程來實現(xiàn)。其步驟是:先打開ARM946E并設置好基地址,然后使能946中斷,再將數據命令寫入DU—AL 946的16組16位寄存器;寫入完畢后發(fā)一個中斷信號IRQ946到ARM946E,最后清除寄存器里的掛起信號,進入中斷處理。
    ARM946E執(zhí)行完畢后,要發(fā)送回復命令給ARM926EJ。過程類似,只是ARM926EJ作為主CPU一直是開放狀態(tài),不需要再打開它和設置它的基地址,直接進入ARM926EJ中斷使能,之后步驟相同。


2 軟件移植開發(fā)
   
媒體播放是MP2530F平臺的核心功能,而充分利用雙核的高效性能硬件解碼播放高清視頻是該平臺最為突出的特點。下面詳細介紹在MP2530F平臺上實現(xiàn)硬件解碼播放器的原理。
2.1 Mplayer移植
    Mplayer是Linux歷史上優(yōu)秀的多媒體播放器,源碼開放,具有可移植性,能使用眾多編解碼器,支持廣泛的輸出設備。最重要的是,Mplayer采用的是完全模塊化的結構,具有一個統(tǒng)一的解碼器插件接口和輸出設備接口,并且完全使用C/C++語言編寫。用戶可以根據需要來編寫自己的編解碼器,提高播放器的執(zhí)行效率。
    通過直接對最新版Mplayer一1.O:re2進行配置和交叉編譯,移植到MP2530F平臺上,實現(xiàn)了基于主CPU核ARM926EJ的軟解碼播放功能,但發(fā)現(xiàn)兩點問題:
    ①用Mplayer自帶的基于浮點運算的mp3lib音頻解碼庫解碼效率很低,極度占用系統(tǒng)資源,所以改為使用基于定點運算的libmad音頻解碼庫來進行音頻解碼。
    ②用Mplayer自帶的ffmpeg解碼器解碼AVI高清視頻,由于軟解碼處理速度緩慢,無法達到音視頻同步,視頻播放明顯滯后于音頻。
2.2 硬件解碼器
   
由于AVI高清視頻所帶數據的大量性,只由主CPU進行軟解碼處理,不僅大大降低CPU的使用效率,同時視頻解碼速度滯后音頻,也不能達到影片聲音和圖像同步正常播放的效果。需要利用MP2530F本身的硬件特性完成一個解碼器。因為MP2530F本身是帶有一個MPEG視頻處理器,支持MPEG4.標準的視頻流而擁有各個功能模塊(如VLD/VLC、PCT/IDCT、量化器、預判器、運動估計、運動補償等),并由ARM946EJ控制使用。
    另外,在系統(tǒng)內核驅動中專門劃分了一個內存區(qū)域,用于存儲需要解碼的媒體流數據。這樣主CPU每次分離出音視頻流,分別寫入指定內存空間,并在需要解碼視頻流時,發(fā)送一條解碼指令給ARM946E;而當ARM946E接到命令后,打開MPEG視頻處理器,并為視頻處理器解碼分配足夠的視頻幀緩沖區(qū)。由于媒體流存儲的內存空間對于兩個CPU是共享的,ARM946E可以直接從內存指定區(qū)域將需要解碼的視頻流讀取一幀下來,發(fā)送到視頻處理器,由視頻處理器進行硬件解碼;解碼完后的幀數據暫存在視頻緩沖區(qū),等待主CPU發(fā)送命令再寫入frame buffer播放幀數據;而每當寫完一幀數據到frame buffer,ARM946E就將幀緩沖區(qū)所存儲的這幀空間釋放,開始等待下一幀的解碼。如此,就完成了整個硬件解碼器。
2.3 Mplayer調用流程
    Mplayer的播放過程,在它的核心主程序打開一個視頻文件后,會自動選擇對應文件格式的分離器來解析視頻頭,從而分離得到視頻流和音頻流,之后選擇特定的視頻和音頻解碼器處理分離出來的媒體流數據。而當視頻解碼器和音頻解碼器完成圖像和音頻的處理后,就將數據返回主程序,再由主程序指定的音視頻輸出設備播放數據。
    基于Mplayer這樣分層和完全模塊化的架構,我們就可以根據上面硬件解碼器的實現(xiàn)流程和特性,參照Mplayer給出的解碼器書寫規(guī)則和應用接口,把硬件解碼器插入到主程序中,由Mplayer調用實現(xiàn)來達到硬件解碼的目的。實現(xiàn)流程如圖3所示。

    由于硬件的關系,在進入解碼器前,系統(tǒng)需要ARM946E先打開MPEG視頻處理器并進行初始化,做好解碼MPEG4視頻流的準備。所以,我們在Mplayer使用分離器解析出AVI視頻媒體文件的音視頻流后,調用了ARM946E進行準備工作。
    當主程序進入圖3(b)所示的解碼流程,每讀取一幀需要解碼的圖像后,使用先前打開的視頻處理器解碼媒體流數據,并把解碼完的幀數據返回到幀數據緩沖區(qū)(在初始化時分配好的緩沖區(qū)空間),等待主程序調用輸出到frame buffer播放圖像。
    當主程序播放圖像后,每播完一幀后會判斷該幀是否為文件的結尾。如果不是,則轉回解碼器讀取下一幀圖像繼續(xù)解碼;如果是,就關閉輸出設備,關閉解碼器,結束播放。結果成功實現(xiàn)硬件解碼器的開發(fā)。

3 軟解碼和硬解碼比較
   
通過測試,經過優(yōu)化開發(fā)的硬件解碼器最高可以支持視頻:WVGA格式,幀速為30 fps,碼流為4 Mbps;D1格式,幀速為30 fps,碼流為6 Mbps。
    軟硬解碼比較如表1所列。

    比較軟解碼(ffmpeg解碼器)和硬解碼的性能如下:
    ①調用軟解碼解碼高清視頻時,由于未能合理分配使用內存空間,且過分依賴主核心解碼圖像數據,不僅過分占用系統(tǒng)資源(主CPU和內存),而且播放的效果也不理想,視頻播放嚴重緩慢,極不流暢。
    ②調用硬解碼器時,使用從處理器調用視頻處理器實現(xiàn)硬件解碼,并分配指定內存區(qū)域存儲媒體流數據,極大降低了CPU和內存的占用率,同時視頻播放流暢、清晰,效果理想。


結 語
    本文介紹了MP2530F平臺的基本架構,分析了雙核處理器的調用流程,在MP2530F開發(fā)平臺上移植了Mplayer播放器,并在此基礎上開發(fā)基于該平臺的硬件解碼器,成功實現(xiàn)了解碼AVI高清視頻及播放,體現(xiàn)了一個多媒體芯片的重要功能。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉