@@ -16,9 +16,9 @@ Nlm_core = 1
1616Frame_num = 1
1717Radius_sw = 2
1818Radius_snw = 2
19- Strength = 3
19+ Strength = 3.0
2020GPU = 0
21- ## 分离模式 1=RemoveGrain // 2=Convolution
21+ ## <0|1|2> 分离模式。0为不使用
2222## 降噪核心 1=OpenCL // 2=cpu
2323## 降噪帧数(整数)
2424## 搜索窗口半径(整数)
@@ -28,23 +28,34 @@ GPU = 0
2828
2929cut0 = core.resize.Bilinear(clip=input, format=vs.YUV444P16)
3030
31- if Blur_mode == 1 :
32- blur1 = core.rgvs.RemoveGrain(clip=cut0, mode=20)
33- blur2 = core.rgvs.RemoveGrain(clip=blur1, mode=20)
34- blur3 = core.rgvs.RemoveGrain(clip=blur2, mode=20)
35- if Blur_mode == 2 :
36- blur1 = core.std.Convolution(clip=cut0, matrix=[1, 1, 1, 1, 1, 1, 1, 1, 1])
37- blur2 = core.std.Convolution(clip=blur1, matrix=[1, 1, 1, 1, 1, 1, 1, 1, 1])
38- blur3 = core.std.Convolution(clip=blur2, matrix=[1, 1, 1, 1, 1, 1, 1, 1, 1])
39-
40- diff = core.std.MakeDiff(clipa=cut0, clipb=blur3)
41-
42- if Nlm_core == 1 :
43- cut1 = core.knlm.KNLMeansCL(clip=diff, d=Frame_num, a=Radius_sw, s=Radius_snw, h=Strength, wmode=2, device_type="GPU", device_id=GPU)
44- if Nlm_core == 2 :
45- cut1 = core.nlm_ispc.NLMeans(clip=diff, d=Frame_num, a=Radius_sw, s=Radius_snw, h=Strength, wmode=2)
46-
47- merge = core.std.MergeDiff(clipa=blur3, clipb=cut1)
48- output = core.resize.Bilinear(clip=merge, format=fmt_in)
31+ if Blur_mode == 0 :
32+ blur = cut0
33+ elif Blur_mode == 1 :
34+ blur = core.rgvs.RemoveGrain(clip=cut0, mode=20)
35+ blur = core.rgvs.RemoveGrain(clip=blur, mode=20)
36+ blur = core.rgvs.RemoveGrain(clip=blur, mode=20)
37+ elif Blur_mode == 2 :
38+ blur = core.std.Convolution(clip=cut0, matrix=[1, 1, 1, 1, 1, 1, 1, 1, 1])
39+ blur = core.std.Convolution(clip=blur, matrix=[1, 1, 1, 1, 1, 1, 1, 1, 1])
40+ blur = core.std.Convolution(clip=blur, matrix=[1, 1, 1, 1, 1, 1, 1, 1, 1])
41+
42+ if Blur_mode :
43+ diff = core.std.MakeDiff(clipa=cut0, clipb=blur)
44+ if Nlm_core == 1 :
45+ cut1 = core.knlm.KNLMeansCL(clip=diff, d=Frame_num, a=Radius_sw, s=Radius_snw, h=Strength,
46+ channels="auto", wmode=2, wref=1.0, rclip=None, device_type="GPU", device_id=GPU)
47+ elif Nlm_core == 2 :
48+ cut1 = core.nlm_ispc.NLMeans(clip=diff, d=Frame_num, a=Radius_sw, s=Radius_snw, h=Strength,
49+ channels="AUTO", wmode=2, wref=1.0, rclip=None)
50+ merge = core.std.MergeDiff(clipa=blur, clipb=cut1)
51+ else :
52+ if Nlm_core == 1 :
53+ cut1 = core.knlm.KNLMeansCL(clip=blur, d=Frame_num, a=Radius_sw, s=Radius_snw, h=Strength,
54+ channels="auto", wmode=2, wref=1.0, rclip=None, device_type="GPU", device_id=GPU)
55+ elif Nlm_core == 2 :
56+ cut1 = core.nlm_ispc.NLMeans(clip=blur, d=Frame_num, a=Radius_sw, s=Radius_snw, h=Strength,
57+ channels="AUTO", wmode=2, wref=1.0, rclip=None)
58+
59+ output = core.resize.Bilinear(clip=merge if Blur_mode else cut1, format=fmt_in)
4960
5061output.set_output()
0 commit comments