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