View Full Version : MCTemporalDenoise [v1.4.20 - Update 2010/07/02]
Pages :
1
2
3
4
5
6
7
8
9
[
10]
11
12
13
14
15
16
17
18
19
asarian
28th September 2010, 14:51
MCTD can do a very good job without sangnom. Just set useEEDI2 = TRUE (64bit available) or disable the anti-aliasing.
And what do you do for DctFilter? Haven't seen a 64-bit version of that yet.
And what about GradFun2DB(mod)?
royia
3rd October 2010, 11:38
Does this filter apply some kind of Spatial NR?
Thanks.
LaTo
3rd October 2010, 11:56
Does this filter apply some kind of Spatial NR?
Thanks.
Only if post > 0.
royia
3rd October 2010, 12:08
Only if post >= 0.
Sorry I didn't get you.
LaTo
3rd October 2010, 12:54
Sorry I didn't get you.
Only if you set "post=x" in MCTD.
royia
3rd October 2010, 13:01
Are there profiles made by others?
I want to apply delicate Temporal and Spatial NR.
Thank You.
Yobbo
3rd October 2010, 21:19
LaTo, don't you mean only if post > 0 ??
LaTo
4th October 2010, 07:25
LaTo, don't you mean only if post > 0 ??
Yes of course :)
Yobbo
4th October 2010, 09:49
royia, for delicate work just use MCTemporalDenoise(settings="very low", post=1) # or settings="low"/"medium"/etc... or post=1.5/2/3/etc! ... (open the avsi in notepad and read the instructions!)
While I'm here, I must thank you LaTo for such a workhorse of a function! It is truly fantastic, and I use it all the time. It is so simple to use and so much fun too! (I use it with AVSPmod of course!). You should write a good "layman's bible" for it though!? ... with example before/after pics etc heh!
radigast
9th November 2010, 10:25
Hey all. I love this filter. However, I am having major problems when using it to encode an HD cartoon (Charlie Brown). I use AviSynth 2.6 (have also tried 2.5.8 to no effect), up-to-date filters, and a fully-updated MeGUI. Whenever the filter is used, I get some major blocks/artifacts/things (as you can see in the screenshots) for nearly every scene. It seems to center on something that moves, but also happens on non-moving things too. If the filter is not used, no glitching occurs. The source is 1080p and 23.976 fps. Can anyone lend some advice? Thanks!
AVI Synth Script:
DirectShowSource("My Movie Name Here", fps=23.976, audio=false, convertfps=false)
crop( 220, 0, -220, 0)
LanczosResize(984,720) # Lanczos (Sharp)
import("C:\Program Files\Video Tools\AviSynth\plugins\MCTemporalDenoise.avsi")
MCTemporalDenoise(settings="medium")
Screens:
http://thumb.phyrefile.com/r/ra/radigast/2010/11/09/300/Screen_1.png (http://www.phyrefile.com/image/view/A7IeEjRAzY8sdB9H)http://thumb.phyrefile.com/r/ra/radigast/2010/11/09/300/Screen_2.png (http://www.phyrefile.com/image/view/v1JHTZsZM1DXABzE)
http://thumb.phyrefile.com/r/ra/radigast/2010/11/09/300/Screen_3.png (http://www.phyrefile.com/image/view/iBCTvz0EXX0R8x8J)http://thumb.phyrefile.com/r/ra/radigast/2010/11/09/300/Screen_4.png (http://www.phyrefile.com/image/view/b5dNUd4lOYCVREF8)
Great Dragon
9th November 2010, 10:40
I doubt this is because of MCTD. I've tried to encode Charlie Brown cartoons myself and I don't have such problems.
I think this is caused by your directshow decoder.
radigast
9th November 2010, 16:14
According to GraphStudio, ffdshow is decoding the h264 stream. So, ffdshow would be the directshow source, correct? Movies play fine in MPC-HC without the weird artifacts. What suggestions could you give that may help improve this problem using this filter during encoding?
poisondeathray
9th November 2010, 16:21
Try dss2() or ffvideosource() instead of directshowsource() . It might be losing it's place getting the frames mixed up, causing those errors with temporal filters
radigast
9th November 2010, 18:19
You're right. Turns out it wasn't the filter after all. My source was muxed in an m2ts container, which apparently is not the most ideal.
As per the FFMS2 user manual:
Known issues
* There will appear decoding artifacts on h264 in transport streams.
I can only assume the same happens with directshow, as that is exactly what the resulting encode was showing. Remuxing into an .mkv container fixed the decoding artifact problem, and I was still able to use directshow.
SilaSurfer
21st November 2010, 17:57
Lato , outstanding script, tried it on some DVDs got awasome results. Just one question. FF3dgpu is not meant for Multithreading, and fft3dfilter is too slow even with Avisynth MT. I was wondering if I could call FFT3dgpu before MCTemporaldenoise, but I would need the paramaters which are used in your script for FFt3gpu.
Something like:
FFt3dgpu(settings)
SetMTmode(2,0)
McTemporaldenoise("settings=x, without fft3dgpu) like if I wanted to extract FFt3dgpu and use it in it own. Is this possible? Thanks
LaTo
21st November 2010, 19:12
Lato , outstanding script, tried it on some DVDs got awasome results. Just one question. FF3dgpu is not meant for Multithreading, and fft3dfilter is too slow even with Avisynth MT. I was wondering if I could call FFT3dgpu before MCTemporaldenoise, but I would need the paramaters which are used in your script for FFt3gpu.
Something like:
FFt3dgpu(settings)
SetMTmode(2,0)
McTemporaldenoise("settings=x, without fft3dgpu) like if I wanted to extract FFt3dgpu and use it in it own. Is this possible? Thanks
Yes, you need to do something like this:
sigma = 4
prefilter = FFT3Dgpu(sigma=sigma*0.8, sigma2=sigma*0.6, sigma3=sigma*0.4, sigma4=sigma*0.2)
SetMTmode(2,0)
MCTemporalDenoise([settings], p=prefilter)
SilaSurfer
22nd November 2010, 17:19
Yes, you need to do something like this:
sigma = 4
prefilter = FFT3Dgpu(sigma=sigma*0.8, sigma2=sigma*0.6, sigma3=sigma*0.4, sigma4=sigma*0.2)
SetMTmode(2,0)
MCTemporalDenoise([settings], p=prefilter)
Thanks LaTo for your response. Great news about FFt3dgpu.:p Because I never used Fft3dgpu with so many sigmas I don't have experiance with so many settings for sigmas. After reading your function script, sigma=4 is used in "very low" preset, please correct me if I'm wrong.
sigma = 4
prefilter = FFT3Dgpu(mode=1, precision=2, bt=1, sigma=4*0.8, sigma2=4*0.6, sigma3=4*0.4, sigma4=4*0.2, bw=16, bh=8, ow=8, oh=4, plane=0) luma plane denoising
SetMTmode(2,0)
MCTemporalDenoise(settings="low", p=prefilter)
Correct? If so this example is for "low" preset? If I wanted to use lets say "very low" preset
sigma = 2
prefilter = FFT3Dgpu(mode=1, precision=2, bt=1, sigma=2*0.8, sigma2=2*0.6, sigma3=2*0.4, sigma4=2*0.2, bw=16, bh=8, ow=8, oh=4, plane=0) luma plane denoising
SetMTmode(2,0)
MCTemporalDenoise(settings="very low", p=prefilter)
For "chroma = true" in McTemporalDenoise if I wan't to denoise Chroma plane also using "very low" preset, calling FFt3dgpu as prefilter would be like this
sigma = 2
prefilter = FFT3Dgpu(mode=1, precision=2, bt=1, sigma=2*0.8, sigma2=2*0.6, sigma3=2*0.4, sigma4=2*0.2, bw=16, bh=8, ow=8, oh=4, plane=4) - Chroma and Luma
SetMTmode(2,0)
MCTemporalDenoise(settings="very low", p=prefilter, chroma=true)
Am I wrong? If I am, could you please be so kind to write me down the settings for FFt3dgpu as prefilter like you specified in McTemporalDenoise script for "very low" and "low" presets, those two are the only ones that I use for my encodings. Thanks for your patience.
LaTo
22nd November 2010, 18:19
Thanks LaTo for your response. Great news about FFt3dgpu.:p Because I never used Fft3dgpu with so many sigmas I don't have experiance with so many settings for sigmas. After reading your function script, sigma=4 is used in "very low" preset, please correct me if I'm wrong.
sigma = 4
prefilter = FFT3Dgpu(mode=1, precision=2, bt=1, sigma=4*0.8, sigma2=4*0.6, sigma3=4*0.4, sigma4=4*0.2, bw=16, bh=8, ow=8, oh=4, plane=0) luma plane denoising
SetMTmode(2,0)
MCTemporalDenoise(settings="low", p=prefilter)
Correct? If so this example is for "low" preset? If I wanted to use lets say "very low" preset
sigma = 2
prefilter = FFT3Dgpu(mode=1, precision=2, bt=1, sigma=2*0.8, sigma2=2*0.6, sigma3=2*0.4, sigma4=2*0.2, bw=16, bh=8, ow=8, oh=4, plane=0) luma plane denoising
SetMTmode(2,0)
MCTemporalDenoise(settings="very low", p=prefilter)
For "chroma = true" in McTemporalDenoise if I wan't to denoise Chroma plane also using "very low" preset, calling FFt3dgpu as prefilter would be like this
sigma = 2
prefilter = FFT3Dgpu(mode=1, precision=2, bt=1, sigma=2*0.8, sigma2=2*0.6, sigma3=2*0.4, sigma4=2*0.2, bw=16, bh=8, ow=8, oh=4, plane=4) - Chroma and Luma
SetMTmode(2,0)
MCTemporalDenoise(settings="very low", p=prefilter, chroma=true)
Am I wrong? If I am, could you please be so kind to write me down the settings for FFt3dgpu as prefilter like you specified in McTemporalDenoise script for "very low" and "low" presets, those two are the only ones that I use for my encodings. Thanks for your patience.
All seems to be correct!
SilaSurfer
22nd November 2010, 18:33
So the sigma setting found in your script for example Low preset
"Low" sigma=4 must be multiplied with sigma settings in Fft3dgpu call like (fft3dgpu(sigma=4x0.8, sigma2=4x0.6, sigma3=4x0.4, sigma4=4x0.2)
"Very Low" sigma=2 (fft3dgpu(sigma=2x0.8, sigma2=2x0.6, sigma3=2x0.4, sigma4=2x0.2)
I know I'm taking your time and patience but I'm kind of precise so I rather check twice, btw great tool just like Lsfmod 1.9, Keep it up!;)
LaTo
22nd November 2010, 19:06
So the sigma setting found in your script for example Low preset
"Low" sigma=4 must be multiplied with sigma settings in Fft3dgpu call like (fft3dgpu(sigma=4x0.8, sigma2=4x0.6, sigma3=4x0.4, sigma4=4x0.2)
"Very Low" sigma=2 (fft3dgpu(sigma=2x0.8, sigma2=2x0.6, sigma3=2x0.4, sigma4=2x0.2)
I know I'm taking your time and patience but I'm kind of precise so I rather check twice, btw great tool just like Lsfmod 1.9, Keep it up!;)
Yes it's OK ;)
SilaSurfer
23rd November 2010, 13:28
Thanks LaTo for everything! Wish you all the best!
~SilaSurfer~
SilaSurfer
28th November 2010, 16:07
I' m getting some ringing on my Dvd backups. These are good quality DVD sources for example LOTR series. Ringing around small objects like candels and swords.
Mctemporaldenoise(settings="very low")
I was wondering LaTo, is Edgeclean meant for preventing ringing like preblur in LsfMod, or more for cleanup if those are present in the source? The next that comes to my mind is lowering the sharpening strength.
LaTo
28th November 2010, 17:13
I was wondering LaTo, is Edgeclean meant for preventing ringing like preblur in LsfMod, or more for cleanup if those are present in the source?
Edgeclean is for cleanup the video after le denoising
SilaSurfer
28th November 2010, 17:36
So if there are halos and ringing already present in the source, then it should be used?
LaTo
28th November 2010, 17:44
So if there are halos and ringing already present in the source, then it should be used?
Yes it's OK
DVDBob
31st December 2010, 00:46
Hello.
I can't find all the needed filters to this filter.
So i hope someone they can upload a package with all the needed filters
Rumbah
11th January 2011, 16:49
That would be really great as I struggle to get all the correct versions, too.
DVDBob
11th January 2011, 17:57
That would be really great as I struggle to get all the correct versions, too.
Here: http://www.mediafire.com/?ehgc74m3nc1l3ve
The remaining dlls that may be required go in the system32 / (syswow64 for 64 bit windows). open your .avs in virtualdub & it will tell you if one is missing.
Rumbah
12th January 2011, 03:42
Thank you very much, I now got it working.
And I am really astonished. The results are great. I never thought you get that much out of a bad source ;)
Boulder
15th January 2011, 21:35
Is there a specific reason for using hpad=0 and vpad=0 in the MSuper calls?
LaTo
16th January 2011, 08:25
Is there a specific reason for using hpad=0 and vpad=0 in the MSuper calls?
It's a minor speed optimization:
MCTemporalDenoise already pad the clip to next+1 mod16 value, so no need to do it in MSuper
LaTo
20th January 2011, 21:42
May I know why you default search=2(Diamond search) in MAnalyse instead of official default search=4(Hexagon search)? And is it not worthy to use better search method like search=5(Uneven Multi Hexagon search) or search=3(Exhaustive search)?
Because when I wrote the script search=2 was the default in MVTools and search=4/5 was added later.
DVDBob
26th January 2011, 03:46
I have converted a movie with this AviSynth Script and obtained a good result:
LoadPlugin("C:\Program Files (x86)\MeGUI\tools\ffms\ffms2.dll")
FFVideoSource("C:\Users\Pepsi\Documents\hidownload\My Movie.flv")
crop(16,6,-12,-2)
MCTemporalDenoise(settings="medium")
I need to deblock and i know i can do it with the filter too.
But i don't know how i can enable it.
kypec
26th January 2011, 08:12
I need to deblock and i know i can do it with the filter too.
But i don't know how i can enable it.
MCTemporalDenoise(settings="medium",deblock=true)
DVDBob
26th January 2011, 14:21
Ok Thanks
Boulder
27th January 2011, 17:25
Is it possible to use a prefiltered clip for motion estimation only (for example a clip processed with the functions here: http://forum.doom9.org/showthread.php?p=1474191#post1474191)? If I've understood correctly, using p in MCTemporalDenoise means that the properties of the prefiltered clip are also used for the denoising process. If I've understood the process (by looking at the code) incorrectly, please clarify the idea a bit.
SilaSurfer
27th January 2011, 21:06
spatial = MinBlur(1)
temporal = spatial.FluxsmoothT()
mixed = temporal.merge(spatial,0.251)
prefilter=mixed.sbr()
MCTemporalDenoise([settings], p=prefilter)
I think Fft3dgpu or Fft3dfilter can be replaced by a custom prefilterer.
Boulder
27th January 2011, 21:38
Yes I know, I was just wondering whether a blurry (but dead calm) prefiltered video messes up the actual denoising process. It's not mentioned anywhere that the prefiltered clip is only a helper for the motion estimation process.
LaTo
28th January 2011, 08:07
Yes I know, I was just wondering whether a blurry (but dead calm) prefiltered video messes up the actual denoising process. It's not mentioned anywhere that the prefiltered clip is only a helper for the motion estimation process.
The prefiltered clip is only used for the motion estimation process.
But it's also used to limit the denoising when limit=-1/limit2=-1: if the results are bad you can try to use limit>0.
Boulder
28th January 2011, 12:08
The prefiltered clip is only used for the motion estimation process.
But it's also used to limit the denoising when limit=-1/limit2=-1: if the results are bad you can try to use limit>0.
Thanks, that clears things up :) I didn't think about the limit setting at all.
SilaSurfer
28th January 2011, 13:09
Lato would be nice if you would incorporate Motion Compensated Sharpening in your function.:p
LaTo
28th January 2011, 14:03
Lato would be nice if you would incorporate Motion Compensated Sharpening in your function.:p
It has already been implemented long time ago
SilaSurfer
28th January 2011, 14:37
Oh didn't see that sorry for my mistake.
SilaSurfer
12th February 2011, 17:35
Hi LaTo. I'm interested in Edgecleaning used in MCTemporalDenoise. Which filters or functions are used? How can I call Edgecleaning on its own? I use MCTD continuosly. It awasome, but I have a source which is clean only some ringing and halos are in it hence my request. Thank you in advance.
MShoulerUK
18th February 2011, 00:05
Has anyone noticed that on a high stigma value (5 or above for example), that speech doesn't look as fluid? At first I thought it might be a audio sync problem, but the video I encoded with a lower stigma looks fine, anyone else come across this?
Dogway
22nd February 2011, 13:33
I had some confusion over the different MDegrain based function scripts, with a cleanup in mind I made a test on a DVD source with similar settings*. Just wanted to share the comparison.
*(I only defined important parameters like SAD, temporal, and sharpness if it had)
MCTemporalDenoise.v1.4.20.avs
TemporalDegrain.avs
MC_Spuds.avs
SMDegrain.avs
Killer.avs
GTDegrain.avs
PSD 9Mb
http://www.sendspace.com/file/e07zoy
Finally decided to stay with smdegrain for speed/simplicity and mctemporaldenoise for accuracy/options. Thanks LaTo : P
SilaSurfer
22nd February 2011, 13:46
McTemporalDenoise is a jewel. You get everything that a user could want, all in one package.
DVDBob
22nd February 2011, 22:38
McTemporalDenoise is a jewel. You get everything that a user could want, all in one package.
Yes but very slow.
StainlessS
22nd February 2011, 23:02
@LaTo
You are aware that DGDecode.DLL decode also has a DeBlock() function
with different arguments/ranges/colorspaces?
Assuming that the DeBlock.dll is called "DeBlock.dll", then perhaps it
would be preferable to use DeBlock_DeBlock() so as to use your required
DeBlock v1.2.
Didée
22nd February 2011, 23:27
McTemporalDenoise is a jewel. You get everything that a user could want, all in one package.
To put an analogy ...
MDegrain1/2/3:
http://img87.imageshack.us/img87/1124/messer2b.jpg
MCTemporalDenoise:
http://img16.imageshack.us/img16/8671/messer9b.jpg
:D
Hint: this ain't a straight compliment.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.