新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于TMS320DM3730的H.264編碼器移植與優(yōu)化方法研究

基于TMS320DM3730的H.264編碼器移植與優(yōu)化方法研究

作者: 時間:2013-05-18 來源:網(wǎng)絡 收藏
該指令的作用是將對象symbol排列到constant指定的列邊界上以方便讀取。例如DM3730是支持對非對齊雙字的一次性讀取,但是如果內存地址對齊,同一個時鐘周期內可以同時進行兩組雙字的讀取,而如果不對齊則只能讀取一組。因此在定義數(shù)組時使用DATA_ALIGN指令,可以大大減少數(shù)據(jù)讀取時內存地址不對齊的情況,增加程序的并行性。
3)使用最小循環(huán)次數(shù)指令MUST_ITERATE
最小循環(huán)次數(shù)指令的完整語法是:
#pragma MUST_ITERATE(min,max,multiple)
其中min和max分別代表了循環(huán)的最小和最大迭代次數(shù),multiple表明了循環(huán)次數(shù)是其倍數(shù)。使用最小循環(huán)次數(shù)程序指令可以通過通知編譯器至少進行多少次循環(huán),那樣編譯器可以將min次循環(huán)進行展開進行軟件流水,進行循環(huán)之間并行處理,提高程序運行速度。
3.4 匯編代碼的優(yōu)化
C語言編譯器通常只能完成大部分的工作,這個階段的C語言代碼在DSP端運行的效率并不是很高,為了進一步改善性能,對那些算法簡單但計算量大且使用很頻繁的函數(shù)使用匯編語言進行編寫實現(xiàn),可以大大提高程序運行速度。例如快速DCT變換、SAD、量化等算法過程可以考慮用匯編語言來編寫。
線性匯編是TI公司簡化C6000系列DSP的匯編語言而開發(fā)設計的,介于高級語言和機器語言之間。線性匯編語言的指令系統(tǒng)和普通的匯編語言的指令系統(tǒng)基本相同。在編寫線性匯編語言的時候是不需要考慮到指令的延時、寄存器的使用和功能單元的分配,C6000編譯器提供了匯編優(yōu)化器進行匯編優(yōu)化,會綜合指令的延時、寄存器的使用和功能單元的分配進行優(yōu)化,讓線性匯編語言盡量的進行軟件流水和指令的并行處理,提高匯編的運行速度。DM3730的DSP核為C64x+系列,線性匯編在上面是可以完美運行的。

d.JPG


表2所示為使用CCS中的profile工具測量的一些函數(shù)的C語言函數(shù)和線性匯編函數(shù)在DM3730上運行時鐘周期對比。

4 實驗結果分析
x264移植成功后,使用標準CIF格式視頻序列對移植和優(yōu)化后的x264在DM3730上進行測試,測試結果如下表3所示。

e.JPG


從表3可以看出,x264程序經過優(yōu)化后,峰值信噪比有略微的下降,但該下降不影響整體視頻效果,而編碼速度得到了大大的提高。

5 結束語
文中基于DM3730平臺,描述了進行x264移植應該注意的主要問題,然后通過編譯選項優(yōu)化、內存優(yōu)化、C語言代碼的優(yōu)化和匯編代碼的優(yōu)化等優(yōu)化方法對x264編碼器進行了優(yōu)化。最后視頻編碼測試表明,優(yōu)化的效果顯著,且均值信噪比下降不多。


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