




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、轉(zhuǎn)H.264開源編碼器評測Peter Lee(2010-04-25 09:57:53) 轉(zhuǎn)載 Peter Lee2003年5月,當(dāng)H.264編碼標(biāo)準(zhǔn)草案發(fā)布時,很多人都覺得H.264太復(fù)雜,不宜實用。眨眼間3年過去了,以往的論斷、疑惑被如今的現(xiàn)實沖洗的干干凈凈。隨著硬件性能的提高和視頻編碼工作者對H.264的不斷優(yōu)化,如今的H.264已完全實用,最新的達(dá)芬奇芯片上能實現(xiàn)D1分辨率(720*480)視頻的實時編碼,而對于解碼,普通的PC機就能實現(xiàn)x264編碼的DVDrip電影的流暢播放??v觀過去的三年,有多少人對H.264傾注了熱情和汗水才換來今天的成績,而那些H.264的開
2、源項目以及參與這些項目的開發(fā)者自然是功不可沒。本文評測的是作者接觸過的H.264開源解碼器,包括:JM decoder, T264 decoder, x264 decoder, ffmpeg libavcodec, Intel IPP simple player。評測的內(nèi)容有:對H.264特性的支持、解碼速度以及二次開發(fā)難易程度。一、H.264開源解碼器介紹1、JM decoderJM decoder是H.264的官方源碼,通常也稱為校驗?zāi)P?。其特點是支持特性好,實用性差。本文選用的程序是JM86,不支持high profile,因為本文不對high profile部分進(jìn)行實驗比較。NOTE:
3、 JM一直沒有做實用化方面的努力,所以其解碼速度代表的是2003年的水平。 2、T264 decoderT264是國內(nèi)的開源項目,T264 decoder的程序做過匯編優(yōu)化,速度還可以,但只能解T264本身的碼流。作者對T264 decoder version 0.14(2005-3-29)作了修改,支持baseline的解碼。 3、x264 decoderx264本沒有decoder,但其包含decoder的部分函數(shù)雛形,猜想作者在一開始時是準(zhǔn)備實現(xiàn)decoder,后來可能是因為有了ffmpeg,就放棄了這個想法(純粹屬于猜測,呵呵)。本文的x264 decoder是
4、作者在x264 svn check out 2005.12.26的基礎(chǔ)上實現(xiàn)的,支持baseline的解碼。 4、ffmpeg libavcodecffmpeg是一個大項目,它包含各種音視頻標(biāo)準(zhǔn)的codec,還支持各類file format(.avi, .mp4, .mkv and etc)的parsing。所以,很多開源項目都有直接或間接地采用了ffmpeg,如mplayer播放器就是直接采用了ffmpeg,而mpc播放器則是先采用了ffdshow filter,而ffdshow又采用了ffmpeg。ffmpeg是一個非常棒的音視頻編解碼庫,支持的標(biāo)準(zhǔn)非常全,而且編解碼速度也很快
5、。本文實驗采用的是cvs check out 2006.02.20的版本,作者對其中的apiexample demo進(jìn)行了簡單的修改,用于解碼h.264碼流 5、Intel IPP simple playerIntel的IPP庫,全稱為Integrated Performance Primitives,在Intel的各種處理器平臺(IA-32, Itanium, xscale and etc)上實現(xiàn)了信號處理常用算法、常用數(shù)學(xué)運算及音視頻編解碼算法等等。IPP給我的第一感覺是,在Intel的處理器平臺上,它實現(xiàn)的各種算法應(yīng)該是最快的,至于實際結(jié)果如何,待等到實驗比較后見分曉。本文采
6、用的IPP庫版本為IA32 評估版Intel IPP simple player是用于播放各種音視頻文件的簡單播放器,用c+實用,具體算法調(diào)用IPP庫來實現(xiàn)。本文采用的simple player版本是 二、對于H.264特性的支持1、JM86 decodersupport baseline, extended, main profile 2、T264 decoderbaseline 3、x264 decodeerbaseline 4、ffmpeg libavcodecsupport baseline, main profile, high pro
7、file except the feature: paff, mbaff 5、Intel IPP simple playersupport baseline and main profile 三、評測條件1、所用測試序列表1 所用測試序列分辨率序列名稱特點編碼幀數(shù)QCIFforeman紋理復(fù)雜度一般運動劇烈:畫面人物和鏡頭均運動,還有場景的切換300CIFforeman同上300mthr_dotr背景簡單畫面人物運動幅度不大100mobile紋理復(fù)雜度極高運動形式豐富畫面有多個運動物體,但各運動物體運動方向規(guī)則且平緩,鏡頭也在移動200D1(720*480)soccer
8、2鏡頭有移動,畫面的足球運動員的運動也很劇烈300puppy鏡頭無運動,畫面中的玩具小狗也只有簡單的運動100 2、編碼參數(shù)參數(shù)設(shè)置示例:x264enc -frames 300 -no-cabac -qp 26 -o test.264 foreman.cif 352x288(相當(dāng)于baseline)量化步長:26和36 2、環(huán)境CPU: Pentium4 2.4GHz, RAM: DDR 512MOS: windows2000 professional+sp4 3、解碼器程序編譯環(huán)境JM86 decoder: vc71 releaseT264 decoder
9、: vc71 releasex264 decodeer: vc71 releaseffmpeg libavcodec: MinGWIntel IPP simple player: vc71 release + directX 9.0c sdk 4、解碼參數(shù)設(shè)置不保存重建序列(note: 是否保存重建序列對于解碼速度的影響很大) 四、解碼速度比較結(jié)果待補充完整。表2 解碼速度比較(單位:fps)分辨率序列名稱量化步長JM86 decoderx264 decodeerffmpeg libavcodecQCIFforeman2650fps左右684.93119636874.6
10、41916.67CIFforeman2615fps左右168.44303.8636190.11503.37mthr_dotr26182.82421.2836200634.62mobile26129.28190.0736173.01353.46D1(720*480)soccer2265fps左右53.04105.173660.19158.12puppy2661.54192.233664.64253.85 【note】t264的解碼程序能解jm baseline的碼流,但無法解上面x264生成的碼流,故無法給出實驗結(jié)果。但通過對自身t264 fast mode碼流的解碼速度進(jìn)行統(tǒng)計,t
11、264 decoder和x264 decoder,解碼速度降低40左右。Intel IPP simple player在我的電腦上編譯未成功,在其它成功編譯的電腦(xp系統(tǒng),directx, , IPP均安裝于C盤)上進(jìn)行簡單測試,其解碼速度和ffmpeg的解碼速度相比,降低10%左右。 【簡單結(jié)論】解碼速度:ffmpeg > IPP simple player > x264 decoder > t264 decoder > jm86 decoder以ffmpeg的編碼速度為基準(zhǔn),假設(shè)為100fps,則:IPP simple player:90fpsx264
12、 decoder:50fpst264 decoder:30fpsjm86 decoder:3fps 五、程序開發(fā)上的比較我估計閱讀本文的大部分讀者都是搞開發(fā)的,因此,閱讀過程中自然會思考如何在程序開發(fā)上借鑒或者采用以上開源的H.264解碼器,下面就針對程序開發(fā)上的難易、適用場合等作個比較。1、JM86 decoder適合寫paper群體 2、T264 decoder3、x264 decodeer兩者代碼非常相似,所以就合在一起講了。這兩個源碼的程序結(jié)構(gòu)都比較清晰,支持vc和gcc的編譯環(huán)境,但對H.264的特性支持不好,解碼速度和ffmpeg相比,還有差距。
13、 4、ffmpeg libavcodec程序結(jié)構(gòu)比較差,H.264解碼的代碼基本上在h264.c一個文件中,這個文件有8000多行,不利于閱讀。編譯環(huán)境為gcc或MinGW,移植到vc下比較難(我嘗試過)。解碼速度快(BTW: 通過doom9論壇了解到,目前最快的h.264解碼器是CoreAVC decoder,比ffmpeg快50%左右)。對于H.264特性的支持好。 5、Intel IPP simple player分兩個方面講:(a)IPP庫我覺得是非常棒的,但實現(xiàn)的是H.264解碼(IPP中也有H.264編碼)的一些關(guān)鍵函數(shù),如deblock,dct,插值補償?shù)龋荒苤苯幽脕碛?。其它?/p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 血腥教育案例分析
- 急性呼吸道感染護(hù)理常規(guī)
- 酒店與新郎新娘合同范本
- 解除藝人經(jīng)紀(jì)合同協(xié)議書
- 2024年四川南充衛(wèi)生職業(yè)學(xué)院引進(jìn)招聘筆試真題
- 2024年嘉峪關(guān)市商務(wù)局招聘公益性崗位人員筆試真題
- 2024年廣東省農(nóng)村信用社聯(lián)合社各部室招聘筆試真題
- 中學(xué)生結(jié)核病防治課件
- 鋼結(jié)構(gòu)幕墻維修合同范本
- 買房沒合同只認(rèn)購協(xié)議
- 2025屆黑龍江省哈爾濱市哈爾濱風(fēng)華中學(xué)英語八下期末監(jiān)測試題含答案
- 本草食養(yǎng):養(yǎng)生藥膳餐廳商業(yè)計劃書
- 2025年螢石行業(yè)市場需求分析報告及未來五至十年行業(yè)預(yù)測報告
- 食品安全事故流行病學(xué)調(diào)查技術(shù)指南
- 湖南省邵陽市海誼中學(xué)2024-2025學(xué)年高一上學(xué)期期末考試歷史試題(原卷版及答案)
- 內(nèi)蒙古呼和浩特實驗教育集團(tuán)2025屆七年級英語第二學(xué)期期末考試模擬試題含答案
- 2025年河南省中考數(shù)學(xué)真題試卷及答案解析
- 2025年廣東省高考生物試題(含答案詳解)
- 2025春季學(xué)期國開電大??啤督ㄖ┕ぜ夹g(shù)》一平臺在線形考(形考任務(wù)1至4)試題及答案
- 2025至2030中國匹克球市場前景預(yù)判與未來發(fā)展形勢分析報告
- 2025年電動叉車項目立項申請報告范文
評論
0/150
提交評論