GrainStabilizeMC v1.0
NMM碗柜:http://nmm.me/z1
我的所有avsi脚本所需滤镜(Requirements)打包下载(文件夹分享):http://pan.baidu.com/s/1Bt2fY
函数名GSMC()
降噪原理和taro大的GrainStabilize类似。
Grain Stablize实现方法和MCAA、MCTD_PP中的MC reduc类似。
主要是把GrainStabilize中处理噪点的temporalsoften替换成了MDegrain,并且支持16bit的输入、处理和输出(分别由参数lsb_in、lsb、lsb_out控制)。
在处理精度上比GrainStabilize高,速度会慢一些(特别是lsb=true时),用于实时处理的话就要看CPU够不够好了。
radius参数的值允许1~3,决定MDegrain处理的temporal radius,越高速度越慢降噪强度越大。
具体的东西见脚本内部,懒得写说明了……
Preset有"Very Fast"、"Faster"、"Fast"、"Medium"、"Slow"、"Slower"、"Very Slow",默认"Faster",只决定mvtools2相关函数的一些参数的质量/速度,由于降噪方法的特殊性,提高Preset对最终结果的影响其实不大……
Y/U/V三个参数控制是否处理3个平面,3为处理,2为不处理,1为完全不管输出的结果。默认Y=3、U=2、V=2,也就是只处理luma。
v0.2
修复bug...
v0.3
代码的改进优化,默认的preset改为"Faster"。
v0.4
修复脚本内将Ymask转为YUVmask时在2.5版Avisynth下不支持mod2的问题。
v0.5
MinBlur优化、一些杂七杂八的小改动及bug修复
v0.7
加入SBR作为默认的noise dumper。修改nrmode参数对应的denoiser,1~3对应SBR的radius,-1~-3对应MinBlur的radius,0为Average Blur。默认对HD源使用2,对SD源使用1。
adapt参数默认值从64改为-1(关闭Luma-Adaptive Mask Merging)。
增加参数tv_range,默认True,当设为False时使用SmoothAdjust进行PC-Range下正确的Bit Depth转换。
Requirements中,RemoveGrain改为RgTools,RemoveGrainHD改为MedianBlur2,增加SmoothAdjust。
v0.8
修正GSMC_sbr()在lsb=True时的错误。
v0.9
由于O16mod对于PC Range下CbCr的改动,相应地改动GrainStabilizeMC内部的bit depth转换函数。
脚本内部的MinBlur在调用MedianBlur时不处理的平面参数设为-256,所以MedianBlur2需要更新至0.94及以上版本才能运行。
v1.0
由于O16mod对于PC Range下CbCr的改动,相应地改动Bit Depth转换函数——将CbCr表达式超界的部分通过线性缩放限制在对应Bit Depth的上界,防止CbCr降低Bit Depth且输出为PC Range时导致Overflow。
修正在adapt=-1时指定Lmaskl clip时并没有进行mask merge的问题。