当前位置: 主页 > 视频资讯 > 视频硬件技术 > 从原理到操作 显卡硬件解码完全解说(4)

从原理到操作 显卡硬件解码完全解说(4)

2009-03-31   www.av110.net / 整理 点击: 标签:显卡 加速 硬件解码
  

如何启动硬体加速?
      而显示晶片是怎么做硬体加速的?或更直接一点:「如何启动硬体加速?」,其实对于显示卡来说,「硬体加速」一直都在启动状态,只是有没有去用而已。在3D游戏里,我们已经知道DirectX与OpenGL是游戏和显示卡之间沟通的语言,游戏用DirectX写,显示卡支援DirectX,显示卡就能运算游戏里的3D画面。完全同样的道理也能放在影片播放上,只是DirectX换成DXVA(DirectX Video Acceleration),而所谓的PureVideo和AVIVO,其实就是显示卡执行这些DXVA指令的技术。 

      硬体加速的步骤,只要解码器读到正确的影片格式,解码器本身也支援DXVA的话,就会把解码的工作丢给显示卡,解码结束之后再把结果传给解码器,输出最后的画面。

      前端的解码器最重要,支援硬体加速的解码器遇到特定影片格式时,就能把解码的动作改用DXVA的指令来写,送给显示卡去加速运算,再把运算结果回传变成画面。很多人以为要启动PureVideo就一定要装NVIDIA PureVideo Decoder,事实上这是名称上的误解,NVIDIA PureVideo Decoder只是支援PureVideo技术的解码器「之一」,许多着名的播放软体都已经支援PureVideo或AVIVO,像台湾之光PowerDVD、WinDVD、Nero ShowTime、Windows Media Player等等。
 
      而且那个NVIDIA PureVideo Decoder只是DVD播放软体(MPEG-2解码器),它不能...也永远不可能播放其他新格式,比如H.264、WMV、VC-1等等,要硬体加速这些新格式,只有上述几个市售的播放软体有支援,装NVIDIA PureVideo Decoder是完全无用的。

      另外,其实DXVA只是一个泛称,微软所订的DXVA 1.0只支援到MPEG-2,现在播放软体支援VC-1或H.264硬体加速都是显示晶片厂与播放软体厂合作,用DXVA的延伸指令所做,两家所用的专属指令并不一样。所以现在事情演变有点复杂,要真的确定有硬体加速,播放软体得明确地说有支援PureVideo HD和AVIVO HD才行,而且NVIDIA和ATI的硬体加速一直在改,驱动程式和播放软体也得一直升级才能支援最新的技术。

      [注:新的DXVA 2.0支援所有新格式,但很不幸的,它跟DX10一样是Vista Only,所以厂商可能还是会继续用专属指令,让播放软体可以同时支援XP和Vista。]

      播放软体通常只会简短的写「启用硬体加速(NVIDIA PureVideo)」,但PureVideo和AVIVO改来改去,搞一堆专属指令,为了避免麻烦,一律使用最新版的播放软体最没问题。

      这是未开硬体加速前,播放「黄金罗盘」的1080p Quicktime预告片(H.264格式),CPU是C2D E4300,占用率整个飙高。

      开启GeForce 8600GT的硬体加速后,CPU占用瞬间掉到只剩不到10%。

      总而言之,要使用这些显示卡的硬体加速,必须要有:1.支援硬体加速的显示卡、2.最新的驱动程式、3.特定的解码器(PowerDVD或WinDVD)并勾选硬体加速选项、4.软硬体都有支援加速的影片格式(如MPEG-2、WMV、VC-1、H.264),缺一不可。像XviD、DivX、RMVB这种非业界标准的格式是不太可能会有厂商支援的,因为他们首要着眼点是像DVD、Blu-Ray、HD-DVD这种光碟媒体所用的影片格式。

      [注:有人会问硬体加速支不支援.avi影片档,这是另一个常见的误解,影片附档名跟压缩格式可以是完全无关的,所有的影片压缩格式都能变成.avi档,要真正看出它的压缩格式,可以抓GSpot来看。]

顶一下
(13)
100%
踩一下
(0)
0%
精彩推荐