X264进阶篇 — 控制着视频能否硬解的参数


关于x264视频的硬解(硬件解码或硬件加速)完全是因为ref的影响。何为ref?ref在x264中是:“控制解码图片缓冲(DPB:Decoded Picture Buffer)的大小。范围是从0到16。总之,此值是每个P帧可以使用先前多少帧作为参照帧的数目(B帧可以使用的数目要少一或两个,取决于它们是否作为参照帧)”意思就是最高分辨率1080P的最高ref为4时,缓冲地址刚好不会溢出。溢出了的话,会出现解码花屏的现象,当然这是显卡解码的状况,软解(CPU解码)管你设多少ref照样解码正常,不过超过720P后CPU如果性能不给力的话,就会出现卡、掉帧的情况。

在包含1080P及720P以下的分辨率时,只要ref<=4的话,硬解肯定没问题。当然这也要看你的显卡和驱动程序是否支持了。
(http://www.mythtv.org/wiki/VDPAU) 括号里的链接是nvidia显卡的硬解支持范围。基本上GeForce 8 以后的显卡都支持硬解,ati显卡还待确定。不过如果同样使用了nvidia的硬解技术,那也要通过最新的驱动程序支持才能达到硬解。

比如您的显卡是GeForce 8600GT,属于上面硬解支持范围的A,有A,B,C之分,以下有详细介绍
功能集 A
对H.264的完全加速。
对MPEG-1, MPEG-2, VC-1/WMV9的部分加速。
功能集 B
对 MPEG-1, MPEG-2, VC-1/WMV9 and H.264的完全加速.
所用功能集 B 硬件不能解码以下宽度的: 769-784, 849-864, 929-944, 1009-1024, 1793-1808, 1873-1888, 1953-1968, 2033-2048 像素 H.264编码。
功能集 C
对 MPEG-1, MPEG-2, MPEG-4 Part 2 (也叫作 MPEG-4 ASP), VC-1/WMV9 和 H.264的完全加速。
对于MPEG-4 Part 2不支持运动补偿和数据分块。

连最差劲的A都能硬解high L5.1的x264,那其他显卡根本没什么问题的。

总结:压片标准 high L4.1+ref 4,这个肯定能硬解的,不过high L5.1+ref 4也能硬解。当然这是1080P标准硬解不超过4,如果ref 5 而且是1080P的话,只能软解

技术支持:
NMM x264设定
:http://www.nmm-hd.org/doc/index.php?title=X264%E8%A8%AD%E5%AE%9A&variant=zh-cn
维基 H.264/MPEG-4 AVC:http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC
维基 VDPAU:http://zh.wikipedia.org/wiki/VDPAU
nvidia显卡硬解支持列表:http://www.mythtv.org/wiki/VDPAU


2010年5月15日正式以全新面貌出道。依旧以高清、兼容、收藏性佳的特点继续压制x264 8bit视频。自2020年播出的番均开始使用x265 10bit压制。