I want to do this partly as a learning exercise and partly to cater to my script creating laziness, but is this possible/easy?
I've been using the following in a script for light noise removal and it seems to work fairly well considering it's fairly fast.
tr = 1 # Temporal radius
mt = true # Internal multithreading
lsb = false # 16-bit
thSAD = 200 # denoising strength
blksize = 16 # block size
overlap = 4 # block overlap
super = MSuper (mt=true)
multi_vec = MAnalyse (super, mt=true, multi=true, blksize=blksize, overlap=overlap, delta=tr)
MDegrainN (super, multi_vec, tr, mt=true, lsb=lsb, thSAD=thSAD, thSAD2=150)
What I'm curious about, is whether it's possible to turn it into an avsi script I can stick in the plugins folder, then just use MDGrainN() in a script to run it. Ideally I'd like to be able to include one variable, the denoising strength, so as an example I could use MDGrainN in a script something like this:
It's easy enough to copy and paste everything into a script when creating it, but would turning it into an avsi script which auto-loads be hard to do?
+ Reply to Thread
Results 1 to 3 of 3
Thread: Any avisynth script experts?
why re-invent the wheel? put smdegrain.avsi into the plugins folder - which has all those options and more
you can adjust the "default" settings if you want, or modify it however you want but be careful not to distribute it without clearly explaining the changes or what "mods" were made (otherwise it can be difficult to track down issues) . For example you can rename it hello_hello_degrain() and use your specified default settings
I didn't know smdegrain existed. I guess that's where the degraining I'm using came from originally. I found it in a thread at doom9. I have smdegrain.avsi now.
Thanks for that!