Log in

View Full Version : Simple MDegrain Mod - SMDegrain() Mod v1.8d


Pages : [1] 2

Dogway
24th December 2011, 14:20
EDIT (2021): New SMDegrain and more over this thread (https://forum.doom9.org/showthread.php?t=182881)

This is just a wrapper for mdegrain, nothing fancy or magical. Just convenient automatizations for common tasks to get things done fast and in good quality, without forgetting some flexibility too. I created this based off my needs, and evolved from there. I took Caroliano's smdegrain (http://forum.doom9.org/showthread.php?t=152326) as a base to build it because I also wanted something simple to use and straight to the point.

The main features of this function are:

High bitdepth denoising
Higher temporal radius (tr>3)
Contrasharpening
Interlaced support
YUY2 support
Motion Vectors Globals Input/Output
RefineMotion Option (MRecalculate)
+some more little options and any combination of the above supported.


Everything is OFF by default so you just type smdegrain() and it works, but as soon as you start setting more parameters on you will find to need more plugins and scripts. To run it you will need at least mvtools2 and masktools2. Read on dependencies to know more.

Introduction deserves a good read to understand not only the parameters but overall mvtools2 behaviour from what I have experiencied and read over the forums.
This is my biggest function script I have done so I'm sure many things are wrong or can be improved for code efficiency, this is one reason I post it here. I'm not sure if it was right to add YUY2 and Globals support, as it adds lots of code without a meaningful gain on quality or possibilities. I might rethink its inclusion...
I have to specially thank cretindesalpes for bearing my incesant questions related to this. Eagerly awaiting MT : )

enjoy!

