MCPLive > 杂志文章 > 用CUDA放高清 CoreAVC高清解码测试

用CUDA放高清 CoreAVC高清解码测试

2009-08-18撒哈拉《微型计算机》2009年8月上

以往的高清“硬件”解码是指显卡通过加入专用解码电路,降低高清视频播放时的处理器的占用率。比如NVIDIA的PureVideo HD和ATI的UVD 2解码引擎,可以让高清视频的解码工作由显卡来完成,以降低处理器的占用率。以NVIDIA显卡为例,名为PureVideo的视频解码引擎Video
Processor已经发展到了第三代,可以让三种高清视频编码格式都能够实现全程硬件解码。但是,高清视频解码过程并不是这么简单的。系统调用视频解码引擎是通过DXVA(DirectX Video
Acceleration硬件视频加速)接口进行的,极容易因为视频格式不符合规范和设置不正确而导致硬解失败。而且复杂的解码器、分离器、渲染模式设置,也让新手相当难以上手。

利用CUDA实现解码

今天我们要认识的是如何利用显卡的通用计算能力来对视频进行解码,同样达到高清“硬件”解码的目的。显卡通用计算技术是利用GPU的并行计算能力,来进行科学计算,它的计算能力往往几倍、几十倍于处理器。GPU不仅仅可以实现高清视频的解码,很多计算工作都可以交由GPU来完成。比如视频编码、密码破解、科学计算等,只要软件开发者懂得利用GPU,就能够大幅度地加快计算进程。通常,高清视频播放器如PowerDVD、Media Player Classic Home Cinema等软件要实现H.264的硬解,需要设定渲染模式为VMR9或EVR。同时,由于H.264格式的编码方式较多,并不一定完全符合DXVA硬解的要求,所以有相当部分高清电影是无法实现硬解的。而在CoreAVC软件中, 就已经支持利用CUDA进行高清解码。利用CUDA进行解码的过程就如同CPU解码一样,只是这个计算过程不是由处理器或VP3视频解码引擎,而是由显卡的流处理器来计算完成的。

CoreAVC软件是比较常用的视频解码器,它常常集成在“终极解码”和“完美解码”等软件中,主要用于H.264和X264视频格式的解码。在CoreAVC 1.9版本中加入了对CUDA解码的支持,而1.9.5版本则对上个版本中的一些问题进行了修正。我们在CoreAVC官方网站上看到,要实现CUDA解码对显卡其实是有要求的,要GeForce 8及其以上系列的NVIDIA显卡才行,这也正好是NVIDIA支持CUDA功能的显卡型号。

分享到:

用户评论

共有评论(2)

  • 2010.03.29 10:46
    2楼

    AVC启用大大降低CPU占用 不错的方案

    (0) (0) 回复
  • 2009.10.11 00:18
    1楼

    你好!请问我已经按照杂志里的设置了,可是在播放H264编码文件时滤镜里没有CoreAVC Video Decoder选项这是为什么?

    (0) (0) 回复

用户名:

密码: