-
dxva
鎖定
- 中文名
- 視頻硬件加速
- 外文名
- dxva
- 全 稱
- DirectX Video Acceleration
- 研發公司
- Microsoft corporation
dxva基本信息
dxva硬件加速
當前市面上幾乎所有的顯卡都具備一定的視頻硬件加速能力。微軟公司為此專門制訂了DXVA規範(包括DXVA 1.0和DXVA 2.0兩個版本)。但使用硬件加速,在視頻播放的總體流程上也受到諸多限制,尤其是後期處理部分。因此對於追求後期效果的高清發燒友,寧可放棄硬件加速,當然代價可能是需要升級CPU甚至整個系統。 DXVA規範中,不同的顯卡的視頻硬件加速能力有差異,有的顯卡支持的加速項目較多,有的顯卡支持的較少,從顯卡的發展歷程來看,視頻硬件加速能力總體是逐漸增強的,但在同一代顯卡中,高端顯卡的視頻硬件加速能力不見得比低端顯卡的強,甚至有些時候還會弱些。 對於高清發燒友來説,可以接觸到的高清視頻源的編碼格式主要有MPEG2, H.264和WMV和VC-1四種。DXVA 1.0規範裏最早定義了MPEG2和WMV硬件解碼能力,在DXVA 2.0裏又增加了H.264和VC-1硬件解碼能力。
視頻硬件解碼能力的成功運用,需要幾個環節的配合。首先,顯卡硬件需要支持特定的視頻編碼格式;其次,顯卡驅動需要正確的報告顯卡硬件的這種能力;最後,視頻解碼器需要能夠啓用這種能力(這可能會進一步涉及到分離器和渲染器的配合)。當然,視頻源本身也必須是這種編碼格式。
還有一點需要特別注意的是,DXVA是一種接口規範,顯卡硬件支持DXVA規範,不代表就實現了裏面所有的功能,但是肯定的一點是,無論什麼功能,顯卡驅動的DXVA部分代碼一定會告訴系統,這項功能它實現了還是沒有實現,這是DXVA規範強制性要求的。好處是系統不需要自己去測試顯卡有沒有實現這項功能。解碼器支持DXVA規範,不代表就能利用DXVA規範裏面所有的功能組合,它可以選擇自己有能力支持的,或者想要支持的那些功能組合,其他功能組合也許就放棄了。還有,某顯卡雖然表示支持某種能力,但如果解碼器認為這個能力的支持不夠穩定,容易導致系統崩潰或錯誤,或者性能低下,它也可以放棄這種能力。
dxva硬解能力級別
DXVA2_ModeH264_A (DXVA2_ModeH264_MoComp_NoFGT)
DXVA2_ModeH264_B (DXVA2_ModeH264_MoComp_FGT)
DXVA2_ModeH264_C (DXVA2_ModeH264_IDCT_NoFGT)
DXVA2_ModeH264_D (DXVA2_ModeH264_IDCT_FGT)
DXVA2_ModeH264_E (DXVA2_ModeH264_VLD_NoFGT)
DXVA2_ModeH264_F (DXVA2_ModeH264_VLD_FGT)
DXVA2_ModeMPEG2_IDCT
DXVA2_ModeMPEG2_MoComp
DXVA2_ModeMPEG2_VLD
DXVA2_ModeVC1_A (DXVA2_ModeVC1_PostProc)
DXVA2_ModeVC1_B (DXVA2_ModeVC1_MoComp)
DXVA2_ModeVC1_C (DXVA2_ModeVC1_IDCT)
DXVA2_ModeVC1_D (DXVA2_ModeVC1_VLD)
DXVA2_ModeWMV8_A (DXVA2_ModeWMV8_PostProc)
DXVA2_ModeWMV8_B (DXVA2_ModeWMV8_MoComp)
DXVA2_ModeWMV9_A (DXVA2_ModeWMV9_PostProc)
DXVA2_ModeWMV9_B (DXVA2_ModeWMV9_MoComp)
DXVA2_ModeWMV9_C (DXVA2_ModeWMV9_IDCT)
視頻硬件解碼的能力的級別從高到低的順序如下,能力越高,顯卡能夠分擔的視頻解碼計算量就越多。
VLD級別的解碼包含IDCT, MoComp和PostProc,
IDCT級別的解碼包含MoComp和PostProc
MoComp級別的解碼包含PostProc
VLD(Variable Length Decoding / 可變字長解碼)、IDCT(Inverse Discrete Cosine Transform / 逆離散餘弦變換)、MoComp(Motion Compensatiom / 運動補償)
對於H.264編碼,還有一個稱為FGT(Film Grain Technology)的技術,即所謂膠片感,目的是在不 犧牲壓縮能力的同時保持視頻源特有的顆粒信息。
dxva功能
二者各有利弊。
軟件解碼好處是,第三方軟件解碼器齊全通用性高,使用CPU來作為解碼核心能夠滿足幾乎所有的視頻解碼。而壞處也顯而易見,在一台CPU性能較弱的平台上,尤其是在看高碼率的高清視頻時,CPU由於線程數和自身架構導致的效能上不足,視頻畫面卡、頓、慢成為不可避免的結局。
硬件加速解碼好處是,如今主流顯卡都能夠很好的支持主流視頻格式解碼,尤其是在圖形核心採用統一架構後,利用圖形核心的並行架構設計,在H.264和VC-1格式高清視頻上有絕佳的支持效果。弊端是,硬件解碼受限視頻播放總體流程,尤其是後期處理部分。所以很多追求最終畫質效果的高清發燒友,寧可放棄硬件(GPU)加速解碼的幾倍性能,而選擇基於CPU的軟件解碼。
根據DXVA的規範制定,硬件加速解碼可分為四個級別,它們由高到低分別是:
從上面的等級分佈上不難看出,VLD加速等級最高,所以其包含IDCT、MoComp和PostProc;IDCT加速次之,包含MoComp和PostProc;最後MoComp加速僅包含PostProc。
對於僅支持MC加速的顯卡只有在2005年以前的老產品上出現,當NVIDIA進入GeForce 6000系列和AMD進入Radeon X800系列後,圖形核心的硬件加速能力達到了IDCT加速級別。而當顯卡進入圖形核心統一架構設計後,GeForce 8000和Radeon HD 2000開始進入最高的VLD加速。
不過值得一提的是,由於NVIDIA的高清硬件加速功能基於Video Pocesser單元設計,而最早出現的GeForce 8800系列(G80核心產品)沒有開放此功能單元設計,所以NVIDIA真正進入VLD加速是從2007年4月發佈的GeForce 8600/8500系列開始
[1]
。
dxva視頻實現
DXVA有三種視頻加速級別
MC加速
MC加速+iDCT加速
MC加速+iDCT加速+VLD[1]加速
[1]VLD: Variable-Length Decoding,即可變長度解碼
dxva解碼器
MPC-HC: 繼承了歷史悠久的開源播放器MPC的衣襟,並在其基礎上增加了許多實用功能
ffdshow: 著名的開源編解碼器,功能強大,內置了許多實用濾鏡,在最近的版本中加入了DXVA模塊
在當前,雖然有許多播放器支持DXVA解碼,但綜合考慮MPC-HC是最為實用並且方便實用的。首先MPC-HC是開源軟件,其次MPC-HC是綠色軟件,無需安裝即可使用,再則MPC-HC內置的字幕濾鏡比起其他播放器,對ASS/SSA的支持度最高。因此接下來着重介紹MPC-HC
MPC-HC的DXVA對顯卡的限制:
nVidia 8(9)xxx系列,僅支持H.264
ATI Radeon HD系列,支持H.264和VC-1
Intel G45,僅支持H.264
由於DXVA的限制,所使用的渲染器必須遵守以下規則:
Windows XP用户,必須使用覆蓋合成器(Overlay Mixer),VMR 7或VMR9作為視頻渲染器(Video Renderer)
Windows Vista/7用户,必須使用增強型視頻渲染器(Enhanced Video Renderer/EVR)或EVR custom renderer
MPC-HC視頻解碼器必須直接連接視頻渲染器,因此中間無法插入DirectVobSub或ffdshow之類的濾鏡。 在DXVA模式中,外掛字幕可以通過MPC-HC內置的字幕濾鏡來顯示,但是對渲染器的要求更苛刻
Windows XP用户,必須使用VMR9
Windows Vista/7用户,必須使用EVR custom renderer
在 選項(Options)/播放(Playback) 中,勾上 自動裝載字幕(Auto-load subtitles)
dxva支持視頻
可以通過軟件來檢測:DXVAChecker
説了那麼多,其實只是想説視頻加速解碼真是個複雜的東西。需要硬件,解碼器,視頻本身等多方面的支持方可促成視頻硬解。雖然複雜,但這是值得的。通過視頻加速解碼,我們可以將CPU從繁重又重複的工作中解放出來,讓它在別的地方發揮自己的性能,以及讓那些由於CPU性能孱弱但有一塊還不錯的顯卡的電腦同樣可以享受高清視頻。
dxva規格分類
首先H.264的視頻按照標準被分為幾個規格
x264相關參數:--profile 可強制指定Profile,一般情況下可不選,x264將會根據其他參數自行設定此項。如果設置此項,x264將會自動無視所設Profile無法支持的高級特性。
Level被分為1/1.1/1.2/1.3/2/2.1/2.2/3/3.1/3.2/4/4.1/4.2/5/5.1 (Level越高,對分辨率/參考幀/碼率的限制越小)
x264相關參數:--level 可強制指定Level,一般情況下可不選,x264將會根據實際情況自行設定此項,但自動設定並不一定準確。如果設置此項,x264將會自動限制DBP[2]。
[2]DPB,即Decoded Picture Buffer。
- 參考資料
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:23次歷史版本
- 最近更新: 小胖_0216