基于OMAP3的視頻解碼器的通用解碼方案
④程序結構的考慮。DSP的片內內存速度最快,但是非常有限,所以必須將片外的數(shù)據倒入內存。由于目前的編碼方式全都是采用基于宏塊的,每個宏塊至多16×16,所以比較通用的辦法是采用,DMA方式將要用到的數(shù)據提前倒入片內。DMA傳送速度很快,所以可以并行也可以串行傳送。
?、蒈浖铀俚目紤]??梢苑抡誌MGLIB的編寫規(guī)則用匯編語言對耗時最多的部分進行重寫,同時結合TI公司的數(shù)據手冊進行C語言級以及匯編級的程序優(yōu)化。由于TI公司編譯器的編譯效率一直在提高,從通用及可讀性的角度上講,推薦采用C語言。
在OMAP上開發(fā)程序通常分為兩部分:ARM端負責控制、顯示等;DSP端負責數(shù)據處理。采用TI公司提供的DSP開發(fā)工具CCS在這兩端分別開發(fā),視頻解碼流程如圖2所示。

ARM端:初始化整個OMAP3530芯片,包括ARM、DSP、TC等的時鐘設置,DSP的開啟關閉以及復位,LCD、定時器等各個外設的初始化。在啟動完成后,ARM內核就一直查詢共享內存中的某一標志位,當查詢到一幀解碼結束時,就啟動LCD專用DMA,在LCD上進行顯示。
DSP端:負責壓縮的解碼。將壓縮碼流放置在SDRAM中。與基于PC的解碼程序的主要區(qū)別在于,由于DSP的片內內存有限,所以不可能將當前幀以及參考幀都放在片內,所以以宏塊為單位在SDRAM與片內內存之間進行數(shù)據傳遞。另外,由于在液晶屏上顯示時需要轉換成RGB圖像,所以,在每一幀結束后都要通過YUV轉RGB來實現(xiàn)實時顯示。
4 實驗結果
在0MAP3530平臺上實現(xiàn)了AVS解碼,表4給出了OMAP3530上的實驗數(shù)據。

結語
TI公司提出的0MAP體系結構開放性好,在這種體系結構下編寫的程序移植方便,適合于多媒體平臺的應用。越來越多的廠商選用OMAP芯片作為移動多媒體視頻的載體,OMAP與流行的視頻標準的結合在移動通信與多媒體信號處理方面也將有良好的應用前景。
評論