




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、轉H.264開源編碼器評測Peter Lee(2010-04-25 09:57:53) 轉載 Peter Lee2003年5月,當H.264編碼標準草案發布時,很多人都覺得H.264太復雜,不宜實用。眨眼間3年過去了,以往的論斷、疑惑被如今的現實沖洗的干干凈凈。隨著硬件性能的提高和視頻編碼工作者對H.264的不斷優化,如今的H.264已完全實用,最新的達芬奇芯片上能實現D1分辨率(720*480)視頻的實時編碼,而對于解碼,普通的PC機就能實現x264編碼的DVDrip電影的流暢播放。縱觀過去的三年,有多少人對H.264傾注了熱情和汗水才換來今天的成績,而那些H.264的開
2、源項目以及參與這些項目的開發者自然是功不可沒。本文評測的是作者接觸過的H.264開源解碼器,包括:JM decoder, T264 decoder, x264 decoder, ffmpeg libavcodec, Intel IPP simple player。評測的內容有:對H.264特性的支持、解碼速度以及二次開發難易程度。一、H.264開源解碼器介紹1、JM decoderJM decoder是H.264的官方源碼,通常也稱為校驗模型。其特點是支持特性好,實用性差。本文選用的程序是JM86,不支持high profile,因為本文不對high profile部分進行實驗比較。NOTE:
3、 JM一直沒有做實用化方面的努力,所以其解碼速度代表的是2003年的水平。 2、T264 decoderT264是國內的開源項目,T264 decoder的程序做過匯編優化,速度還可以,但只能解T264本身的碼流。作者對T264 decoder version 0.14(2005-3-29)作了修改,支持baseline的解碼。 3、x264 decoderx264本沒有decoder,但其包含decoder的部分函數雛形,猜想作者在一開始時是準備實現decoder,后來可能是因為有了ffmpeg,就放棄了這個想法(純粹屬于猜測,呵呵)。本文的x264 decoder是
4、作者在x264 svn check out 2005.12.26的基礎上實現的,支持baseline的解碼。 4、ffmpeg libavcodecffmpeg是一個大項目,它包含各種音視頻標準的codec,還支持各類file format(.avi, .mp4, .mkv and etc)的parsing。所以,很多開源項目都有直接或間接地采用了ffmpeg,如mplayer播放器就是直接采用了ffmpeg,而mpc播放器則是先采用了ffdshow filter,而ffdshow又采用了ffmpeg。ffmpeg是一個非常棒的音視頻編解碼庫,支持的標準非常全,而且編解碼速度也很快
5、。本文實驗采用的是cvs check out 2006.02.20的版本,作者對其中的apiexample demo進行了簡單的修改,用于解碼h.264碼流 5、Intel IPP simple playerIntel的IPP庫,全稱為Integrated Performance Primitives,在Intel的各種處理器平臺(IA-32, Itanium, xscale and etc)上實現了信號處理常用算法、常用數學運算及音視頻編解碼算法等等。IPP給我的第一感覺是,在Intel的處理器平臺上,它實現的各種算法應該是最快的,至于實際結果如何,待等到實驗比較后見分曉。本文采
6、用的IPP庫版本為IA32 評估版Intel IPP simple player是用于播放各種音視頻文件的簡單播放器,用c+實用,具體算法調用IPP庫來實現。本文采用的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 所用測試序列分辨率序列名稱特點編碼幀數QCIFforeman紋理復雜度一般運動劇烈:畫面人物和鏡頭均運動,還有場景的切換300CIFforeman同上300mthr_dotr背景簡單畫面人物運動幅度不大100mobile紋理復雜度極高運動形式豐富畫面有多個運動物體,但各運動物體運動方向規則且平緩,鏡頭也在移動200D1(720*480)soccer
8、2鏡頭有移動,畫面的足球運動員的運動也很劇烈300puppy鏡頭無運動,畫面中的玩具小狗也只有簡單的運動100 2、編碼參數參數設置示例:x264enc -frames 300 -no-cabac -qp 26 -o test.264 foreman.cif 352x288(相當于baseline)量化步長:26和36 2、環境CPU: Pentium4 2.4GHz, RAM: DDR 512MOS: windows2000 professional+sp4 3、解碼器程序編譯環境JM86 decoder: vc71 releaseT264 decoder
9、: vc71 releasex264 decodeer: vc71 releaseffmpeg libavcodec: MinGWIntel IPP simple player: vc71 release + directX 9.0c sdk 4、解碼參數設置不保存重建序列(note: 是否保存重建序列對于解碼速度的影響很大) 四、解碼速度比較結果待補充完整。表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生成的碼流,故無法給出實驗結果。但通過對自身t264 fast mode碼流的解碼速度進行統計,t
11、264 decoder和x264 decoder,解碼速度降低40左右。Intel IPP simple player在我的電腦上編譯未成功,在其它成功編譯的電腦(xp系統,directx, , IPP均安裝于C盤)上進行簡單測試,其解碼速度和ffmpeg的解碼速度相比,降低10%左右。 【簡單結論】解碼速度:ffmpeg > IPP simple player > x264 decoder > t264 decoder > jm86 decoder以ffmpeg的編碼速度為基準,假設為100fps,則:IPP simple player:90fpsx264
12、 decoder:50fpst264 decoder:30fpsjm86 decoder:3fps 五、程序開發上的比較我估計閱讀本文的大部分讀者都是搞開發的,因此,閱讀過程中自然會思考如何在程序開發上借鑒或者采用以上開源的H.264解碼器,下面就針對程序開發上的難易、適用場合等作個比較。1、JM86 decoder適合寫paper群體 2、T264 decoder3、x264 decodeer兩者代碼非常相似,所以就合在一起講了。這兩個源碼的程序結構都比較清晰,支持vc和gcc的編譯環境,但對H.264的特性支持不好,解碼速度和ffmpeg相比,還有差距。
13、 4、ffmpeg libavcodec程序結構比較差,H.264解碼的代碼基本上在h264.c一個文件中,這個文件有8000多行,不利于閱讀。編譯環境為gcc或MinGW,移植到vc下比較難(我嘗試過)。解碼速度快(BTW: 通過doom9論壇了解到,目前最快的h.264解碼器是CoreAVC decoder,比ffmpeg快50%左右)。對于H.264特性的支持好。 5、Intel IPP simple player分兩個方面講:(a)IPP庫我覺得是非常棒的,但實現的是H.264解碼(IPP中也有H.264編碼)的一些關鍵函數,如deblock,dct,插值補償等,不能直接拿來用。其它的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商場主體合同變更協議
- 咸魚售后協議書范本
- 總價下浮20合同協議
- 商品展示樣品合同協議
- 微信公眾號合同解約協議
- 毛呸房屋租賃合同協議
- 2025年度糧食委托競價采購合同書
- 售后責任協議書范本
- 2025高校科研技術服務合同
- 員工在病期間協議合同
- CHINET2024年全年細菌耐藥監測結果
- 膀胱癌健康宣教課件
- X線腰椎臨床意義
- 綻放的梨花(2024年山東濱州中考語文試卷記敘文閱讀試題)
- 2024-2025學年人教版英語七年級下冊Unit 5 Here and now Section B 1a - 1d 教案
- 中國銀行課件模板7
- DB3301T 1118-2023 秀珍菇設施栽培技術規程
- 美容院會員卡使用合約
- 中國郵政廣西分公司招聘筆試沖刺題2025
- 膏方課件培訓
- 浙江省精誠聯盟2024-2025學年高三上學期12月適應性聯考 政治試卷(含答案解析)
評論
0/150
提交評論