NMM碗柜
► 显示剧情透露 CSmod 3.4 + CSmod16 1.3
因为是随便搞出来给自己用的,所以也没有写什么完整的说明文档,avsi打开里面会有一些详细的英文注释。
第二页有更新日志。
Contra-Sharpen的基本原理就是,如果有一个源视频clip source,对其进行如降噪、AA、Dehalo等处理后得到clip filtered,这些处理导致视频中细节损失、边缘变模糊,于是通过unsharp的方式对filtered进行锐化(对画面做模糊处理前后的差值再加回源视频就是锐化)。但同时通过source与filtered的差值对这个锐化的差值进行限制(使用Repair的方式),于是能将画面的锐度还原到和source类似的程度但又不超过source,能还原不少的细节。
我这个CSmod里还加入了可以在还原基础上进一步锐化超过source的功能,所以有更好的通用性与效率(原来我想实现这种效果就要用2个LSFmod像是filtered.LSFmod(source=source).LSFmod())。
2012.9.3添加16bit版本,内部全程16bit处理(除了当ss_hq=true时用的nnedi3_rpow2为8bit输入输出,不过我觉得这个没必要所以默认为false),可以减小8bit处理过程rounding error造成的锐化结果不平滑,从实际对比中也能比较明显看得出来区别。更高的处理精度是CSmod16的主要优势,至于是否输入输出16bit对于edge部分并没有那么大区别,对于non-edge部分的话16bit输入输出的意义更大一些(lsb_in和lsb控制输入输出是否为stack 16bit)。
同时thr、thrc、Sovershoot、Sundershoot、Tovershoot、Tundershoot、Soft、strength等参数都改为float,以配合16bit精度(1.0对应16bit下的256)。
另外部分功能未能16bit化于是去除(Soothe)。如果用filter_ss那也是要在16bit下进行处理。
由于内部精度的提升,CSmod16版能将一些CSmod难以增强的细节也增强,相同设置下的锐化强度也明显更高,再加上没有Soothe temporal stabilization,所以对于动画可能会出现一些很细小的锯齿,这时可以选择开启Tlimit=true,让输出的结果更加柔和,时域上也更稳定。
CSmod主要特点以及相比LSFmod的主要区别:
(CSmod16大部分特性和CSmod一致,但个别会有区别而且预设值也有所不同,详细请见avsi脚本中的注释)
► 显示剧情透露 CSmod主要特点
► 显示剧情透露 Sharpener speed test
一些简单的用法示例:
AA的最简单方法:在CSmod内做1.5倍的super sampling并做SangNom式的AA,只处理luma不处理chroma,并且锐化强度不超过输入的clip,使用filter_ss="AA"时CSmod会自动设置preblur=0, Smethod=1, edgemode=1, edgemask=7, Repmode=13。通过增大ss_w和ss_h可以减弱AA强度。
CODEBOX_PLUS_CODE: [全选]
[CODEBOX_PLUS_EXPAND/CODEBOX_PLUS_COLLAPSE]
CSmod(chroma=false, ss_w=1.50, ss_h=1.50, thr=0, filter_ss="AA")
CODEBOX_PLUS_CODE: [全选]
[CODEBOX_PLUS_EXPAND/CODEBOX_PLUS_COLLAPSE]
CSmod(chroma=false, ss_w=1.50, ss_h=1.50, thr=2, filter_ss="AA")
CODEBOX_PLUS_CODE: [全选]
[CODEBOX_PLUS_EXPAND/CODEBOX_PLUS_COLLAPSE]
CSmod(chroma=false, ss_w=1.50, ss_h=1.50, strength=80, limit=false, Slimit=true, Tlimit=true, filter_ss="AA")
CODEBOX_PLUS_CODE: [全选]
[CODEBOX_PLUS_EXPAND/CODEBOX_PLUS_COLLAPSE]
CSmod16(lsb_in=false, lsb=false, chroma=false, edgemode=1, Tlimit=true)
CODEBOX_PLUS_CODE: [全选]
[CODEBOX_PLUS_EXPAND/CODEBOX_PLUS_COLLAPSE]
source = last
denoised = source.dfttest(sigma=4.0, sigma2=4.0, lsb_in=true, lsb=true, Y=true, U=true, V=true)
denoised.CSmod16(source, preset="detail", lsb_in=true, lsb=true, chroma=true, mergesrc=true)
denoised = source.dfttest(sigma=4.0, sigma2=4.0, lsb_in=true, lsb=true, Y=true, U=true, V=true)
denoised.CSmod16(source, preset="detail", lsb_in=true, lsb=true, chroma=true, mergesrc=true)
所以如果你想要输入两个clip来使用Contra-Sharpen进行还原,下面的例子中就必须指定两个clip参数last和source,而不能将last省略,否则(只输入一个clip参数source)CSmod16是将其作为clip filtered输入而不是clip "source",那么等于这里的dfttest完全没有起到作用。
CODEBOX_PLUS_CODE: [全选]
[CODEBOX_PLUS_EXPAND/CODEBOX_PLUS_COLLAPSE]
source = last
dfttest(sigma=4.0, sigma2=4.0, lsb_in=true, lsb=true, Y=true, U=true, V=true)
#Wrong# CSmod16(source, preset="detail", lsb_in=true, lsb=true, chroma=true, mergesrc=true)
last.CSmod16(source, preset="detail", lsb_in=true, lsb=true, chroma=true, mergesrc=true) #Correct#
dfttest(sigma=4.0, sigma2=4.0, lsb_in=true, lsb=true, Y=true, U=true, V=true)
#Wrong# CSmod16(source, preset="detail", lsb_in=true, lsb=true, chroma=true, mergesrc=true)
last.CSmod16(source, preset="detail", lsb_in=true, lsb=true, chroma=true, mergesrc=true) #Correct#
CODEBOX_PLUS_CODE: [全选]
[CODEBOX_PLUS_EXPAND/CODEBOX_PLUS_COLLAPSE]
CSmod16(preset="grain", lsb_in=true, lsb=true, chroma=false, Tovershoot=2.0)