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

表 2 DSP負載測試

評論