關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于龍芯3B的H.264解碼器的向量化

基于龍芯3B的H.264解碼器的向量化

作者: 時間:2010-12-15 來源:網(wǎng)絡(luò) 收藏

4 實驗結(jié)果
4.1 ffmpeg各函數(shù)加速比
本文分別對化后的各個函數(shù)進(jìn)行了測試,并且與未化之前的函數(shù)進(jìn)行了比較,各個函數(shù)化優(yōu)化后的加速比如圖3所示。其中圖中橫坐標(biāo)所示函數(shù)序號與表2中的各個函數(shù)一一對應(yīng)。
g.jpg

圖3中的函數(shù)的加速比所跨越的范圍較大,比如6號函數(shù)的加速比約有23.9左右,而最后一個函數(shù)的加速比只有1.2左右。之所以會出現(xiàn)上述情況,除了與改進(jìn)后的函數(shù)所使用的向量指令的數(shù)量和修改代碼的比重有關(guān)以外,也與運(yùn)算所使用的操作數(shù)的類型有關(guān)。對于6號函數(shù),其循環(huán)內(nèi)的運(yùn)算所使用的操作數(shù)的類型為字節(jié)類型,因而僅僅使用向量指令進(jìn)行優(yōu)化,理論加速比就可以達(dá)到32,不過本文僅僅對該函數(shù)的內(nèi)層循環(huán)進(jìn)行了向量化,而向量化后的內(nèi)層循環(huán)一次僅僅處理了 16個字節(jié)類型的數(shù)據(jù),即并未充分使用256位的向量寄存器。因而理論的加速比應(yīng)該為16,但是由于結(jié)合了循環(huán)展開和指令調(diào)度等其他優(yōu)化策略,因而實際的加速比可以達(dá)到23.9左右。同樣,對4號、5號和6號這三個同類型的函數(shù)進(jìn)行分析,我們也可以發(fā)現(xiàn):后一個函數(shù)的加速比均約為前一個函數(shù)加速比的兩倍。這是因為對于4號函數(shù),內(nèi)層循環(huán)向量化后一次可以同時計算4個字節(jié)類型的數(shù)據(jù),而5號函數(shù)可以同時計算8個字節(jié)類型的數(shù)據(jù),因而理論上的加速比也應(yīng)該是兩倍的等比數(shù)列形式,而實際結(jié)果與理論分析是一致的。
對于3.3.2小節(jié)中重點介紹的7號函數(shù)和8號函數(shù),其原函數(shù)無法進(jìn)行簡單向量化,而本文使用了掩碼以及矩陣轉(zhuǎn)置等優(yōu)化方法,使其能夠使用的向量擴(kuò)展指令,因而盡管性能提升不大,但是加速比也分別有3.2和5.5。
4.2 不同平臺上的向量化比較
本文同樣將ffmpeg分別在不同的平臺上進(jìn)行了測試,使用的兩個測試視頻分別為是“問道武當(dāng)002.mkv”(視頻A)和“walk_vag_ 640x480_qp26.264”(視頻B)。其中視頻A是問道武當(dāng)視頻(720p)中截取的片段,而后者是通過x264對walk_vag.yuv(480p)編碼生成的,編碼時選用的qp值為26。而測試平臺則分別選擇了AMD和Intel處理器平臺。
e.JPG

從表3的測試結(jié)果可以看出對于視頻A,在上的性能提升比其他兩個平臺上都高很多;而對于視頻B,在上的性能提升也與其它兩個平臺接近。實驗結(jié)果表明:在龍芯3B上實現(xiàn)ffmpeg的向量化,對性能提升有很大幫助,而且解碼某些視頻時,性能的提升甚至高于性能優(yōu)越的商用處理器。而通過與表1中使用GCC向量化編譯的結(jié)果進(jìn)行比較,也可以看出:手工對ffmpeg進(jìn)行向量化比使用GCC進(jìn)行向量化,性能有更大的提升。

5 總結(jié)和展望
本文實現(xiàn)了ffmpeg解碼器到龍芯3B的移植,并針對龍芯3B實現(xiàn)了對向量擴(kuò)展指令支持的特點,對ffmpeg解碼器進(jìn)行了手工向量化。實驗結(jié)果表明:手工向量化后的ffmpeg解碼器的性能比使用GCC向量化編譯后的ffmpeg解碼器性能要好很多,而且性能的提升也比Intel和 AMD平臺更多。
本文僅僅從代碼級實現(xiàn)了針對龍芯3B的ffmpeg解碼器的向量化移植,為了進(jìn)一步提高性能,還需要從整個算法層面上進(jìn)行優(yōu)化。另外,由于龍芯3B的多核特性,還可以考慮使用多核進(jìn)行解碼。

本文引用地址:http://butianyuan.cn/article/202493.htm

上一頁 1 2 3 下一頁

關(guān)鍵詞: 龍芯3B 解碼器 向量

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