国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于MP2530F平臺的媒體播放器

發(fā)布時間:2010-6-1 17:06    發(fā)布者:李寬
關(guān)鍵詞: MP2530F , 播放器
引言

MP2530F是韓國MagicEyes公司專門為嵌入式多媒體處理器MMSP2+設(shè)計的多媒體芯片。它可提供高性能媒體功能,具有低功耗的特點(diǎn),集成 ARM926EJ和ARM946E的雙核處理器(MMSP2+),支持多種視頻編解碼功能(如MPEG4和H.264.的解碼、MPEG4的編碼等);而且它帶有2D和3D的圖形加速器,能夠更為合理地區(qū)分和處理不同維度的數(shù)據(jù),展現(xiàn)了在普通用戶界面操作下導(dǎo)航3D地圖的良好效果,同時還能在多圖層下支持視頻播放的顯示。另外,由于在核心增加了NTSC/PAL的編碼器,可以為該芯片輕松實現(xiàn)1路數(shù)字、1路模擬雙屏輸出的強(qiáng)大功能。

本文研究采用MagicEyes公司設(shè)計的AESOP—MP2530F作為開發(fā)平臺,實現(xiàn)該平臺下硬件解碼高清視頻(WVGA和D1分辨率)的媒體播放器,展現(xiàn)了1個高性能的車載多媒體終端方案。本文將從系統(tǒng)硬件結(jié)構(gòu)和軟件移植開發(fā)兩方面來闡述該系統(tǒng)的實現(xiàn)。

1 系統(tǒng)硬件結(jié)構(gòu)

1.1 總體硬件架構(gòu)

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



此外,MP2530F提供了豐富的外圍數(shù)據(jù)接口。其中包含:6路UART通道,目前1路作為調(diào)試接口,1路作為GPS模塊接口,其余4路空閑;USB 1.1 HOST、USB 2.ODEVICE、SD卡讀寫通道;以太網(wǎng)控制器等。

1.2 雙核硬件接口

MP2530F最大的特性是具有ARM926EJ和ARM946E的雙核處理器,主頻為360 MHz和300 MHz,兩個處理器都能獨(dú)立工作且共享部分內(nèi)存區(qū)域。ARM926EJ是作為主CPU使用,而ARM946E主要作為協(xié)處理器來調(diào)用視頻處理器進(jìn)行硬件視頻編解碼。雙核之間是不能直接通信的,必須通過雙核接口來發(fā)送命令和數(shù)據(jù)。因此,如何使得雙核協(xié)同工作來發(fā)揮芯片的最高效率就變得很重要。

如圖2所示,所謂的雙核接口其實為兩個處理器各自分配一組寄存器,包含中斷使能、數(shù)據(jù)寄存器、中斷清除等。



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

ARM946E執(zhí)行完畢后,要發(fā)送回復(fù)命令給ARM926EJ。過程類似,只是ARM926EJ作為主CPU一直是開放狀態(tài),不需要再打開它和設(shè)置它的基地址,直接進(jìn)入ARM926EJ中斷使能,之后步驟相同。

2 軟件移植開發(fā)

媒體播放是MP2530F平臺的核心功能,而充分利用雙核的高效性能硬件解碼播放高清視頻是該平臺最為突出的特點(diǎn)。下面詳細(xì)介紹在MP2530F平臺上實現(xiàn)硬件解碼播放器的原理。

2.1 Mplayer移植

Mplayer是Linux歷史上優(yōu)秀的多媒體播放器,源碼開放,具有可移植性,能使用眾多編解碼器,支持廣泛的輸出設(shè)備。最重要的是,Mplayer采用的是完全模塊化的結(jié)構(gòu),具有一個統(tǒng)一的解碼器插件接口和輸出設(shè)備接口,并且完全使用C/C++語言編寫。用戶可以根據(jù)需要來編寫自己的編解碼器,提高播放器的執(zhí)行效率。

通過直接對最新版Mplayer一1.O:re2進(jìn)行配置和交叉編譯,移植到MP2530F平臺上,實現(xiàn)了基于主CPU核ARM926EJ的軟解碼播放功能,但發(fā)現(xiàn)兩點(diǎn)問題:

