分类: LINUX
2008-11-16 21:37:21
NVIDIA早在一个月前就发布了Windows平台的180版显卡驱动,但Linux版本则迟迟不见踪影。和Windows版本关注SLI等游戏性能相比,Linux版本的180驱动将把更多的精力放在工作效率上,增加CUDA 2.1支持,对工作站性能进行优化,改进X Render等。不过,我们最感兴趣的一项是,增加了新的VDPAU API,相当于是Linux系统上的PureVideo。
目前Linux上的X-Video输出模块有Xv和XvMC两种,其中XvMC能够实现一定意义上的显卡硬件加速功能,但仅支持MPEG-2格式。NVIDIA的驱动曾对X-Video进行过支持,但GeForce 8 XvMC支持最终停止更新。而在竞争对手方面,AMD则正在开发XvBA API,将UVD2加速带到了Linux上。
NVIDIA的对策VDPAU于是应运而生。VDPAU的全称是:Video Decode and Presentation API for Unix(Unix系统视频解码和呈现API),支持硬件解码MPEG-1、MPEG-2、H.264和VC-1格式,也支持对已解码视频进行一些后期处理特殊效果,如反交错、降噪等。硬件上支持GeForce 8以上显卡,系统支持Linux、FreeBSD和Solaris。
Phoronix网站日前就对首款支持VDPAU的Linux驱动进行了测试。使用系统为Ubuntu 8.10,Linux 2.6.27核心,X Server 1.5.2,NVIDIA 180.08驱动。硬件包括Core 2 Duo E8400(降频至1.8GHz以更好表现CPU占用率区别),华硕P5E64 Professional主板,2GB DDR3内存,GeForce 9800GTX 512MB显卡。为实现硬件解码,还需要安装NVIDIA提供的MPlayer、libavcodec、libavutil、ffmpeg补丁,并为MPlayer增加“-vo vdpau -vc ffh264vdpau”的运行参数。
播放视频为MPlayer官网上的Grey.ts,H.264编码。以下就是使用不同输出模块的CPU占用率监控图表:
GL2输出
X-Video输出
使用VDPAU
可以看到,硬件加速的效果相当明显,显卡几乎接管了所有的视频解码工作,CPU占用率一直在10%以下。