SHOW:
|
|
- or go back to the newest paste.
1 | - | # 2018.07.13 |
1 | + | # 2019.02.19 |
2 | # VHSHaloremover with high bit support, need masktools 2.2.17 or up in avs26 and avs+ | |
3 | Function VHSHaloremover(clip input, int "xradius", int "yradius", int "darkthr", int "brightthr", float "blurmix") | |
4 | { | |
5 | - | ssispmt = Findstr(VersionString(), "AviSynth+") != 0 && Findstr(VersionString(), "r1576") == 0 |
5 | + | sisphbd = AvsPlusVersionNumber > 2294 |
6 | - | sislumaonly = ssispmt ? input.isy() : VersionNumber() < 2.6 ? true : input.isy8() |
6 | + | sislumaonly = sisphbd ? input.isy() : VersionNumber() < 2.6 ? true : input.isy8() |
7 | - | sislumaonly ? input : ssispmt ? input.converttoy() : input.converttoy8() |
7 | + | sislumaonly ? input : sisphbd ? input.converttoy() : input.converttoy8() |
8 | h = Height () | |
9 | w = Width () | |
10 | xradius = Default(xradius, 8) | |
11 | yradius = Default(yradius, 1) | |
12 | darkthr = Default(darkthr, 122) | |
13 | brightthr = Default(brightthr, 134) | |
14 | blurmix = Default(blurmix, 0.8) | |
15 | cy = BicubicResize (w / xradius, h / yradius, 1, 0).BicubicResize (w, h, 1, 0) | |
16 | cmd = mt_makediff (cy) | |
17 | cm = VersionNumber() < 2.6 ? cmd.mt_lut ("x "+String(brightthr)+" > 255 x "+String(darkthr)+" < 255 0 ? ?") | |
18 | \ : cmd.mt_lut ("x "+String(brightthr)+" scalef > range_max x "+String(darkthr)+" scalef < range_max 0 ? ?", use_expr=2) | |
19 | cr = last.Merge (cy, blurmix) | |
20 | mt_merge (last, cr, cm, y=3, u=2, v=2) | |
21 | - | sislumaonly ? last : ssispmt ? CombinePlanes(last,input,planes="YUV",sample_clip=input) : ytouv(input.utoy8(),input.vtoy8(),last) |
21 | + | sislumaonly ? last : sisphbd ? CombinePlanes(last,input,planes="YUV",sample_clip=input) : ytouv(input.utoy8(),input.vtoy8(),last) |
22 | } |