①用Mplayer自帶的基于浮點(diǎn)運(yùn)算的mp3lib音頻解碼庫解碼效率很低,極度占用系統(tǒng)資源,所以改為使用基于定點(diǎn)運(yùn)算的libmad音頻解碼庫來進(jìn)行音頻解碼。

②用Mplayer自帶的ffmpeg解碼器解碼AVI高清視頻,由于軟解碼處理速度緩慢,無法達(dá)到音視頻同步,視頻播放明顯滯后于音頻。

2.2 硬件解碼器

由于AVI高清視頻所帶數(shù)據(jù)的大量性,只由主CPU進(jìn)行軟解碼處理,不僅大大降低CPU的使用效率,同時視頻解碼速度滯后音頻,也不能達(dá)到影片聲音和圖像同步正常播放的效果。需要利用MP2530F本身的硬件特性完成一個解碼器。因為MP2530F本身是帶有一個 MPEG視頻處理器,支持MPEG4.標(biāo)準(zhǔn)的視頻流而擁有各個功能模塊(如VLD/VLC、PCT/IDCT、量化器、預(yù)判器、運(yùn)動估計、運(yùn)動補(bǔ)償?shù)?,并由ARM946EJ控制使用。

另外,在系統(tǒng)內(nèi)核驅(qū)動中專門劃分了一個內(nèi)存區(qū)域,用于存儲需要解碼的媒體流數(shù)據(jù)。這樣主CPU每次分離出音視頻流,分別寫入指定內(nèi)存空間,并在需要解碼視頻流時,發(fā)送一條解碼指令給ARM946E;而當(dāng)ARM946E接到命令后,打開MPEG視頻處理器,并為視頻處理器解碼分配足夠的視頻幀緩沖區(qū)。由于媒體流存儲的內(nèi)存空間對于兩個CPU是共享的,ARM946E可以直接從內(nèi)存指定區(qū)域?qū)⑿枰獯a的視頻流讀取一幀下來,發(fā)送到視頻處理器,由視頻處理器進(jìn)行硬件解碼;解碼完后的幀數(shù)據(jù)暫存在視頻緩沖區(qū),等待主CPU發(fā)送命令再寫入frame buffer播放幀數(shù)據(jù);而每當(dāng)寫完一幀數(shù)據(jù)到frame buffer,ARM946E就將幀緩沖區(qū)所存儲的這幀空間釋放,開始等待下一幀的解碼。如此,就完成了整個硬件解碼器。

2.3 Mplayer調(diào)用流程

Mplayer的播放過程,在它的核心主程序打開一個視頻文件后,會自動選擇對應(yīng)文件格式的分離器來解析視頻頭,從而分離得到視頻流和音頻流,之后選擇特定的視頻和音頻解碼器處理分離出來的媒體流數(shù)據(jù)。而當(dāng)視頻解碼器和音頻解碼器完成圖像和音頻的處理后,就將數(shù)據(jù)返回主程序,再由主程序指定的音視頻輸出設(shè)備播放數(shù)據(jù)。

基于Mplayer這樣分層和完全模塊化的架構(gòu),我們就可以根據(jù)上面硬件解碼器的實現(xiàn)流程和特性,參照Mplayer給出的解碼器書寫規(guī)則和應(yīng)用接口,把硬件解碼器插入到主程序中,由Mplayer調(diào)用實現(xiàn)來達(dá)到硬件解碼的目的。實現(xiàn)流程如圖3所示。



由于硬件的關(guān)系,在進(jìn)入解碼器前,系統(tǒng)需要ARM946E先打開MPEG視頻處理器并進(jìn)行初始化,做好解碼MPEG4視頻流的準(zhǔn)備。所以,我們在 Mplayer使用分離器解析出AVI視頻媒體文件的音視頻流后,調(diào)用了ARM946E進(jìn)行準(zhǔn)備工作。

當(dāng)主程序進(jìn)入圖3(b)所示的解碼流程,每讀取一幀需要解碼的圖像后,使用先前打開的視頻處理器解碼媒體流數(shù)據(jù),并把解碼完的幀數(shù)據(jù)返回到幀數(shù)據(jù)緩沖區(qū)(在初始化時分配好的緩沖區(qū)空間),等待主程序調(diào)用輸出到frame buffer播放圖像。

