显卡是 ATI HD 4650,支持 ATI Avivo 技术,可以利用 GPU 编解码 H.264 等格式的视频。
但是使用起来还需要进行设置,网上一搜就有一大堆文章,反正都不怎么好用。还说要从 PowerDVD 提取解码器,看着就觉得麻烦,而且人家是收费软件吧?还有用 KMPlayer 的,个人不是很认同违反开源协议的。
最简单的方法就是安装一个 K-Lite Mega Codec Pack,使用里面的播放器 Media Player Classic Homecinema。设置方法如下:
- 在菜单中选取 View -> Options -> Internal Filters
- 勾选 Transform Filters 中的 H264/AVC (DXVA) 以及 VC1 (DXVA)
这个时候,选择一个 H.264 视频播放,看看 CPU 占用率和之前相比,如果小了很多就说明使用了硬解,否则就是没有成功。或者在播放的时候,点右键 -> Filters -> MPC Video Decoder,是否启动了 DXVA 模式。
经过我的测试,似乎对于某些高级编码级别无法解,显示不出图像,但是大部分显示正常。设置播放就完成了,下面再写一些资料。
ATI Avivo 的对手是 NVIDIA PureVideo,GPU 编程我也不懂,似乎 NVIDIA 的 CUDA 架构编程更自由,CoreAVC 就是使用 CUDA 技术来发挥显卡资源的。
微软和图形芯片厂商联合制定了一个硬件接口规范 DXVA (DirectX Video Acceleration),规定了几个硬件解码加速的级别,基本上支持的格式也就 H264 和 VC-1。而前面提到的 CUDA 就不是一回事,它是一个通用计算技术,所以更自由,可以更灵活挖掘显卡资源。
在安装显卡驱动的时候同时安装的 ATI AVIVO Codecs 应该就是支持硬件编解码的驱动程序。在 Windows 上想要利用显卡资源,应该是通过这个驱动沟通的。
很多人都提到的 CyberLink PowerDVD 的 H.264 解码器,搞不清楚是不是免费的,应该就是这个解码器利用上了 Avivo 等技术。而普通的 ffdshow 应该都是软解,目前还没有利用上 GPU 资源。名为 CyberLink Video/SP Decoder (PDVD9) 的 Filter 应该是解 mpeg2 的,似乎免费。
而我使用的播放器 MPC-HC 则在程序内提供了 DXVA Support。MPC 的参与者都是大神级别的人物。有兴趣的可以去 http://www.xvidvideo.ru/ 看看。下载一个 MPCVideoDec.ax 就可以在别的播放器里面使用 MPC Video Decoder 从而开启 DXVA 模式了。
至于编码,则要下载一个 Avivo Video Converter,不过对视频参数的设置很少,虽然快,但是质量一般,适合转换到便携设备,比如 PSP,Mobile Phone 上去。
相关工具有一个 DXVA Checker,可以去 http://bluesky23.hp.infoseek.co.jp/ 下载。
发表评论