![]() |
|
![]() |
||
了解硬件加速 了解DXVA與FlashPlayer關系
用戶對視覺體驗的逐步加強產生了需求,而作為主導Flash以及FlashPlayer的Adobe順應用戶需求推出了相關產品的昇級,即FlashPlayer 10.1應運而生。
在了解Adobe FlashPlayer 10.1之前,首先讓我們了解一下DXVA。那麼DXVA是什麼?DXVA有什麼用?DXVA和我們要了解的FlashPlayer又有什麼關系?
☆ DXVA是什麼?
DXVA英文全稱DirectX Video Acceleration,中文譯為視頻硬件加速。
DXVA是微軟公司專門定制的視頻加速規范,它共有兩個版本,分別是DXVA 1.0和DXVA 2.0。DXVA規范不僅僅是在視頻播放過程中的解碼計算規范,其還有與視頻後期處理息息相關,例如反交錯、色彩空間轉換或圖像縮放等等。
☆ DXVA有什麼用?
視頻解碼對於我們普通用戶來說可以分成兩類,一類是以CPU為核心的軟件解碼,另一類就是目前主流的以GPU為核心的額硬件加速解碼。
就目前來看,二者各有利弊
軟件解碼好處是,第三方軟件解碼器齊全通用性高,使用CPU來作為解碼核心能夠滿足幾乎所有的視頻解碼。而壞處也顯而易見,在一臺CPU性能較弱的平臺上,尤其是在看高碼率的高清視頻時,CPU由於線程數和自身架構導致的效能上不足,視頻畫面卡、頓、慢成為不可避免的結局。
硬件加速解碼好處是,目前主流顯卡都能夠很好的支持主流視頻格式解碼,尤其是在圖形核心采用統一架構後,利用圖形核心的並行架構設計,在H.264和VC-1格式高清視頻上有絕佳的支持效果。弊端是,硬件解碼受限視頻播放總體流程,尤其是後期處理部分。所以很多追求最終畫質效果的高清發燒友,寧可放棄硬件(GPU)加速解碼的幾倍性能,而選擇基於CPU的軟件解碼。
☆ DXVA與FlashPlayer之間關系?
了解了DXVA的具體用途後,接下來讓我們了解一下DXVA與FlashPlayer之間的關系。
我們知道DXVA是微軟定制的視頻硬件加速規范,雖然目前顯卡圖形核心支持DXVA規范,但這不能說明某一款圖形核心完全支持DXVA規范裡的所有功能。不過微軟想到了一個很好的解決辦法,即與圖形核心相對應的顯卡驅動加入DXVA代碼,用驅動來告訴系統中DXVA接口當前系統中圖形核心支持DXVA的哪部分功能。
這也就回到了我們前文所提及的,要想讓網絡視頻支持圖形核心硬件加速,在昇級FlashPlayer軟件同時,硬件的驅動也需要即使更新加入DXVA功能識別代碼,令硬件上可以勝任硬件能力的圖形核心開啟針對FlashPlayer播放器的支持,用DXVA以完成網絡視頻格式的高清硬件加速解碼。
同時根據DXVA的規范制定,硬件加速解碼可分為四個級別,它們由高到低分別是:
VLD(bitstream方面的處理)>IDCT(幀內壓縮)>MoComp(幀間壓縮)>PostProc(顯示後處理)
從上面的等級分布上不難看出,VLD加速等級最高,所以其包含IDCT、MoCoopm和PostProc;IDCT加速次之,包含MoCoopm和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系列開始。