高清播放之滤镜 – MadVR
转自:https://liutao.xyz/highdefinition_madvr/
为什么推荐madVR作为渲染器
1、madVR可以实现更精确的颜色处理。madVR全程在16bit/32bit下进行运算,精度远高于EVR/VMR等8bit,并抖动到8bit RGB输出。madVR的高精度运算和轻微的抖动噪声有着掩盖色带色块等作用。如果片源是10bit,madVR搭配ffdshow/lav解码器也可以直接接收原生10bit的颜色输入,真正利用好10bit的精度优势。
2、madVR可以实现可调节的、高质量的图像放大缩小。一般的视频,经过了色度半采样(Chroma SubSampling)之后,播放时候会做两次调整大小:第一次将色度调整至亮度同样大小,并且将YUV转换为RGB,第二次将RGB图像放大缩小到你的屏幕或者播放器窗口大小。madVR不但提供了多种算法,还允许你微调其中的各种细节。
3、madVR可以大大降低颜色的出错几率。madVR的放大缩小算法不但能正确处理gamma issues,还能正确的根据片源的color matrix/range做正确的颜色转换,并免疫很多例如驱动程序等试图“优化”画面。
如何开启madVR的设置面板
前提是你正确开启了madVR(见高清播放之播放器 – Potplayer,一般播放的时候,任务栏右下角有图标MD,右键-edit madVR settings即可。如果没有,右键视频画面,选择滤镜-madshi video render,点击show tray icon可以开启右下角的图标,点击edit settings可以开启设置。
madVR的准备工作
1、驱动设置:N卡用户打开”控制面板”-”NVIDIA控制面板”,如图将动态范围改成0-255并且关闭一切所谓画质增强选项。
A卡用户类似。
笔记本和I卡用户如图,输入范围改成驱动程序设置-全范围。然后点到高级,把总颜色校正禁用。
2、Intel和NV显卡用户(包括笔记本双显卡中有Intel的用户),在madVR的文件夹下找到madLevelsTweaker.exe打开,勾选Force PC Levels,然后点击apply。如灰色说明无需调整。改完需重启一下。换显示器需重新按此设置一下。多显示器用户需拖动该窗口至当前显示器进行设置。
3、笔记本双显卡用户需把potplayer设置成使用独显,因为madVR需要吃显卡性能,核显一般是不够的。这个步骤和游戏改独显一样。N卡打开”控制面板”-”NVIDIA控制面板”。添加potplayer,选择”高性能NVIDIA处理器”-应用。笔记本A卡的也请自行修改。
madVR进阶设置
devices
设置你的显示器类型,一般都选择digital monitor
properties
如果你是pc,选择0-255,如果是TV,选择16-235。原始颜色精度,一般8bit面板选8bit or higher。如果你是6bit dither到8bit的面板,推荐选择7bit。选择6bit/7bit可以减少色带问题,但是播放时候画面细微噪点更多。如果你发现你播放时候经常发现色带问题,你可以选择6bit/7bit。
device其他部分一般就不用改了。接下来的一些选项跟调色有关。显示器没有经过专业调色的就不用看了。经过专业调色的不妨看看这个文章,参数调的好,搭配优秀的显示器,madVR的播放效果可以轻松媲美顶级蓝光播放机:http://lysandria1985.blogspot.sg/2013/01/3-madvr.html
Processing
这个菜单中比较推荐设置的是”deinterlacing”和“artifact removal”
deinterlacing
这页,建议如图设置:这边是关于是否启动去交错的一些判断原则,我们让madVR自己判断,并选择在怀疑时不启动去交错。
我们知道对于这类隔行扫描的影片必须对其作IVTC让它还原成24p(60i→24p),但实际上我们有时候会发现录了一部电视播放的电影或动画下来,电视台常常在四边打上跑马灯或台标之类的东西,而这个跑马灯或台标却是video型式的interlaced信号(真正的60i 无法IVTC),因此我们要作IVTC时如果是对整个画面的像素作侦测,遇到这种情形时就很容易产生误判。因此勾选这个选项时就只会对画面中央部分的像素作侦测,避开那些跑马灯或台标可能出现的位置以免作IVTC时产生误判,但缺点就是这样侦测的效率较低,遇到动画这类常常有静止画面的影片在侦测是哪一类pulldown时就会花比较久的时间。
当然现在多数Rip组会把交错等问题直接处理好。
image enhancements
这个选项是针对影片本身锐利度不足的片源,经由勾选的算法进行锐利化处理,其处理是在放大演算之前(pre-processing),所以对于1:1呈现的影像也有效果。在这边,不论选择哪一种算法,锐化的效果都相当显著,但相对的,片源中的缺陷(杂讯)也很容易被凸显出来,故不建议开启锐化算法当作常驻选项。有需要的读者可以自行设置。
artifact removal
勾选”reduce banding artifact”,这个选项就是之前madshi在Doom9上放出测试的debanding(去色阶断层)功能,ffdshow video decoder里面也有个”去断层”,跟这个基本上是一样的作用,但madVR的debanding因为处理的精度更高,侦测像素变化的机制更好,故效果会比ffdshow video decoder里面的去断层更好,使用这个的话就不需要再使用ffdshowvideo decoder的去断层了。
第一个选项是一般画面的debanding强度,第二个选项是光影淡入淡出时的debanding强度,建议设置如下,保持在low就有不错的效果,或是第二个选项可以选择medium或high,因为光影淡入淡出是比较容易出现banding的地方,但基本上还是看片源而定。越高的设置有越好的debanding效果,不过相对的也可能损失一些画面细节。
这个选项会吃掉一些显卡性能,但不会太多,显卡不差的话建议常时保持在low,有一定的debanding效果,而且几乎不会吃到画面细节。
Scaling algorithms
由于madVR设置中对画面改善最为明显的是图像缩放算法,因此第二部分我叙述Scalingalgorithms 即缩放算法设置。
打开madVR设置-> Scaling algorithms 我们可以看到chroma upscaling、image doubling、image upscaling、image downscaling和upscaling refinement五种不同的运算方案设定。
1. chromaupscaling是指色度拉伸,即色度平面放大
2. image doubling是指影像翻倍。
3. imageupscaling就是指影像拉伸,也就是影像放大,只要目标分辨率大于原始分辨率就会用到这部分的算法。
4. imagedownscaling就是指影像缩放,也就是影像缩小,只要目标分辨率小于原始分辨率就会用到这部分的算法。
5. upscalingrefinement这部分是锐化算法,其目的在于改善放大运算后造成的模糊,作用在放大运算之后,属于post-processing。如果是1:1无放大的影像,这部分勾选了也不会有作用。
首先,madVR会使用chroma upscaling中设定的算法拉伸色度平面,使其分辨率与亮度平面的相同,达到YCbCr 4:4:4。若源视频分辨率与显示分辨率不符,madVR会对其进行缩放处理。假如放大系数达到了image doubling中设定的条件,madVR会再将RGB转换成YCbCr 4:4:4,对亮度和色度平面分别用image doubling中的算法进行放大,再进行缩放处理达到显示分辨率。
综合上文,这边我们可以得到一个简单的结论,播放分辨率跟屏幕分辨率相同的影片时,对显卡的负担是最小的,一旦需要用到影像缩放运算时,对显卡的负担就加重了,而当分辨率差异大到动用到image doubling的时候,对显卡的负担是最重的(当然我们可以自行选择要不要开启image doubling)。
我们在自己调节设置的时候特别要注意右上角的表格,每种算法有不同的数值,通常绿色是优点(sharpness = 锐利度),越高越好,红色部分是失真,缺陷(aliasing = 锯齿、ringing = 振铃效应),越低越好。
以各算法的消耗性能来说,Nearest Neighbor、bilinear、DXVA这几种消耗的性能最低(DXVA这项运算优劣直接受显卡影响,目前只建议intel的核显使用,因为i家核显这部分有优化),再来是Mitchell-Netravali、Catmull-Rom、Bicubic、Softcubic这几种,消耗性能其次,再来是Lanczos、Spline,消耗性能又高一点,再来是Jinc,消耗性能更高,不过效果也比前面几种都好,再来是super-xbr,消耗跟Jinc差不多,略高一些,但效果好不少,最后是NNEDI3,消耗的性能跟效果都居冠。此外,勾选”activate anti-ringing filter”(配置中的AR)能够有效的抑制振铃效应,相对的也会增加一些性能消耗。
借用一下其他人大量测试并对显卡分级的结果。
CR:Catmull-Rom
AR:activate anti-rining filter
SC:scale in linear light
放大的话,显示器的分辨率为FHD的情况下
推荐SD设置为Level5(有比GTX750TI更强显卡的能尝试更高的等级)
FHD与HD设置为level4
首先谈一下chroma upscaling。
由处理流程可知,这一步得先保证不出什么问题,不然后面的做得再好也没用。
chroma upscaling最好的设置是NNEDI3 16或32(chroma upscaling这里开到NNEDI3 64以上几乎没什么意义,肉眼分辨不出),对显卡性能的消耗,是影像拉伸消耗更大,色度拉伸开销较小。不过在对视觉感受的影响上,影像缩放算法的影响比色度升频运算的影响要大得多。也就是说,改变影像缩放的算法,你比较容易感觉的到差别,改变色度拉伸的算法比较难感受到差别。总的来说,如果显卡不是很好的话,可以设置super-xbr 125,或是Jinc + AR,效果也很不错。
接下来image downscaling部分
madshi跟Doom9版友都公认的最佳演算法组合(resize后最接近原本的画面),使用Catmull-Rom,并勾选””activate anti-ringing filter”(简称AR)跟”scale in linear light”(简称SC)。如果显卡OK的话这部分推荐如此设置。想尝试其他设置的,建议勾选SC以减小亮度的失真。
image doubling,图像倍增。
由于使用image doubling效果比直接用image upscaling好很多,所以说能开的话还是开一下吧。对显卡很有自信的可以开NNEDI3,至于neurons当然是越高越好(当然开销也是越来越大),但64和256的效果差别不大,所以这里最好的设置还是NNEDI3 64 neurons。不过显卡一般的没必要开这么高,可以用NEDI或super-xbr。而据测试观察super-xbr会产生更多的ringing,所以我推荐NEDI。而在图像放大倍数很大时,你也可以通过设置下面quadruple luma/chroma resolution来减小对显卡的负担。例如double中设置是NNEDI3 64 neurons,在quadruple中可以设成16或32 neurons,使得放大4倍时不会直接用两次NNEDI3 64 neurons,减小开销。
最后是image upscaling,图像放大。
假如你已经在image doubling中使用NNEDI3,chroma upscaling和image upscaling都可以使用较节省开销的算法,没有必要坚持使用开销大效果好的算法,因为综合效益并不大,这时建议是chroma upscaling使用Bicubic 75+AR,image upscaling使用Lanczos 3 taps+AR甚至是Bicubic 50+AR。没开启image doubling的推荐用上图的设置(Jinc+AR),显卡吃不消的可以考虑Lanczos 4+AR甚至是Bicubic 50+AR。
需要注意的是在这里不推荐使用SC,因为这样会出现比较明显的aliasing和ringing。
总体上来说,我们应该在播放不卡顿的前提下选择尽可能高的设置。可以通过查看GPU占用率(例如GPU-Z等软件),只要不到90%就应该没什么问题了。
OSD菜单
既然上文提到了各种算法的优劣,那么如何判断我们是不是能够用这种算法呢。那么我们可以借助Ctrl+J(Potplayer)调出的OSD菜单来看。
1.目前的屏幕刷新率。
2.WIN7的AERO作用时会出现此项,类似垂直同步。
3.显示smoothmotion FRC功能是否启用。
4.显示目前为D3D9或是D3D11模式;窗口模式、全屏幕窗口模式(fullscreen windowedmode)、或是全屏幕独占模式(fullscreen exclusive mode)。
5.来源文件的编码、bitdepth和色度信息以及解码器解码完传给madVR的色彩空间、bitdepth和色度信息。
6.影片的帧率。
7.每隔多久会掉1格,这与影片帧数和屏幕更新率的同步程度有关。
8.影片的原始分辨率,以及宽高比
9.源分辨率,和输出分辨率。有四组数字,分别是”left, top, right, bottom”,必须把第三组减第一组 第四组减第二组才是分辨率的”width, height”。
10.当前使用的chroma与image的缩放算法显示。”>”代表放大”<”代表缩小。
11.各个queue是否充满通常能反应硬件是否能负荷,例如decoder queue很低的话表示CPU负荷不了了,render queue很低的话表示显卡负荷不了了。
12.droppedframes与delayed frames为掉帧计数器,若数字一值增加表示硬件无法负荷,请降低设置或找出原因。
根据以上OSD菜单我们可以更客观的判断我们的硬件能否使用上文的配置档,也可以根据OSD菜单找到更适合自己的配置方案。
rendering
generalsetting
1.”delayplayback start until render queue is full”建议勾选,可减少开启影片时的掉帧现象,下面的”delayplayback start after seeking”不建议勾选,勾了拉时间轴会变慢,但是如果跳转后出现掉帧现象,请勾选此项。
2.”enablewindowed overlay”N卡跟I卡可勾可不勾,这功能A卡并不支持勾了也没用。
3.”enableautomatic fullscreen exclusive mode”这个选项勾了会在进入全屏幕时使用独占模式(FSE)。
4.”disabledesktop composition (Vista and newer)”和底下的”only when mediaplayer is in fullscreen mode”,如果有使用全屏幕独占模式的话,就两个都一起勾选;如果没使用全屏幕独占模式的话,就不要勾选(这个选项是播放时或者全屏幕时把win7的AERO关掉)
5.useDirect3D 11 for presentation,勾了会使用D3D11模式,必须显卡跟操作系统支持才能用,而madVR的10bit输出也必须在D3D11跟FSE模式底下才能达成,此外D3D 11模式下从窗口切换到FSE模式速度比较快一些,效率较好。D3D 11模式必须使用AERO,故这里勾选的话”disable desktopcomposition (Vista and newer)”会自动失效。下面的”presenta frame for every VSync”建议勾选,可减少presentationglitches的增加,反之若不勾则能节省一点点性能但有可能presentation glitches会变多。
6.”usea separate device for presentation (Vista and newer)”建议勾选,不过如果N卡勾了发生问题的话可以取消勾选看看有没有改善,另N卡驱动为 301.42 版以前的话不要勾选。
7.”usea separate device for DXVA processing (Vista and newer)”,勾或不勾都可。(此项只有在用到DXVA的场合,如硬件去交错或硬件解码时才有影响)
CPU queue与GPU queue,决定播放时占用的RAM的大小,太大的queue会占用很多的RAM空间,但是太低的queue可能会造成某些渲染耗时较多的画面出现渲染队列帧数骤减到0产生丢帧现象。至于这里的平衡需要大家自己掌握。
我的建议是如果没有使用smooth motion功能的话,这部分维持缺省即可,如果有使用smoothmotion的话,这边可以设到CPU queue 20跟GPUqueue 12,甚至要更大也可以
trade qualityfor performance
这页的选项都是降低品质以换取性能,如果显卡性能够高的话尽可能都不要勾选,如果显卡负载不了的话就从最上面开始勾选。有时候你使用某些算法在播放逐行扫描视频或是软解时没问题,播放隔行扫描开启硬件去交错时或是硬解时显卡却负载不了,这时就可以勾选那几个DXVA(deinterlacing or decoding)的选项,如此显卡就只有在用到DXVA运算时才会降低质量,总之这边的选项低级显卡可以依需要勾选。
这边的选项由上到下依序来看的话:
第1项是跟外挂字幕渲染器xy-SubFilter相关,有使用才有影响。
第2项是使用硬解(DXVA)时,同时使用DXVA的chroma upscaling算法
第3项是使用硬件去交错时,同时使用DXVA的chroma upscaling算法
第4项是跟播放器的自订pixel sharder功能相关,有使用才有影响。
第5项勾选的话dithering运算会用gammalight取代linear light(gamma light在0.87.7之前的版本是缺省使用),取消勾选的话就是使用linear light,linear light能提供较好的色彩还原度。
第6项跟第7项是跟debanding的运作有关,勾选的话会取消一些侦测机制。
第8项是去掉影片的BTB(比黑更黑 指0~15这段)和WTW(比白更白 指236~255这段)的黑位范围信息
第9项是跟smooth motion有关。
第10项跟第11项跟madVR本身的处理精度有关。
第12项跟放器的自订pixel sharder功能相关,一样有使用才有影响。
第13项是跟屏幕校色选项里的yCMS和3DLUT相关,有使用才有影响。
第14项是跟DXVA deinterlacing有关,勾了就不会把60i去交错倍帧成60p而是变成30p
第15项也跟DXVA有关
参考及修改自http://www.tsdm.net/forum.php?mod=viewthread&tid=684928
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。
本文地址:/aigaoji/724.html