作者web2312 ()
看板AVEncode
标题Re: [请问] MPC的ffdshow是不是比LAV的解码效果好啊?
时间Mon Mar 9 02:58:26 2015
※ 引述《roex0608 (BorEXE)》之铭言:
: 会这麽说是因为我最近才知道ffdshow有所谓的一个去断层(或叫色带)的功能
: http://i.imgur.com/lX6VlpX.jpg
: 以往我看影片在进入画面很昏暗的场景的时候,都会有很多色带产生的现象,开启这
: 功能後能够有效减轻这个现象,见效果
: http://i.imgur.com/6w7ZQAN.jpg
: 有色带↑
: http://i.imgur.com/lpp6vtH.jpg
: 去色带後↑
: http://i.imgur.com/UyPtqu8.jpg
: 有色带↑
: http://i.imgur.com/YH03OTb.jpg
: 去色带↑
: http://i.imgur.com/KVUVMsJ.jpg
: 有色带↑
: http://i.imgur.com/IZUYNx9.jpg
: 去色带↑
: 这功能真是解决我长年以来的疑问,我一直以为这是我电脑配置太渣的问题,原来是可以
: 改善的
以动画片源来说,主要是压制时压缩与量化造成渐层资讯失真,这可以透过调整
压制参数与使用10-bit精度编码来减少色带的产生,但高压缩设定时
能减少的色带还是有限,所以除了选择较好的片源(高压制品质)外,可以透过
去色带的後处理来进行修饰与还原,另外,有些片源是本身就包含色带,
因此为避免色带被直接压进去,会在压制串列前加一段前处理作业来去色带与修复,
而有些压制组则重视原始片源原始呈现,不做额外的"美工",所以您会看到压制
出来的画面纵使流量与压制设定很高,还是会有色带的出现。
: 我看LAV解码器就没有这种功能,那为何官方的安装预设要用LAV呢?LAV有何优势吗?
首先,这个功能是属於後处理(Post-processing),通常不在一般解码的程序中,
解码器做完视讯解码後,才让输出的影像经过一连串filter进行後处理,
包括像是您ffdshow上看到的Resize,灰阶调整等等,到SVP这类的东西
都可以称作後处理。
ffdshow提供的去色带与缩放两个後处理功能可以完全由madVR取代,
除了算法较好提供更好品质之外,madVR直接负责最後rendering的工作,
角色上来看,madVR比ffdshow更适合进行後处理,且若您的显卡不错,
它能分摊CPU与GPU的使用率。
以下我做了测试来比较ffdshow与madVR的deband品质,
-ffdshow设定部分
http://i.minus.com/iEX8odZbOoyJ9.png
(去色带使用预设值)
http://i.minus.com/ibtcmubjfzmNtk.png
(为了最好的效果,将ffdshow输出强制指定为RGB32)
http://i.minus.com/ibfWwtqENJy7jr.png
(使用高品质YV12转RGB,并套用混成(dithering))
-madVR设定部分
http://i.minus.com/ivjjDV5P9rJjM.png
(去色带使用中等(适应性判定))
http://i.minus.com/iBZhEsdcg3hPE.png
(品质设定除了dither算法不使用OpenCL Error Diffusion外全开)
PS: 测试使用的madVR版本为0.87.4,非最新版本,但不会影响测试结果
Result
-原始影像
http://i.minus.com/ib24sZpa0QIVxs.png
(8bit YV12 BT709 1280x720 256灰阶)
-ffdshow
http://i.minus.com/ifY5lK9ThLx89.png
-madVR
http://i.minus.com/iOrlZJhsUMdQ1.png
ffdshow与madVR去色带皆开大时,结果如下
Result
-ffdshow
http://i.minus.com/irnAS581JNyjJ.png
(门槛6,半径16)
-madVR
http://i.minus.com/igdLOCmjoYNhW.png

(去色带双选项High)
您可以看到使用中等设定时,madVR的去色带算法已将色带去的差不多,
而ffdshow仍有一些未去乾净。
使用较强设定时,madVR几乎完全将色带去除,而ffdshow也将色带除的差不多,
但ffdshow出现了一些图像失真(artifacts)。
您可以看到madVR去除色带的品质较ffdshow自带的去色带功能好,
LAV虽然没有ffdshow的一些後处理功能,但在单纯输出解码影像的部分十分称职,
且LAV的开源计划目前处於活跃的状态,新的版本持续在对解码效率优化,并支援
更多功能,ffdshow则已成熟更新次数较少,基本上相对较不活跃,详细您可以查看
LAV与ffdshow的changelog。
从结果来看欲获得高品质输出 madVR + LAV是最佳组合,若原PO GPU不够力的话
再考虑使用ffdshow的後处理滤镜,而除了ffdshow自带的後处理滤镜外,ffdshow
也可使用AviSynth脚本外挂做即时运算,您只要安装AviSynth与需要的滤镜即可,
其中比较接近madVR去色带品质的AviSynth filter是flash3kyuu_deband,根据madVR
作者在讨论版的说明,madVR去色带是以flash3kyuu_deband的算法为基础,因此您若
使用f3kdb(该滤镜的简称),或许可以获得类似madVR去色带的效果,除了f3kdb外,您也
可以试试GradFun2db等,AviSynth有许多的处理filter可以玩,压制影片时的前处理
也常会用到这些滤镜,对於压制影片的人来说,如何使用这些滤镜压出
最佳效果是一门学问xd
PS: 关於截图中,应用程式的标题列内容会有 [#] 符号包起来是因为使用了
沙盒来执行程式,在沙盒中执行程式可以避免里面的程式影响到沙盒外
"真实世界"的运作情况与设定,简单来说就是试爆场,若怕一些奇怪的
软体搞坏电脑,或者需要同个软体多种不同设定互不干涉,可使用沙盒。
PS2: 测试使用的影片是透过AviSynth脚本以一张256灰阶的PNG图片档为来源,
将其放大至1280x720,并由RGB转为YV12连续影像,因为影像由
RGB full range压缩成YV12 tv range,精度下降之下无法呈现原本的
256灰阶,我们透过在这个过程中产生的色带影像来进行去色带测试。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.43.114.46
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AVEncode/M.1425841112.A.EE7.html
※ 编辑: web2312 (114.43.114.46), 03/09/2015 03:18:40
1F:→ roex0608: 不行啊!我一开madvr,影片就整个卡住了,果然是我的GPU 03/09 11:26
3F:→ roex0608: 我还是用AVS滤镜好了 03/09 11:26
4F:推 s25g5d4: 这配备...你还是用 ffdshow 好了 03/09 21:40
5F:推 johnmeng82: 感谢web大的详细解说。在下在这之前只知道用预设的EVR 03/14 11:29
6F:→ johnmeng82: 现在改用madVR,并在网路上爬文参考设定,画面变漂亮 03/14 11:30
7F:→ johnmeng82: 不只一个档次。 03/14 11:31
8F:推 johnmeng82: 顺便附上小弟爬到的教学文,解说很直白也很详细: 03/14 11:33
10F:推 pussycat2009: 推教学文 03/14 18:01
11F:推 goldie: 很棒的介绍与教学文,推~ 03/16 17:39