SMDegrain() Mod v1.8d (http://www.mediafire.com/?2ezelmw4aa65b3x) (18-01-2012)

http://img195.imageshack.us/img195/2640/showv18d.png



Changelog

v1.8d: - Added automatic dark protection for prefilter=3 (dfttest performs badly in darks) v1.71d
- Fixed chroma variable when chroma=false, from 2 (copy chroma) to 1 (discard chroma) v1.71d
- Explanation and cosmetics v1.71d
- Added acknowledgments and updated explanation
- Added brackets to all functions (it has been reported to cause problems on occasional circumstances) (http://forum.doom9.org/showthread.php?p=1515886#post1515886)
- Reworked and fixed the parameters panel. Now you have a color guide to have an idea on what to tweak depending on selected mode in Show. For strings: "Speed", "Memory" and "Quality"
- Optimized lsb_in for over 720p HD resolutions which was causing memory hogs
- Fixed contrasharpening for YUY2 sources when lsb=true
- Fixed some inconsistencies for YUY2 sources when prefilter=3 and extended protection a bit

v1.7d: - Fixed and extended introduction explanation v.1.61d
- Fixed some issues for Globals=1 (Read) in relation to lsb_in and luma expansion auto-prefilter v.1.61d
- Added mild gauss blur prefilter option as prefilter=1. Consequent modes are displaced v.1.61d
- Changed prefilter 1 and 2 to Minblur (Gauss/Median combination) v.1.63d
- Updated MinBlur function v.1.62d and v.1.66
- Code tidied up v.1.62d
- Updated luma expansion, now you can enhace darks (with 'Str' and 'Amp') in the same step as the TV->PC conversion stage, thus +optimized, +quality. v.1.63d by cretindesalpes (http://forum.doom9.org/showthread.php?p=1548318#post1548318)
- Removed pre_custom. Now use prefilter to load a prefiltered clip, as well as modes 0~3
- Added Show parameter. Now you can see the used and default parameters along the prefilter clip as well
- Fixed one note related to prefilter clip input for interlaced content

v1.6d: - Fixed and extended introduction explanation
- Fixed Ditherpost for interlaced sources
- Fixed a broken reference for reading MRecalculate globals when tr>3
- Fixed a Globals=1 MSuper automatization
- Fixed a plane processing bypass when chroma=false
- Added LSFmod as optional contrasharpening (slower, but biased contrasharpening and probably better depending on source)
- Added default luma expansion auto-prefilter for motion search (16% more values)
- Added YUY2 support
- Added the 'mode' parameter of ditherpost()
- Added support for interlaced temporal radius up to 6

v1.5d: - Changed "srchSuper" Global variable to "QTGMC_srchSuper", compatible with QTGMC. Anyhow you may probably want to create a new super clip. Test it out! v.1.41d
- Introduction spelling and presentation v.1.42d
- Added lsb and lsb_in for prefilter=2 (dfttest) v.1.43d & v.1.44d
- Some better definitions for the settings help v.1.45d
- pelclip is now subpixel = 3 ('sharp' parameter before) v.1.45d
- Other minor tweaks v.1.45d
- Fixed an important issue when using prefilter with subpixel=3 ('pelclip' parameter before)
- Optimizations in ditherpost for chroma
- Changed rfilter (hierarchical levels smoothing/scaling) from default 2 to 4. Better results in my judge
- Some more little tweaks in code and introduction

v1.4d: - Added pelclip option for top quality subpixel interpolation when pel > 1
- Changed QTGMCV parameter to Globals, and added a bunch of new features like vectors output from smdegrain()
- Big introduction and code optimization tweaks

v1.3d: - Fixed an important issue on the Interlaced parameter and improved overall handling (v.1.21d & v.1.3d)

v1.2d: - Added Interlaced parameter, for processing interlaced sources
- Some introduction and code optimization tweaks (v.1.12d & v.1.2d)

v1.1d: - Implemented MDegrainN for tr > 3, from the MVTools2 mod of Dither
- Minor introduction and code optimization tweaks

v1.0d: - Added CClip parameter. Reference an earlier stage of your processing chain as your sharp version for the contrasharpening

v0.9d: - Added QTGMCV parameter, for reusing vectors from QTGMC bob deinterlacer

v0.8d: - Fixed a few things related to the lsb_in option
- Minor introduction and code optimization tweaks

v0.7d: - Implemented "fake" lsb_in option. Output will have slightly more quality (if any), and will compress better. (Experimental)
- Fixed a not passed argument in the hpad, vpad parameters

v0.6d: - Minor introduction and code optimization tweaks

v0.5d: - Added dfttest option for preblur (now prefilter) option. Slower but better due to its internal deblock+denoise operation, plus sharper results
- Added pre_custom option for the prefilter process, define here a denoised clip as your prefiltered version
- Updated the introduction help

v0.4d: - Added preblur option for slight vector blurring where motionmatch is bad (http://forum.doom9.org/showthread.php?t=161594)
- Added RefineMotion parameter for better motion vectors. Based off Killer() (http://forum.doom9.org/showthread.php?p=1266572#post1266572)
- Added parameters "lsb" and "lsb_out", for the MVTools2 mod version of cretindesalpes' Dither (http://forum.doom9.org/showthread.php?p=1386559#post1386559)
- Other minor aesthetics and performance adjustments

v0.3d: - Fixed plane (for MDegrain) and added chroma (for MAnalyse) parameters

v0.2 : - Added introductory section
- Added more parameters

v0.1 : - Basic working version
- Not released

Anacletus
6th January 2012, 11:47
Hi Dogway,

i'm getting an error while trying to use your function with these settings:

smdegrain(tr=6,thSAD=200,contrasharp=true,refinemotion=true,lsb=true, prefilter=3)

The error is --> http://thumbnails65.imagebam.com/16829/ffe2ef168282069.jpg (http://www.imagebam.com/image/ffe2ef168282069)

Any clues?

If i use options 1 or 2 for the prefilter parameter it works, as well as i remove the parameter entirely. :thanks:

Dogway
6th January 2012, 12:35
It works for me in v.1.61, are you using this one?
in v.1.6, prefilter=3 requires a pre_custom clip which must be supplied. It's the same as prefilter=4 in v.1.61

I might write some error proof code for this in later revisions.
Anyway I recommend using the latest version as it fixes a few important things.

If it's not this or you are using already v.1.61 tell me what is your source input for smdegrain. I work in avisynth 2.58 so I can't give advices if it's a v.2.6 related issue.

Anacletus
6th January 2012, 12:41
It works for me in v.1.61, are you using this one?
Yes, meanwhile i found the issue, i had two different versions of the function in my plugin folder My bad. :o.

Leaving only the latest solved.

:thanks: for the support and for the cool function

tormento
14th January 2012, 10:10
Ok, I have tried to apply SMDegrain multiple times to a noisy clip.

Reference test from BD sample:

SetMTMode(5)
SetMemoryMax(1000)
LoadPlugin("D:\eseguibili\media\dgdecnv\DGDecodeNV.dll")
DGSource("E:\in\2_28 Tora tora tora (extended japanese)\tora.dgi")
CompTest(1)
ChangeFPS(last,last,true)
SetMTMode(2)
SMDegrain (tr=6,PreFilter=1,contrasharp=false,lsb=true,mode=6)

Output file: 61.971.031 ~ 5.87 fps

First try:

SMDegrain (tr=6,PreFilter=1,contrasharp=false,lsb=true,mode=6)
SMDegrain (tr=6,PreFilter=1,contrasharp=false,lsb=true,mode=6)

Output file: 44.545.178 ~ 2.66 fps

Second try:

SMDegrain (tr=6,PreFilter=1,contrasharp=false,lsb_out=true,Globals=2) # globals 2, process+export
SMDegrain (tr=6, contrasharp=false,lsb_in =true,Globals=1,mode=6)

Output file: 46.896.765 ~ 1.41 fps

Well, I suppose the increased file size is because of less detail loss as same vectors are used but why the speed is decreased so much?

Dogway
14th January 2012, 17:37
SMDegrain (tr=6,PreFilter=1,lsb=true,mode=6)
SMDegrain (tr=6,PreFilter=1,lsb=true,mode=6)

585 sec 0.560 fps
809 sec 0.404 fps
804 sec 0.406 fps


SMDegrain (tr=6,PreFilter=1,lsb_out=true)
SMDegrain (tr=6, lsb_in =true,mode=6)

576 sec 0.567fps
928 sec 0.352fps
940 sec 0.348fps


SMDegrain (tr=6,PreFilter=1,lsb_out=true,Globals=2)
SMDegrain (tr=6, lsb_in =true,Globals=1,mode=6)

259 sec 1.263fps (let's except this one since it was my first run after PC boot)
433 sec 0.755fps
581 sec 0.563fps



I did 3 runs for each on a SD source. As you can see using globals is faster than without.
In my case (probably not in yours) it is also faster than the double smdegrain line, it makes sense because in the second instance you don't do any internal(or external) prefilter and don't calculate any motion vectors, but I can't assure this for all the sources as there are many variables in play. But definitely faster than same code without globals.

If you want to cut down times further try hpad=0, vpad=0, or chroma=false, although I had problems (http://forum.doom9.org/showthread.php?p=1551305#post1551305) with this one recently. You can also try plane=0 (to process only luma) or lower the tr value to 3 or 4.

Let me note that lsb_in is experimental code, use under test environment.

tormento
14th January 2012, 19:47
Would you please try with MT such as my script and possibly on a HD source?

Dogway
14th January 2012, 20:01
My laptop is not too powerful core 2 duo 2.53Gh but I'm using multithreading, post a small snippet of the source to test

TheProfileth
14th January 2012, 23:26
Thankyou Dogway I am continually happy for your frequent improvement on this, specially since I actually am using this as a part of my newest filter that is to be released relatively soon-ish.

tormento
15th January 2012, 12:14
Here (http://www.mediafire.com/download.php?62t2g3bnh7rvsy4)you are. This is a clip of the movie, not the CompTest I used. I'll post the results here as soon as I'll finish them.

EDIT1: Ok, some results:

SetMTMode(5)
SetMemoryMax(1000)
LoadPlugin("D:\eseguibili\media\dgdecnv\DGDecodeNV.dll")
DGSource("E:\raw\2_28 Tora tora tora (extended japanese)\tora.dgi")
#CompTest(1)
ChangeFPS(last,last,true)
SetMTMode(2)
SMDegrain (tr=6,PreFilter=1,lsb=true,mode=6)

39.500.299 ~ 7,44 fps

SetMTMode(5)
SetMemoryMax(1000)
LoadPlugin("D:\eseguibili\media\dgdecnv\DGDecodeNV.dll")
DGSource("E:\raw\2_28 Tora tora tora (extended japanese)\tora.dgi")
#CompTest(1)
ChangeFPS(last,last,true)
SetMTMode(2)
SMDegrain (tr=6,PreFilter=1,lsb=true,mode=6)
SMDegrain (tr=6,PreFilter=1,lsb=true,mode=6)

25.500.848 ~ 3,02 fps

Your other two scripts doesn't almost even start…

EDIT2: Even tried to use AviSynth 2.6MT. No success to encode the two "advanced" scripts. The working ones are a bit slower.

Overdrive80
15th January 2012, 16:20
Thanks for your work, is cool ^^

Dogway
15th January 2012, 18:52
@Tormento: It's a memory hog produced by next line. (loading lsb_in)
Dither_merge16_8(inputY,output,DitherBuildMask(inputP.ditherpost(mode=-1,u=Chr,v=Chr),output.ditherpost(mode=-1,u=u,v=v)))
As you see it worked for me for SD, it has problems for HD. The code is correct (although lsb_in is a hack) so it might work in more powerful systems. Anyways I have an alpha version of v.1.7.2 but I'm gonna wait until I find a workaround for this code to make it usable on HD sources in low end systems. There's also a possiblity the limiter is avisynth, I'm not sure.

Despite this (and until I find a workaround) using tr=6 is probably too much and unnecesary for HD sources. cretindesalpes is working in making the motion analysis multithreading so we can expect a processing boost when he releases a new version of mvtools2 mod with this. Meanwhile the next lines are more realistic (although they still present the memory hog in my system):

Crop(0, 134, -0, -132)
SMDegrain (tr=3,PreFilter=1,lsb_out=true,Globals=2,hpad=0,vpad=0,chroma=false,plane=0)
SMDegrain (tr=3, lsb_in =true,Globals=1,hpad=0,vpad=0,chroma=false,plane=0,mode=6,show=false)
(then process chroma spatially)

Also DGSource might work better with setmtmode(2,x).
Thanks for reporting these kind of issues, otherwise I wouldn't know what else to update, the function is pretty much finished to my eyes.

tormento
15th January 2012, 19:44
Dogway, I own a 2600k@5GHz with 16GB of ram. Not really a low end system ;)

Dogway
15th January 2012, 20:39
There's also a possiblity the limiter is avisynth, I'm not sure.

Then as I said it's avisynth. I have read it has an internal limit of 2Gb. Nothing else I can say or do besides supplying a hack workaround.

My 2 liners code is the same as the next block, so if that doesn't work, this won't either.

chroma=false
plane=0
chr=chroma?3:1
a=minblur().Dither_Luma_Rebuild(lsb =true,uv=chr,S0=2.0)
super_search=a.MSuper(chroma=(chroma || plane!=0) ? true : false,hpad=0,vpad=0,pel=1)
vmulti = super_search.MAnalyse( multi=true,overlap=8,blksize=16,search=4,chroma=chroma,delta = 3)
MDegrainN(super_search, vmulti, 3, thSAD2=200,thSAD=400,plane=plane,lsb=true)

inputY=last
ditherpost(mode=6)

super_search=MSuper(chroma=(chroma || plane!=0) ? true : false,hpad=0,vpad=0,pel=1)
MDegrainN(super_search, vmulti, 3, thSAD2=200,thSAD=400,plane=plane,lsb=true)

Dither_merge16_8(inputY,last,DitherBuildMask(inputY.ditherpost(mode=-1,u=chr,v=chr),ditherpost(mode=-1,u=chr,v=chr)))
ditherpost(mode=6)

tormento
15th January 2012, 20:53
The last resource would be get a x64 compile of the modified MVTools.

Dogway
15th January 2012, 21:11
If avisynth has a limit of 2Gb I don't know how mvtools2 by being x64 is going to bypass that... I think its a limit of avisynth by design.

But the problem in your case is not mvtools, the trigger of the memory hog is the Dither tools in the Dither_merge16_8() line. I will have a look to see what can I do in the next few days.

For the time being just remove the lsb_out/lsb_in arguments for over 720p sources:

Crop(0, 134, -0, -132)
SMDegrain (tr=3,PreFilter=1,lsb=true,Globals=2,hpad=0,vpad=0,mode=6)
SMDegrain (tr=3, lsb=true,Globals=1,hpad=0,vpad=0,mode=6)
This should work, even if you want to use tr=6.

tormento
16th January 2012, 21:10
For the time being just remove the lsb_out/lsb_in arguments for over 720p sources
It works ;)

26.020.775 ~ 3.87 fps

mastrboy
16th January 2012, 21:48
cool script, but not sure if the name fits anymore with "Simple"... ;)

tormento
18th January 2012, 10:01
Ok, as x264 2145 is out, I have done the tests again with the clip I provided. SMDegrain is an alpha version of 1.8. The common part of the code is:
SetMTMode(3)
SetMemoryMax(768)
LoadPlugin("D:\eseguibili\media\dgdecnv\DGDecodeNV.dll")
DGSource("E:\raw\2_28 Tora tora tora (extended japanese)\tora.dgi")
ChangeFPS(last,last,true)
SetMTMode(2)
Remaining lines and tests follows:
SMDegrain (tr=6,PreFilter=1,lsb=true,mode=6)
47.242.772 @ 7,08 fps ~ 100% CPU usage
SMDegrain (tr=6,PreFilter=1,lsb=true,mode=6)
SMDegrain (tr=6,PreFilter=1,lsb=true,mode=6)
29.238.914 @ 2,91 fps ~ 50% CPU usage
SMDegrain (tr=6,PreFilter=1,lsb=true,Globals=2,hpad=0,vpad=0,mode=6)
SMDegrain (tr=6, lsb=true,Globals=1,hpad=0,vpad=0,mode=6)
29.893.549 @ 3,87 fps ~ 25% CPU usage
SMDegrain (tr=6,PreFilter=2,lsb=true,Globals=2,hpad=0,vpad=0,mode=6)
SMDegrain (tr=6, lsb=true,Globals=1,hpad=0,vpad=0,mode=6)
25.191.496 @ 3,70 fps ~ 25% CPU usage
SMDegrain (tr=6,PreFilter=1,lsb_out=true,Globals=2)
SMDegrain (tr=6, lsb_in =true,Globals=1,mode=6)
32.545.424 @ 3,62 fps ~ 25% CPU usage
SMDegrain (tr=6,PreFilter=2,lsb_out=true,Globals=2)
SMDegrain (tr=6, lsb_in =true,Globals=1,mode=6)
27.002.212 @ 3,31 fps ~ 25% CPU usage

It's a pity for the decreasing CPU usage, perhaps it is a MT problem.

P.S: Dogway, the 1.8 you posted is set to private. I am unable to download it.

Dogway
18th January 2012, 11:11
Thanks for the tests, they look quite coherent. It is a known fact the buffer limit of avisynth, it is more noticeable on filters that deal with motion. For example running srestore() after QTGMC, it will cut the CPU to 50% (see this post (http://forum.doom9.org/showthread.php?p=1539698#post1539698) ), it's the same kind of memory hog I tried to fix these days just that the buffer clears a bit faster now so you get 50% or 25% instead of 10% as before. I don't usually touch much the setmemorymax() setting, but try to lower it a bit and see how it affects. Another important note yesterday from cretindesalpes here (http://forum.doom9.org/showthread.php?p=1552322#post1552322), MT() should be preferred for certain internal functions of Dither (stackvertical etc), but it's not a feasible subject due to the changing of sizes or heights, so it's a manner of saying that it could be better multithreaded, although it's not.

I made the file private because I spotted some issues, so I had it momentary idle. Now is available with the fixes, but I am very interested on feedback about compatibility. Speed is not something I can improve much more because almost everything in the code are standardized methods, but in this v1.8d version I made a simple guide to help as a general guidance on what to touch for speed, memory or quality, try it with show="memory" for example.

Another thing is about your clip. I don't think you really need 2 instances of smdegrain. Use prefilter=3, or make a good custom prefilter with fft3d or some Didée suggestions with temporal prefiltering. I don't know if you aim for a 100% pristine look or want to leave some texture so...

What I found very strange is your second and third tests, all you change from the 2nd to the 3rd is setting on globals. What I would expect here is basically more memory available, and some slight fps increase due to skipping prefiltering, and that is what happens, but CPU usage down? I thought speed and CPU were always somewhat related...

To wrap most of the time I spend on the function is it trying to integrate and not to break interlaced and yuy2 support, so anything related to this, flaws, errors and incompatibilities are welcome.

PD: I forgot to say cretindesalpes is working on making mvtools2 mod multithreaded, so I would say wait for it with expectation as I do. Hopefully he is still working on it so then we can make more objective speed tests.

tormento
18th January 2012, 12:34
I'll make some tests about MT and SetMemory. If you have some influence on cretindesalpes, try to ask for a dither.dll and mvtools.dll in x64 ;)

tormento
25th January 2012, 11:28
Dogway, I'm having major problems with 1920x1080 movies on the following code:
SMDegrain (tr=6,PreFilter=2,lsb_out=true,Globals=2)
SMDegrain (tr=6, lsb_in =true,Globals=1,mode=6)
If used on cropped height I get almost decent FPS, on full height, i.e 1080, or nearest 16 multiple, i.e. 1072, I got ~ 1fps.

Any idea?

TheProfileth
26th January 2012, 01:10
Just thought I should chime in and say Dogway is on "vacation" so don't expect much from him on this thread for about 3 more weeks.

nhope
26th January 2012, 10:52
The v1.8 download is set to private on mediafire. Can anyone else please share this while Dogway is away?

reff24
28th January 2012, 00:37
new mirror please?

http://img831.imageshack.us/img831/4561/38930802.jpg (http://imageshack.us/photo/my-images/831/38930802.jpg/)

Anacletus
28th January 2012, 09:59
Here's an alternative link: SMDegrain v.1.8d.zip (http://www.fileserve.com/file/8WBTvaU/SMDegrain v.1.8d.zip)

reff24
28th January 2012, 16:06
Your download link has expired

too bad

Taurus
28th January 2012, 17:16
Works fine here..

reff24
28th January 2012, 17:48
yes it is now working. thanks for upload Anacletus

poisondeathray
28th January 2012, 17:50
fileserve link above works fine here too

here is a mirror if you are having problems

SMDegrain v.1.8d
http://www.mediafire.com/?p6w5ndpdag9obym

tormento
15th February 2012, 09:28
Dogway, do you think this (http://forum.doom9.org/showthread.php?t=164073) could be of any help for the MT problem?

mandarinka
11th March 2012, 23:57
Is there any reason why thSADC parameter isn't exposed? It might be useful in some cases.

Dogway
12th March 2012, 00:21
not really, I missed the option, so I might add it for next version in a not intrusive way, I just don't want to flood the function with endless parameters, and chroma has always been buggy in mvtools (I tend to denoise only luma). Important also is the truemotion parameter, more indeed to my eyes and already included in the pre 1.9.

cretindesalpes released today the awaited MT Dither tools with mvtools2mod. I will have a look on what I can implement from there, and along all the changes already made and due to when I got some time I will be releasing v.1.9 under a new thread in Doom10. I will keep my posts in Doom9 minimal and this the last one on this thread. So ask me there if you can. I will be active there posting functions, etc.

nibus
12th March 2012, 07:33
Dogway is there a way to tweak the scene detection threshold? On dark scenes sometimes I get 1 or 2 blurry frames between scenes.

tormento
13th March 2012, 08:41
I got some time I will be releasing v.1.9 under a new thread in Doom10.
Please tell us when to go there.

canuckerfan
21st March 2012, 02:39
this function requires levels to be in PC range, correct?

matfra
24th July 2012, 13:59
Hi,
I made some speed/quality test.

SMDegrain (tr=6,PreFilter=1,lsb=true,mode=6)
SMDegrain (tr=6,PreFilter=1,lsb=true,mode=6)
I got about 3fps

MCTemporalDenoise(Settings="High")
I got about 8fps

The visual quality is about the same but MCTemporalDenoise is little bit cleaner than SMDegrain.

Do you think is possible to achieve better speed/quality with one pass of SMDegrain ?

tormento
25th July 2012, 09:03
Do you think is possible to achieve better speed/quality with one pass of SMDegrain ?
Dogway stated clearly that he doesn't support Doom9 anymore. :(

matfra
25th July 2012, 11:39
I know tormentor. I was just hoping maybe someone else have idea. Thats why I post on the 2 forum :)

tormento
7th November 2012, 19:53
I ported SMDegrain v2.1d to VapourSynth
Thank you ;)

You should talk on Doom10 as DogWay doesn't read this forum anymore.

xekon
4th January 2013, 23:56
I actually just noticed that today, I wasnt even aware there was a doom10....

anyway here the link to over at doom10: http://doom10.org/index.php?topic=2178.0

sl1pkn07
11th April 2013, 13:00
the link of port to vapoursynth is broken

any notice if ver2.2d has been ported?

Reel.Deel
11th April 2013, 13:07
the link of port to vapoursynth is broken?

Working link can be found here (http://forum.doom9.org/showthread.php?t=166582).

sl1pkn07
11th April 2013, 13:15
oh, i don't look this is part of havsfunc

thanks and greetings

foxyshadis
4th June 2015, 07:34
I put up the excellent documentation on Avisynth.nl (https://forum.doom9.org/showthread.php?t=163604) since I couldn't find it online, and edited it some as well.

Katie Boundary
6th September 2018, 18:25
Mediafire no longer hosts this file. Would anyone be kind enough to provide a functioning link?

Groucho2004
6th September 2018, 19:30
Mediafire no longer hosts this file. Would anyone be kind enough to provide a functioning link?As I told you earlier. all the info you need is here (http://avisynth.nl/index.php/QTGMC). Then you have to scroll down a bit where you shall find a link to the current SMDegrain (https://pastebin.com/u1xsPLwK).

Katie Boundary
7th September 2018, 02:45
Yeah, sorry, I posted that before I realized that users are supposed to just copy and paste the text into an AVSI file. I was expecting a .dll

EHarlen
18th May 2019, 17:48
Denoisers are not effective enough at removing noise in SMDegrain as Prefilter input clip.

For example, there is a big difference between smdegrain (tr=3,thsad=300,prefilter=removegrain(11),pel=1)
and smdegrain (tr=3,thsad=300,pel=1).removegrain(11)

But I wanna use denoisers in SMDegrain as Prefilter input clip.

How is it possible to make them more effective?

StainlessS
18th May 2019, 18:36
I aint any expert but think maybe your favourite spatial denoiser would work with some kind of 'strength' arg to tune it.
(I like VagueDenoiser, but no idea if works well with SMDegrain [which I dont use])

EDIT: Actually, Removegrain(11) is similar to Blur(1.0), so I guess that you could use blur and vary with single float arg.
http://avisynth.nl/index.php/RgTools/RemoveGrain