1.硬解为何比软解的解码速度快?
三大显卡芯片中的视频处理器 Intel Quick Sync, AMD UVD, NVIDIA VP。他们使用固定功能的逻辑和专有集成电路只做视频编解码运算,所以在此方面相比拥有处理各种任务的逻辑的CPU来说,他们在处理速度和资源消耗上都有极大优势。
2.核显的I卡为何比独显的N卡和A卡解码速度快?
Intel Quick Sync相比NVIDIA VP和AMD UVD频率快得多,而且由于集成在CPU内,内存交换速度有很大优势。
解码用的大部分资源都是用来做一种数学转换——负离散余弦转换(IDCT)。Quick Sync的视频编解码引擎应该叫做Multi-Format Codec引擎,处理IDCT速度很快也是MFX引擎表现迅速的原因之一。
3.显卡硬件加速标准(本段为我补充的)
微软规定的显卡硬件加速标准为DXVA2.0(DirectX Video Acceleration),它将显卡硬件加速级别从高到低划分为四个等级,顺序为:VLD>iDCT>MoComp>PostProc。主要包括和以上四个步骤对应的流处理(BitstreamProcessing C***LC/CABAC,前后自适应可变长度编码、前后自适应二进制算数编码)、逆变换(InverseTransform)、运动补偿(MotionCompensation)、解码去块滤波(Deblocking)。其中VLD加速包含了全部四步,iDCT加速包含了MoComp和PostProc;MoComp加速包含了PostProc。
4.硬解码模式的解码速度对比
Quick Sync下DXVA2(native)的解码速度是最快的。DXVA2(copy-back)在解码低帧率高码率的视频时与DXVA2(native)基本持平;但解码高帧率低码率视频时速度远不及DXVA2(native),而且也比VP5的DXVA2(native)慢。
VP5在低码率视频时比VP4快一倍,在高码率视频时比VP4快两倍多。VP5是为硬解4K而生的,但还是比Quick Sync的DXVA2(native)慢。IVB架构将会拉大与VP5的差距。
UVD 2.2和VP4在播放高码率视频的时候问题太多,VP4表现还不如UVD 2.2。UVD 2.2 和 UVD 3的硬解没问题但驱动优化不足,以至于明明支持4K,但是有时候还是蓝屏。
5.显卡3D性能和视频处理器的关系
对于N卡和A卡,显卡性能对于逐行扫描视频(1080P、720P这些后面P结尾的)来说几乎没有影响。视频处理器独立于3D引擎,而且至始至终以一个固定频率运行,并非在性能更强的卡上就有更快的速度。假设有够用的显存和位宽,任何使用VP5的显卡速度都是一样的。例如:GT430和GTX 570尽管3D性能相差巨大,但在视频解码上速度一样。
对于需要反交错的隔行视频(1080i、720i这些后面i结尾的),因为反交错需要GPU处理,所以GPU性能会影响整体表现。
对于I卡,视频引擎的速度跟核显速度一样,因此CPU以及核显的性能会影响视频解码速度。
6.三大显卡芯片支持的混合解码模式(我补充的)
I卡专有Quick Sync(这个可不是前面的视频处理器哦),N卡专有CUDA(L*** Decoder中是CUVID),A卡没有专有。三卡公用DXVA(copy-back)。
7.混合解码(DXVA(copy-back)/Quick Sync/CUVID(CUDA))对比纯硬解DXVA(native)
混合解码的瓶颈在于已渲染帧在CPU和GPU之间的copy-back流程,没有充分利用到QS硬件,所以要慢些。在实际播放中和跑分中,混合解码会比DXVA(native)占用更多的CPU资源,也会更耗电。它的主要用途在于对付有兼容性问题的视频和有硬件加速的需求。
8.android上的MXplayer硬解10bit问题
目前还没有一款硬件可以正确的解码10bit H.264。那些声称可以解码的只是把现有的8bit解码器修改了一下,简单支持解码10bit。你可以截图对比一下,大致上是渲染正确的,但是会不时地呈现明显错误,而且绝不可能100%正确渲染。其他硬件也有在这方面领先的,但没有什么新意。
事实上关于硬解没什么好说的,小白只需要眼睛一闭 用dxva纯硬解打地图炮就是了。但是总有那么几个人纠结是不是这样不够高端大气上档次,所以就引出了下面这段话。同时感谢ASkara对部分内容的指正。
关于几个比较主流的硬解方式:
1.优先选择native硬解(包括lav里dxva2native和potplayer的DXVA)。native硬解的优点在于快速,省电,发热少,因为是纯硬解,不存在数据拷回流程,效率较高。可以说只要你不存在兼容性问题,没有被限制条件限制,就直接用native硬解绝无二话。
事实上是兼容性问题现在极少发生了(毕竟技术越来越成熟),同时native占用最小,也最省电,相当快速。缺点是限制太多,当然能选择它就选择它。
以下列举几条限制:dxva2.0规范下不支持xp,vista及以上系统不能使用非evr渲染器(madvr后来新增native硬解支持),不能使用后期滤镜
接下来是3个混合硬解的选择条件和优缺点介绍:
2.copyback解码高码率低帧率视频相比native硬解速度基本持平,有一小部分情况甚至稍快一些,但是除此之外无一比得过native。同时占用和性能消耗略高。说起混合硬解的产生的原因自然是纯硬解让人汗颜的限制条件,特别是对后处理滤镜的限制使用。我想你们一定没有玩过ffdshow那强大的后处理滤镜,不过你们现在都迷上madvr了,所以对后期滤镜这种东西并不感冒。而现在很多人对copyback这种东西是不是真的省电快速持怀疑态度,因为感觉开了跟没开一样。cpu占用还是那么大,感觉没降多少。copyback的作用之所以让人感觉如此微妙,是因为它有一个copyback流程(在potplayer里面的中文翻译是回写储存器),DXVA之后把显存内的数据copy back回系统内存,这样一来效率就降低了很多,而且由于其是基于VLD的HW,老A卡对MPEG2也是开不了的;兼容性也是比较差的,最后,还不支持XP……
引用ASkara 23:41:29
“它是最后一个做出来的,当时成农企用户强烈要求 NEV才姑且做了一个。”
优点是不受native DXVA那么多限制,可以用非EVR渲染器,可以滤镜后处理等等。在硬解速度方面有时候甚至超过native硬解,这一点是N卡混合硬解和intel quicksync比不上的。缺点就是占用和性能消耗方面,此外应对高帧率视频较为抓鸡。兼容性方面较差(不过前面我说了现在这方面的兼容性问题很少出现了,所以不用在意)。
限制:不支持xp
3.N卡混合硬解(包括potplayer的CUDA和lav的cuvid)可以极大的减少cpu的负担,同时也是少数可以支持xp的硬解方式。兼容性比copyback要好,硬解码速度主要是看NVIDIA VP的处理速度,总体来说比intel的quick sync(不要和下文的quicksync弄混)要慢,但是比AMD UVD要快。如果你是至强+N卡的特殊组合,没有核显,只能用N卡硬解视频的话倒是可以考虑使用这个。或者是用ffdshow raw video filter+svp插帧的时候。据大A说法,CUDA是老黄重点发展项目,同时cuvid也是三个混合硬解中NEV最重视的一个。
优点是兼容性较好,且支持xp。在3种混合硬解方式中,cpu负担是最小的。而且不存在另外两种混合解码在高帧率方面的不足。这也是为什么svp插帧的时候很多人喜欢用N卡的混合硬解。
限制:NVIDIA独显独占限定
4.intel quicksync
intel quicksync算是intel硬解的另一个备胎了。在核显支持的情况下,考虑到外挂后期滤镜等需要破除native纯硬解限制的问题上,可以选择intel quicksync。它没有copyback那么大的性能消耗,不过当然无法做到像copyback那样某些小部分情况解码速度甚至超越native。但是在性能的消耗上做的更好。在解码高码率低帧率的视频,intel quicksync在cpu消耗的性能要远远小于copyback。
此外关于intel quicksync硬解和intel quick sync概念请大家不要搞混了,一个是quicksync(potplayer和lav上面的一种硬解方式)一个是quick sync(intel开发的一项解码技术)
个人感觉intel quicksync性能方面更像是copyback硬解速度和消耗的一个折衷。因为感觉在高帧率视频的混合硬解方面的表现和copyback相差无几,但在低帧率高码率视频的混合硬解的占用和性能消耗明显小于copyback,然而不具备copyback的快速。所以不要说intel quicksync一定比copyback好这种言论,倒不如说各有千秋。
限制:不支持XP,intel核显HD2000显卡以上独占限定,intel最新几款官方驱动限定(所以要养成及时更新核显驱动的好习惯)
注:以上native纯硬解仅考虑到开满到vld加速等级上,vld以下不在考虑范围。
最后可能有人问那个硬解解码速度最快?cuvid和dxva哪个最快?根本不是同一个东西怎么比!cuvid看的是NVIDIA VP的处理速度,dxva看的是intel quick sync或者AMD UVD的处理速度。VP5的硬解速度大致和SNB架构(二代核显)的intel quick sync相当,然后它们都比AMD UVD(包括UVD2.2,UVD3等等)快。总而言之,VP比UVD快,然后它们都被quick sync秒了。硬解方式的选取这个我前面说了,相信大家没有什么疑问了吧。