新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于TMS320DM3730的H.264編碼器移植與優化方法研

        基于TMS320DM3730的H.264編碼器移植與優化方法研

        作者: 時間:2013-05-16 來源:網絡 收藏

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

        本文引用地址:http://www.104case.com/article/192789.htm

        d.JPG


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

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

        e.JPG


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

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

        隔離器相關文章:隔離器原理

        上一頁 1 2 3 下一頁

        關鍵詞: 3730 TMS 320 264

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 康乐县| 亚东县| 正定县| 宜宾市| 增城市| 丁青县| 鄱阳县| 伊金霍洛旗| 新河县| 威宁| 遂宁市| 赤壁市| 莆田市| 肇东市| 凤城市| 延安市| 齐齐哈尔市| 科技| 鄱阳县| 陵水| 余姚市| 色达县| 六安市| 澄城县| 大名县| 会昌县| 三台县| 大同市| 彰武县| 洪洞县| 佳木斯市| 花垣县| 河南省| 东明县| 丰县| 临城县| 武定县| 吉隆县| 西平县| 木兰县| 昌吉市|