當(dāng)主程序播放圖像后,每播完一幀后會判斷該幀是否為文件的結(jié)尾。如果不是,則轉(zhuǎn)回解碼器讀取下一幀圖像繼續(xù)解碼;如果是,就關(guān)閉輸出設(shè)備,關(guān)閉解碼器,結(jié)束播放。結(jié)果成功實現(xiàn)硬件解碼器的開發(fā)。

3 軟解碼和硬解碼比較

通過測試,經(jīng)過優(yōu)化開發(fā)的硬件解碼器最高可以支持視頻:WVGA格式,幀速為30 fps,碼流為4 Mbps;D1格式,幀速為30 fps,碼流為6 Mbps。

軟硬解碼比較如表1所列。



比較軟解碼(ffmpeg解碼器)和硬解碼的性能如下:

①調(diào)用軟解碼解碼高清視頻時,由于未能合理分配使用內(nèi)存空間,且過分依賴主核心解碼圖像數(shù)據(jù),不僅過分占用系統(tǒng)資源(主CPU和內(nèi)存),而且播放的效果也不理想,視頻播放嚴(yán)重緩慢,極不流暢。

②調(diào)用硬解碼器時,使用從處理器調(diào)用視頻處理器實現(xiàn)硬件解碼,并分配指定內(nèi)存區(qū)域存儲媒體流數(shù)據(jù),極大降低了CPU和內(nèi)存的占用率,同時視頻播放流暢、清晰,效果理想。

結(jié)語

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

參考文獻(xiàn)

   1. 鄭靈翔 嵌入式Linux系統(tǒng)設(shè)計 2008
   2. 陳云鶴.程文青 基于Qt的嵌入式媒體播放器的設(shè)計與實現(xiàn) 2006
   3. 胡馨宇.謝長生 基于PXA270的便攜式媒體播放器的設(shè)計與實現(xiàn) 2006
   4. 孫康.崔慧娟.唐昆 一種手持多媒體通信終端的設(shè)計與實現(xiàn) [期刊論文] -微計算機(jī)信息2005(12-2)
   5. Corbet Jonathan.Rubini Alessandro.Kroah-Hartman Greg.魏永明 LINUX 設(shè)備驅(qū)動程序 2006
   6. 楊成.趙晉.黃瑋 便攜式多媒體中心 [期刊論文] -電子產(chǎn)品世界2005(02)

作者:廈門大學(xué) 陳蔡岳  黃玲珠  鄭靈翔
來源:單片機(jī)與嵌入式系統(tǒng)應(yīng)用  2008 (10)
本文地址:http://m.qingdxww.cn/thread-11809-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對其真實性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓(xùn)教程
  • 集成高級模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲天堂视频在线| 午夜视频在线免费观看| 酥酥影院一级毛片在线看| 日韩一区二区精品久久高清| 双性花蒂产奶h| 99精品国产免费久久久久久下载 | 日本香蕉视频| 全部免费毛片在线| 十大免费b2b网站| 97资源站超碰在线视频| 秋霞伦理电影在线看 | 亚洲欧美日韩精品永久在线| 四虎永久免费观看| 亚洲精品一区二区三区中文字幕| 国产精品无码亚洲区艳妇| 国产精品久久久久影院色老大| 午夜宅宅伦电影网中文字幕| 亚洲性网| 亚洲日韩中文第一精品| 在线人成精品免费视频| 内射少妇36P亚洲区| 亚洲国产午夜| 四虎国产欧美成人影院| 亚洲免费网站| 精品无码久久久久久动漫| 日本九九精品一区二区| 日本成人xxx| 网站免费视频| 国产精品人妻无码久久久奥特曼 | 日韩精品欧美亚洲高清有无| 午夜视频在线观看一区| 思思99思思久久精品| 亚洲女同japan| 精品国产乱码久久久久久上海公司| 中文字幕不卡在线视频| 日本道久久| 污污小说在线阅读| 国产精品高潮AV久久无码| 亚洲一区二区三区免费看| 天天操天天曰| 色综合天天综合网国产成人|