Pastebin http://pastebin.com/Zj4GMDxG
Requirements: masktools v2.0a48, dither v1.26.1, nnedi3 v0.9.4, SmoothAdjust v3.00, eedi3-0.9.2, RgTools, FTurn v1.4 (*)
(*)插件不必要 但可提速
使用和nnedi3相关的edimode时 强烈不建议同时设置nns=4 nsize=3 qual=2 这样很容易rp 所以我加了repair 这样设置速度会很慢
其实就是由mawen1250大大的nnedi3_resize16做了很小的改动 本来注意到sigmoid这个东西整合进去的时候在想 反正要改不如多改一点方便使用
所以和nnedi3_resize16相比 做了如下改动
1 加入了sigmoid曲线相关参数 默认为true 在进行gamma aware resize时 此功能可以避免出现黑色的halo 参数分别为 bool "sigmoid", float "gthr", float "cont" gthr就是dither文档中的thr参数 因为thr已经被占了...所有只好起个新名字
2 有5种edi模式可选
(1) eedi3
(2) nnedi3
(3) eedi3+nnedi3
(4) eedi3_repaired #在eedi3后面repair了一个nnedi3 如果使用eedi3模式出现奇怪的artifacts而且无论怎样调整eedi3的参数效果都无法满意 尝试此模
(5) nnedi3_repaired #在nnedi3后面repair了一个eedi3 个人不知道这个模式有什么用 先留着再说 也许有特殊用途
(6) eedi3+nnedi3_repaired #在eedi3+nnedi3后面repair了一个nnedi3 作用同上 (4)#
edi模式由string "edimode", int "repmode", int "repmodeu", int "repmodev"参数控制
edimode控制edi模式 默认eedi3 repmode/~u/~v 为以nnedi3作为repair时的repair mode参数 默认13
3 去除了sharp 这个我使用可能性为负值的参数 去除了dither lsb_in lsb参数 和dither_resize16一样resize时只接受16bit输入 16bit输出 颜色空间转换支持16bit yuv输入 rgb48和rgb24/rgb32输出 转为8bpc rgb时降低位深算法为rounding 因为rgb32已经基本看不到banding 使用dither作用不大 还会增加噪声 和yuv相关的所有颜色空间16bit输出 去除y u v参数 非y8输入直接处理所有平面 y8输入只处理y 去除了mixed参数 使用edi算法和dither_resize16 同nnedi3_resize16中的mixed=true
用法同mawen大的nnedi3_resize16 请参考此贴
https://nmm-hd.org/newbbs/viewtopic.php?f=7&t=1117
sigmoid曲线的效果
原始图像1280x720 在rgb下使用gamma aware resize缩小为640x360 并指定sigmoid=false 出现黑色的锯齿状halo(人物的手臂和额头边缘很明显) 就像mawen120在这个帖子 (https://nmm-hd.org/newbbs/viewtopic.php?f=5&t=1286) 里面提到的问题
代码: 全选
hybrid_edi_resize16 (output="rgb48y")
hybrid_edi_resize16 (640,360,curve="709",lsb_in=true,lsb=true,sigmoid=false)
dither_convert_rgb_to_yuv (selectevery (3,0),selectevery (3,1),selectevery (3,2),lsb=true,output="yv24")
ditherpost (mode=6)
代码: 全选
hybrid_edi_resize16 (output="rgb48y")
hybrid_edi_resize16 (640,360,curve="709",lsb_in=true,lsb=true)
dither_convert_rgb_to_yuv (selectevery (3,0),selectevery (3,1),selectevery (3,2),lsb=true,output="yv24")
ditherpost (mode=6)
v 2.2
mclip参数改变为bool型 默认为false
当mclip=true时自动生成edgemask作为mclip输入eedi3进行提速
v 2.1
仔细尝试了nnedi3的参数以后修改了启动repair的条件
改为了同时满足nns=4,nsize=3,qual=2时 将启动repair进行瑕疵修复
v 2.0
其实功能上前面基本没什么差别 但是我把整个脚本基本重写了 目的是熟悉一下avs函数的写法
函数名称改为ediresize16
去除了dither lsb_in lsb y u v mixed参数
thr参数改为lthr 为了和dither_y_linear_to_gamma中的thr区别
使用nsize=3时 所有和nnedi3有关的edimode自动repair消除瑕疵 nnedi3_repaired模式似乎已经无存在必要 但还是先留着
repmode/~u/~v 默认值改为13
v 1.1
找到了形成artifacts的原因 默认值修改
新增edimode="nnedi3_repaired"
dh函数优化提速
typo修正
v1.0
Release