轉(zhuǎn)載自:
http://blog.sina.com.cn/s/blog_53902eeb010091qj.html
1、.視頻覆蓋:
大概在1995年,當(dāng)mpeg1(VCD)回放在PC上開(kāi)始流行的時(shí)候,pc的處理能力還么有強(qiáng)大到實(shí)時(shí)播放的地步。顯卡制造廠商適時(shí)的推出了"video overlay(視頻覆蓋)"的技術(shù)。它就是種在顯卡上用硬件完成同時(shí)顯示幾個(gè)視頻的功能(拉伸,顏色空間變換,等等...)的技術(shù),這樣就可以在pc上流暢的播放動(dòng)畫(huà)而不占用cpu。視頻覆蓋的畫(huà)面質(zhì)量事實(shí)上取決于顯卡硬件。我發(fā)現(xiàn)市面上的絕大部分的顯卡顯示視頻覆蓋質(zhì)量都很不行。在視頻覆蓋上用視頻渲染技術(shù)的一個(gè)最大的關(guān)鍵就是在每個(gè)顯卡上只有一個(gè)視頻覆蓋 unit(單元). 這樣就迫切的需要多顯示器系統(tǒng)了。
2、Direct3D:
Direct3D是微軟提供給程序員使用一個(gè)不斷進(jìn)化的功能集合的DirectX庫(kù)的一部分。在新發(fā)布的direct9 中,微軟給出了一套新的功能,性能接近于覆蓋 surface(接口),但是沒(méi)那么多限制。視頻渲染技術(shù)基于direct3d比視頻覆蓋提供了更好的圖像質(zhì)量,還沒(méi)有視頻覆蓋單顯示器的麻煩。但是,不是所有的顯卡都支持這個(gè)技術(shù),還有一些根本不支持,很多不支持整套功能集。作為一個(gè)一般的參考。
3、系統(tǒng)默認(rèn)渲染器:
當(dāng)播放器用默認(rèn)回放模式播放媒體文件的時(shí)候,在低于windows xp的所有windows系統(tǒng)上或者windowsxp的"vmr7", 用系統(tǒng)默認(rèn)渲染器就意味著"標(biāo)準(zhǔn)覆蓋" 。
4、標(biāo)準(zhǔn)覆蓋渲染器:
這是最老的視頻渲染技術(shù)了。在可用的時(shí)候它用到視頻覆蓋,當(dāng)視頻不可用的時(shí)候就退回到純cpu控制視頻。純cpu控制就是說(shuō)cpu替代了視頻覆蓋來(lái)干這些事情。這對(duì)回放是個(gè)沉重的打擊(cpu更辛苦了),這個(gè)渲染的缺點(diǎn)是它不支持固定屏幕高寬比控制,硬件顏色控制(色調(diào)/飽和度/亮度/對(duì)比度/gamma(灰度))不可操作,而且抓圖結(jié)果會(huì)很很奇怪。
5、覆蓋混合渲染:
同樣是運(yùn)用視頻覆蓋技術(shù),這個(gè)渲染器允許在那些支持顏色控制的硬件上進(jìn)行顏色控制(色調(diào)/飽和度/亮度/對(duì)比度/gamma)。有些卡可能只支持顏色控制的一個(gè)子集(比如只有亮度)。這個(gè)渲染器也支持固定寬高比控制,只要媒體文件支持這個(gè)渲染器,缺點(diǎn)就是它返回到純cpu控制。當(dāng)視頻覆蓋不可操作時(shí),它就罷工了。在媒體模式的這個(gè)情況時(shí)候,就會(huì)回到標(biāo)準(zhǔn)覆蓋渲染。在dvd模式時(shí),會(huì)報(bào)錯(cuò)說(shuō)視頻解碼器不能連接到覆蓋混合器。最后,這個(gè)渲染技術(shù)還是抓圖的效果不夠好。
6、視頻混合渲染器7(vmr7):
這個(gè)渲染器是視頻覆蓋技術(shù)和direct3d技術(shù)的結(jié)合,它只在windows xp上有效,后來(lái)被vmr9取代了。windows media player 7-10使用這個(gè)技術(shù).這個(gè)渲染技術(shù)默認(rèn)使用視頻覆蓋。然而,如果它不可用了,它可以有限的使用direct3d。它的缺點(diǎn)是不可進(jìn)行顏色控制,截屏還是不夠好。
7、視頻混合渲染器9(vmr9):
這是最新的視頻渲染技術(shù)。它完全建筑在direct3d上,需要direct9和最新的硬件。它可以提供最好的畫(huà)質(zhì)(取決于渲染模式和顯卡)。vmr9支持硬件顏色操作(如果卡支持),但是沒(méi)有g(shù)amma控制,因?yàn)閙s沒(méi)有提供。 vmr9也有寬高比控制。
8、EVR增強(qiáng)渲染模式(vista系統(tǒng)):
Vista新引入了全新的EVR渲染器,微軟的技術(shù)文檔倒是把這個(gè)東東吹得很強(qiáng)勁,但是就目前來(lái)說(shuō)問(wèn)題還是不少。第一個(gè)就是字幕的問(wèn)題,目前用EVR是無(wú)法在高速或者急速模式下把字幕顯示出來(lái)。那個(gè)EVR C/A 倒是能夠顯示字幕,不過(guò)dxva2.0就會(huì)失效,換句話(huà)說(shuō)就無(wú)法開(kāi)啟geforce8顯卡的硬件解碼功能。還有一個(gè)問(wèn)題就是色階或者黑位問(wèn)題,這個(gè)問(wèn)題在VMR9下可以通過(guò)shader得到完美的解決方案,現(xiàn)在到了EVR,色階問(wèn)題目前可以說(shuō)幾乎毫無(wú)辦法,最多能用一下coreavc的fix color功能解決一下,但是還是有相當(dāng)大的局限性。
另:VMR9支持3種特別的渲染模式:
A.vmr9:窗口:
這種是最基本的模式,它向后兼容,但不支持幀抓屏,要提醒一點(diǎn),這個(gè)模式在windows sp1和directx9b下有bug,在dvd菜單導(dǎo)航時(shí)只能用這個(gè)模式了。在windowsxp sp2和direct9c下這個(gè)bug沒(méi)了。
B.wmr9:窗口無(wú)轉(zhuǎn)換:
這個(gè)模式比窗口模式高級(jí)點(diǎn),用來(lái)截圖是最好的。
C.wmr9:渲染無(wú)轉(zhuǎn)換:
這個(gè)可是vmr9中最復(fù)雜的渲染模式,它可以工作在direct3d獨(dú)占模式,那就是整個(gè)機(jī)器被設(shè)定為全屏,其他運(yùn)行的程序不可以操作視頻硬件,在這個(gè)獨(dú)占模式下,所耗cpu更少,分辨率越高,回放就更平滑。缺點(diǎn)是在獨(dú)占模式下,整個(gè)機(jī)器都獻(xiàn)身給視頻回放了,你不能干其他任何事情了。