基于TMS320DM642 的X264 視頻編碼器的優(yōu)化
下面舉一個SAD_4×4 的例子來說明上述各項是如何實現(xiàn)的。SAD_4×4 的C 語言版本的代碼為:
SAD_4×4 的匯編語言版本的代碼為:
完成匯編指令的編寫后,進行匯編語言的調(diào)試。由于X264 工程比較大,如果直接在工程中調(diào)試,難度較大,所以在調(diào)試過程中建立一個小工程, 從文件中讀出一段數(shù)據(jù)來測試匯編語言功能的正確性。具體的步驟是:采用單步調(diào)試的同時, 開啟調(diào)試器CCS 里面的view memory 和view core registers 選項來觀察相應的memory 和寄存器里面的值是否按照邏輯設(shè)計進行改變。如果結(jié)果不對,則考慮是否錯誤地使用了寄存器, 或者是沒有等待足夠多的延時周期, 或者是出于軟件流水的目的錯誤地安排了指令的順序,直到找出錯誤的地方。
4 小結(jié)
筆者首先分析了從PC 平臺移植到DSP 平臺后的X264 編碼工程,其編碼速率低,滿足不了視頻壓縮實時性要求。接著從提高編碼器的編碼速度角度出發(fā),對編碼工程進行了優(yōu)化,介紹了在實際中用到的幾種DSP 平臺優(yōu)化方法:算法與程序系統(tǒng)結(jié)構(gòu)的優(yōu)化,EDMA 與乒乓緩存優(yōu)化,循環(huán)體的優(yōu)化,編譯器優(yōu)化和DSP 匯編。對CIF格式圖像采用BASE_LINE 進行編碼, 優(yōu)化前X264 編碼速度約為5~8 f/s(幀/秒),優(yōu)化后的編碼速度為20 f/s 左右,速度得到明顯提升,基本能夠?qū)崿F(xiàn)實時編碼。本文引用地址:http://m.butianyuan.cn/article/166324.htm
評論