視頻跟蹤算法在Davinci SOC上的實現(xiàn)與優(yōu)化
* 內聯(lián)函數(shù)的使用
本文引用地址:http://www.ex-cimer.com/article/269186.htmC64x+編譯器提供的內聯(lián)函數(shù)可快速優(yōu)化C代碼。內聯(lián)函數(shù)是直接映射為內聯(lián)的C64x+指令的特殊函數(shù),內聯(lián)函數(shù)用前下滑線(_)來表示,使用時同調用普通函數(shù)一樣使用它。我們在優(yōu)化過程中,使用了許多內聯(lián)函數(shù),如_round()等,大大提高了代碼的執(zhí)行效率。
* 循環(huán)展開
由于for技術循環(huán)需要打斷C64x+ DSP內部的軟件流水線,而頻繁的for循環(huán)會大大降低DSP的處理效率,所以我們在優(yōu)化過程中,將部分for循環(huán)進行了展開,以代碼增加為代價提高了代碼的執(zhí)行效率。通過上述方法,可將代碼的處理效率提高3-5倍。
測試結果
為了獲得視頻跟蹤算法Codec運行所需要的DSP時鐘周期數(shù),進而估計出優(yōu)化后的算法代碼是否已經滿足實時跟蹤的需要,我們使用CCStudio v3.3對同一測試序列,同一起始目標位置,不同大小模板的情況進行了離線仿真。
表 1 視頻跟蹤算法優(yōu)化結果
表 2 DSP負載測試
評論