Or more specifically, I'm working with a clip that has strong noise. Ttempsmooth and Temporal Cleaner are my choice cleaning filters. However, this one's a doozy and requires strong filtration in some segments. I usually TIVTC before doing anything else. My question is: In order to avoid ghosting/blurring, is there a better and more resourceful way to deinterlace or IVTC my clip before I filter?
PS - I am aware that I have to weave back if I deinterlace.
Thanks
Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays! or rip iTunes movies!
+ Reply to Thread
Results 1 to 30 of 98
Thread
-
-
A proper IVTC doesn't result in any ghosting or blurring -- unless those problems are in the video (as often happens with PAL/NTSC conversions).
-
No, my problem is not the IVTC causing the ghosting/blurring.
The aggressive temporal filtration is what is causing this.
So what my question is, considering that the ghosting (after temporal filtration) is an issue that affects the image (hence the frame/field), is there a BETTER way to telecide or deinterlace my clip (OTHER than TIVTC), such as BOB, BEFORE I add the Temporal filtration, in order to achieve better results? -
I've been trying, but my computer is not reading the FFT3D file correctly. I have installed it, un-installed it, re-installed it, un-installed it, etc. a trillion times from my System32 folder. Nothing.
At one point, sanlyn offered the "correct" file for Windows 7 (32 bit). I installed it. When I tried opening my script [McTemporalDenoise (settings="low"), Virtualdub won't open it. Just like AvsPmod, it tells me that the filter is missing. Any suggestions on how to work around this? -
It is a function. The script for MCTemporalDenoise begins with these words:
Code:function MCTemporalDenoise( clip i, int "radius", int "sigma". . .
1. Click the Start button
2. right-click on Computer
3. In the menu that pops up, click Properties
4. In the pop-up menu that results, click System
5. The info in the System panel tells you if you're running 32-bit or 64-bit Windows 7.Last edited by sanlyn; 21st Mar 2014 at 21:16.
-
-
MCTemportalDenoise(settings="low") is a command to execute the function, not the function itself. Look at the function's avsi documentation here http://latoninf.free.fr/d9/MCTD/MCTemporalDenoise.v1.4.20.avsi and scroll down until you find the words "function MCTemporalDenoise", about 1/3 down the whole document. That's where the actual function begins. Everything above it is comments-only.
Last edited by sanlyn; 21st Mar 2014 at 21:16.
-
Ok, so would my script would go something like:
Mpeg2Source(yaddayadda, cpu=3)
Tdecimate(yaddayadda)
TFM(yaddayadda)
function MCTemporalDenoise( clip i, int "radius", int "sigma", bool "twopass", bool "useTTmpSm", int "limit", int "limit2", int "post", bool "chroma", bool "interlaced",
\ bool "sharp", bool "adapt", int "strength", int "SHmode", int "SHmethod", int "Slimit", int "Sovershoot", bool "Tlimit", int "Tovershoot",
\ bool "protect", int "cutoff", int "threshold", int "maxdiff",
\ bool "AA", bool "useEEDI2", float "reduc", int "maxd", int "AAthr", int "method",
\ bool "deblock", bool "useQED", int "quant1", int "quant2",
\ bool "edgeclean", int "ECrad", int "ECthr", string "ECmode",
\ bool "stabilize", int "maxr", int "TTstr",
\ bool "enhance", float "GFthr", float "AGstr", int "bias", int "temp",
\ int "bwbh", int "owoh", int "blksize", int "overlap",
\ bool "GPU", bool "fixband", int "bt", int "ncpu", int "precision",
\ int "thSAD", int "thSAD2", int "thSCD1", int "thSCD2",
\ bool "truemotion", bool "MVglobal", int "pel", int "pelsearch", int "search", int "searchparam", int "MVsharp", int "DCT",
\ clip "p", string "settings",
\ bool "show", int "screenW", int "screenH" )
McTemporalDenoise(settings="low") -
I usually put McTemporalDenoise.AVS in my AviSynth plugins folder then import it into my working script:
Code:import("C:\Program Files (x86)\AviSynth 2.5\plugins\McTemporalDenoise.avs") Mpeg2Source(yaddayadda, cpu=3) Tdecimate(yaddayadda) TFM(yaddayadda) McTemporalDenoise(settings="low")
<edit>
fixed the import line in the script
</edit>Last edited by jagabo; 27th Feb 2012 at 06:27.
-
Or more specifically:
Code:import("C:\Program Files (x86)\AviSynth 2.5\plugins\MCTemporalDenoise.avs") Mpeg2Source(yaddayadda, cpu=3) Tdecimate(yaddayadda) TFM(yaddayadda) McTemporalDenoise(settings="low")
Last edited by sanlyn; 21st Mar 2014 at 21:16.
-
LOL. I pasted the wrong import line!
Also, if you would rather paste the function into your working script it helps (in terms of readability) to separate the functions from the working portion of your script. I usually put function declarations at the start.
Code:# first import stuff # and declare functions function MCTemporalDenoise( clip i, int "radius", int "sigma", bool "twopass", bool "useTTmpSm", int "limit", int "limit2", int "post", bool "chroma", bool "interlaced", \ bool "sharp", bool "adapt", int "strength", int "SHmode", int "SHmethod", int "Slimit", int "Sovershoot", bool "Tlimit", int "Tovershoot", \ bool "protect", int "cutoff", int "threshold", int "maxdiff", \ bool "AA", bool "useEEDI2", float "reduc", int "maxd", int "AAthr", int "method", \ bool "deblock", bool "useQED", int "quant1", int "quant2", \ bool "edgeclean", int "ECrad", int "ECthr", string "ECmode", \ bool "stabilize", int "maxr", int "TTstr", \ bool "enhance", float "GFthr", float "AGstr", int "bias", int "temp", \ int "bwbh", int "owoh", int "blksize", int "overlap", \ bool "GPU", bool "fixband", int "bt", int "ncpu", int "precision", \ int "thSAD", int "thSAD2", int "thSCD1", int "thSCD2", \ bool "truemotion", bool "MVglobal", int "pel", int "pelsearch", int "search", int "searchparam", int "MVsharp", int "DCT", \ clip "p", string "settings", \ bool "show", int "screenW", int "screenH" ) # then comes the working script Mpeg2Source(yaddayadda, cpu=3) Tdecimate(yaddayadda) TFM(yaddayadda) McTemporalDenoise(settings="low")
-
-
Beginning with the word 'function', copy everything after that all the way to the bottom and then paste into an .avs or .avsi.
Or just copy and paste the whole thing, although the stuff above 'function' isn't actually part of the function and some stuff at the bottom is a different function for showing the effects. You might also find this page helpful:
http://avisynth.org/mediawiki/MCTemporalDenoise -
As jagabo says, all the code between the start end end braces "{" and "}" is the body of the actual function. Anything that starts with "#" is a comment and is ignored by the system.
To vastly oversimplify. . .
A programmed function is a self-contained body of executable code (instructions) that performs a defined task. Often, the function receives some sort of value or parameter from the command that calls it. For instance, MCTemporalDenoise is often called with the statement MCTemporalDenoise(settings="Low"). The function will receive that command and that value (Settings="Low) and perform in a pre-programmed manner. If you use the command MCTemporalDenoise(settings="High"), the function will perform a somewhat different path of instructions based on that value.
Functions always "do something", and often they return a result. MCTemporalDenoise returns a processed piece of video to the command that calls it.
The idea of using functions is that they are repeatable and, hopefully, they are supposed to work every time. The function can be inserted into any program (script) or referenced with a statement like "import" without the need for retyping it and re-inventing the wheel every time it's executed. For example, let's say you have a clip with a lot of jaggies and aliasing. The anti-alias function daa() is often called several times in a row to clean up aliasing. You can call it several times in a row this way:
daa().daa().daa()
By default the function knows that it's receiving a clip (and unless you specify otherwise, the clip by default is the clip you're presently working with). That function will be executed onto the clip 3 times, each time returning a processed result, receiving that result a second time, re-processing it and returning it, and doing it again a third time. So there are two ways to invoke this process 3 times: the first way is to simply call the function 3 times:
daa().daa().daa()
The other way, without a function, is to retype this code 3 times:
nn = c.nnedi2(field=-2)
dbl = mt_average(selecteven(nn),selectodd(nn),U=3,V=3)
dblD = mt_makediff(c,dbl,U=3,V=3)
shrpD = mt_makediff(dbl,dbl.removegrain((width(c)>1100) ? 20 : 11),U=3,V=3)
DD = shrpD.repair(dblD,13)
return dbl.mt_adddiff(DD,U=3,V=3)
nn = c.nnedi2(field=-2)
dbl = mt_average(selecteven(nn),selectodd(nn),U=3,V=3)
dblD = mt_makediff(c,dbl,U=3,V=3)
shrpD = mt_makediff(dbl,dbl.removegrain((width(c)>1100) ? 20 : 11),U=3,V=3)
DD = shrpD.repair(dblD,13)
return dbl.mt_adddiff(DD,U=3,V=3)
nn = c.nnedi2(field=-2)
dbl = mt_average(selecteven(nn),selectodd(nn),U=3,V=3)
dblD = mt_makediff(c,dbl,U=3,V=3)
shrpD = mt_makediff(dbl,dbl.removegrain((width(c)>1100) ? 20 : 11),U=3,V=3)
DD = shrpD.repair(dblD,13)
return dbl.mt_adddiff(DD,U=3,V=3)
That's a short function that actually calls other pre-programmed functions and plugins. So which would you rather do? Include the code for a single function that can be used in other programs, or write all the code again and again, including the code for nnedi2 (whose complex code you would also have to type in full each time), all the code for masktools (there's a lot of that), and the other functions and commands the function executes? Or would you rather reference the daa function's avs code and simply type "daa()" ?
Many Avisynth commands are functions. For instance, the overlay() function internally executes more C++ and assembler coded instructions than you can shake a stick at. Would you prefer to write that ton of code every time you want to overlay a piece of video onto another? No way. AviSource() is another example. Would you want to write all the code that actually fetches and loads an AVI -- it woujld take half a day, and you better not make any typos! -- or would you rather type AviSource("path/blah/blahblah").Last edited by sanlyn; 21st Mar 2014 at 21:17.
-
As I stated before: The people who write these filters, really need to get their shit together in making this a tad more user-friendly. Now before you all throw me in the oven, I said USER friendly, not LAZY MORON friendly.
Manono, I do not find the link helpful. I have read that document various times. I actually have a printout of it in my bag. The document pretty much lists all the functions of the filter, and the outcome of different settings.
It fails to explain how to import the function and THEN, type the script. It also doesn't tell you that you need to put the fft3d.dll in your System32 folder. It doesn't give you a step by step guide. Yes, some of us need that, actually! Who knew! -
Not quite, because the first 'return' would effectively end the script.
To get the effect you want, you would have to replace the 1st and 2nd 'return's by 'c =' and remove the 3rd one altogether.
@unclescoob
For documentation on the form of Avisynth user functions (ie those written in the scripting language), see
http://avisynth.org/mediawiki/User_defined_script_functionsLast edited by Gavino; 22nd Feb 2012 at 13:19.
-
Unclescoob, mah man, simmer down. I and others have explained how to copy a file into a folder. The plugin's documentation mentions the files and their locations in some detail. If you want to know how to find a file, copy it, find a folder, and paste the file into that folder, that has also been explained in detail. Learning how to navigate your way thru a computer system is not advanced knowledge, it's basic to using any computer.
You might want to keep your file names straight. There is no "fft3d.dll" involved. The two files involved are "fft3dfilter.dll" (the Avisynth plugin) and "fftw3.dll" (dated 2004 and should be in either System32 or SysWOW64, depending on your OS). We have asked several times, which version of Windows 7 you are using, 32-bit or 64-bit? I posted instructions on how to get that information https://forum.videohelp.com/threads/343806-What-is-the-best-way-to-treat-Telecine-befor...=1#post2143199 . Those steps were copied directly off a free internet site, one of dozens of such free sites. Check your email. I sent more instructions this morning.Last edited by sanlyn; 21st Mar 2014 at 21:17.
-
It's assumed you know that because it's not specific to that particular script. It's the same for all AVS scripts. It's in the AviSynth documentation.
Because that is not particular to using McTemproralDenoise(). All scripts need to typed. It's described in the AviSynth documentation.
Because that's not a part of McTemporalDenoise(), it's part of fft3dfilter. It's in the fft3dfilter documentation.
Of course not. Do you expect every advanced filter writer to give you a full tutorial on how to use AviSynth? Do you expect every novel writer to teach you the alphabet, basic words, sentence structure, etc. first? -
Last edited by sanlyn; 21st Mar 2014 at 21:17.
-
sanlyn, I know you explained this to me, man. READ!!! I'm talking about the actual page for McTemporalDenoise. I never said that it wasn't explained to me HERE at Videohelp.com
-
Look, I'm exhausted. I'll check into this tomorrow. I'll keep you guys posted. G'nite.
-
I was going to write a really sarcastic reply to unclescoob - because I started with the basic documentation with AVIsynth, worked through it, and have always got on fine. It taught me all these things, and quite quickly too - what I mean is, there wasn't much reading involved.
But that was years ago. It's moved to the mediawiki since then. That Basic Documentation is still linked and, though it's a good start...
http://avisynth.org/mediawiki/Main_Page#Usage
...it's now out of date in some ways. More importantly, it seems to be in a different order than I remember it, and so it doesn't easily explain all these issues before throwing you at external filters. The syntax and FAQ sections further down the page do better, but it's too late by then.
As it's a wiki, I suppose someone should fix it.
Somebody else, I mean.
Cheers,
David.
Similar Threads
-
Temporal smoothing before/after shrinking frame?
By Gew in forum EditingReplies: 23Last Post: 28th Sep 2009, 19:26 -
VEGAS 6: Smoothing out jagged edges on still during slideshow
By pdx10 in forum Newbie / General discussionsReplies: 1Last Post: 17th Apr 2009, 19:08 -
Smoothing zooms in an editor
By SCDVD in forum EditingReplies: 2Last Post: 2nd Jul 2008, 18:54 -
VobSub smoothing method
By Digiface in forum SubtitleReplies: 0Last Post: 24th May 2007, 07:55