<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://avisynth.nl/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://avisynth.nl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=SilverbackNet</id>
		<title>Avisynth wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://avisynth.nl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=SilverbackNet"/>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Special:Contributions/SilverbackNet"/>
		<updated>2026-04-07T20:53:49Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.24</generator>

	<entry>
		<id>http://avisynth.nl/index.php/SMDegrain</id>
		<title>SMDegrain</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/SMDegrain"/>
				<updated>2015-06-04T06:39:15Z</updated>
		
		<summary type="html">&lt;p&gt;SilverbackNet: /* High Bit Depth Processing And Dithering */ VS info&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FilterCat|External_filters|Denoisers|Spatial-Temporal Denoisers}}&lt;br /&gt;
{{Filter&lt;br /&gt;
| Caroliano, {{Author/Dogway}}&lt;br /&gt;
| v3.0d &lt;br /&gt;
|&lt;br /&gt;
* [http://www.mediafire.com/download/eb09qdkqf6y2wbj/SMDegrain_v.3.0d.zip SMDegrain_v.3.0d.zip]&amp;lt;br/&amp;gt;&lt;br /&gt;
* VapourSynth: [[HAvsFunc]]&lt;br /&gt;
| 4=Spatial-Temporal Denoisers&lt;br /&gt;
| 7=[http://forum.videohelp.com/threads/369142-Simple-MDegrain-Mod-v3-0d-A-Quality-Denoising-Solution VideoHelp], [http://forum.doom9.org/showthread.php?t=163604 Doom9] }}&lt;br /&gt;
&lt;br /&gt;
'''SMDegrain''', the Simple MDegrain Mod, is mainly a convenience function for using [[MVTools]]. It is not a magic function (the magic comes from mvtools), it just takes the repetitive code blocks needed for mvtools+mdegrain denoising and wraps them into this function.&lt;br /&gt;
&lt;br /&gt;
It has internal switches for interlaced or YUY2 content, saving you from writing long lines of code and preventing from possible mistakes. YUY2 is even automatically detected. Apart of that it adds some small and simple enhancements listed below, like easy prefilters, slightly better motion vectors (thanks to an internal TV-&amp;gt;PC luma expansion and the possibility of dark enhancement), easy nnedi3 subpixel accuracy, globals import/export, show panel, and contra-sharpening option.&lt;br /&gt;
&lt;br /&gt;
==Dependencies==&lt;br /&gt;
[[MaskTools2]] and [[MVTools]] (mod versions recommended)&lt;br /&gt;
&lt;br /&gt;
===Optional===&lt;br /&gt;
* [[Dither]] for 16 bit processing (v1.26.5 or higher)&lt;br /&gt;
* [[RgTools]] for contrasharp=true or prefilter=1 or 2&lt;br /&gt;
* [[LSFmod]] for contrasharp &amp;gt; 0.0&lt;br /&gt;
* [[dfttest]] for prefilter=3&lt;br /&gt;
* [[nnedi3]] for subpixel=3&lt;br /&gt;
''Beware, tp7's plugin mods have no YUY2 support, require AviSynth 2.6a5 or latest Set's MT for v2.6, and Visual C++ 2012 Redistributable.''&lt;br /&gt;
&lt;br /&gt;
==Aknowledgements==&lt;br /&gt;
Original '''SMDegrain()''' by Caroliano&lt;br /&gt;
&lt;br /&gt;
This function uses code from Didée, and cretindesalpes' creations, and has parts inspired by LaTo's functions (old readme, Show panel, etc) and Jawed's Killer() function, apart of relying on third-party tools for certain features.&lt;br /&gt;
&lt;br /&gt;
Special thanks go to: cretindesalpes, Didée, Gavino, Sagekilla, and MVtools people.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The benefit of using SMDegrain over directly calling MDegrain is:&lt;br /&gt;
* '''High bitdepth denoising''': This is the first wrapper function to support 32bit (16bit pipeline) MDegrain denoising.&lt;br /&gt;
* '''Higher temporal radius''' (tr&amp;gt;3): The [[MVTools]] mod (and hence this script) also allows for hack-free higher temporal radius.&lt;br /&gt;
* '''Contrasharpening''': The pretty much standarized sharpening method created by Didée is blended into the function, so you can easily use it in 16bit pipelines. An strength biased method is also possible. A ''CClip'' parameter is also supplied so you can choose another source to sharpen from, other than the default '''SMDegrain()''' input.&lt;br /&gt;
* '''YUY2 support''': It automatically and fully supports YUY2.&lt;br /&gt;
* '''Interlaced support''': It supports interlaced sources with most parameters as well.&lt;br /&gt;
* '''Extended Subpixel Accuracy''': [[nnedi3]] is allowed as a subpixel filter, not necessary in most cases, but if you are quality mad try to set it on.&lt;br /&gt;
* '''Better Motion Vectors''': An internal conversion from TV levels (reduced values range) to PC levels (extended values range) is done to the clip the motion analysis will be performed on, so you can get better motion vectors (up to 16%)&lt;br /&gt;
* '''Prefilters''': An easy parameter to load generalist prefilters that perform well in most situations. It also accepts loading your personal prefiltered clips.&lt;br /&gt;
* '''Motion Filters''': New in version 3.0d. It will allow you to filter those parts where '''SMDegrain()''' couldn't find a matching block for denoising. One use for it would be spatial denoisers or deblockers since high-motion areas are prone to heavy blocking and artifacts.&lt;br /&gt;
* '''Global Motion Vector In/Out''': Reuse motion vectors globals for faster processing, or just use '''SMDegrain()''' as a shortcut for creating nice quality motion vectors.&lt;br /&gt;
* '''RefineMotion Option''' (MRecalculate): Slower, but sometimes a big quality boost.&lt;br /&gt;
* '''Show Panel''': Everything is off by default, but some settings change in context. Check what is happening behind the scenes and have a fast look at all your settings.&lt;br /&gt;
* '''Robust''': Everything of the above works with each other no problem (interoperability), also in the process some error proof, bugfixes and bug workarounds were implemented or at least warned so you know that most of what is done is reliable, bugs free and optimized. The general idea is to serve as an user friendly front end for vanilla mvtools2+mdegrain or as the original script creator entitled &amp;quot;To make your scripts shorter and less geeky&amp;quot;. Most parameters are turned off or defaulted to mvtools2 defaults and features are based on popular general conceived procedures.&lt;br /&gt;
&lt;br /&gt;
Parameters are arranged in 3 blocks.&lt;br /&gt;
*'''Basic''': For people who just need the most basic parameters because either they don't have the time, knowledge or interest into looking for complex settings. Or they are content with defaults (pretty much mvtools defaults)&lt;br /&gt;
*'''High Bit Depth''': There's not much to think about this. This just enables (default is disabled), high bit depth denoising. That is, more quality, but also needs more processing power hence slower.&lt;br /&gt;
*'''Advanced''': If you run into some problems, are nitpicking or just want to fine tune your settings according to the source, have a look at this block, it contains the rest and bulk of the function parameters.&lt;br /&gt;
&lt;br /&gt;
Temporal denoising is a widespread procedure for noise cleaning in most type of video sources. The only limitation for '''SMDegrain()''' being when there are (very) high levels of grain, in which case you would need to rely on more &amp;quot;creative&amp;quot; and source centric solutions (see [http://forum.doom9.org/showthread.php?p=1544619#post1544619 this] and ''prefilter'' notes), but those are the rare cases.&lt;br /&gt;
&lt;br /&gt;
To picture what the function does, a simple '''SMDegrain()''' call matches the next code (for SD resolutions):&lt;br /&gt;
&lt;br /&gt;
 super_search = Dither_Luma_Rebuild(S0=1.0,c=0.0625).MSuper(rfilter=4)&lt;br /&gt;
 &lt;br /&gt;
 bv2 = super_search.MAnalyse(isb = true,  delta = 2, overlap= 4)&lt;br /&gt;
 bv1 = super_search.MAnalyse(isb = true,  delta = 1, overlap= 4)&lt;br /&gt;
 fv1 = super_search.MAnalyse(isb = false, delta = 1, overlap= 4)&lt;br /&gt;
 fv2 = super_search.MAnalyse(isb = false, delta = 2, overlap= 4)&lt;br /&gt;
 &lt;br /&gt;
 MDegrain2(MSuper(levels=1), bv1, fv1, bv2, fv2, thSAD=300, thSADC=150)&lt;br /&gt;
&lt;br /&gt;
As you see no wizardry. The only changes made are the TV-&amp;gt;PC luma expansion (''Dither_Luma_Rebuild''(S0=1.0,c=0.0625) similar to ''color_yuv''(levels=&amp;quot;TV-&amp;gt;PC&amp;quot;)) so you have more range to detect motion vectors, the ''rfilter''=4 for a bit more quality super search, the changed default of ''overlap'' from 0 to 4 and ''thSAD'' and ''thSADC'' from 400 to 300 and 150 respectively for safer results. Nothing else. The problem is that as soon you want to change a little thing like say temporal radius it requires you to edit in more than a few places, so this is very annoying and so forth the main reason for '''SMDegrain()'''.&lt;br /&gt;
 &lt;br /&gt;
==Using the filter==&lt;br /&gt;
*Input can be YV12 or YUY2, and '''must''' be TV range (which is normal). It's also recommended to be in modulus 16 size (resolution multiple of 16), although not strictly necessary.&lt;br /&gt;
*Crop first (when not interlaced).&lt;br /&gt;
*Recommended to deblock if blocking is present, before crop (when cropping) and '''SMDegrain()'''. Or you can use ''prefilter''=3 which is also a good deblocker (dfttest) and let '''SMDegrain()''' clean the blocking for you.&lt;br /&gt;
*Default output mode(dithering) for ''lsb''=true (when non interlaced) is ordered dither (optimized for encoding), so it is not recommended to keep filtering non-edge areas of your source, you can instead use ''mode''=6 (error diffusion) or ''lsb_out''=true and keep filtering in 16bit&lt;br /&gt;
*Read the ''prefilter'' setting explanation for solutions to problematic sources&lt;br /&gt;
&lt;br /&gt;
==Ready-to-run Samples==&lt;br /&gt;
&lt;br /&gt;
I consider this a good starting point where to start tweaking, whether be it for quality or speed:&lt;br /&gt;
 SMDegrain(tr=2,thSAD=250,contrasharp=true,refinemotion=true,lsb=true)&lt;br /&gt;
 &lt;br /&gt;
A basic, fast, yet very functional call for light grain (mvtools2+masktools2 only needed)&lt;br /&gt;
 SMDegrain(tr=1,thSAD=300,contrasharp=true)&lt;br /&gt;
&lt;br /&gt;
A typical more worked call compatible with official mvtools2 (mvtools2+masktools2 only needed)&lt;br /&gt;
 SMDegrain(tr=2,thSAD=300,interlaced=true,prefilter=1,contrasharp=true)&lt;br /&gt;
&lt;br /&gt;
Good compromise between speed and quality (denoising with high precision)&lt;br /&gt;
 SMDegrain(tr=2,thSAD=300,contrasharp=true,refinemotion=true,lsb=true)&lt;br /&gt;
&lt;br /&gt;
Similar to the previous example, the next is a personal preference. Turned all chroma off for safeness (chroma is rarely temporal-reliable enough) and speed.&lt;br /&gt;
 SMDegrain(tr=2,thSAD=300,contrasharp=true,refinemotion=true,lsb=true,chroma=false,plane=0)&lt;br /&gt;
&lt;br /&gt;
This is a good example to show that interlaced YUY2 sources can be processed seamlessly.&lt;br /&gt;
 # mod4 (modulus 4) interlaced YUY2 source&lt;br /&gt;
 SMDegrain(tr=1,thSAD=250,interlaced=true,contrasharp=true,lsb=true)&lt;br /&gt;
&lt;br /&gt;
HD sources are detected automatically, and as so settings are optimized for speed; ''pel''=1, ''hpad''=0, ''vpad''=0, ''blksize''=32, ''overlap''=16, ''truemotion''=false&lt;br /&gt;
 # HD source (from 1100px wide or 600px high up)&lt;br /&gt;
 SMDegrain(tr=2,thSAD=180,prefilter=2,contrasharp=30,refinemotion=true,lsb=true,chroma=false,plane=0)&lt;br /&gt;
&lt;br /&gt;
For dealing with dark scenes (you could also add ''truemotion''=false)&lt;br /&gt;
 SMDegrain(tr=3,thSAD=300,contrasharp=true,str=2.0,refinemotion=true,lsb=true)&lt;br /&gt;
&lt;br /&gt;
Tackling a grainy source:&lt;br /&gt;
 pre=fluxsmootht(3).removegrain(11)&lt;br /&gt;
 SMDegrain(tr=6,thSAD=500,contrasharp=30,prefilter=pre,str=1.2,refinemotion=true,lsb=true)&lt;br /&gt;
&lt;br /&gt;
Here 2 things are shown; how to work on a 16bit pipeline, and reference a prior state of the script for ''contrasharp''.&lt;br /&gt;
 sharp=last&lt;br /&gt;
 dfttest(tbsize=1,sigma=10,lsb=true)&lt;br /&gt;
 &lt;br /&gt;
 SMDegrain(tr=3,thSAD=300,CClip=sharp,lsb_in=true,lsb_out=true)&lt;br /&gt;
 &lt;br /&gt;
 LinearResize(854,480,lsb_in=true, mode=0)&lt;br /&gt;
&lt;br /&gt;
(Re)using motion vectors globals&lt;br /&gt;
 SMDegrain(tr=1,thSAD=400,prefilter=3,str=1.4,globals=3)    # Output vectors only&lt;br /&gt;
 MFlowFps(Super, bv1, fv1, num=60,den=1)&lt;br /&gt;
 &lt;br /&gt;
==Parameters==&lt;br /&gt;
{{FuncDef|SMDegrain}} (clip input, int &amp;quot;tr&amp;quot;, int &amp;quot;thSAD&amp;quot;, int &amp;quot;thSADC&amp;quot;, bool &amp;quot;RefineMotion&amp;quot;, val &amp;quot;contrasharp&amp;quot;, clip &amp;quot;CClip&amp;quot;, bool &amp;quot;interlaced&amp;quot;, int &amp;quot;plane&amp;quot;, int &amp;quot;Globals&amp;quot;, int &amp;quot;pel&amp;quot;, int &amp;quot;subpixel&amp;quot;, val &amp;quot;prefilter&amp;quot;, clip &amp;quot;mfilter&amp;quot;, int &amp;quot;blksize&amp;quot;, int &amp;quot;overlap&amp;quot;, int &amp;quot;search&amp;quot;, bool &amp;quot;truemotion&amp;quot;, int &amp;quot;limit&amp;quot;, int &amp;quot;limitc&amp;quot;, int &amp;quot;thSCD1&amp;quot;, int &amp;quot;thSCD2&amp;quot;, bool &amp;quot;chroma&amp;quot;, int &amp;quot;hpad&amp;quot;, int &amp;quot;vpad&amp;quot;, bool &amp;quot;lsb&amp;quot;, bool &amp;quot;lsb_in&amp;quot;, bool &amp;quot;lsb_out&amp;quot;, int &amp;quot;mode&amp;quot;, val &amp;quot;Show&amp;quot;, float &amp;quot;Str&amp;quot;, float &amp;quot;Amp&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
===Basic===&lt;br /&gt;
&lt;br /&gt;
{{ParR|tr|int|2|1-128}}&lt;br /&gt;
:Temporal radius, selects the MDegrain to use. This can be considered the strength of the denoising. Higher is generally better, but also much slower and each extra frame gives less improvement.&lt;br /&gt;
:tr 4+ requires Dither's MVTools2 mod. Max 64 for interlaced.&lt;br /&gt;
&lt;br /&gt;
{{Par|thSAD|int|300}}&lt;br /&gt;
{{Par|thSADC|int|150}}&lt;br /&gt;
:&amp;quot;Sum of Absolute Differences&amp;quot; threshold. This is the spatial difference threshold where the motion search will consider whether to denoise given the formula: &lt;br /&gt;
::Denoise_Weight = max( 0, 1 - 2*blockSAD² / (thSAD² + blockSAD²) )&lt;br /&gt;
:This spatial difference will be compared in blocks (''blksize''). If your noise is not getting into consideration for the denoising try raising this value, or reduce its SAD with previous prefiltering. You can alternatively raise ''blksize'', which will likely even blocks SAD. Low values can result in staggered/blotchy denoising, large values can result in ghosting and artifacts. Values in the range 200~600 are usual.&lt;br /&gt;
:thSADC is the same logic applied to chroma planes, since there are less differences on the chroma planes it uses by default thSAD/2 for safer chroma results.&lt;br /&gt;
:'''Recommendation''': Use slightly greater values than you are used to in other mdegrain based functions since the internal clip for the motion search in SMDegrain() has the contrast increased.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Contrasharp|bool|False|True/False}}&lt;br /&gt;
{{ParR|Contrasharp|int|-|0-100}}&lt;br /&gt;
:Contrasharpening is a technique that compares the differences between the clip before blurring (original) and after blurring (filtered), and sharpens locally with consequent strength. By default the &amp;quot;sharp&amp;quot; clip is the input, the &amp;quot;after&amp;quot; clip is the denoised clip. Alternately, a &amp;quot;before&amp;quot; clip can be specified with ''CClip'' (See Advanced).&lt;br /&gt;
:*True: use Didée's Contrasharpening() function (ContraHD() for HD) which &amp;quot;Sharpens the denoised clip, but doesn't add more to any pixel than what was removed previously.&amp;quot; In the practice you will get a slightly sharper result than the source, which is welcome.&lt;br /&gt;
:*An integer: LSFmod() will be used instead. It will be much slower, but maybe better for certain sources. Its value will serve as a contrasharpening multiplier, use one around 50 for similar strength as Contrasharpening(). LSFmod is less-suitable for HD sources.&lt;br /&gt;
&lt;br /&gt;
{{Par|RefineMotion|bool|False}}&lt;br /&gt;
:Refines and recalculates motion data of previously estimated (by MAnalyse) motion vectors. Turn it on for better motion vectors, specially when dealing with ghosting issues, small details or lineart fading and whatnot.&lt;br /&gt;
:'''Caution''': It won't help much if you use a ''prefilter'' so strong that blurs too much or kills all the details you are aiming to protect in first place.&lt;br /&gt;
&lt;br /&gt;
{{ParR|plane|int|4|0-4}}&lt;br /&gt;
:Select the planes you wish to process:&lt;br /&gt;
:*0: luma only&lt;br /&gt;
:*1: chroma U&lt;br /&gt;
:*2: chroma V&lt;br /&gt;
:*3: both chromas&lt;br /&gt;
:*4: all (Default)&lt;br /&gt;
:'''Caution''': plane=1-4 can sometimes create chroma smearing. In such case I recommend denoising chroma planes in the spatial domain.&lt;br /&gt;
&lt;br /&gt;
{{Par|Interlaced|bool|False}}&lt;br /&gt;
:If you want to denoise an interlaced source set this parameter to true. Output will also be interlaced. If you pair this with ''lsb_out''=true then you will have to &amp;lt;tt&amp;gt;Weave().DitherPost(mode=6,interlaced=true)&amp;lt;/tt&amp;gt; when converting back to 8 bit.&lt;br /&gt;
&lt;br /&gt;
===High Bit Depth Processing And Dithering===&lt;br /&gt;
All High Bit Depth parameters require [[Dither]] and [[MVTools]] 2.6+. The [[VapourSynth]] version doesn't use these parameters; it automatically outputs the same bitdepth as the input.&lt;br /&gt;
&lt;br /&gt;
{{Par|lsb_in|bool|False}}&lt;br /&gt;
:Set true if you use a 16 bits filter chain. *(EXPERIMENTAL, use under test environment)&lt;br /&gt;
&lt;br /&gt;
{{Par|lsb_out|bool|False}}&lt;br /&gt;
:Output to 16-bit instead of 8-bit. Use the helpers at the end of the SMDegrain() script to use Ditherpost() with YUY2 formats.&lt;br /&gt;
&lt;br /&gt;
{{Par|lsb|bool|False}}&lt;br /&gt;
:This enables 32 bit depth precision for denoising. You gain extra denoising accuracy, most noticeable in the prevention of banding in flat areas. Automatically set if either ''lsb_in'' or ''lsb_out'' are enabled.&lt;br /&gt;
&lt;br /&gt;
{{ParR|mode|int|0|-1-8}}&lt;br /&gt;
:This is the '''mode''' of [[Dither#DitherPost|DitherPost]] when ''lsb_out''=False, as a dithering method must be chosen for the 32bit-&amp;gt;8bit conversion. (Interlaced content is locked to mode=6) The default ''mode''=0 will help you optimize the dithering for optimum encodings when no further non-edge processing is done. Use ''mode''=6 (error diffusion) if further processing will be done.&lt;br /&gt;
&lt;br /&gt;
===Advanced===&lt;br /&gt;
&lt;br /&gt;
{{ParR|pel|int|2|1,2,4}}&lt;br /&gt;
:Accuracy of the motion estimation:&lt;br /&gt;
:* 1: full-pixel (Default for HD)&lt;br /&gt;
:* 2: half-pixel (Default for SD)&lt;br /&gt;
:* 4: quarter-pixel (often more accurate, but much slower and not always better)&lt;br /&gt;
&lt;br /&gt;
{{ParR|subpixel|int|2|0-3}}&lt;br /&gt;
:Subpixel interpolation method for ''pel''=2 or 4. This is the 'sharp' parameter in MSuper(), although it isn't related to output sharpness but better accuracy for the motion estimation.&lt;br /&gt;
:* 0: bilinear (softest)&lt;br /&gt;
:* 1: bicubic (4 tap Catmull-Rom)&lt;br /&gt;
:* 2: sharper Wiener (6 tap, similar to Lanczos) (Default)&lt;br /&gt;
:* 3: [[nnedi3]] (very high quality: useful for small sources but usually overkill. requires plugin)&lt;br /&gt;
&lt;br /&gt;
{{ParR|prefilter|int|-1|-1-3}}&lt;br /&gt;
{{Par|prefilter|clip|None}}&lt;br /&gt;
:* -1: off (Default)&lt;br /&gt;
:* 0: light controlled gauss blur&lt;br /&gt;
:* 1: mild median/gauss blur&lt;br /&gt;
:* 2: strong median/gauss blur&lt;br /&gt;
:* 3: [[dfttest]] (spatial)&lt;br /&gt;
:* clip: supply your own&lt;br /&gt;
:Denoises a version of the clip that will be used to obtain the motion vectors. Useful for very damaged/grainy sources, this will help to get better motion vectors.&lt;br /&gt;
:For sources with Gibbs noise, especially on anime, try ''prefilter''=1 or 2 or better yet strong median filters (through clip input) in order to soothe the high SAD of sharp edges. For blocky sources, or a general more quality/safer prefilter use option 3 (dfttest)&lt;br /&gt;
:By default dfttest outputs a sstring txt file to your script folder, you can delete it. This doesn't happen when using the modded dfttest (version 1.9.2 or higher) of the Dither tools.&lt;br /&gt;
:For HD sources ''prefilter''=2 makes more sense than 1, because it uses a wider denoising window.&lt;br /&gt;
:If instead you want to use your own prefilter denoiser, just define it in a variable and reference it here. Remember to:&lt;br /&gt;
:*Feed always 8 bit clips.&lt;br /&gt;
:*Input in fields for interlaced content *(read below)&lt;br /&gt;
:*Feed here planar ( by using Interleaved2Planar() ) YUY2 clips (not interleaved) when working with YUY2 sources.&lt;br /&gt;
:You will likely want to use spatial denoisers like median filters (removegrain=17, medianblur, etc). For very grainy or fizz grain noise you can try prefiltering in temporal or if this is not enough, try adding a new SMDegrain() line again but without globals. Use ''lsb_in'', ''lsb_out'' according so results are smooth. You can even use SMDegrain() as a prefilter for SMDegrain() in very temporal unstable sources.&lt;br /&gt;
:Another trick for fizz grain is to serve a prefiltered clip where bright values are more denoised than dark values, you can do this through luma masks with masktools2 code. Search in [http://forum.doom9.org/showthread.php?t=162813 Doom9] for reference.&lt;br /&gt;
:For interlaced sources remember:&lt;br /&gt;
::Spatial filtering: pre=separatefields().spatial_prefilters_here()&lt;br /&gt;
::Temporal filtering: pre=separatefields().interleave(selecteven().temporal_filters(),selectodd().temporal_filters())&lt;br /&gt;
:SMDegrain() (and MDegrain) is likely to produce blending artifacts or oversmooth in dark areas specially on cartoons, to tackle this see RefineMotion or expand the luma range in the darks. For this there are many options, you can use your preferred gamma enhancer and input it as the prefilter, or use the examples below for linear brightening (masktools2) and input it as a ''prefilter'' as well. Or at last and the recommended solution, to use the built-in ''Str'' (strength) and ''Amp'' (amplitude) parameters for a curve type dark enhancement, check the effects by enabling Show and changing your previewing conditions to PC levels.&lt;br /&gt;
:For brightening dark values linearly (brighter parts less brightening)&lt;br /&gt;
 str=1&lt;br /&gt;
 mt_lut(&amp;quot;x x &amp;quot;+string(str)+&amp;quot; 6 * - 255 - abs 255 / ^ x 1 - abs +&amp;quot;)&lt;br /&gt;
:Or for a more contrasty image (although not as much dark enhancing - not linear)&lt;br /&gt;
 str=40&lt;br /&gt;
 mt_lut(&amp;quot;x x &amp;quot;+string(str)+&amp;quot; 6 * - 255 - abs 255 / ^ &amp;quot;+string(str)+&amp;quot; / x 1 - abs +&amp;quot;)&lt;br /&gt;
:Good resources for custom prefilters:&lt;br /&gt;
:*http://forum.doom9.org/showthread.php?t=162813&lt;br /&gt;
:*http://forum.doom9.org/showthread.php?t=132310&lt;br /&gt;
:*http://forum.doom9.org/showthread.php?t=133977&lt;br /&gt;
:Notes: To sum it up; generally in denoising, temporal filters are always preferred due to its natural look (versus spatial filters). But more often than not for good results prefiltering plays a key role on the output quality, and setting it up nicely can be looked as an art by itself.&lt;br /&gt;
:If there's a reached point where no prefiltering, no ''thSAD'' tweaking, etc, makes able to denoise a certain motion part/area/scene, then this is due to the motion vectors preventing them from being &amp;quot;denoised&amp;quot; (also read &amp;quot;artifacted&amp;quot;), in which case you will need to rely on alternative solutions (motion compensation, filters like MCTemporalDenoise(), TemporalDegrain(), [http://forum.doom9.org/showthread.php?p=1544619#post1544619 Multilevel MDegrain], etc) or just use plain spatial filters with motion masks. Creating these discerning masks for static and motion scenes and combining them is a research task on the end user side.&lt;br /&gt;
&lt;br /&gt;
{{Par|mfilter|clip|None}}&lt;br /&gt;
:Motion Filter, an optional user-supplied clip that will be passed through those areas where SMDegrain() couldn't find a matching block, normally high motion areas. One use for it would be to to use spatial filters, like deblockers or blurring filters that mimic motion blur.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Str|float|1.0|0.0-8.0}}&lt;br /&gt;
:Gamma correction. With this parameter you control the strength of the brightening of the ''prefilter'' clip, good for when problems with dark areas arise. Using this internally instead of externally creates less quantization artifacts, since it's done in the same stage as the TV-&amp;gt;PC range conversion.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Amp|float|0.0625|0.0-1.0}}&lt;br /&gt;
:Used when ''Str'' &amp;lt;&amp;gt; 1.0. This defines the amplitude of the brightening in the luma range, for example by using 1.0 all the luma range will be used and the brightening will find its peak at luma value 128 in the original. Default is 0.0625 (1.0/16) which just sits over luma value 16 (256/16) This and ''Str'' are extrapolated arguments from [http://forum.doom9.org/showthread.php?p=1548318#post1548318 cretindesalpes' function], you can find a graph and more insight explanations at the original post.&lt;br /&gt;
:Check these 2 parameters effects by enabling ''show''.&lt;br /&gt;
&lt;br /&gt;
{{ParR|blksize|int|8 for SD, 16 for HD|4,8,16}}&lt;br /&gt;
:Size of a block (horizontal x vertical). Larger blocks are faster and less sensitive to noise, but also less accurate.&lt;br /&gt;
&lt;br /&gt;
{{Par|overlap|int|blksize/2}}&lt;br /&gt;
:Must be *even* and *less* than block size. Common values: ''blksize''/4 or ''blksize''/2. Larger ''overlap'' looks slightly better and runs slower.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Search|int|4|0-7}}&lt;br /&gt;
:This is the '''search''' of [[MVTools/MAnalyze|MAnalyze]].&lt;br /&gt;
&lt;br /&gt;
{{Par|Truemotion|bool|True for SD, False for HD}}&lt;br /&gt;
:''Truemotion'' is a preset of some MVAnalyze parameter values. It allows easy to switch default values of all &amp;quot;true motion&amp;quot; parameters at once. Set it 'true' for true motion search (high vector coherence), set it 'false' to search motion vectors with best SAD. Truemotion is slower and may blur textures and thin details more, but will usually remove more noise.&lt;br /&gt;
:For HD sources where the main problems are just excessive grain, I have defaulted it to false, this is not only faster but honors detail accuracy (the main existing point for HD sources) and overall object shading.&lt;br /&gt;
&lt;br /&gt;
{{Par|Chroma|bool|True}}&lt;br /&gt;
:Set false to totally ignore chroma for finding motion vectors, for more speed with little cost in quality or when your chroma is too bad to find good matches. Don't process chroma planes without chroma vectors, MVTools doesn't seem to work right.&lt;br /&gt;
&lt;br /&gt;
{{Par|Hpad|int|''blksize'' for SD, 0 for HD}}&lt;br /&gt;
{{Par|Vpad|int|''blksize'' for SD, 0 for HD}}&lt;br /&gt;
:Horizontal/vertical padding added to source frame (left, right, top, and bottom) for better motion estimation near borders.&lt;br /&gt;
:Try to have clean borders in your source (no NAB/black borders) to start with before tweaking this setting. If necessary, crop beforehand ideally in multiples of 16. Turn it to 0 if you are running out of memory.&lt;br /&gt;
&lt;br /&gt;
{{Par|thSCD1|int|based on ''blksize'': 4{{=}}&amp;gt;100, 8{{=}}&amp;gt;400, 16{{=}}&amp;gt;1600}}&lt;br /&gt;
:Threshold which decides whether a block has changed between the previous frame and the current one, used to tweak the scene change detection. Raising it will lower the number of blocks detected as changed. It may be useful for noisy or flickered video. To fix blending on scene changes on dark scenes, first try ''Str'' and ''Amp''.&lt;br /&gt;
&lt;br /&gt;
{{ParR|thSCD2|int|130|0-250}}&lt;br /&gt;
:Threshold which sets how many blocks have to change for the frame to be considered as a scene change.&lt;br /&gt;
&lt;br /&gt;
{{ParR|limit|int|255|1-255}}&lt;br /&gt;
{{ParR|limitC|int|255|1-255}}&lt;br /&gt;
:Maximal change of pixel luma/chroma, to prevent some artifacts.&lt;br /&gt;
&lt;br /&gt;
{{Par|CClip|clip|None}}&lt;br /&gt;
:Optional sharp version for ''contrasharp'' to compare against; video resolution and properties must be the same (different bit depth is OK). Using this option defaults ''contrasharp'' to True.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Globals|int|0|0-3}}&lt;br /&gt;
:With this parameter you can create or load pre-processed motion vectors, to save doing the work for multiple SMDegrain calls.&lt;br /&gt;
:*0: Ignore globals, just process&lt;br /&gt;
:*1: Read globals and Process&lt;br /&gt;
:*2: Process and output globals&lt;br /&gt;
:*3: Output globals only, don't process&lt;br /&gt;
:Some parameters '''MUST MATCH''' between output and input stages: ''pel'', ''subpixel'', ''chroma'', and ''vpad''/''hpad'' cannot change. When reading (Globals=1) only some parameters work: ''tr'', ''thSAD'', ''plane'', ''limit'', ''limitc'', ''contrasharp'', ''CClip'', ''interlaced'' and the ''lsb'' parameters. Others are ignored.&lt;br /&gt;
:Global names that can be reused are: '''Super''', '''bv1''', '''fv1''', '''bv2''', '''fv2''', '''bv3''', '''fv3''', '''bv4''', '''fv4''', '''bv6''', '''fv6''', '''vmulti'''.&lt;br /&gt;
 SMDegrain(tr=3,thSAD=400,globals=3)    # Outputs vectors&lt;br /&gt;
 SMDegrain(tr=3,thSAD=400,globals=1)    # You can use a lower &amp;quot;tr&amp;quot; or &amp;quot;thSAD&amp;quot; if you want&lt;br /&gt;
:or&lt;br /&gt;
 SMDegrain(tr=3,thSAD=400,globals=3)    # Outputs vectors&lt;br /&gt;
 Super = MSuper(levels=1)               # Add this line just before if you have some processing between Globals Output and Input.&lt;br /&gt;
 MDegrain3(Super, bv1, fv1, bv2, fv2, bv3, fv3, thSAD=400)&lt;br /&gt;
&lt;br /&gt;
{{Par|Show|bool|False}}&lt;br /&gt;
{{ParR|Show|str|-|&amp;quot;Speed&amp;quot;, &amp;quot;Memory&amp;quot;, &amp;quot;Quality&amp;quot;}}&lt;br /&gt;
:This will show the prefiltered clip to be used for the motion search to the left(&amp;lt;--), and the used parameters list to the right (--&amp;gt;)&lt;br /&gt;
:If the parameters panel is broken i.e. overlapping lines, hidden lines, etc, most likely your settings are wrong, (e.g. ''lsb_in''=true when input is 8bit) so it will also work well as a debug function. If you set Show to a string as indicated above, related parameters will be highlighted to guide you on correctly tweaking the function. This is loosely based, so it doesn't exclude you from reading carefully every parameter explanation.&lt;br /&gt;
:Even when you are not using any prefiltering, the clip to be used for the motion search where you obtain the motion vectors, will be converted from TV levels to PC levels, the only exception being when using ''Globals''=1 (Read) in which case the &amp;quot;prefiltered&amp;quot; clip will be exactly the same as input clip (that is no luma conversion, although constrained to 8 bit). Additionally you can tweak the dark expansion with ''Str'' and ''Amp'' parameters and check the effects in the left panel, but be aware to change your viewing conditions as it is in PC levels.&lt;br /&gt;
:The left panel preserves its properties so you can crop out the right panel and use it as a prefilter clip of any MSuper(). Therefore if you are not processing chroma (''chroma''=false) the prefiltered clip will be green, don't panic, this is correct, this happens when the U and V planes are unset. In this regard for previewing tasks with prefilterings -- or just the ''Str'' and ''Amp'' effect -- set ''chroma'' to true temporally or follow with ''GreyScale''(). For YUY2 sources set ''Planar2Interleaved''() after cropping for previewing.&lt;br /&gt;
 &lt;br /&gt;
==Final Notes==&lt;br /&gt;
If there is an important parameter not implemented, you have any issue or found a bug, please don't hesitate and ask in its [http://forum.videohelp.com/threads/369142 VideoHelp thread].&lt;br /&gt;
 &lt;br /&gt;
==Changelog==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: 1px solid darkgray&amp;quot;&lt;br /&gt;
!Version&lt;br /&gt;
!Date&lt;br /&gt;
!Changes&lt;br /&gt;
|-&lt;br /&gt;
|3.0d&lt;br /&gt;
|2015-03-27&lt;br /&gt;
|&lt;br /&gt;
Adjusted SD&amp;lt;&amp;gt;HD discretion&amp;lt;br/&amp;gt;&lt;br /&gt;
Added mfilter (Motion Filter) new feature&amp;lt;br/&amp;gt;&lt;br /&gt;
subpixel=3 (nnedi3); removed qual=2 due to possible blending bug (quote by cretindesalpes), this also boosts speed&amp;lt;br/&amp;gt;&lt;br /&gt;
Lowered the defaults for less aggressive denoise (still somewhat high)&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed chroma not showing in debug (show) mode when lsb=true and prefilter=3 were paired&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed long lasting issues in Show Panel for certain not mod height resolutions&amp;lt;br/&amp;gt;&lt;br /&gt;
Now prefilter=0 is minblur(0), lighter denoising than prefilter=1, default is now -1 (off)&amp;lt;br/&amp;gt;&lt;br /&gt;
Documentation update (plugin updates, notes, links, examples, etc)&lt;br /&gt;
|-&lt;br /&gt;
|2.2d&lt;br /&gt;
|2013-03-05&lt;br /&gt;
|&lt;br /&gt;
Removed one residual variable in Contrasharpening function&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a regression at v2.0 for Interlaced YUY2 sources by changing wrong variable ifC to if0, and...&amp;lt;br/&amp;gt;&lt;br /&gt;
...adding a missing weave() to the last MergeChroma() call&amp;lt;br/&amp;gt;&lt;br /&gt;
Dropped Dither support. (Will still work/not work as before, but lack of official support renders it to a YMMV condition)&lt;br /&gt;
|-&lt;br /&gt;
|2.1d&lt;br /&gt;
|2012-09-09&lt;br /&gt;
|&lt;br /&gt;
Fixed Refinemotion Globals Input labels&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed ContrasharpeningHD Vectors for Interlaced HD sources&amp;lt;br/&amp;gt;&lt;br /&gt;
Added ability to import Global Vectors even when &amp;quot;tr&amp;quot; is lower than parent instance &amp;quot;tr&amp;quot; (credit to cretindesalpes)&amp;lt;br/&amp;gt;&lt;br /&gt;
Expanded support for Interlaced Denoising &amp;quot;tr&amp;quot; up to 64 (credit to cretindesalpes)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cosmetics&lt;br /&gt;
|-&lt;br /&gt;
|2.0d&lt;br /&gt;
|2012-06-07&lt;br /&gt;
|&lt;br /&gt;
Fixed and optimized chroma handling for lsb_in, contrasharpening and YUY2 content v.1.95&amp;lt;br/&amp;gt;&lt;br /&gt;
Enhanced Chroma bypass on the sharpening stage&amp;lt;br/&amp;gt;&lt;br /&gt;
Merged ContraHD() internally for Contrasharpening in HD sources&amp;lt;br/&amp;gt;&lt;br /&gt;
Dropped QTGMC support on import/export motion vectors (small value for increased confusion)&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed Median code for planar inputs in MinBlur() (needs RemoveGrainHD, dropped medianblur requirement)&amp;lt;br/&amp;gt;&lt;br /&gt;
Defaulted truemotion to false for HD inputs&amp;lt;br/&amp;gt;&lt;br /&gt;
Code Optimization and Clean up&amp;lt;br/&amp;gt;&lt;br /&gt;
Others&lt;br /&gt;
|-&lt;br /&gt;
|1.9d&lt;br /&gt;
|2012-03-23&lt;br /&gt;
|&lt;br /&gt;
Added truemotion parameter (default=true), change it to false (as in MCTemporalDenoise()), so low frequency detail won't be lost (walls...), although it could leave more noise on high frequency details&amp;lt;br/&amp;gt;&lt;br /&gt;
Added thSADC, and thSCD1/thSCD2 parameters for finer control&amp;lt;br/&amp;gt;&lt;br /&gt;
Tweaked prefilter=3 dfttest sigmas for better low frequency detail protection&amp;lt;br/&amp;gt;&lt;br /&gt;
Detached explanation and converted to html. Updated and extended the contents as well&amp;lt;br/&amp;gt;&lt;br /&gt;
Fine tuned and robustized the Show Panel&amp;lt;br/&amp;gt;&lt;br /&gt;
Optimized and organized code, more precisely the contrasharpening part&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a few ternary checks for when Globals=3&amp;lt;br/&amp;gt;&lt;br /&gt;
Others&lt;br /&gt;
|-&lt;br /&gt;
|1.8d&lt;br /&gt;
|2012-01-18&lt;br /&gt;
|&lt;br /&gt;
Added automatic dark protection for prefilter=3 (dfttest performs badly in darks) v1.71d and extended its dark protection v1.8&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed chroma variable when chroma=false, from 2 (copy chroma) to 1 (discard chroma) v1.71d&amp;lt;br/&amp;gt;&lt;br /&gt;
Explanation and cosmetics v1.71d&amp;lt;br/&amp;gt;&lt;br /&gt;
Added acknowledgments and updated explanation&amp;lt;br/&amp;gt;&lt;br /&gt;
Added brackets to all functions (it has been reported to cause threading problems under certain circumstances) (http://forum.doom9.org/showthread.php?p=1515886#post1515886)&amp;lt;br/&amp;gt;&lt;br /&gt;
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: &amp;quot;Speed&amp;quot;, &amp;quot;Memory&amp;quot; and &amp;quot;Quality&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Optimized lsb_in for HD resolutions which was causing memory hogs&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed contrasharpening for YUY2 sources when lsb=true&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed some inconsistencies for YUY2 sources when prefilter=3&lt;br /&gt;
|-&lt;br /&gt;
|1.7d&lt;br /&gt;
|2012-01-11&lt;br /&gt;
|&lt;br /&gt;
Fixed and extended introduction explanation v.1.61d&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed some issues for Globals=1 (Read) in relation to lsb_in and luma expansion auto-prefilter v.1.61d&amp;lt;br/&amp;gt;&lt;br /&gt;
Added mild gauss blur prefilter option as prefilter=1. Consequent modes are displaced v.1.61d&amp;lt;br/&amp;gt;&lt;br /&gt;
Changed prefilter 1 and 2 to Minblur (Gauss/Median combination) v.1.63d&amp;lt;br/&amp;gt;&lt;br /&gt;
Updated MinBlur function v.1.62d and v.1.66&amp;lt;br/&amp;gt;&lt;br /&gt;
Code tidied up v.1.62d&amp;lt;br/&amp;gt;&lt;br /&gt;
Updated luma expansion, now you can enhance darks (with 'Str' and 'Amp') in the same step as the TV-&amp;gt;PC conversion stage, thus +optimized, +quality. v.1.63d by cretindesalpes (http://forum.doom9.org/showthread.php?p=1548318#post1548318)&amp;lt;br/&amp;gt;&lt;br /&gt;
Removed pre_custom. Now use prefilter to load a prefiltered clip, as well as modes 0~3&amp;lt;br/&amp;gt;&lt;br /&gt;
Added Show parameter. Now you can see the used and default parameters along the prefilter clip as well&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed one note related to prefilter clip input for interlaced content&lt;br /&gt;
|-&lt;br /&gt;
|1.6d&lt;br /&gt;
|2011-12-24 (first open release)&lt;br /&gt;
|&lt;br /&gt;
Fixed and extended introduction explanation&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed Ditherpost for interlaced sources&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a broken reference for reading MRecalculate globals when tr&amp;gt;3&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a Globals=1 MSuper automatization&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a plane processing bypass when chroma=false&amp;lt;br/&amp;gt;&lt;br /&gt;
Added LSFmod as optional contrasharpening (slower, but biased contrasharpening and probably better depending on source)&amp;lt;br/&amp;gt;&lt;br /&gt;
Added default luma expansion auto-prefilter for motion search (16% more values)&amp;lt;br/&amp;gt;&lt;br /&gt;
Added YUY2 support&amp;lt;br/&amp;gt;&lt;br /&gt;
Added the 'mode' parameter of Ditherpost()&amp;lt;br/&amp;gt;&lt;br /&gt;
Added support for interlaced temporal radius up to 6&lt;br /&gt;
|-&lt;br /&gt;
|1.5d&lt;br /&gt;
|2011-10-14&lt;br /&gt;
|&lt;br /&gt;
Changed &amp;quot;srchSuper&amp;quot; Global variable to &amp;quot;QTGMC_srchSuper&amp;quot;, compatible with QTGMC. Anyhow you may probably want to create a new super clip. Test it out! v.1.41d&amp;lt;br/&amp;gt;&lt;br /&gt;
Introduction spelling and presentation v.1.42d&amp;lt;br/&amp;gt;&lt;br /&gt;
Added lsb and lsb_in for prefilter=2 (dfttest) v.1.43d &amp;amp; v.1.44d&amp;lt;br/&amp;gt;&lt;br /&gt;
Some better definitions for the settings help v.1.45d&amp;lt;br/&amp;gt;&lt;br /&gt;
pelclip is now subpixel = 3 ('sharp' parameter before) v.1.45d&amp;lt;br/&amp;gt;&lt;br /&gt;
Other minor tweaks v.1.45d&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed an important issue when using prefilter with subpixel=3 ('pelclip' parameter before)&amp;lt;br/&amp;gt;&lt;br /&gt;
Optimizations in Ditherpost for chroma&amp;lt;br/&amp;gt;&lt;br /&gt;
Changed rfilter (hierarchical levels smoothing/scaling) from default 2 to 4. Better results in my judge&amp;lt;br/&amp;gt;&lt;br /&gt;
Some more little tweaks in code and introduction&lt;br /&gt;
|-&lt;br /&gt;
|1.4d&lt;br /&gt;
|2011-09-16&lt;br /&gt;
|&lt;br /&gt;
Added pelclip option for top quality subpixel interpolation when pel &amp;gt; 1&amp;lt;br/&amp;gt;&lt;br /&gt;
Changed QTGMCV parameter to Globals, and added a bunch of new features like vectors output from SMDegrain()&amp;lt;br/&amp;gt;&lt;br /&gt;
Big introduction and code optimization tweaks&lt;br /&gt;
|-&lt;br /&gt;
|1.3d&lt;br /&gt;
|2011-09-14&lt;br /&gt;
|Fixed an important issue on the Interlaced parameter and improved overall handling (v.1.21d &amp;amp; v.1.3d)&lt;br /&gt;
|-&lt;br /&gt;
|1.2d&lt;br /&gt;
|2011-09-13&lt;br /&gt;
|&lt;br /&gt;
Added Interlaced parameter, for processing interlaced sources&amp;lt;br/&amp;gt;&lt;br /&gt;
Some introduction and code optimization tweaks (v.1.12d &amp;amp; v.1.2d)&lt;br /&gt;
|-&lt;br /&gt;
|1.1d&lt;br /&gt;
|2011-09-12&lt;br /&gt;
|&lt;br /&gt;
Implemented MDegrainN for tr &amp;gt; 3, from the MVTools2 mod of Dither&amp;lt;br/&amp;gt;&lt;br /&gt;
Minor introduction and code optimization tweaks&lt;br /&gt;
|-&lt;br /&gt;
|1.0d&lt;br /&gt;
|2011-09-09&lt;br /&gt;
|&lt;br /&gt;
Added CClip parameter. Reference an earlier stage of your processing chain as your sharp version for the contrasharpening&lt;br /&gt;
|-&lt;br /&gt;
|0.9d&lt;br /&gt;
|2011-09-09&lt;br /&gt;
|&lt;br /&gt;
Added QTGMCV parameter, for reusing vectors from QTGMC bob deinterlacer&lt;br /&gt;
|-&lt;br /&gt;
|0.8d&lt;br /&gt;
|2011-09-05&lt;br /&gt;
|&lt;br /&gt;
Fixed a few things related to the lsb_in option&amp;lt;br/&amp;gt;&lt;br /&gt;
Minor introduction and code optimization tweaks&lt;br /&gt;
|-&lt;br /&gt;
|0.7d&lt;br /&gt;
|2011-09-05&lt;br /&gt;
|&lt;br /&gt;
Implemented &amp;quot;fake&amp;quot; lsb_in option. Output will have slightly more quality (if any), and will compress better. (Experimental)&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a not passed argument in the hpad, vpad parameters&lt;br /&gt;
|-&lt;br /&gt;
|0.6d&lt;br /&gt;
|2011-09-04&lt;br /&gt;
|&lt;br /&gt;
Minor introduction and code optimization tweaks&lt;br /&gt;
|-&lt;br /&gt;
|0.5d&lt;br /&gt;
|2011-07-19&lt;br /&gt;
|&lt;br /&gt;
Added dfttest option for preblur (now prefilter) option. Slower but better due to its internal deblock+denoise operation, plus sharper results&amp;lt;br/&amp;gt;&lt;br /&gt;
Added pre_custom option for the prefilter process, define here a denoised clip as your prefiltered version&amp;lt;br/&amp;gt;&lt;br /&gt;
Updated the introduction help&lt;br /&gt;
|-&lt;br /&gt;
|0.4d&lt;br /&gt;
|2011-06-03&lt;br /&gt;
|&lt;br /&gt;
Added preblur option for slight vector blurring where motionmatch is bad (http://forum.doom9.org/showthread.php?t=161594)&amp;lt;br/&amp;gt;&lt;br /&gt;
Added RefineMotion parameter for better motion vectors. Based off Killer() (http://forum.doom9.org/showthread.php?p=1266572#post1266572)&amp;lt;br/&amp;gt;&lt;br /&gt;
Added parameters &amp;quot;lsb&amp;quot; and &amp;quot;lsb_out&amp;quot;, for the MVTools2 mod version of cretindesalpes' Dither (http://forum.doom9.org/showthread.php?p=1386559#post1386559)&amp;lt;br/&amp;gt;&lt;br /&gt;
Other minor aesthetics and performance adjustments&lt;br /&gt;
|-&lt;br /&gt;
|0.3d&lt;br /&gt;
|2011-03-04&lt;br /&gt;
|&lt;br /&gt;
First Mod version&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed plane (for MDegrain) and added chroma (for MAnalyse) parameters&lt;br /&gt;
|-&lt;br /&gt;
|0.2&lt;br /&gt;
|2010-01-24&lt;br /&gt;
|&lt;br /&gt;
Added introductory section&amp;lt;br/&amp;gt;&lt;br /&gt;
Added more parameters&lt;br /&gt;
|-&lt;br /&gt;
|0.1&lt;br /&gt;
|&lt;br /&gt;
Basic working version&amp;lt;br/&amp;gt;&lt;br /&gt;
Not released&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>SilverbackNet</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/SMDegrain</id>
		<title>SMDegrain</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/SMDegrain"/>
				<updated>2015-06-04T06:28:24Z</updated>
		
		<summary type="html">&lt;p&gt;SilverbackNet: italics&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FilterCat|External_filters|Denoisers|Spatial-Temporal Denoisers}}&lt;br /&gt;
{{Filter&lt;br /&gt;
| Caroliano, {{Author/Dogway}}&lt;br /&gt;
| v3.0d &lt;br /&gt;
|&lt;br /&gt;
* [http://www.mediafire.com/download/eb09qdkqf6y2wbj/SMDegrain_v.3.0d.zip SMDegrain_v.3.0d.zip]&amp;lt;br/&amp;gt;&lt;br /&gt;
* VapourSynth: [[HAvsFunc]]&lt;br /&gt;
| 4=Spatial-Temporal Denoisers&lt;br /&gt;
| 7=[http://forum.videohelp.com/threads/369142-Simple-MDegrain-Mod-v3-0d-A-Quality-Denoising-Solution VideoHelp], [http://forum.doom9.org/showthread.php?t=163604 Doom9] }}&lt;br /&gt;
&lt;br /&gt;
'''SMDegrain''', the Simple MDegrain Mod, is mainly a convenience function for using [[MVTools]]. It is not a magic function (the magic comes from mvtools), it just takes the repetitive code blocks needed for mvtools+mdegrain denoising and wraps them into this function.&lt;br /&gt;
&lt;br /&gt;
It has internal switches for interlaced or YUY2 content, saving you from writing long lines of code and preventing from possible mistakes. YUY2 is even automatically detected. Apart of that it adds some small and simple enhancements listed below, like easy prefilters, slightly better motion vectors (thanks to an internal TV-&amp;gt;PC luma expansion and the possibility of dark enhancement), easy nnedi3 subpixel accuracy, globals import/export, show panel, and contra-sharpening option.&lt;br /&gt;
&lt;br /&gt;
==Dependencies==&lt;br /&gt;
[[MaskTools2]] and [[MVTools]] (mod versions recommended)&lt;br /&gt;
&lt;br /&gt;
===Optional===&lt;br /&gt;
* [[Dither]] for 16 bit processing (v1.26.5 or higher)&lt;br /&gt;
* [[RgTools]] for contrasharp=true or prefilter=1 or 2&lt;br /&gt;
* [[LSFmod]] for contrasharp &amp;gt; 0.0&lt;br /&gt;
* [[dfttest]] for prefilter=3&lt;br /&gt;
* [[nnedi3]] for subpixel=3&lt;br /&gt;
''Beware, tp7's plugin mods have no YUY2 support, require AviSynth 2.6a5 or latest Set's MT for v2.6, and Visual C++ 2012 Redistributable.''&lt;br /&gt;
&lt;br /&gt;
==Aknowledgements==&lt;br /&gt;
Original '''SMDegrain()''' by Caroliano&lt;br /&gt;
&lt;br /&gt;
This function uses code from Didée, and cretindesalpes' creations, and has parts inspired by LaTo's functions (old readme, Show panel, etc) and Jawed's Killer() function, apart of relying on third-party tools for certain features.&lt;br /&gt;
&lt;br /&gt;
Special thanks go to: cretindesalpes, Didée, Gavino, Sagekilla, and MVtools people.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The benefit of using SMDegrain over directly calling MDegrain is:&lt;br /&gt;
* '''High bitdepth denoising''': This is the first wrapper function to support 32bit (16bit pipeline) MDegrain denoising.&lt;br /&gt;
* '''Higher temporal radius''' (tr&amp;gt;3): The [[MVTools]] mod (and hence this script) also allows for hack-free higher temporal radius.&lt;br /&gt;
* '''Contrasharpening''': The pretty much standarized sharpening method created by Didée is blended into the function, so you can easily use it in 16bit pipelines. An strength biased method is also possible. A ''CClip'' parameter is also supplied so you can choose another source to sharpen from, other than the default '''SMDegrain()''' input.&lt;br /&gt;
* '''YUY2 support''': It automatically and fully supports YUY2.&lt;br /&gt;
* '''Interlaced support''': It supports interlaced sources with most parameters as well.&lt;br /&gt;
* '''Extended Subpixel Accuracy''': [[nnedi3]] is allowed as a subpixel filter, not necessary in most cases, but if you are quality mad try to set it on.&lt;br /&gt;
* '''Better Motion Vectors''': An internal conversion from TV levels (reduced values range) to PC levels (extended values range) is done to the clip the motion analysis will be performed on, so you can get better motion vectors (up to 16%)&lt;br /&gt;
* '''Prefilters''': An easy parameter to load generalist prefilters that perform well in most situations. It also accepts loading your personal prefiltered clips.&lt;br /&gt;
* '''Motion Filters''': New in version 3.0d. It will allow you to filter those parts where '''SMDegrain()''' couldn't find a matching block for denoising. One use for it would be spatial denoisers or deblockers since high-motion areas are prone to heavy blocking and artifacts.&lt;br /&gt;
* '''Global Motion Vector In/Out''': Reuse motion vectors globals for faster processing, or just use '''SMDegrain()''' as a shortcut for creating nice quality motion vectors.&lt;br /&gt;
* '''RefineMotion Option''' (MRecalculate): Slower, but sometimes a big quality boost.&lt;br /&gt;
* '''Show Panel''': Everything is off by default, but some settings change in context. Check what is happening behind the scenes and have a fast look at all your settings.&lt;br /&gt;
* '''Robust''': Everything of the above works with each other no problem (interoperability), also in the process some error proof, bugfixes and bug workarounds were implemented or at least warned so you know that most of what is done is reliable, bugs free and optimized. The general idea is to serve as an user friendly front end for vanilla mvtools2+mdegrain or as the original script creator entitled &amp;quot;To make your scripts shorter and less geeky&amp;quot;. Most parameters are turned off or defaulted to mvtools2 defaults and features are based on popular general conceived procedures.&lt;br /&gt;
&lt;br /&gt;
Parameters are arranged in 3 blocks.&lt;br /&gt;
*'''Basic''': For people who just need the most basic parameters because either they don't have the time, knowledge or interest into looking for complex settings. Or they are content with defaults (pretty much mvtools defaults)&lt;br /&gt;
*'''High Bit Depth''': There's not much to think about this. This just enables (default is disabled), high bit depth denoising. That is, more quality, but also needs more processing power hence slower.&lt;br /&gt;
*'''Advanced''': If you run into some problems, are nitpicking or just want to fine tune your settings according to the source, have a look at this block, it contains the rest and bulk of the function parameters.&lt;br /&gt;
&lt;br /&gt;
Temporal denoising is a widespread procedure for noise cleaning in most type of video sources. The only limitation for '''SMDegrain()''' being when there are (very) high levels of grain, in which case you would need to rely on more &amp;quot;creative&amp;quot; and source centric solutions (see [http://forum.doom9.org/showthread.php?p=1544619#post1544619 this] and ''prefilter'' notes), but those are the rare cases.&lt;br /&gt;
&lt;br /&gt;
To picture what the function does, a simple '''SMDegrain()''' call matches the next code (for SD resolutions):&lt;br /&gt;
&lt;br /&gt;
 super_search = Dither_Luma_Rebuild(S0=1.0,c=0.0625).MSuper(rfilter=4)&lt;br /&gt;
 &lt;br /&gt;
 bv2 = super_search.MAnalyse(isb = true,  delta = 2, overlap= 4)&lt;br /&gt;
 bv1 = super_search.MAnalyse(isb = true,  delta = 1, overlap= 4)&lt;br /&gt;
 fv1 = super_search.MAnalyse(isb = false, delta = 1, overlap= 4)&lt;br /&gt;
 fv2 = super_search.MAnalyse(isb = false, delta = 2, overlap= 4)&lt;br /&gt;
 &lt;br /&gt;
 MDegrain2(MSuper(levels=1), bv1, fv1, bv2, fv2, thSAD=300, thSADC=150)&lt;br /&gt;
&lt;br /&gt;
As you see no wizardry. The only changes made are the TV-&amp;gt;PC luma expansion (''Dither_Luma_Rebuild''(S0=1.0,c=0.0625) similar to ''color_yuv''(levels=&amp;quot;TV-&amp;gt;PC&amp;quot;)) so you have more range to detect motion vectors, the ''rfilter''=4 for a bit more quality super search, the changed default of ''overlap'' from 0 to 4 and ''thSAD'' and ''thSADC'' from 400 to 300 and 150 respectively for safer results. Nothing else. The problem is that as soon you want to change a little thing like say temporal radius it requires you to edit in more than a few places, so this is very annoying and so forth the main reason for '''SMDegrain()'''.&lt;br /&gt;
 &lt;br /&gt;
==Using the filter==&lt;br /&gt;
*Input can be YV12 or YUY2, and '''must''' be TV range (which is normal). It's also recommended to be in modulus 16 size (resolution multiple of 16), although not strictly necessary.&lt;br /&gt;
*Crop first (when not interlaced).&lt;br /&gt;
*Recommended to deblock if blocking is present, before crop (when cropping) and '''SMDegrain()'''. Or you can use ''prefilter''=3 which is also a good deblocker (dfttest) and let '''SMDegrain()''' clean the blocking for you.&lt;br /&gt;
*Default output mode(dithering) for ''lsb''=true (when non interlaced) is ordered dither (optimized for encoding), so it is not recommended to keep filtering non-edge areas of your source, you can instead use ''mode''=6 (error diffusion) or ''lsb_out''=true and keep filtering in 16bit&lt;br /&gt;
*Read the ''prefilter'' setting explanation for solutions to problematic sources&lt;br /&gt;
&lt;br /&gt;
==Ready-to-run Samples==&lt;br /&gt;
&lt;br /&gt;
I consider this a good starting point where to start tweaking, whether be it for quality or speed:&lt;br /&gt;
 SMDegrain(tr=2,thSAD=250,contrasharp=true,refinemotion=true,lsb=true)&lt;br /&gt;
 &lt;br /&gt;
A basic, fast, yet very functional call for light grain (mvtools2+masktools2 only needed)&lt;br /&gt;
 SMDegrain(tr=1,thSAD=300,contrasharp=true)&lt;br /&gt;
&lt;br /&gt;
A typical more worked call compatible with official mvtools2 (mvtools2+masktools2 only needed)&lt;br /&gt;
 SMDegrain(tr=2,thSAD=300,interlaced=true,prefilter=1,contrasharp=true)&lt;br /&gt;
&lt;br /&gt;
Good compromise between speed and quality (denoising with high precision)&lt;br /&gt;
 SMDegrain(tr=2,thSAD=300,contrasharp=true,refinemotion=true,lsb=true)&lt;br /&gt;
&lt;br /&gt;
Similar to the previous example, the next is a personal preference. Turned all chroma off for safeness (chroma is rarely temporal-reliable enough) and speed.&lt;br /&gt;
 SMDegrain(tr=2,thSAD=300,contrasharp=true,refinemotion=true,lsb=true,chroma=false,plane=0)&lt;br /&gt;
&lt;br /&gt;
This is a good example to show that interlaced YUY2 sources can be processed seamlessly.&lt;br /&gt;
 # mod4 (modulus 4) interlaced YUY2 source&lt;br /&gt;
 SMDegrain(tr=1,thSAD=250,interlaced=true,contrasharp=true,lsb=true)&lt;br /&gt;
&lt;br /&gt;
HD sources are detected automatically, and as so settings are optimized for speed; ''pel''=1, ''hpad''=0, ''vpad''=0, ''blksize''=32, ''overlap''=16, ''truemotion''=false&lt;br /&gt;
 # HD source (from 1100px wide or 600px high up)&lt;br /&gt;
 SMDegrain(tr=2,thSAD=180,prefilter=2,contrasharp=30,refinemotion=true,lsb=true,chroma=false,plane=0)&lt;br /&gt;
&lt;br /&gt;
For dealing with dark scenes (you could also add ''truemotion''=false)&lt;br /&gt;
 SMDegrain(tr=3,thSAD=300,contrasharp=true,str=2.0,refinemotion=true,lsb=true)&lt;br /&gt;
&lt;br /&gt;
Tackling a grainy source:&lt;br /&gt;
 pre=fluxsmootht(3).removegrain(11)&lt;br /&gt;
 SMDegrain(tr=6,thSAD=500,contrasharp=30,prefilter=pre,str=1.2,refinemotion=true,lsb=true)&lt;br /&gt;
&lt;br /&gt;
Here 2 things are shown; how to work on a 16bit pipeline, and reference a prior state of the script for ''contrasharp''.&lt;br /&gt;
 sharp=last&lt;br /&gt;
 dfttest(tbsize=1,sigma=10,lsb=true)&lt;br /&gt;
 &lt;br /&gt;
 SMDegrain(tr=3,thSAD=300,CClip=sharp,lsb_in=true,lsb_out=true)&lt;br /&gt;
 &lt;br /&gt;
 LinearResize(854,480,lsb_in=true, mode=0)&lt;br /&gt;
&lt;br /&gt;
(Re)using motion vectors globals&lt;br /&gt;
 SMDegrain(tr=1,thSAD=400,prefilter=3,str=1.4,globals=3)    # Output vectors only&lt;br /&gt;
 MFlowFps(Super, bv1, fv1, num=60,den=1)&lt;br /&gt;
 &lt;br /&gt;
==Parameters==&lt;br /&gt;
{{FuncDef|SMDegrain}} (clip input, int &amp;quot;tr&amp;quot;, int &amp;quot;thSAD&amp;quot;, int &amp;quot;thSADC&amp;quot;, bool &amp;quot;RefineMotion&amp;quot;, val &amp;quot;contrasharp&amp;quot;, clip &amp;quot;CClip&amp;quot;, bool &amp;quot;interlaced&amp;quot;, int &amp;quot;plane&amp;quot;, int &amp;quot;Globals&amp;quot;, int &amp;quot;pel&amp;quot;, int &amp;quot;subpixel&amp;quot;, val &amp;quot;prefilter&amp;quot;, clip &amp;quot;mfilter&amp;quot;, int &amp;quot;blksize&amp;quot;, int &amp;quot;overlap&amp;quot;, int &amp;quot;search&amp;quot;, bool &amp;quot;truemotion&amp;quot;, int &amp;quot;limit&amp;quot;, int &amp;quot;limitc&amp;quot;, int &amp;quot;thSCD1&amp;quot;, int &amp;quot;thSCD2&amp;quot;, bool &amp;quot;chroma&amp;quot;, int &amp;quot;hpad&amp;quot;, int &amp;quot;vpad&amp;quot;, bool &amp;quot;lsb&amp;quot;, bool &amp;quot;lsb_in&amp;quot;, bool &amp;quot;lsb_out&amp;quot;, int &amp;quot;mode&amp;quot;, val &amp;quot;Show&amp;quot;, float &amp;quot;Str&amp;quot;, float &amp;quot;Amp&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
===Basic===&lt;br /&gt;
&lt;br /&gt;
{{ParR|tr|int|2|1-128}}&lt;br /&gt;
:Temporal radius, selects the MDegrain to use. This can be considered the strength of the denoising. Higher is generally better, but also much slower and each extra frame gives less improvement.&lt;br /&gt;
:tr 4+ requires Dither's MVTools2 mod. Max 64 for interlaced.&lt;br /&gt;
&lt;br /&gt;
{{Par|thSAD|int|300}}&lt;br /&gt;
{{Par|thSADC|int|150}}&lt;br /&gt;
:&amp;quot;Sum of Absolute Differences&amp;quot; threshold. This is the spatial difference threshold where the motion search will consider whether to denoise given the formula: &lt;br /&gt;
::Denoise_Weight = max( 0, 1 - 2*blockSAD² / (thSAD² + blockSAD²) )&lt;br /&gt;
:This spatial difference will be compared in blocks (''blksize''). If your noise is not getting into consideration for the denoising try raising this value, or reduce its SAD with previous prefiltering. You can alternatively raise ''blksize'', which will likely even blocks SAD. Low values can result in staggered/blotchy denoising, large values can result in ghosting and artifacts. Values in the range 200~600 are usual.&lt;br /&gt;
:thSADC is the same logic applied to chroma planes, since there are less differences on the chroma planes it uses by default thSAD/2 for safer chroma results.&lt;br /&gt;
:'''Recommendation''': Use slightly greater values than you are used to in other mdegrain based functions since the internal clip for the motion search in SMDegrain() has the contrast increased.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Contrasharp|bool|False|True/False}}&lt;br /&gt;
{{ParR|Contrasharp|int|-|0-100}}&lt;br /&gt;
:Contrasharpening is a technique that compares the differences between the clip before blurring (original) and after blurring (filtered), and sharpens locally with consequent strength. By default the &amp;quot;sharp&amp;quot; clip is the input, the &amp;quot;after&amp;quot; clip is the denoised clip. Alternately, a &amp;quot;before&amp;quot; clip can be specified with ''CClip'' (See Advanced).&lt;br /&gt;
:*True: use Didée's Contrasharpening() function (ContraHD() for HD) which &amp;quot;Sharpens the denoised clip, but doesn't add more to any pixel than what was removed previously.&amp;quot; In the practice you will get a slightly sharper result than the source, which is welcome.&lt;br /&gt;
:*An integer: LSFmod() will be used instead. It will be much slower, but maybe better for certain sources. Its value will serve as a contrasharpening multiplier, use one around 50 for similar strength as Contrasharpening(). LSFmod is less-suitable for HD sources.&lt;br /&gt;
&lt;br /&gt;
{{Par|RefineMotion|bool|False}}&lt;br /&gt;
:Refines and recalculates motion data of previously estimated (by MAnalyse) motion vectors. Turn it on for better motion vectors, specially when dealing with ghosting issues, small details or lineart fading and whatnot.&lt;br /&gt;
:'''Caution''': It won't help much if you use a ''prefilter'' so strong that blurs too much or kills all the details you are aiming to protect in first place.&lt;br /&gt;
&lt;br /&gt;
{{ParR|plane|int|4|0-4}}&lt;br /&gt;
:Select the planes you wish to process:&lt;br /&gt;
:*0: luma only&lt;br /&gt;
:*1: chroma U&lt;br /&gt;
:*2: chroma V&lt;br /&gt;
:*3: both chromas&lt;br /&gt;
:*4: all (Default)&lt;br /&gt;
:'''Caution''': plane=1-4 can sometimes create chroma smearing. In such case I recommend denoising chroma planes in the spatial domain.&lt;br /&gt;
&lt;br /&gt;
{{Par|Interlaced|bool|False}}&lt;br /&gt;
:If you want to denoise an interlaced source set this parameter to true. Output will also be interlaced. If you pair this with ''lsb_out''=true then you will have to &amp;lt;tt&amp;gt;Weave().DitherPost(mode=6,interlaced=true)&amp;lt;/tt&amp;gt; when converting back to 8 bit.&lt;br /&gt;
&lt;br /&gt;
===High Bit Depth Processing And Dithering===&lt;br /&gt;
All High Bit Depth parameters require [[Dither]] and [[MVTools]] 2.6+.&lt;br /&gt;
&lt;br /&gt;
{{Par|lsb_in|bool|False}}&lt;br /&gt;
:Set true if you use a 16 bits filter chain. *(EXPERIMENTAL, use under test environment)&lt;br /&gt;
&lt;br /&gt;
{{Par|lsb_out|bool|False}}&lt;br /&gt;
:Output to 16-bit instead of 8-bit. Use the helpers at the end of the SMDegrain() script to use Ditherpost() with YUY2 formats.&lt;br /&gt;
&lt;br /&gt;
{{Par|lsb|bool|False}}&lt;br /&gt;
:This enables 32 bit depth precision for denoising. You gain extra denoising accuracy, most noticeable in the prevention of banding in flat areas. Automatically set if either ''lsb_in'' or ''lsb_out'' are enabled.&lt;br /&gt;
&lt;br /&gt;
{{ParR|mode|int|0|-1-8}}&lt;br /&gt;
:This is the '''mode''' of [[Dither#DitherPost|DitherPost]] when ''lsb_out''=False, as a dithering method must be chosen for the 32bit-&amp;gt;8bit conversion. (Interlaced content is locked to mode=6) The default ''mode''=0 will help you optimize the dithering for optimum encodings when no further non-edge processing is done. Use ''mode''=6 (error diffusion) if further processing will be done.&lt;br /&gt;
&lt;br /&gt;
===Advanced===&lt;br /&gt;
&lt;br /&gt;
{{ParR|pel|int|2|1,2,4}}&lt;br /&gt;
:Accuracy of the motion estimation:&lt;br /&gt;
:* 1: full-pixel (Default for HD)&lt;br /&gt;
:* 2: half-pixel (Default for SD)&lt;br /&gt;
:* 4: quarter-pixel (often more accurate, but much slower and not always better)&lt;br /&gt;
&lt;br /&gt;
{{ParR|subpixel|int|2|0-3}}&lt;br /&gt;
:Subpixel interpolation method for ''pel''=2 or 4. This is the 'sharp' parameter in MSuper(), although it isn't related to output sharpness but better accuracy for the motion estimation.&lt;br /&gt;
:* 0: bilinear (softest)&lt;br /&gt;
:* 1: bicubic (4 tap Catmull-Rom)&lt;br /&gt;
:* 2: sharper Wiener (6 tap, similar to Lanczos) (Default)&lt;br /&gt;
:* 3: [[nnedi3]] (very high quality: useful for small sources but usually overkill. requires plugin)&lt;br /&gt;
&lt;br /&gt;
{{ParR|prefilter|int|-1|-1-3}}&lt;br /&gt;
{{Par|prefilter|clip|None}}&lt;br /&gt;
:* -1: off (Default)&lt;br /&gt;
:* 0: light controlled gauss blur&lt;br /&gt;
:* 1: mild median/gauss blur&lt;br /&gt;
:* 2: strong median/gauss blur&lt;br /&gt;
:* 3: [[dfttest]] (spatial)&lt;br /&gt;
:* clip: supply your own&lt;br /&gt;
:Denoises a version of the clip that will be used to obtain the motion vectors. Useful for very damaged/grainy sources, this will help to get better motion vectors.&lt;br /&gt;
:For sources with Gibbs noise, especially on anime, try ''prefilter''=1 or 2 or better yet strong median filters (through clip input) in order to soothe the high SAD of sharp edges. For blocky sources, or a general more quality/safer prefilter use option 3 (dfttest)&lt;br /&gt;
:By default dfttest outputs a sstring txt file to your script folder, you can delete it. This doesn't happen when using the modded dfttest (version 1.9.2 or higher) of the Dither tools.&lt;br /&gt;
:For HD sources ''prefilter''=2 makes more sense than 1, because it uses a wider denoising window.&lt;br /&gt;
:If instead you want to use your own prefilter denoiser, just define it in a variable and reference it here. Remember to:&lt;br /&gt;
:*Feed always 8 bit clips.&lt;br /&gt;
:*Input in fields for interlaced content *(read below)&lt;br /&gt;
:*Feed here planar ( by using Interleaved2Planar() ) YUY2 clips (not interleaved) when working with YUY2 sources.&lt;br /&gt;
:You will likely want to use spatial denoisers like median filters (removegrain=17, medianblur, etc). For very grainy or fizz grain noise you can try prefiltering in temporal or if this is not enough, try adding a new SMDegrain() line again but without globals. Use ''lsb_in'', ''lsb_out'' according so results are smooth. You can even use SMDegrain() as a prefilter for SMDegrain() in very temporal unstable sources.&lt;br /&gt;
:Another trick for fizz grain is to serve a prefiltered clip where bright values are more denoised than dark values, you can do this through luma masks with masktools2 code. Search in [http://forum.doom9.org/showthread.php?t=162813 Doom9] for reference.&lt;br /&gt;
:For interlaced sources remember:&lt;br /&gt;
::Spatial filtering: pre=separatefields().spatial_prefilters_here()&lt;br /&gt;
::Temporal filtering: pre=separatefields().interleave(selecteven().temporal_filters(),selectodd().temporal_filters())&lt;br /&gt;
:SMDegrain() (and MDegrain) is likely to produce blending artifacts or oversmooth in dark areas specially on cartoons, to tackle this see RefineMotion or expand the luma range in the darks. For this there are many options, you can use your preferred gamma enhancer and input it as the prefilter, or use the examples below for linear brightening (masktools2) and input it as a ''prefilter'' as well. Or at last and the recommended solution, to use the built-in ''Str'' (strength) and ''Amp'' (amplitude) parameters for a curve type dark enhancement, check the effects by enabling Show and changing your previewing conditions to PC levels.&lt;br /&gt;
:For brightening dark values linearly (brighter parts less brightening)&lt;br /&gt;
 str=1&lt;br /&gt;
 mt_lut(&amp;quot;x x &amp;quot;+string(str)+&amp;quot; 6 * - 255 - abs 255 / ^ x 1 - abs +&amp;quot;)&lt;br /&gt;
:Or for a more contrasty image (although not as much dark enhancing - not linear)&lt;br /&gt;
 str=40&lt;br /&gt;
 mt_lut(&amp;quot;x x &amp;quot;+string(str)+&amp;quot; 6 * - 255 - abs 255 / ^ &amp;quot;+string(str)+&amp;quot; / x 1 - abs +&amp;quot;)&lt;br /&gt;
:Good resources for custom prefilters:&lt;br /&gt;
:*http://forum.doom9.org/showthread.php?t=162813&lt;br /&gt;
:*http://forum.doom9.org/showthread.php?t=132310&lt;br /&gt;
:*http://forum.doom9.org/showthread.php?t=133977&lt;br /&gt;
:Notes: To sum it up; generally in denoising, temporal filters are always preferred due to its natural look (versus spatial filters). But more often than not for good results prefiltering plays a key role on the output quality, and setting it up nicely can be looked as an art by itself.&lt;br /&gt;
:If there's a reached point where no prefiltering, no ''thSAD'' tweaking, etc, makes able to denoise a certain motion part/area/scene, then this is due to the motion vectors preventing them from being &amp;quot;denoised&amp;quot; (also read &amp;quot;artifacted&amp;quot;), in which case you will need to rely on alternative solutions (motion compensation, filters like MCTemporalDenoise(), TemporalDegrain(), [http://forum.doom9.org/showthread.php?p=1544619#post1544619 Multilevel MDegrain], etc) or just use plain spatial filters with motion masks. Creating these discerning masks for static and motion scenes and combining them is a research task on the end user side.&lt;br /&gt;
&lt;br /&gt;
{{Par|mfilter|clip|None}}&lt;br /&gt;
:Motion Filter, an optional user-supplied clip that will be passed through those areas where SMDegrain() couldn't find a matching block, normally high motion areas. One use for it would be to to use spatial filters, like deblockers or blurring filters that mimic motion blur.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Str|float|1.0|0.0-8.0}}&lt;br /&gt;
:Gamma correction. With this parameter you control the strength of the brightening of the ''prefilter'' clip, good for when problems with dark areas arise. Using this internally instead of externally creates less quantization artifacts, since it's done in the same stage as the TV-&amp;gt;PC range conversion.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Amp|float|0.0625|0.0-1.0}}&lt;br /&gt;
:Used when ''Str'' &amp;lt;&amp;gt; 1.0. This defines the amplitude of the brightening in the luma range, for example by using 1.0 all the luma range will be used and the brightening will find its peak at luma value 128 in the original. Default is 0.0625 (1.0/16) which just sits over luma value 16 (256/16) This and ''Str'' are extrapolated arguments from [http://forum.doom9.org/showthread.php?p=1548318#post1548318 cretindesalpes' function], you can find a graph and more insight explanations at the original post.&lt;br /&gt;
:Check these 2 parameters effects by enabling ''show''.&lt;br /&gt;
&lt;br /&gt;
{{ParR|blksize|int|8 for SD, 16 for HD|4,8,16}}&lt;br /&gt;
:Size of a block (horizontal x vertical). Larger blocks are faster and less sensitive to noise, but also less accurate.&lt;br /&gt;
&lt;br /&gt;
{{Par|overlap|int|blksize/2}}&lt;br /&gt;
:Must be *even* and *less* than block size. Common values: ''blksize''/4 or ''blksize''/2. Larger ''overlap'' looks slightly better and runs slower.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Search|int|4|0-7}}&lt;br /&gt;
:This is the '''search''' of [[MVTools/MAnalyze|MAnalyze]].&lt;br /&gt;
&lt;br /&gt;
{{Par|Truemotion|bool|True for SD, False for HD}}&lt;br /&gt;
:''Truemotion'' is a preset of some MVAnalyze parameter values. It allows easy to switch default values of all &amp;quot;true motion&amp;quot; parameters at once. Set it 'true' for true motion search (high vector coherence), set it 'false' to search motion vectors with best SAD. Truemotion is slower and may blur textures and thin details more, but will usually remove more noise.&lt;br /&gt;
:For HD sources where the main problems are just excessive grain, I have defaulted it to false, this is not only faster but honors detail accuracy (the main existing point for HD sources) and overall object shading.&lt;br /&gt;
&lt;br /&gt;
{{Par|Chroma|bool|True}}&lt;br /&gt;
:Set false to totally ignore chroma for finding motion vectors, for more speed with little cost in quality or when your chroma is too bad to find good matches. Don't process chroma planes without chroma vectors, MVTools doesn't seem to work right.&lt;br /&gt;
&lt;br /&gt;
{{Par|Hpad|int|''blksize'' for SD, 0 for HD}}&lt;br /&gt;
{{Par|Vpad|int|''blksize'' for SD, 0 for HD}}&lt;br /&gt;
:Horizontal/vertical padding added to source frame (left, right, top, and bottom) for better motion estimation near borders.&lt;br /&gt;
:Try to have clean borders in your source (no NAB/black borders) to start with before tweaking this setting. If necessary, crop beforehand ideally in multiples of 16. Turn it to 0 if you are running out of memory.&lt;br /&gt;
&lt;br /&gt;
{{Par|thSCD1|int|based on ''blksize'': 4{{=}}&amp;gt;100, 8{{=}}&amp;gt;400, 16{{=}}&amp;gt;1600}}&lt;br /&gt;
:Threshold which decides whether a block has changed between the previous frame and the current one, used to tweak the scene change detection. Raising it will lower the number of blocks detected as changed. It may be useful for noisy or flickered video. To fix blending on scene changes on dark scenes, first try ''Str'' and ''Amp''.&lt;br /&gt;
&lt;br /&gt;
{{ParR|thSCD2|int|130|0-250}}&lt;br /&gt;
:Threshold which sets how many blocks have to change for the frame to be considered as a scene change.&lt;br /&gt;
&lt;br /&gt;
{{ParR|limit|int|255|1-255}}&lt;br /&gt;
{{ParR|limitC|int|255|1-255}}&lt;br /&gt;
:Maximal change of pixel luma/chroma, to prevent some artifacts.&lt;br /&gt;
&lt;br /&gt;
{{Par|CClip|clip|None}}&lt;br /&gt;
:Optional sharp version for ''contrasharp'' to compare against; video resolution and properties must be the same (different bit depth is OK). Using this option defaults ''contrasharp'' to True.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Globals|int|0|0-3}}&lt;br /&gt;
:With this parameter you can create or load pre-processed motion vectors, to save doing the work for multiple SMDegrain calls.&lt;br /&gt;
:*0: Ignore globals, just process&lt;br /&gt;
:*1: Read globals and Process&lt;br /&gt;
:*2: Process and output globals&lt;br /&gt;
:*3: Output globals only, don't process&lt;br /&gt;
:Some parameters '''MUST MATCH''' between output and input stages: ''pel'', ''subpixel'', ''chroma'', and ''vpad''/''hpad'' cannot change. When reading (Globals=1) only some parameters work: ''tr'', ''thSAD'', ''plane'', ''limit'', ''limitc'', ''contrasharp'', ''CClip'', ''interlaced'' and the ''lsb'' parameters. Others are ignored.&lt;br /&gt;
:Global names that can be reused are: '''Super''', '''bv1''', '''fv1''', '''bv2''', '''fv2''', '''bv3''', '''fv3''', '''bv4''', '''fv4''', '''bv6''', '''fv6''', '''vmulti'''.&lt;br /&gt;
 SMDegrain(tr=3,thSAD=400,globals=3)    # Outputs vectors&lt;br /&gt;
 SMDegrain(tr=3,thSAD=400,globals=1)    # You can use a lower &amp;quot;tr&amp;quot; or &amp;quot;thSAD&amp;quot; if you want&lt;br /&gt;
:or&lt;br /&gt;
 SMDegrain(tr=3,thSAD=400,globals=3)    # Outputs vectors&lt;br /&gt;
 Super = MSuper(levels=1)               # Add this line just before if you have some processing between Globals Output and Input.&lt;br /&gt;
 MDegrain3(Super, bv1, fv1, bv2, fv2, bv3, fv3, thSAD=400)&lt;br /&gt;
&lt;br /&gt;
{{Par|Show|bool|False}}&lt;br /&gt;
{{ParR|Show|str|-|&amp;quot;Speed&amp;quot;, &amp;quot;Memory&amp;quot;, &amp;quot;Quality&amp;quot;}}&lt;br /&gt;
:This will show the prefiltered clip to be used for the motion search to the left(&amp;lt;--), and the used parameters list to the right (--&amp;gt;)&lt;br /&gt;
:If the parameters panel is broken i.e. overlapping lines, hidden lines, etc, most likely your settings are wrong, (e.g. ''lsb_in''=true when input is 8bit) so it will also work well as a debug function. If you set Show to a string as indicated above, related parameters will be highlighted to guide you on correctly tweaking the function. This is loosely based, so it doesn't exclude you from reading carefully every parameter explanation.&lt;br /&gt;
:Even when you are not using any prefiltering, the clip to be used for the motion search where you obtain the motion vectors, will be converted from TV levels to PC levels, the only exception being when using ''Globals''=1 (Read) in which case the &amp;quot;prefiltered&amp;quot; clip will be exactly the same as input clip (that is no luma conversion, although constrained to 8 bit). Additionally you can tweak the dark expansion with ''Str'' and ''Amp'' parameters and check the effects in the left panel, but be aware to change your viewing conditions as it is in PC levels.&lt;br /&gt;
:The left panel preserves its properties so you can crop out the right panel and use it as a prefilter clip of any MSuper(). Therefore if you are not processing chroma (''chroma''=false) the prefiltered clip will be green, don't panic, this is correct, this happens when the U and V planes are unset. In this regard for previewing tasks with prefilterings -- or just the ''Str'' and ''Amp'' effect -- set ''chroma'' to true temporally or follow with ''GreyScale''(). For YUY2 sources set ''Planar2Interleaved''() after cropping for previewing.&lt;br /&gt;
 &lt;br /&gt;
==Final Notes==&lt;br /&gt;
If there is an important parameter not implemented, you have any issue or found a bug, please don't hesitate and ask in its [http://forum.videohelp.com/threads/369142 VideoHelp thread].&lt;br /&gt;
 &lt;br /&gt;
==Changelog==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: 1px solid darkgray&amp;quot;&lt;br /&gt;
!Version&lt;br /&gt;
!Date&lt;br /&gt;
!Changes&lt;br /&gt;
|-&lt;br /&gt;
|3.0d&lt;br /&gt;
|2015-03-27&lt;br /&gt;
|&lt;br /&gt;
Adjusted SD&amp;lt;&amp;gt;HD discretion&amp;lt;br/&amp;gt;&lt;br /&gt;
Added mfilter (Motion Filter) new feature&amp;lt;br/&amp;gt;&lt;br /&gt;
subpixel=3 (nnedi3); removed qual=2 due to possible blending bug (quote by cretindesalpes), this also boosts speed&amp;lt;br/&amp;gt;&lt;br /&gt;
Lowered the defaults for less aggressive denoise (still somewhat high)&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed chroma not showing in debug (show) mode when lsb=true and prefilter=3 were paired&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed long lasting issues in Show Panel for certain not mod height resolutions&amp;lt;br/&amp;gt;&lt;br /&gt;
Now prefilter=0 is minblur(0), lighter denoising than prefilter=1, default is now -1 (off)&amp;lt;br/&amp;gt;&lt;br /&gt;
Documentation update (plugin updates, notes, links, examples, etc)&lt;br /&gt;
|-&lt;br /&gt;
|2.2d&lt;br /&gt;
|2013-03-05&lt;br /&gt;
|&lt;br /&gt;
Removed one residual variable in Contrasharpening function&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a regression at v2.0 for Interlaced YUY2 sources by changing wrong variable ifC to if0, and...&amp;lt;br/&amp;gt;&lt;br /&gt;
...adding a missing weave() to the last MergeChroma() call&amp;lt;br/&amp;gt;&lt;br /&gt;
Dropped Dither support. (Will still work/not work as before, but lack of official support renders it to a YMMV condition)&lt;br /&gt;
|-&lt;br /&gt;
|2.1d&lt;br /&gt;
|2012-09-09&lt;br /&gt;
|&lt;br /&gt;
Fixed Refinemotion Globals Input labels&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed ContrasharpeningHD Vectors for Interlaced HD sources&amp;lt;br/&amp;gt;&lt;br /&gt;
Added ability to import Global Vectors even when &amp;quot;tr&amp;quot; is lower than parent instance &amp;quot;tr&amp;quot; (credit to cretindesalpes)&amp;lt;br/&amp;gt;&lt;br /&gt;
Expanded support for Interlaced Denoising &amp;quot;tr&amp;quot; up to 64 (credit to cretindesalpes)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cosmetics&lt;br /&gt;
|-&lt;br /&gt;
|2.0d&lt;br /&gt;
|2012-06-07&lt;br /&gt;
|&lt;br /&gt;
Fixed and optimized chroma handling for lsb_in, contrasharpening and YUY2 content v.1.95&amp;lt;br/&amp;gt;&lt;br /&gt;
Enhanced Chroma bypass on the sharpening stage&amp;lt;br/&amp;gt;&lt;br /&gt;
Merged ContraHD() internally for Contrasharpening in HD sources&amp;lt;br/&amp;gt;&lt;br /&gt;
Dropped QTGMC support on import/export motion vectors (small value for increased confusion)&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed Median code for planar inputs in MinBlur() (needs RemoveGrainHD, dropped medianblur requirement)&amp;lt;br/&amp;gt;&lt;br /&gt;
Defaulted truemotion to false for HD inputs&amp;lt;br/&amp;gt;&lt;br /&gt;
Code Optimization and Clean up&amp;lt;br/&amp;gt;&lt;br /&gt;
Others&lt;br /&gt;
|-&lt;br /&gt;
|1.9d&lt;br /&gt;
|2012-03-23&lt;br /&gt;
|&lt;br /&gt;
Added truemotion parameter (default=true), change it to false (as in MCTemporalDenoise()), so low frequency detail won't be lost (walls...), although it could leave more noise on high frequency details&amp;lt;br/&amp;gt;&lt;br /&gt;
Added thSADC, and thSCD1/thSCD2 parameters for finer control&amp;lt;br/&amp;gt;&lt;br /&gt;
Tweaked prefilter=3 dfttest sigmas for better low frequency detail protection&amp;lt;br/&amp;gt;&lt;br /&gt;
Detached explanation and converted to html. Updated and extended the contents as well&amp;lt;br/&amp;gt;&lt;br /&gt;
Fine tuned and robustized the Show Panel&amp;lt;br/&amp;gt;&lt;br /&gt;
Optimized and organized code, more precisely the contrasharpening part&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a few ternary checks for when Globals=3&amp;lt;br/&amp;gt;&lt;br /&gt;
Others&lt;br /&gt;
|-&lt;br /&gt;
|1.8d&lt;br /&gt;
|2012-01-18&lt;br /&gt;
|&lt;br /&gt;
Added automatic dark protection for prefilter=3 (dfttest performs badly in darks) v1.71d and extended its dark protection v1.8&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed chroma variable when chroma=false, from 2 (copy chroma) to 1 (discard chroma) v1.71d&amp;lt;br/&amp;gt;&lt;br /&gt;
Explanation and cosmetics v1.71d&amp;lt;br/&amp;gt;&lt;br /&gt;
Added acknowledgments and updated explanation&amp;lt;br/&amp;gt;&lt;br /&gt;
Added brackets to all functions (it has been reported to cause threading problems under certain circumstances) (http://forum.doom9.org/showthread.php?p=1515886#post1515886)&amp;lt;br/&amp;gt;&lt;br /&gt;
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: &amp;quot;Speed&amp;quot;, &amp;quot;Memory&amp;quot; and &amp;quot;Quality&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Optimized lsb_in for HD resolutions which was causing memory hogs&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed contrasharpening for YUY2 sources when lsb=true&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed some inconsistencies for YUY2 sources when prefilter=3&lt;br /&gt;
|-&lt;br /&gt;
|1.7d&lt;br /&gt;
|2012-01-11&lt;br /&gt;
|&lt;br /&gt;
Fixed and extended introduction explanation v.1.61d&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed some issues for Globals=1 (Read) in relation to lsb_in and luma expansion auto-prefilter v.1.61d&amp;lt;br/&amp;gt;&lt;br /&gt;
Added mild gauss blur prefilter option as prefilter=1. Consequent modes are displaced v.1.61d&amp;lt;br/&amp;gt;&lt;br /&gt;
Changed prefilter 1 and 2 to Minblur (Gauss/Median combination) v.1.63d&amp;lt;br/&amp;gt;&lt;br /&gt;
Updated MinBlur function v.1.62d and v.1.66&amp;lt;br/&amp;gt;&lt;br /&gt;
Code tidied up v.1.62d&amp;lt;br/&amp;gt;&lt;br /&gt;
Updated luma expansion, now you can enhance darks (with 'Str' and 'Amp') in the same step as the TV-&amp;gt;PC conversion stage, thus +optimized, +quality. v.1.63d by cretindesalpes (http://forum.doom9.org/showthread.php?p=1548318#post1548318)&amp;lt;br/&amp;gt;&lt;br /&gt;
Removed pre_custom. Now use prefilter to load a prefiltered clip, as well as modes 0~3&amp;lt;br/&amp;gt;&lt;br /&gt;
Added Show parameter. Now you can see the used and default parameters along the prefilter clip as well&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed one note related to prefilter clip input for interlaced content&lt;br /&gt;
|-&lt;br /&gt;
|1.6d&lt;br /&gt;
|2011-12-24 (first open release)&lt;br /&gt;
|&lt;br /&gt;
Fixed and extended introduction explanation&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed Ditherpost for interlaced sources&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a broken reference for reading MRecalculate globals when tr&amp;gt;3&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a Globals=1 MSuper automatization&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a plane processing bypass when chroma=false&amp;lt;br/&amp;gt;&lt;br /&gt;
Added LSFmod as optional contrasharpening (slower, but biased contrasharpening and probably better depending on source)&amp;lt;br/&amp;gt;&lt;br /&gt;
Added default luma expansion auto-prefilter for motion search (16% more values)&amp;lt;br/&amp;gt;&lt;br /&gt;
Added YUY2 support&amp;lt;br/&amp;gt;&lt;br /&gt;
Added the 'mode' parameter of Ditherpost()&amp;lt;br/&amp;gt;&lt;br /&gt;
Added support for interlaced temporal radius up to 6&lt;br /&gt;
|-&lt;br /&gt;
|1.5d&lt;br /&gt;
|2011-10-14&lt;br /&gt;
|&lt;br /&gt;
Changed &amp;quot;srchSuper&amp;quot; Global variable to &amp;quot;QTGMC_srchSuper&amp;quot;, compatible with QTGMC. Anyhow you may probably want to create a new super clip. Test it out! v.1.41d&amp;lt;br/&amp;gt;&lt;br /&gt;
Introduction spelling and presentation v.1.42d&amp;lt;br/&amp;gt;&lt;br /&gt;
Added lsb and lsb_in for prefilter=2 (dfttest) v.1.43d &amp;amp; v.1.44d&amp;lt;br/&amp;gt;&lt;br /&gt;
Some better definitions for the settings help v.1.45d&amp;lt;br/&amp;gt;&lt;br /&gt;
pelclip is now subpixel = 3 ('sharp' parameter before) v.1.45d&amp;lt;br/&amp;gt;&lt;br /&gt;
Other minor tweaks v.1.45d&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed an important issue when using prefilter with subpixel=3 ('pelclip' parameter before)&amp;lt;br/&amp;gt;&lt;br /&gt;
Optimizations in Ditherpost for chroma&amp;lt;br/&amp;gt;&lt;br /&gt;
Changed rfilter (hierarchical levels smoothing/scaling) from default 2 to 4. Better results in my judge&amp;lt;br/&amp;gt;&lt;br /&gt;
Some more little tweaks in code and introduction&lt;br /&gt;
|-&lt;br /&gt;
|1.4d&lt;br /&gt;
|2011-09-16&lt;br /&gt;
|&lt;br /&gt;
Added pelclip option for top quality subpixel interpolation when pel &amp;gt; 1&amp;lt;br/&amp;gt;&lt;br /&gt;
Changed QTGMCV parameter to Globals, and added a bunch of new features like vectors output from SMDegrain()&amp;lt;br/&amp;gt;&lt;br /&gt;
Big introduction and code optimization tweaks&lt;br /&gt;
|-&lt;br /&gt;
|1.3d&lt;br /&gt;
|2011-09-14&lt;br /&gt;
|Fixed an important issue on the Interlaced parameter and improved overall handling (v.1.21d &amp;amp; v.1.3d)&lt;br /&gt;
|-&lt;br /&gt;
|1.2d&lt;br /&gt;
|2011-09-13&lt;br /&gt;
|&lt;br /&gt;
Added Interlaced parameter, for processing interlaced sources&amp;lt;br/&amp;gt;&lt;br /&gt;
Some introduction and code optimization tweaks (v.1.12d &amp;amp; v.1.2d)&lt;br /&gt;
|-&lt;br /&gt;
|1.1d&lt;br /&gt;
|2011-09-12&lt;br /&gt;
|&lt;br /&gt;
Implemented MDegrainN for tr &amp;gt; 3, from the MVTools2 mod of Dither&amp;lt;br/&amp;gt;&lt;br /&gt;
Minor introduction and code optimization tweaks&lt;br /&gt;
|-&lt;br /&gt;
|1.0d&lt;br /&gt;
|2011-09-09&lt;br /&gt;
|&lt;br /&gt;
Added CClip parameter. Reference an earlier stage of your processing chain as your sharp version for the contrasharpening&lt;br /&gt;
|-&lt;br /&gt;
|0.9d&lt;br /&gt;
|2011-09-09&lt;br /&gt;
|&lt;br /&gt;
Added QTGMCV parameter, for reusing vectors from QTGMC bob deinterlacer&lt;br /&gt;
|-&lt;br /&gt;
|0.8d&lt;br /&gt;
|2011-09-05&lt;br /&gt;
|&lt;br /&gt;
Fixed a few things related to the lsb_in option&amp;lt;br/&amp;gt;&lt;br /&gt;
Minor introduction and code optimization tweaks&lt;br /&gt;
|-&lt;br /&gt;
|0.7d&lt;br /&gt;
|2011-09-05&lt;br /&gt;
|&lt;br /&gt;
Implemented &amp;quot;fake&amp;quot; lsb_in option. Output will have slightly more quality (if any), and will compress better. (Experimental)&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a not passed argument in the hpad, vpad parameters&lt;br /&gt;
|-&lt;br /&gt;
|0.6d&lt;br /&gt;
|2011-09-04&lt;br /&gt;
|&lt;br /&gt;
Minor introduction and code optimization tweaks&lt;br /&gt;
|-&lt;br /&gt;
|0.5d&lt;br /&gt;
|2011-07-19&lt;br /&gt;
|&lt;br /&gt;
Added dfttest option for preblur (now prefilter) option. Slower but better due to its internal deblock+denoise operation, plus sharper results&amp;lt;br/&amp;gt;&lt;br /&gt;
Added pre_custom option for the prefilter process, define here a denoised clip as your prefiltered version&amp;lt;br/&amp;gt;&lt;br /&gt;
Updated the introduction help&lt;br /&gt;
|-&lt;br /&gt;
|0.4d&lt;br /&gt;
|2011-06-03&lt;br /&gt;
|&lt;br /&gt;
Added preblur option for slight vector blurring where motionmatch is bad (http://forum.doom9.org/showthread.php?t=161594)&amp;lt;br/&amp;gt;&lt;br /&gt;
Added RefineMotion parameter for better motion vectors. Based off Killer() (http://forum.doom9.org/showthread.php?p=1266572#post1266572)&amp;lt;br/&amp;gt;&lt;br /&gt;
Added parameters &amp;quot;lsb&amp;quot; and &amp;quot;lsb_out&amp;quot;, for the MVTools2 mod version of cretindesalpes' Dither (http://forum.doom9.org/showthread.php?p=1386559#post1386559)&amp;lt;br/&amp;gt;&lt;br /&gt;
Other minor aesthetics and performance adjustments&lt;br /&gt;
|-&lt;br /&gt;
|0.3d&lt;br /&gt;
|2011-03-04&lt;br /&gt;
|&lt;br /&gt;
First Mod version&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed plane (for MDegrain) and added chroma (for MAnalyse) parameters&lt;br /&gt;
|-&lt;br /&gt;
|0.2&lt;br /&gt;
|2010-01-24&lt;br /&gt;
|&lt;br /&gt;
Added introductory section&amp;lt;br/&amp;gt;&lt;br /&gt;
Added more parameters&lt;br /&gt;
|-&lt;br /&gt;
|0.1&lt;br /&gt;
|&lt;br /&gt;
Basic working version&amp;lt;br/&amp;gt;&lt;br /&gt;
Not released&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>SilverbackNet</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/SMDegrain</id>
		<title>SMDegrain</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/SMDegrain"/>
				<updated>2015-06-04T06:26:52Z</updated>
		
		<summary type="html">&lt;p&gt;SilverbackNet: whoops&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FilterCat|External_filters|Denoisers|Spatial-Temporal Denoisers}}&lt;br /&gt;
{{Filter&lt;br /&gt;
| Caroliano, {{Author/Dogway}}&lt;br /&gt;
| v3.0d &lt;br /&gt;
|&lt;br /&gt;
* [http://www.mediafire.com/download/eb09qdkqf6y2wbj/SMDegrain_v.3.0d.zip SMDegrain_v.3.0d.zip]&amp;lt;br/&amp;gt;&lt;br /&gt;
* VapourSynth: [[HAvsFunc]]&lt;br /&gt;
| 4=Spatial-Temporal Denoisers&lt;br /&gt;
| 7=[http://forum.videohelp.com/threads/369142-Simple-MDegrain-Mod-v3-0d-A-Quality-Denoising-Solution VideoHelp], [http://forum.doom9.org/showthread.php?t=163604 Doom9] }}&lt;br /&gt;
&lt;br /&gt;
'''SMDegrain''', the Simple MDegrain Mod, is mainly a convenience function for using [[MVTools]]. It is not a magic function (the magic comes from mvtools), it just takes the repetitive code blocks needed for mvtools+mdegrain denoising and wraps them into this function.&lt;br /&gt;
&lt;br /&gt;
It has internal switches for interlaced or YUY2 content, saving you from writing long lines of code and preventing from possible mistakes. YUY2 is even automatically detected. Apart of that it adds some small and simple enhancements listed below, like easy prefilters, slightly better motion vectors (thanks to an internal TV-&amp;gt;PC luma expansion and the possibility of dark enhancement), easy nnedi3 subpixel accuracy, globals import/export, show panel, and contra-sharpening option.&lt;br /&gt;
&lt;br /&gt;
==Dependencies==&lt;br /&gt;
[[MaskTools2]] and [[MVTools]] (mod versions recommended)&lt;br /&gt;
&lt;br /&gt;
===Optional===&lt;br /&gt;
* [[Dither]] for 16 bit processing (v1.26.5 or higher)&lt;br /&gt;
* [[RgTools]] for contrasharp=true or prefilter=1 or 2&lt;br /&gt;
* [[LSFmod]] for contrasharp &amp;gt; 0.0&lt;br /&gt;
* [[dfttest]] for prefilter=3&lt;br /&gt;
* [[nnedi3]] for subpixel=3&lt;br /&gt;
''Beware, tp7's plugin mods have no YUY2 support, require AviSynth 2.6a5 or latest Set's MT for v2.6, and Visual C++ 2012 Redistributable.''&lt;br /&gt;
&lt;br /&gt;
==Aknowledgements==&lt;br /&gt;
Original '''SMDegrain()''' by Caroliano&lt;br /&gt;
&lt;br /&gt;
This function uses code from Didée, and cretindesalpes' creations, and has parts inspired by LaTo's functions (old readme, Show panel, etc) and Jawed's Killer() function, apart of relying on third-party tools for certain features.&lt;br /&gt;
&lt;br /&gt;
Special thanks go to: cretindesalpes, Didée, Gavino, Sagekilla, and MVtools people.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The benefit of using SMDegrain over directly calling MDegrain is:&lt;br /&gt;
* '''High bitdepth denoising''': This is the first wrapper function to support 32bit (16bit pipeline) MDegrain denoising.&lt;br /&gt;
* '''Higher temporal radius''' (tr&amp;gt;3): The [[MVTools]] mod (and hence this script) also allows for hack-free higher temporal radius.&lt;br /&gt;
* '''Contrasharpening''': The pretty much standarized sharpening method created by Didée is blended into the function, so you can easily use it in 16bit pipelines. An strength biased method is also possible. A ''CClip'' parameter is also supplied so you can choose another source to sharpen from, other than the default '''SMDegrain()''' input.&lt;br /&gt;
* '''YUY2 support''': It automatically and fully supports YUY2.&lt;br /&gt;
* '''Interlaced support''': It supports interlaced sources with most parameters as well.&lt;br /&gt;
* '''Extended Subpixel Accuracy''': [[nnedi3]] is allowed as a subpixel filter, not necessary in most cases, but if you are quality mad try to set it on.&lt;br /&gt;
* '''Better Motion Vectors''': An internal conversion from TV levels (reduced values range) to PC levels (extended values range) is done to the clip the motion analysis will be performed on, so you can get better motion vectors (up to 16%)&lt;br /&gt;
* '''Prefilters''': An easy parameter to load generalist prefilters that perform well in most situations. It also accepts loading your personal prefiltered clips.&lt;br /&gt;
* '''Motion Filters''': New in version 3.0d. It will allow you to filter those parts where '''SMDegrain()''' couldn't find a matching block for denoising. One use for it would be spatial denoisers or deblockers since high-motion areas are prone to heavy blocking and artifacts.&lt;br /&gt;
* '''Global Motion Vector In/Out''': Reuse motion vectors globals for faster processing, or just use '''SMDegrain()''' as a shortcut for creating nice quality motion vectors.&lt;br /&gt;
* '''RefineMotion Option''' (MRecalculate): Slower, but sometimes a big quality boost.&lt;br /&gt;
* '''Show Panel''': Everything is off by default, but some settings change in context. Check what is happening behind the scenes and have a fast look at all your settings.&lt;br /&gt;
* '''Robust''': Everything of the above works with each other no problem (interoperability), also in the process some error proof, bugfixes and bug workarounds were implemented or at least warned so you know that most of what is done is reliable, bugs free and optimized. The general idea is to serve as an user friendly front end for vanilla mvtools2+mdegrain or as the original script creator entitled &amp;quot;To make your scripts shorter and less geeky&amp;quot;. Most parameters are turned off or defaulted to mvtools2 defaults and features are based on popular general conceived procedures.&lt;br /&gt;
&lt;br /&gt;
Parameters are arranged in 3 blocks.&lt;br /&gt;
*'''Basic''': For people who just need the most basic parameters because either they don't have the time, knowledge or interest into looking for complex settings. Or they are content with defaults (pretty much mvtools defaults)&lt;br /&gt;
*'''High Bit Depth''': There's not much to think about this. This just enables (default is disabled), high bit depth denoising. That is, more quality, but also needs more processing power hence slower.&lt;br /&gt;
*'''Advanced''': If you run into some problems, are nitpicking or just want to fine tune your settings according to the source, have a look at this block, it contains the rest and bulk of the function parameters.&lt;br /&gt;
&lt;br /&gt;
Temporal denoising is a widespread procedure for noise cleaning in most type of video sources. The only limitation for '''SMDegrain()''' being when there are (very) high levels of grain, in which case you would need to rely on more &amp;quot;creative&amp;quot; and source centric solutions (see [http://forum.doom9.org/showthread.php?p=1544619#post1544619 this] and ''prefilter'' notes), but those are the rare cases.&lt;br /&gt;
&lt;br /&gt;
To picture what the function does, a simple '''SMDegrain()''' call matches the next code (for SD resolutions):&lt;br /&gt;
&lt;br /&gt;
 super_search = Dither_Luma_Rebuild(S0=1.0,c=0.0625).MSuper(rfilter=4)&lt;br /&gt;
 &lt;br /&gt;
 bv2 = super_search.MAnalyse(isb = true,  delta = 2, overlap= 4)&lt;br /&gt;
 bv1 = super_search.MAnalyse(isb = true,  delta = 1, overlap= 4)&lt;br /&gt;
 fv1 = super_search.MAnalyse(isb = false, delta = 1, overlap= 4)&lt;br /&gt;
 fv2 = super_search.MAnalyse(isb = false, delta = 2, overlap= 4)&lt;br /&gt;
 &lt;br /&gt;
 MDegrain2(MSuper(levels=1), bv1, fv1, bv2, fv2, thSAD=300, thSADC=150)&lt;br /&gt;
&lt;br /&gt;
As you see no wizardry. The only changes made are the TV-&amp;gt;PC luma expansion (''Dither_Luma_Rebuild''(S0=1.0,c=0.0625) similar to ''color_yuv''(levels=&amp;quot;TV-&amp;gt;PC&amp;quot;)) so you have more range to detect motion vectors, the ''rfilter''=4 for a bit more quality super search, the changed default of ''overlap'' from 0 to 4 and ''thSAD'' and ''thSADC'' from 400 to 300 and 150 respectively for safer results. Nothing else. The problem is that as soon you want to change a little thing like say temporal radius it requires you to edit in more than a few places, so this is very annoying and so forth the main reason for '''SMDegrain()'''.&lt;br /&gt;
 &lt;br /&gt;
==Using the filter==&lt;br /&gt;
*Input can be YV12 or YUY2, and '''must''' be TV range (which is normal). It's also recommended to be in modulus 16 size (resolution multiple of 16), although not strictly necessary.&lt;br /&gt;
*Crop first (when not interlaced).&lt;br /&gt;
*Recommended to deblock if blocking is present, before crop (when cropping) and '''SMDegrain()'''. Or you can use ''prefilter''=3 which is also a good deblocker (dfttest) and let '''SMDegrain()''' clean the blocking for you.&lt;br /&gt;
*Default output mode(dithering) for ''lsb''=true (when non interlaced) is ordered dither (optimized for encoding), so it is not recommended to keep filtering non-edge areas of your source, you can instead use ''mode''=6 (error diffusion) or ''lsb_out''=true and keep filtering in 16bit&lt;br /&gt;
*Read the ''prefilter'' setting explanation for solutions to problematic sources&lt;br /&gt;
&lt;br /&gt;
==Ready-to-run Samples==&lt;br /&gt;
&lt;br /&gt;
I consider this a good starting point where to start tweaking, whether be it for quality or speed:&lt;br /&gt;
 SMDegrain(tr=2,thSAD=250,contrasharp=true,refinemotion=true,lsb=true)&lt;br /&gt;
 &lt;br /&gt;
A basic, fast, yet very functional call for light grain (mvtools2+masktools2 only needed)&lt;br /&gt;
 SMDegrain(tr=1,thSAD=300,contrasharp=true)&lt;br /&gt;
&lt;br /&gt;
A typical more worked call compatible with official mvtools2 (mvtools2+masktools2 only needed)&lt;br /&gt;
 SMDegrain(tr=2,thSAD=300,interlaced=true,prefilter=1,contrasharp=true)&lt;br /&gt;
&lt;br /&gt;
Good compromise between speed and quality (denoising with high precision)&lt;br /&gt;
 SMDegrain(tr=2,thSAD=300,contrasharp=true,refinemotion=true,lsb=true)&lt;br /&gt;
&lt;br /&gt;
Similar to the previous example, the next is a personal preference. Turned all chroma off for safeness (chroma is rarely temporal-reliable enough) and speed.&lt;br /&gt;
 SMDegrain(tr=2,thSAD=300,contrasharp=true,refinemotion=true,lsb=true,chroma=false,plane=0)&lt;br /&gt;
&lt;br /&gt;
This is a good example to show that interlaced YUY2 sources can be processed seamlessly.&lt;br /&gt;
 # mod4 (modulus 4) interlaced YUY2 source&lt;br /&gt;
 SMDegrain(tr=1,thSAD=250,interlaced=true,contrasharp=true,lsb=true)&lt;br /&gt;
&lt;br /&gt;
HD sources are detected automatically, and as so settings are optimized for speed; ''pel''=1, ''hpad''=0, ''vpad''=0, ''blksize''=32, ''overlap''=16, ''truemotion''=false&lt;br /&gt;
 # HD source (from 1100px wide or 600px high up)&lt;br /&gt;
 SMDegrain(tr=2,thSAD=180,prefilter=2,contrasharp=30,refinemotion=true,lsb=true,chroma=false,plane=0)&lt;br /&gt;
&lt;br /&gt;
For dealing with dark scenes (you could also add ''truemotion''=false)&lt;br /&gt;
 SMDegrain(tr=3,thSAD=300,contrasharp=true,str=2.0,refinemotion=true,lsb=true)&lt;br /&gt;
&lt;br /&gt;
Tackling a grainy source:&lt;br /&gt;
 pre=fluxsmootht(3).removegrain(11)&lt;br /&gt;
 SMDegrain(tr=6,thSAD=500,contrasharp=30,prefilter=pre,str=1.2,refinemotion=true,lsb=true)&lt;br /&gt;
&lt;br /&gt;
Here 2 things are shown; how to work on a 16bit pipeline, and reference a prior state of the script for ''contrasharp''.&lt;br /&gt;
 sharp=last&lt;br /&gt;
 dfttest(tbsize=1,sigma=10,lsb=true)&lt;br /&gt;
 &lt;br /&gt;
 SMDegrain(tr=3,thSAD=300,CClip=sharp,lsb_in=true,lsb_out=true)&lt;br /&gt;
 &lt;br /&gt;
 LinearResize(854,480,lsb_in=true, mode=0)&lt;br /&gt;
&lt;br /&gt;
(Re)using motion vectors globals&lt;br /&gt;
 SMDegrain(tr=1,thSAD=400,prefilter=3,str=1.4,globals=3)    # Output vectors only&lt;br /&gt;
 MFlowFps(Super, bv1, fv1, num=60,den=1)&lt;br /&gt;
 &lt;br /&gt;
==Parameters==&lt;br /&gt;
{{FuncDef|SMDegrain}} (clip input, int &amp;quot;tr&amp;quot;, int &amp;quot;thSAD&amp;quot;, int &amp;quot;thSADC&amp;quot;, bool &amp;quot;RefineMotion&amp;quot;, val &amp;quot;contrasharp&amp;quot;, clip &amp;quot;CClip&amp;quot;, bool &amp;quot;interlaced&amp;quot;, int &amp;quot;plane&amp;quot;, int &amp;quot;Globals&amp;quot;, int &amp;quot;pel&amp;quot;, int &amp;quot;subpixel&amp;quot;, val &amp;quot;prefilter&amp;quot;, clip &amp;quot;mfilter&amp;quot;, int &amp;quot;blksize&amp;quot;, int &amp;quot;overlap&amp;quot;, int &amp;quot;search&amp;quot;, bool &amp;quot;truemotion&amp;quot;, int &amp;quot;limit&amp;quot;, int &amp;quot;limitc&amp;quot;, int &amp;quot;thSCD1&amp;quot;, int &amp;quot;thSCD2&amp;quot;, bool &amp;quot;chroma&amp;quot;, int &amp;quot;hpad&amp;quot;, int &amp;quot;vpad&amp;quot;, bool &amp;quot;lsb&amp;quot;, bool &amp;quot;lsb_in&amp;quot;, bool &amp;quot;lsb_out&amp;quot;, int &amp;quot;mode&amp;quot;, val &amp;quot;Show&amp;quot;, float &amp;quot;Str&amp;quot;, float &amp;quot;Amp&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
===Basic===&lt;br /&gt;
&lt;br /&gt;
{{ParR|tr|int|2|1-128}}&lt;br /&gt;
:Temporal radius, selects the MDegrain to use. This can be considered the strength of the denoising. Higher is generally better, but also much slower and each extra frame gives less improvement.&lt;br /&gt;
:tr 4+ requires Dither's MVTools2 mod. Max 64 for interlaced.&lt;br /&gt;
&lt;br /&gt;
{{Par|thSAD|int|300}}&lt;br /&gt;
{{Par|thSADC|int|150}}&lt;br /&gt;
:&amp;quot;Sum of Absolute Differences&amp;quot; threshold. This is the spatial difference threshold where the motion search will consider whether to denoise given the formula: &lt;br /&gt;
::Denoise_Weight = max( 0, 1 - 2*blockSAD² / (thSAD² + blockSAD²) )&lt;br /&gt;
:This spatial difference will be compared in blocks (''blksize''). If your noise is not getting into consideration for the denoising try raising this value, or reduce its SAD with previous prefiltering. You can alternatively raise ''blksize'', which will likely even blocks SAD. Low values can result in staggered/blotchy denoising, large values can result in ghosting and artifacts. Values in the range 200~600 are usual.&lt;br /&gt;
:thSADC is the same logic applied to chroma planes, since there are less differences on the chroma planes it uses by default thSAD/2 for safer chroma results.&lt;br /&gt;
:'''Recommendation''': Use slightly greater values than you are used to in other mdegrain based functions since the internal clip for the motion search in SMDegrain() has the contrast increased.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Contrasharp|bool|False|True/False}}&lt;br /&gt;
{{ParR|Contrasharp|int|-|0-100}}&lt;br /&gt;
:Contrasharpening is a technique that compares the differences between the clip before blurring (original) and after blurring (filtered), and sharpens locally with consequent strength. By default the &amp;quot;sharp&amp;quot; clip is the input, the &amp;quot;after&amp;quot; clip is the denoised clip. Alternately, a &amp;quot;before&amp;quot; clip can be specified with ''CClip'' (See Advanced).&lt;br /&gt;
:*True: use Didée's Contrasharpening() function (ContraHD() for HD) which &amp;quot;Sharpens the denoised clip, but doesn't add more to any pixel than what was removed previously.&amp;quot; In the practice you will get a slightly sharper result than the source, which is welcome.&lt;br /&gt;
:*An integer: LSFmod() will be used instead. It will be much slower, but maybe better for certain sources. Its value will serve as a contrasharpening multiplier, use one around 50 for similar strength as Contrasharpening(). LSFmod is less-suitable for HD sources.&lt;br /&gt;
&lt;br /&gt;
{{Par|RefineMotion|bool|False}}&lt;br /&gt;
:Refines and recalculates motion data of previously estimated (by MAnalyse) motion vectors. Turn it on for better motion vectors, specially when dealing with ghosting issues, small details or lineart fading and whatnot.&lt;br /&gt;
:'''Caution''': It won't help much if you use a ''prefilter'' so strong that blurs too much or kills all the details you are aiming to protect in first place.&lt;br /&gt;
&lt;br /&gt;
{{ParR|plane|int|4|0-4}}&lt;br /&gt;
:Select the planes you wish to process:&lt;br /&gt;
:*0: luma only&lt;br /&gt;
:*1: chroma U&lt;br /&gt;
:*2: chroma V&lt;br /&gt;
:*3: both chromas&lt;br /&gt;
:*4: all (Default)&lt;br /&gt;
:'''Caution''': plane=1-4 can sometimes create chroma smearing. In such case I recommend denoising chroma planes in the spatial domain.&lt;br /&gt;
&lt;br /&gt;
{{Par|Interlaced|bool|False}}&lt;br /&gt;
:If you want to denoise an interlaced source set this parameter to true. Output will also be interlaced. If you pair this with ''lsb_out''=true then you will have to &amp;lt;tt&amp;gt;Weave().DitherPost(mode=6,interlaced=true)&amp;lt;/tt&amp;gt; when converting back to 8 bit.&lt;br /&gt;
&lt;br /&gt;
===High Bit Depth Processing And Dithering===&lt;br /&gt;
All High Bit Depth parameters require [[Dither]] and [[MVTools]] 2.6+.&lt;br /&gt;
&lt;br /&gt;
{{Par|lsb_in|bool|False}}&lt;br /&gt;
:Set true if you use a 16 bits filter chain. *(EXPERIMENTAL, use under test environment)&lt;br /&gt;
&lt;br /&gt;
{{Par|lsb_out|bool|False}}&lt;br /&gt;
:Output to 16-bit instead of 8-bit. Use the helpers at the end of the SMDegrain() script to use Ditherpost() with YUY2 formats.&lt;br /&gt;
&lt;br /&gt;
{{Par|lsb|bool|False}}&lt;br /&gt;
:This enables 32 bit depth precision for denoising. You gain extra denoising accuracy, most noticeable in the prevention of banding in flat areas. Automatically set if either ''lsb_in'' or ''lsb_out'' are enabled.&lt;br /&gt;
&lt;br /&gt;
{{ParR|mode|int|0|-1-8}}&lt;br /&gt;
:This is the '''mode''' of [[Dither#DitherPost|DitherPost]] when ''lsb_out''=False, as a dithering method must be chosen for the 32bit-&amp;gt;8bit conversion. (Interlaced content is locked to mode=6) The default ''mode''=0 will help you optimize the dithering for optimum encodings when no further non-edge processing is done. Use ''mode''=6 (error diffusion) if further processing will be done.&lt;br /&gt;
&lt;br /&gt;
===Advanced===&lt;br /&gt;
&lt;br /&gt;
{{ParR|pel|int|2|1,2,4}}&lt;br /&gt;
:Accuracy of the motion estimation:&lt;br /&gt;
:* 1: full-pixel (Default for HD)&lt;br /&gt;
:* 2: half-pixel (Default for SD)&lt;br /&gt;
:* 4: quarter-pixel (often more accurate, but much slower and not always better)&lt;br /&gt;
&lt;br /&gt;
{{ParR|subpixel|int|2|0-3}}&lt;br /&gt;
:Subpixel interpolation method for ''pel''=2 or 4. This is the 'sharp' parameter in MSuper(), although it isn't related to output sharpness but better accuracy for the motion estimation.&lt;br /&gt;
:* 0: bilinear (softest)&lt;br /&gt;
:* 1: bicubic (4 tap Catmull-Rom)&lt;br /&gt;
:* 2: sharper Wiener (6 tap, similar to Lanczos) (Default)&lt;br /&gt;
:* 3: [[nnedi3]] (very high quality: useful for small sources but usually overkill. requires plugin)&lt;br /&gt;
&lt;br /&gt;
{{ParR|prefilter|int|-1|-1-3}}&lt;br /&gt;
{{Par|prefilter|clip|None}}&lt;br /&gt;
:* -1: off (Default)&lt;br /&gt;
:* 0: light controlled gauss blur&lt;br /&gt;
:* 1: mild median/gauss blur&lt;br /&gt;
:* 2: strong median/gauss blur&lt;br /&gt;
:* 3: [[dfttest]] (spatial)&lt;br /&gt;
:* clip: supply your own&lt;br /&gt;
:Denoises a version of the clip that will be used to obtain the motion vectors. Useful for very damaged/grainy sources, this will help to get better motion vectors.&lt;br /&gt;
:For sources with Gibbs noise, especially on anime, try ''prefilter''=1 or 2 or better yet strong median filters (through clip input) in order to soothe the high SAD of sharp edges. For blocky sources, or a general more quality/safer prefilter use option 3 (dfttest)&lt;br /&gt;
:By default dfttest outputs a sstring txt file to your script folder, you can delete it. This doesn't happen when using the modded dfttest (version 1.9.2 or higher) of the Dither tools.&lt;br /&gt;
:For HD sources ''prefilter''=2 makes more sense than 1, because it uses a wider denoising window.&lt;br /&gt;
:If instead you want to use your own prefilter denoiser, just define it in a variable and reference it here. Remember to:&lt;br /&gt;
:*Feed always 8 bit clips.&lt;br /&gt;
:*Input in fields for interlaced content *(read below)&lt;br /&gt;
:*Feed here planar ( by using Interleaved2Planar() ) YUY2 clips (not interleaved) when working with YUY2 sources.&lt;br /&gt;
:You will likely want to use spatial denoisers like median filters (removegrain=17, medianblur, etc). For very grainy or fizz grain noise you can try prefiltering in temporal or if this is not enough, try adding a new SMDegrain() line again but without globals. Use ''lsb_in'', ''lsb_out'' according so results are smooth. You can even use SMDegrain() as a prefilter for SMDegrain() in very temporal unstable sources.&lt;br /&gt;
:Another trick for fizz grain is to serve a prefiltered clip where bright values are more denoised than dark values, you can do this through luma masks with masktools2 code. Search in [http://forum.doom9.org/showthread.php?t=162813 Doom9] for reference.&lt;br /&gt;
:For interlaced sources remember:&lt;br /&gt;
::Spatial filtering: pre=separatefields().spatial_prefilters_here()&lt;br /&gt;
::Temporal filtering: pre=separatefields().interleave(selecteven().temporal_filters(),selectodd().temporal_filters())&lt;br /&gt;
:SMDegrain() (and MDegrain) is likely to produce blending artifacts or oversmooth in dark areas specially on cartoons, to tackle this see RefineMotion or expand the luma range in the darks. For this there are many options, you can use your preferred gamma enhancer and input it as the prefilter, or use the examples below for linear brightening (masktools2) and input it as a ''prefilter'' as well. Or at last and the recommended solution, to use the built-in ''Str'' (strength) and ''Amp'' (amplitude) parameters for a curve type dark enhancement, check the effects by enabling Show and changing your previewing conditions to PC levels.&lt;br /&gt;
:For brightening dark values linearly (brighter parts less brightening)&lt;br /&gt;
 str=1&lt;br /&gt;
 mt_lut(&amp;quot;x x &amp;quot;+string(str)+&amp;quot; 6 * - 255 - abs 255 / ^ x 1 - abs +&amp;quot;)&lt;br /&gt;
:Or for a more contrasty image (although not as much dark enhancing - not linear)&lt;br /&gt;
 str=40&lt;br /&gt;
 mt_lut(&amp;quot;x x &amp;quot;+string(str)+&amp;quot; 6 * - 255 - abs 255 / ^ &amp;quot;+string(str)+&amp;quot; / x 1 - abs +&amp;quot;)&lt;br /&gt;
:Good resources for custom prefilters:&lt;br /&gt;
:*http://forum.doom9.org/showthread.php?t=162813&lt;br /&gt;
:*http://forum.doom9.org/showthread.php?t=132310&lt;br /&gt;
:*http://forum.doom9.org/showthread.php?t=133977&lt;br /&gt;
:Notes: To sum it up; generally in denoising, temporal filters are always preferred due to its natural look (versus spatial filters). But more often than not for good results prefiltering plays a key role on the output quality, and setting it up nicely can be looked as an art by itself.&lt;br /&gt;
:If there's a reached point where no prefiltering, no ''thSAD'' tweaking, etc, makes able to denoise a certain motion part/area/scene, then this is due to the motion vectors preventing them from being &amp;quot;denoised&amp;quot; (also read &amp;quot;artifacted&amp;quot;), in which case you will need to rely on alternative solutions (motion compensation, filters like MCTemporalDenoise(), TemporalDegrain(), [http://forum.doom9.org/showthread.php?p=1544619#post1544619 Multilevel MDegrain], etc) or just use plain spatial filters with motion masks. Creating these discerning masks for static and motion scenes and combining them is a research task on the end user side.&lt;br /&gt;
&lt;br /&gt;
{{Par|mfilter|clip|None}}&lt;br /&gt;
:Motion Filter, an optional user-supplied clip that will be passed through those areas where SMDegrain() couldn't find a matching block, normally high motion areas. One use for it would be to to use spatial filters, like deblockers or blurring filters that mimic motion blur.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Str|float|1.0|0.0-8.0}}&lt;br /&gt;
:Gamma correction. With this parameter you control the strength of the brightening of the ''prefilter'' clip, good for when problems with dark areas arise. Using this internally instead of externally creates less quantization artifacts, since it's done in the same stage as the TV-&amp;gt;PC range conversion.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Amp|float|0.0625|0.0-1.0}}&lt;br /&gt;
:Used when ''Str'' &amp;lt;&amp;gt; 1.0. This defines the amplitude of the brightening in the luma range, for example by using 1.0 all the luma range will be used and the brightening will find its peak at luma value 128 in the original. Default is 0.0625 (1.0/16) which just sits over luma value 16 (256/16) This and ''Str'' are extrapolated arguments from [http://forum.doom9.org/showthread.php?p=1548318#post1548318 cretindesalpes' function], you can find a graph and more insight explanations at the original post.&lt;br /&gt;
:Check these 2 parameters effects by enabling Show.&lt;br /&gt;
&lt;br /&gt;
{{ParR|blksize|int|8 for SD, 16 for HD|4,8,16}}&lt;br /&gt;
:Size of a block (horizontal x vertical). Larger blocks are faster and less sensitive to noise, but also less accurate.&lt;br /&gt;
&lt;br /&gt;
{{Par|overlap|int|blksize/2}}&lt;br /&gt;
:Must be *even* and *less* than block size. Common values: ''blksize''/4 or ''blksize''/2. Larger ''overlap'' looks slightly better and runs slower.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Search|int|4|0-7}}&lt;br /&gt;
:This is the '''search''' of [[MVTools/MAnalyze|MAnalyze]].&lt;br /&gt;
&lt;br /&gt;
{{Par|Truemotion|bool|True for SD, False for HD}}&lt;br /&gt;
:''Truemotion'' is a preset of some MVAnalyze parameter values. It allows easy to switch default values of all &amp;quot;true motion&amp;quot; parameters at once. Set it 'true' for true motion search (high vector coherence), set it 'false' to search motion vectors with best SAD. Truemotion is slower and may blur textures and thin details more, but will usually remove more noise.&lt;br /&gt;
:For HD sources where the main problems are just excessive grain, I have defaulted it to false, this is not only faster but honors detail accuracy (the main existing point for HD sources) and overall object shading.&lt;br /&gt;
&lt;br /&gt;
{{Par|Chroma|bool|True}}&lt;br /&gt;
:Set false to totally ignore chroma for finding motion vectors, for more speed with little cost in quality or when your chroma is too bad to find good matches. Don't process chroma planes without chroma vectors, MVTools doesn't seem to work right.&lt;br /&gt;
&lt;br /&gt;
{{Par|Hpad|int|''blksize'' for SD, 0 for HD}}&lt;br /&gt;
{{Par|Vpad|int|''blksize'' for SD, 0 for HD}}&lt;br /&gt;
:Horizontal/vertical padding added to source frame (left, right, top, and bottom) for better motion estimation near borders.&lt;br /&gt;
:Try to have clean borders in your source (no NAB/black borders) to start with before tweaking this setting. If necessary, crop beforehand ideally in multiples of 16. Turn it to 0 if you are running out of memory.&lt;br /&gt;
&lt;br /&gt;
{{Par|thSCD1|int|based on ''blksize'': 4{{=}}&amp;gt;100, 8{{=}}&amp;gt;400, 16{{=}}&amp;gt;1600}}&lt;br /&gt;
:Threshold which decides whether a block has changed between the previous frame and the current one, used to tweak the scene change detection. Raising it will lower the number of blocks detected as changed. It may be useful for noisy or flickered video. To fix blending on scene changes on dark scenes, try first the Str and Amp parameters.&lt;br /&gt;
&lt;br /&gt;
{{ParR|thSCD2|int|130|0-250}}&lt;br /&gt;
:Threshold which sets how many blocks have to change for the frame to be considered as a scene change.&lt;br /&gt;
&lt;br /&gt;
{{ParR|limit|int|255|1-255}}&lt;br /&gt;
{{ParR|limitC|int|255|1-255}}&lt;br /&gt;
:Maximal change of pixel luma/chroma, to prevent some artifacts.&lt;br /&gt;
&lt;br /&gt;
{{Par|CClip|clip|None}}&lt;br /&gt;
:Optional sharp version for ''contrasharp'' to compare against; video resolution and properties must be the same (different bit depth is OK). Using this option defaults ''contrasharp'' to True.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Globals|int|0|0-3}}&lt;br /&gt;
:With this parameter you can create or load pre-processed motion vectors, to save doing the work for multiple SMDegrain calls.&lt;br /&gt;
:*0: Ignore globals, just process&lt;br /&gt;
:*1: Read globals and Process&lt;br /&gt;
:*2: Process and output globals&lt;br /&gt;
:*3: Output globals only, don't process&lt;br /&gt;
:Some parameters '''MUST MATCH''' between output and input stages: ''pel'', ''subpixel'', ''chroma'', and ''vpad''/''hpad'' cannot change. When reading (Globals=1) only some parameters work: ''tr'', ''thSAD'', ''plane'', ''limit'', ''limitc'', ''contrasharp'', ''CClip'', ''interlaced'' and the ''lsb'' parameters. Others are ignored.&lt;br /&gt;
:Global names that can be reused are: '''Super''', '''bv1''', '''fv1''', '''bv2''', '''fv2''', '''bv3''', '''fv3''', '''bv4''', '''fv4''', '''bv6''', '''fv6''', '''vmulti'''.&lt;br /&gt;
 SMDegrain(tr=3,thSAD=400,globals=3)    # Outputs vectors&lt;br /&gt;
 SMDegrain(tr=3,thSAD=400,globals=1)    # You can use a lower &amp;quot;tr&amp;quot; or &amp;quot;thSAD&amp;quot; if you want&lt;br /&gt;
:or&lt;br /&gt;
 SMDegrain(tr=3,thSAD=400,globals=3)    # Outputs vectors&lt;br /&gt;
 Super = MSuper(levels=1)               # Add this line just before if you have some processing between Globals Output and Input.&lt;br /&gt;
 MDegrain3(Super, bv1, fv1, bv2, fv2, bv3, fv3, thSAD=400)&lt;br /&gt;
&lt;br /&gt;
{{Par|Show|bool|False}}&lt;br /&gt;
{{ParR|Show|str|-|&amp;quot;Speed&amp;quot;, &amp;quot;Memory&amp;quot;, &amp;quot;Quality&amp;quot;}}&lt;br /&gt;
:This will show the prefiltered clip to be used for the motion search to the left(&amp;lt;--), and the used parameters list to the right (--&amp;gt;)&lt;br /&gt;
:If the parameters panel is broken i.e. overlapping lines, hidden lines, etc, most likely your settings are wrong, (e.g. ''lsb_in''=true when input is 8bit) so it will also work well as a debug function. If you set Show to a string as indicated above, related parameters will be highlighted to guide you on correctly tweaking the function. This is loosely based, so it doesn't exclude you from reading carefully every parameter explanation.&lt;br /&gt;
:Even when you are not using any prefiltering, the clip to be used for the motion search where you obtain the motion vectors, will be converted from TV levels to PC levels, the only exception being when using ''Globals''=1 (Read) in which case the &amp;quot;prefiltered&amp;quot; clip will be exactly the same as input clip (that is no luma conversion, although constrained to 8 bit). Additionally you can tweak the dark expansion with ''Str'' and ''Amp'' parameters and check the effects in the left panel, but be aware to change your viewing conditions as it is in PC levels.&lt;br /&gt;
:The left panel preserves its properties so you can crop out the right panel and use it as a prefilter clip of any MSuper(). Therefore if you are not processing chroma (''chroma''=false) the prefiltered clip will be green, don't panic, this is correct, this happens when the U and V planes are unset. In this regard for previewing tasks with prefilterings -- or just the ''Str'' and ''Amp'' effect -- set ''chroma'' to true temporally or follow with ''GreyScale''(). For YUY2 sources set ''Planar2Interleaved''() after cropping for previewing.&lt;br /&gt;
 &lt;br /&gt;
==Final Notes==&lt;br /&gt;
If there is an important parameter not implemented, you have any issue or found a bug, please don't hesitate and ask in its [http://forum.videohelp.com/threads/369142 VideoHelp thread].&lt;br /&gt;
 &lt;br /&gt;
==Changelog==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: 1px solid darkgray&amp;quot;&lt;br /&gt;
!Version&lt;br /&gt;
!Date&lt;br /&gt;
!Changes&lt;br /&gt;
|-&lt;br /&gt;
|3.0d&lt;br /&gt;
|2015-03-27&lt;br /&gt;
|&lt;br /&gt;
Adjusted SD&amp;lt;&amp;gt;HD discretion&amp;lt;br/&amp;gt;&lt;br /&gt;
Added mfilter (Motion Filter) new feature&amp;lt;br/&amp;gt;&lt;br /&gt;
subpixel=3 (nnedi3); removed qual=2 due to possible blending bug (quote by cretindesalpes), this also boosts speed&amp;lt;br/&amp;gt;&lt;br /&gt;
Lowered the defaults for less aggressive denoise (still somewhat high)&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed chroma not showing in debug (show) mode when lsb=true and prefilter=3 were paired&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed long lasting issues in Show Panel for certain not mod height resolutions&amp;lt;br/&amp;gt;&lt;br /&gt;
Now prefilter=0 is minblur(0), lighter denoising than prefilter=1, default is now -1 (off)&amp;lt;br/&amp;gt;&lt;br /&gt;
Documentation update (plugin updates, notes, links, examples, etc)&lt;br /&gt;
|-&lt;br /&gt;
|2.2d&lt;br /&gt;
|2013-03-05&lt;br /&gt;
|&lt;br /&gt;
Removed one residual variable in Contrasharpening function&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a regression at v2.0 for Interlaced YUY2 sources by changing wrong variable ifC to if0, and...&amp;lt;br/&amp;gt;&lt;br /&gt;
...adding a missing weave() to the last MergeChroma() call&amp;lt;br/&amp;gt;&lt;br /&gt;
Dropped Dither support. (Will still work/not work as before, but lack of official support renders it to a YMMV condition)&lt;br /&gt;
|-&lt;br /&gt;
|2.1d&lt;br /&gt;
|2012-09-09&lt;br /&gt;
|&lt;br /&gt;
Fixed Refinemotion Globals Input labels&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed ContrasharpeningHD Vectors for Interlaced HD sources&amp;lt;br/&amp;gt;&lt;br /&gt;
Added ability to import Global Vectors even when &amp;quot;tr&amp;quot; is lower than parent instance &amp;quot;tr&amp;quot; (credit to cretindesalpes)&amp;lt;br/&amp;gt;&lt;br /&gt;
Expanded support for Interlaced Denoising &amp;quot;tr&amp;quot; up to 64 (credit to cretindesalpes)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cosmetics&lt;br /&gt;
|-&lt;br /&gt;
|2.0d&lt;br /&gt;
|2012-06-07&lt;br /&gt;
|&lt;br /&gt;
Fixed and optimized chroma handling for lsb_in, contrasharpening and YUY2 content v.1.95&amp;lt;br/&amp;gt;&lt;br /&gt;
Enhanced Chroma bypass on the sharpening stage&amp;lt;br/&amp;gt;&lt;br /&gt;
Merged ContraHD() internally for Contrasharpening in HD sources&amp;lt;br/&amp;gt;&lt;br /&gt;
Dropped QTGMC support on import/export motion vectors (small value for increased confusion)&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed Median code for planar inputs in MinBlur() (needs RemoveGrainHD, dropped medianblur requirement)&amp;lt;br/&amp;gt;&lt;br /&gt;
Defaulted truemotion to false for HD inputs&amp;lt;br/&amp;gt;&lt;br /&gt;
Code Optimization and Clean up&amp;lt;br/&amp;gt;&lt;br /&gt;
Others&lt;br /&gt;
|-&lt;br /&gt;
|1.9d&lt;br /&gt;
|2012-03-23&lt;br /&gt;
|&lt;br /&gt;
Added truemotion parameter (default=true), change it to false (as in MCTemporalDenoise()), so low frequency detail won't be lost (walls...), although it could leave more noise on high frequency details&amp;lt;br/&amp;gt;&lt;br /&gt;
Added thSADC, and thSCD1/thSCD2 parameters for finer control&amp;lt;br/&amp;gt;&lt;br /&gt;
Tweaked prefilter=3 dfttest sigmas for better low frequency detail protection&amp;lt;br/&amp;gt;&lt;br /&gt;
Detached explanation and converted to html. Updated and extended the contents as well&amp;lt;br/&amp;gt;&lt;br /&gt;
Fine tuned and robustized the Show Panel&amp;lt;br/&amp;gt;&lt;br /&gt;
Optimized and organized code, more precisely the contrasharpening part&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a few ternary checks for when Globals=3&amp;lt;br/&amp;gt;&lt;br /&gt;
Others&lt;br /&gt;
|-&lt;br /&gt;
|1.8d&lt;br /&gt;
|2012-01-18&lt;br /&gt;
|&lt;br /&gt;
Added automatic dark protection for prefilter=3 (dfttest performs badly in darks) v1.71d and extended its dark protection v1.8&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed chroma variable when chroma=false, from 2 (copy chroma) to 1 (discard chroma) v1.71d&amp;lt;br/&amp;gt;&lt;br /&gt;
Explanation and cosmetics v1.71d&amp;lt;br/&amp;gt;&lt;br /&gt;
Added acknowledgments and updated explanation&amp;lt;br/&amp;gt;&lt;br /&gt;
Added brackets to all functions (it has been reported to cause threading problems under certain circumstances) (http://forum.doom9.org/showthread.php?p=1515886#post1515886)&amp;lt;br/&amp;gt;&lt;br /&gt;
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: &amp;quot;Speed&amp;quot;, &amp;quot;Memory&amp;quot; and &amp;quot;Quality&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Optimized lsb_in for HD resolutions which was causing memory hogs&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed contrasharpening for YUY2 sources when lsb=true&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed some inconsistencies for YUY2 sources when prefilter=3&lt;br /&gt;
|-&lt;br /&gt;
|1.7d&lt;br /&gt;
|2012-01-11&lt;br /&gt;
|&lt;br /&gt;
Fixed and extended introduction explanation v.1.61d&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed some issues for Globals=1 (Read) in relation to lsb_in and luma expansion auto-prefilter v.1.61d&amp;lt;br/&amp;gt;&lt;br /&gt;
Added mild gauss blur prefilter option as prefilter=1. Consequent modes are displaced v.1.61d&amp;lt;br/&amp;gt;&lt;br /&gt;
Changed prefilter 1 and 2 to Minblur (Gauss/Median combination) v.1.63d&amp;lt;br/&amp;gt;&lt;br /&gt;
Updated MinBlur function v.1.62d and v.1.66&amp;lt;br/&amp;gt;&lt;br /&gt;
Code tidied up v.1.62d&amp;lt;br/&amp;gt;&lt;br /&gt;
Updated luma expansion, now you can enhance darks (with 'Str' and 'Amp') in the same step as the TV-&amp;gt;PC conversion stage, thus +optimized, +quality. v.1.63d by cretindesalpes (http://forum.doom9.org/showthread.php?p=1548318#post1548318)&amp;lt;br/&amp;gt;&lt;br /&gt;
Removed pre_custom. Now use prefilter to load a prefiltered clip, as well as modes 0~3&amp;lt;br/&amp;gt;&lt;br /&gt;
Added Show parameter. Now you can see the used and default parameters along the prefilter clip as well&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed one note related to prefilter clip input for interlaced content&lt;br /&gt;
|-&lt;br /&gt;
|1.6d&lt;br /&gt;
|2011-12-24 (first open release)&lt;br /&gt;
|&lt;br /&gt;
Fixed and extended introduction explanation&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed Ditherpost for interlaced sources&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a broken reference for reading MRecalculate globals when tr&amp;gt;3&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a Globals=1 MSuper automatization&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a plane processing bypass when chroma=false&amp;lt;br/&amp;gt;&lt;br /&gt;
Added LSFmod as optional contrasharpening (slower, but biased contrasharpening and probably better depending on source)&amp;lt;br/&amp;gt;&lt;br /&gt;
Added default luma expansion auto-prefilter for motion search (16% more values)&amp;lt;br/&amp;gt;&lt;br /&gt;
Added YUY2 support&amp;lt;br/&amp;gt;&lt;br /&gt;
Added the 'mode' parameter of Ditherpost()&amp;lt;br/&amp;gt;&lt;br /&gt;
Added support for interlaced temporal radius up to 6&lt;br /&gt;
|-&lt;br /&gt;
|1.5d&lt;br /&gt;
|2011-10-14&lt;br /&gt;
|&lt;br /&gt;
Changed &amp;quot;srchSuper&amp;quot; Global variable to &amp;quot;QTGMC_srchSuper&amp;quot;, compatible with QTGMC. Anyhow you may probably want to create a new super clip. Test it out! v.1.41d&amp;lt;br/&amp;gt;&lt;br /&gt;
Introduction spelling and presentation v.1.42d&amp;lt;br/&amp;gt;&lt;br /&gt;
Added lsb and lsb_in for prefilter=2 (dfttest) v.1.43d &amp;amp; v.1.44d&amp;lt;br/&amp;gt;&lt;br /&gt;
Some better definitions for the settings help v.1.45d&amp;lt;br/&amp;gt;&lt;br /&gt;
pelclip is now subpixel = 3 ('sharp' parameter before) v.1.45d&amp;lt;br/&amp;gt;&lt;br /&gt;
Other minor tweaks v.1.45d&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed an important issue when using prefilter with subpixel=3 ('pelclip' parameter before)&amp;lt;br/&amp;gt;&lt;br /&gt;
Optimizations in Ditherpost for chroma&amp;lt;br/&amp;gt;&lt;br /&gt;
Changed rfilter (hierarchical levels smoothing/scaling) from default 2 to 4. Better results in my judge&amp;lt;br/&amp;gt;&lt;br /&gt;
Some more little tweaks in code and introduction&lt;br /&gt;
|-&lt;br /&gt;
|1.4d&lt;br /&gt;
|2011-09-16&lt;br /&gt;
|&lt;br /&gt;
Added pelclip option for top quality subpixel interpolation when pel &amp;gt; 1&amp;lt;br/&amp;gt;&lt;br /&gt;
Changed QTGMCV parameter to Globals, and added a bunch of new features like vectors output from SMDegrain()&amp;lt;br/&amp;gt;&lt;br /&gt;
Big introduction and code optimization tweaks&lt;br /&gt;
|-&lt;br /&gt;
|1.3d&lt;br /&gt;
|2011-09-14&lt;br /&gt;
|Fixed an important issue on the Interlaced parameter and improved overall handling (v.1.21d &amp;amp; v.1.3d)&lt;br /&gt;
|-&lt;br /&gt;
|1.2d&lt;br /&gt;
|2011-09-13&lt;br /&gt;
|&lt;br /&gt;
Added Interlaced parameter, for processing interlaced sources&amp;lt;br/&amp;gt;&lt;br /&gt;
Some introduction and code optimization tweaks (v.1.12d &amp;amp; v.1.2d)&lt;br /&gt;
|-&lt;br /&gt;
|1.1d&lt;br /&gt;
|2011-09-12&lt;br /&gt;
|&lt;br /&gt;
Implemented MDegrainN for tr &amp;gt; 3, from the MVTools2 mod of Dither&amp;lt;br/&amp;gt;&lt;br /&gt;
Minor introduction and code optimization tweaks&lt;br /&gt;
|-&lt;br /&gt;
|1.0d&lt;br /&gt;
|2011-09-09&lt;br /&gt;
|&lt;br /&gt;
Added CClip parameter. Reference an earlier stage of your processing chain as your sharp version for the contrasharpening&lt;br /&gt;
|-&lt;br /&gt;
|0.9d&lt;br /&gt;
|2011-09-09&lt;br /&gt;
|&lt;br /&gt;
Added QTGMCV parameter, for reusing vectors from QTGMC bob deinterlacer&lt;br /&gt;
|-&lt;br /&gt;
|0.8d&lt;br /&gt;
|2011-09-05&lt;br /&gt;
|&lt;br /&gt;
Fixed a few things related to the lsb_in option&amp;lt;br/&amp;gt;&lt;br /&gt;
Minor introduction and code optimization tweaks&lt;br /&gt;
|-&lt;br /&gt;
|0.7d&lt;br /&gt;
|2011-09-05&lt;br /&gt;
|&lt;br /&gt;
Implemented &amp;quot;fake&amp;quot; lsb_in option. Output will have slightly more quality (if any), and will compress better. (Experimental)&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a not passed argument in the hpad, vpad parameters&lt;br /&gt;
|-&lt;br /&gt;
|0.6d&lt;br /&gt;
|2011-09-04&lt;br /&gt;
|&lt;br /&gt;
Minor introduction and code optimization tweaks&lt;br /&gt;
|-&lt;br /&gt;
|0.5d&lt;br /&gt;
|2011-07-19&lt;br /&gt;
|&lt;br /&gt;
Added dfttest option for preblur (now prefilter) option. Slower but better due to its internal deblock+denoise operation, plus sharper results&amp;lt;br/&amp;gt;&lt;br /&gt;
Added pre_custom option for the prefilter process, define here a denoised clip as your prefiltered version&amp;lt;br/&amp;gt;&lt;br /&gt;
Updated the introduction help&lt;br /&gt;
|-&lt;br /&gt;
|0.4d&lt;br /&gt;
|2011-06-03&lt;br /&gt;
|&lt;br /&gt;
Added preblur option for slight vector blurring where motionmatch is bad (http://forum.doom9.org/showthread.php?t=161594)&amp;lt;br/&amp;gt;&lt;br /&gt;
Added RefineMotion parameter for better motion vectors. Based off Killer() (http://forum.doom9.org/showthread.php?p=1266572#post1266572)&amp;lt;br/&amp;gt;&lt;br /&gt;
Added parameters &amp;quot;lsb&amp;quot; and &amp;quot;lsb_out&amp;quot;, for the MVTools2 mod version of cretindesalpes' Dither (http://forum.doom9.org/showthread.php?p=1386559#post1386559)&amp;lt;br/&amp;gt;&lt;br /&gt;
Other minor aesthetics and performance adjustments&lt;br /&gt;
|-&lt;br /&gt;
|0.3d&lt;br /&gt;
|2011-03-04&lt;br /&gt;
|&lt;br /&gt;
First Mod version&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed plane (for MDegrain) and added chroma (for MAnalyse) parameters&lt;br /&gt;
|-&lt;br /&gt;
|0.2&lt;br /&gt;
|2010-01-24&lt;br /&gt;
|&lt;br /&gt;
Added introductory section&amp;lt;br/&amp;gt;&lt;br /&gt;
Added more parameters&lt;br /&gt;
|-&lt;br /&gt;
|0.1&lt;br /&gt;
|&lt;br /&gt;
Basic working version&amp;lt;br/&amp;gt;&lt;br /&gt;
Not released&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>SilverbackNet</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/SMDegrain</id>
		<title>SMDegrain</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/SMDegrain"/>
				<updated>2015-06-04T06:18:24Z</updated>
		
		<summary type="html">&lt;p&gt;SilverbackNet: copyedited, some corrections from the script&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FilterCat|External_filters|Denoisers|Spatial-Temporal Denoisers}}&lt;br /&gt;
{{Filter&lt;br /&gt;
| Caroliano, {{Author/Dogway}}&lt;br /&gt;
| v3.0d &lt;br /&gt;
|&lt;br /&gt;
* [http://www.mediafire.com/download/eb09qdkqf6y2wbj/SMDegrain_v.3.0d.zip SMDegrain_v.3.0d.zip]&amp;lt;br/&amp;gt;&lt;br /&gt;
* VapourSynth: [[HAvsFunc]]&lt;br /&gt;
| 4=Spatial-Temporal Denoisers&lt;br /&gt;
| 7=[http://forum.videohelp.com/threads/369142-Simple-MDegrain-Mod-v3-0d-A-Quality-Denoising-Solution VideoHelp], [http://forum.doom9.org/showthread.php?t=163604 Doom9] }}&lt;br /&gt;
&lt;br /&gt;
'''SMDegrain''', the Simple MDegrain Mod, is mainly a convenience function for using [[MVTools]]. It is not a magic function (the magic comes from mvtools), it just takes the repetitive code blocks needed for mvtools+mdegrain denoising and wraps them into this function.&lt;br /&gt;
&lt;br /&gt;
It has internal switches for interlaced or YUY2 content, saving you from writing long lines of code and preventing from possible mistakes. YUY2 is even automatically detected. Apart of that it adds some small and simple enhancements listed below, like easy prefilters, slightly better motion vectors (thanks to an internal TV-&amp;gt;PC luma expansion and the possibility of dark enhancement), easy nnedi3 subpixel accuracy, globals import/export, show panel, and contra-sharpening option.&lt;br /&gt;
&lt;br /&gt;
==Dependencies==&lt;br /&gt;
[[MaskTools2]] and [[MVTools]] (mod versions recommended)&lt;br /&gt;
&lt;br /&gt;
===Optional===&lt;br /&gt;
* [[Dither]] for 16 bit processing (v1.26.5 or higher)&lt;br /&gt;
* [[RgTools]] for contrasharp=true or prefilter=1 or 2&lt;br /&gt;
* [[LSFmod]] for contrasharp &amp;gt; 0.0&lt;br /&gt;
* [[dfttest]] for prefilter=3&lt;br /&gt;
* [[nnedi3]] for subpixel=3&lt;br /&gt;
''Beware, tp7's plugin mods have no YUY2 support, require AviSynth 2.6a5 or latest Set's MT for v2.6, and Visual C++ 2012 Redistributable.''&lt;br /&gt;
&lt;br /&gt;
==Aknowledgements==&lt;br /&gt;
Original '''SMDegrain()''' by Caroliano&lt;br /&gt;
&lt;br /&gt;
This function uses code from Didée, and cretindesalpes' creations, and has parts inspired by LaTo's functions (old readme, Show panel, etc) and Jawed's Killer() function, apart of relying on third-party tools for certain features.&lt;br /&gt;
&lt;br /&gt;
Special thanks go to: cretindesalpes, Didée, Gavino, Sagekilla, and MVtools people.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The benefit of using SMDegrain over directly calling MDegrain is:&lt;br /&gt;
* '''High bitdepth denoising''': This is the first wrapper function to support 32bit (16bit pipeline) MDegrain denoising.&lt;br /&gt;
* '''Higher temporal radius''' (tr&amp;gt;3): The [[MVTools]] mod (and hence this script) also allows for hack-free higher temporal radius.&lt;br /&gt;
* '''Contrasharpening''': The pretty much standarized sharpening method created by Didée is blended into the function, so you can easily use it in 16bit pipelines. An strength biased method is also possible. A ''CClip'' parameter is also supplied so you can choose another source to sharpen from, other than the default '''SMDegrain()''' input.&lt;br /&gt;
* '''YUY2 support''': It automatically and fully supports YUY2.&lt;br /&gt;
* '''Interlaced support''': It supports interlaced sources with most parameters as well.&lt;br /&gt;
* '''Extended Subpixel Accuracy''': [[nnedi3]] is allowed as a subpixel filter, not necessary in most cases, but if you are quality mad try to set it on.&lt;br /&gt;
* '''Better Motion Vectors''': An internal conversion from TV levels (reduced values range) to PC levels (extended values range) is done to the clip the motion analysis will be performed on, so you can get better motion vectors (up to 16%)&lt;br /&gt;
* '''Prefilters''': An easy parameter to load generalist prefilters that perform well in most situations. It also accepts loading your personal prefiltered clips.&lt;br /&gt;
* '''Motion Filters''': New in version 3.0d. It will allow you to filter those parts where '''SMDegrain()''' couldn't find a matching block for denoising. One use for it would be spatial denoisers or deblockers since high-motion areas are prone to heavy blocking and artifacts.&lt;br /&gt;
* '''Global Motion Vector In/Out''': Reuse motion vectors globals for faster processing, or just use '''SMDegrain()''' as a shortcut for creating nice quality motion vectors.&lt;br /&gt;
* '''RefineMotion Option''' (MRecalculate): Slower, but sometimes a big quality boost.&lt;br /&gt;
* '''Show Panel''': Everything is off by default, but some settings change in context. Check what is happening behind the scenes and have a fast look at all your settings.&lt;br /&gt;
* '''Robust''': Everything of the above works with each other no problem (interoperability), also in the process some error proof, bugfixes and bug workarounds were implemented or at least warned so you know that most of what is done is reliable, bugs free and optimized. The general idea is to serve as an user friendly front end for vanilla mvtools2+mdegrain or as the original script creator entitled &amp;quot;To make your scripts shorter and less geeky&amp;quot;. Most parameters are turned off or defaulted to mvtools2 defaults and features are based on popular general conceived procedures.&lt;br /&gt;
&lt;br /&gt;
Parameters are arranged in 3 blocks.&lt;br /&gt;
*'''Basic''': For people who just need the most basic parameters because either they don't have the time, knowledge or interest into looking for complex settings. Or they are content with defaults (pretty much mvtools defaults)&lt;br /&gt;
*'''High Bit Depth''': There's not much to think about this. This just enables (default is disabled), high bit depth denoising. That is, more quality, but also needs more processing power hence slower.&lt;br /&gt;
*'''Advanced''': If you run into some problems, are nitpicking or just want to fine tune your settings according to the source, have a look at this block, it contains the rest and bulk of the function parameters.&lt;br /&gt;
&lt;br /&gt;
Temporal denoising is a widespread procedure for noise cleaning in most type of video sources. The only limitation for '''SMDegrain()''' being when there are (very) high levels of grain, in which case you would need to rely on more &amp;quot;creative&amp;quot; and source centric solutions (see [http://forum.doom9.org/showthread.php?p=1544619#post1544619 this] and ''prefilter'' notes), but those are the rare cases.&lt;br /&gt;
&lt;br /&gt;
To picture what the function does, a simple '''SMDegrain()''' call matches the next code (for SD resolutions):&lt;br /&gt;
&lt;br /&gt;
 super_search = Dither_Luma_Rebuild(S0=1.0,c=0.0625).MSuper(rfilter=4)&lt;br /&gt;
 &lt;br /&gt;
 bv2 = super_search.MAnalyse(isb = true,  delta = 2, overlap= 4)&lt;br /&gt;
 bv1 = super_search.MAnalyse(isb = true,  delta = 1, overlap= 4)&lt;br /&gt;
 fv1 = super_search.MAnalyse(isb = false, delta = 1, overlap= 4)&lt;br /&gt;
 fv2 = super_search.MAnalyse(isb = false, delta = 2, overlap= 4)&lt;br /&gt;
 &lt;br /&gt;
 MDegrain2(MSuper(levels=1), bv1, fv1, bv2, fv2, thSAD=300, thSADC=150)&lt;br /&gt;
&lt;br /&gt;
As you see no wizardry. The only changes made are the TV-&amp;gt;PC luma expansion (''Dither_Luma_Rebuild''(S0=1.0,c=0.0625) similar to ''color_yuv''(levels=&amp;quot;TV-&amp;gt;PC&amp;quot;)) so you have more range to detect motion vectors, the ''rfilter''=4 for a bit more quality super search, the changed default of ''overlap'' from 0 to 4 and ''thSAD'' and ''thSADC'' from 400 to 300 and 150 respectively for safer results. Nothing else. The problem is that as soon you want to change a little thing like say temporal radius it requires you to edit in more than a few places, so this is very annoying and so forth the main reason for '''SMDegrain()'''.&lt;br /&gt;
 &lt;br /&gt;
==Using the filter==&lt;br /&gt;
*Input can be YV12 or YUY2, and '''must''' be TV range (which is normal). It's also recommended to be in modulus 16 size (resolution multiple of 16), although not strictly necessary.&lt;br /&gt;
*Crop first (when not interlaced).&lt;br /&gt;
*Recommended to deblock if blocking is present, before crop (when cropping) and '''SMDegrain()'''. Or you can use ''prefilter''=3 which is also a good deblocker (dfttest) and let '''SMDegrain()''' clean the blocking for you.&lt;br /&gt;
*Default output mode(dithering) for ''lsb''=true (when non interlaced) is ordered dither (optimized for encoding), so it is not recommended to keep filtering non-edge areas of your source, you can instead use ''mode''=6 (error diffusion) or ''lsb_out''=true and keep filtering in 16bit&lt;br /&gt;
*Read the ''prefilter'' setting explanation for solutions to problematic sources&lt;br /&gt;
&lt;br /&gt;
==Ready-to-run Samples==&lt;br /&gt;
&lt;br /&gt;
I consider this a good starting point where to start tweaking, whether be it for quality or speed:&lt;br /&gt;
 SMDegrain(tr=2,thSAD=250,contrasharp=true,refinemotion=true,lsb=true)&lt;br /&gt;
 &lt;br /&gt;
A basic, fast, yet very functional call for light grain (mvtools2+masktools2 only needed)&lt;br /&gt;
 SMDegrain(tr=1,thSAD=300,contrasharp=true)&lt;br /&gt;
&lt;br /&gt;
A typical more worked call compatible with official mvtools2 (mvtools2+masktools2 only needed)&lt;br /&gt;
 SMDegrain(tr=2,thSAD=300,interlaced=true,prefilter=1,contrasharp=true)&lt;br /&gt;
&lt;br /&gt;
Good compromise between speed and quality (denoising with high precision)&lt;br /&gt;
 SMDegrain(tr=2,thSAD=300,contrasharp=true,refinemotion=true,lsb=true)&lt;br /&gt;
&lt;br /&gt;
Similar to the previous example, the next is a personal preference. Turned all chroma off for safeness (chroma is rarely temporal-reliable enough) and speed.&lt;br /&gt;
 SMDegrain(tr=2,thSAD=300,contrasharp=true,refinemotion=true,lsb=true,chroma=false,plane=0)&lt;br /&gt;
&lt;br /&gt;
This is a good example to show that interlaced YUY2 sources can be processed seamlessly.&lt;br /&gt;
 # mod4 (modulus 4) interlaced YUY2 source&lt;br /&gt;
 SMDegrain(tr=1,thSAD=250,interlaced=true,contrasharp=true,lsb=true)&lt;br /&gt;
&lt;br /&gt;
HD sources are detected automatically, and as so settings are optimized for speed; ''pel''=1, ''hpad''=0, ''vpad''=0, ''blksize''=32, ''overlap''=16, ''truemotion''=false&lt;br /&gt;
 # HD source (from 1100px wide or 600px high up)&lt;br /&gt;
 SMDegrain(tr=2,thSAD=180,prefilter=2,contrasharp=30,refinemotion=true,lsb=true,chroma=false,plane=0)&lt;br /&gt;
&lt;br /&gt;
For dealing with dark scenes (you could also add ''truemotion''=false)&lt;br /&gt;
 SMDegrain(tr=3,thSAD=300,contrasharp=true,str=2.0,refinemotion=true,lsb=true)&lt;br /&gt;
&lt;br /&gt;
Tackling a grainy source:&lt;br /&gt;
 pre=fluxsmootht(3).removegrain(11)&lt;br /&gt;
 SMDegrain(tr=6,thSAD=500,contrasharp=30,prefilter=pre,str=1.2,refinemotion=true,lsb=true)&lt;br /&gt;
&lt;br /&gt;
Here 2 things are shown; how to work on a 16bit pipeline, and reference a prior state of the script for ''contrasharp''.&lt;br /&gt;
 sharp=last&lt;br /&gt;
 dfttest(tbsize=1,sigma=10,lsb=true)&lt;br /&gt;
 &lt;br /&gt;
 SMDegrain(tr=3,thSAD=300,CClip=sharp,lsb_in=true,lsb_out=true)&lt;br /&gt;
 &lt;br /&gt;
 LinearResize(854,480,lsb_in=true, mode=0)&lt;br /&gt;
&lt;br /&gt;
(Re)using motion vectors globals&lt;br /&gt;
 SMDegrain(tr=1,thSAD=400,prefilter=3,str=1.4,globals=3)    # Output vectors only&lt;br /&gt;
 MFlowFps(Super, bv1, fv1, num=60,den=1)&lt;br /&gt;
 &lt;br /&gt;
==Parameters==&lt;br /&gt;
{{FuncDef|SMDegrain}} (clip input, int &amp;quot;tr&amp;quot;, int &amp;quot;thSAD&amp;quot;, int &amp;quot;thSADC&amp;quot;, bool &amp;quot;RefineMotion&amp;quot;, val &amp;quot;contrasharp&amp;quot;, clip &amp;quot;CClip&amp;quot;, bool &amp;quot;interlaced&amp;quot;, int &amp;quot;plane&amp;quot;, int &amp;quot;Globals&amp;quot;, int &amp;quot;pel&amp;quot;, int &amp;quot;subpixel&amp;quot;, val &amp;quot;prefilter&amp;quot;, clip &amp;quot;mfilter&amp;quot;, int &amp;quot;blksize&amp;quot;, int &amp;quot;overlap&amp;quot;, int &amp;quot;search&amp;quot;, bool &amp;quot;truemotion&amp;quot;, int &amp;quot;limit&amp;quot;, int &amp;quot;limitc&amp;quot;, int &amp;quot;thSCD1&amp;quot;, int &amp;quot;thSCD2&amp;quot;, bool &amp;quot;chroma&amp;quot;, int &amp;quot;hpad&amp;quot;, int &amp;quot;vpad&amp;quot;, bool &amp;quot;lsb&amp;quot;, bool &amp;quot;lsb_in&amp;quot;, bool &amp;quot;lsb_out&amp;quot;, int &amp;quot;mode&amp;quot;, val &amp;quot;Show&amp;quot;, float &amp;quot;Str&amp;quot;, float &amp;quot;Amp&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
===Basic===&lt;br /&gt;
&lt;br /&gt;
{{ParR|tr|int|2|1-128}}&lt;br /&gt;
:Temporal radius, selects the MDegrain to use. This can be considered the strength of the denoising. Higher is generally better, but also much slower and each extra frame gives less improvement.&lt;br /&gt;
:tr 4+ requires Dither's MVTools2 mod. Max 64 for interlaced.&lt;br /&gt;
&lt;br /&gt;
{{Par|thSAD|int|300}}&lt;br /&gt;
{{Par|thSADC|int|150}}&lt;br /&gt;
:&amp;quot;Sum of Absolute Differences&amp;quot; threshold. This is the spatial difference threshold where the motion search will consider whether to denoise given the formula: &lt;br /&gt;
::Denoise_Weight = max( 0, 1 - 2*blockSAD² / (thSAD² + blockSAD²) )&lt;br /&gt;
:This spatial difference will be compared in blocks (''blksize''). If your noise is not getting into consideration for the denoising try raising this value, or reduce its SAD with previous prefiltering. You can alternatively raise ''blksize'', which will likely even blocks SAD. Low values can result in staggered/blotchy denoising, large values can result in ghosting and artifacts. Values in the range 200~600 are usual.&lt;br /&gt;
:thSADC is the same logic applied to chroma planes, since there are less differences on the chroma planes it uses by default thSAD/2 for safer chroma results.&lt;br /&gt;
:'''Recommendation''': Use slightly greater values than you are used to in other mdegrain based functions since the internal clip for the motion search in SMDegrain() has the contrast increased.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Contrasharp|bool|False|True/False}}&lt;br /&gt;
{{ParR|Contrasharp|int|-|0-100}}&lt;br /&gt;
:Contrasharpening is a technique that compares the differences between the clip before blurring (original) and after blurring (filtered), and sharpens locally with consequent strength. By default the &amp;quot;sharp&amp;quot; clip is the input, the &amp;quot;after&amp;quot; clip is the denoised clip. Alternately, a &amp;quot;before&amp;quot; clip can be specified with ''CClip'' (See Advanced).&lt;br /&gt;
:*True: use Didée's Contrasharpening() function (ContraHD() for HD) which &amp;quot;Sharpens the denoised clip, but doesn't add more to any pixel than what was removed previously.&amp;quot; In the practice you will get a slightly sharper result than the source, which is welcome.&lt;br /&gt;
:*An integer: LSFmod() will be used instead. It will be much slower, but maybe better for certain sources. Its value will serve as a contrasharpening multiplier, use one around 50 for similar strength as Contrasharpening(). LSFmod is less-suitable for HD sources.&lt;br /&gt;
&lt;br /&gt;
{{Par|RefineMotion|bool|False}}&lt;br /&gt;
:Refines and recalculates motion data of previously estimated (by MAnalyse) motion vectors. Turn it on for better motion vectors, specially when dealing with ghosting issues, small details or lineart fading and whatnot.&lt;br /&gt;
:'''Caution''': It won't help much if you use a ''prefilter'' so strong that blurs too much or kills all the details you are aiming to protect in first place.&lt;br /&gt;
&lt;br /&gt;
{{ParR|plane|int|4|0-4}}&lt;br /&gt;
:Select the planes you wish to process:&lt;br /&gt;
:*0: luma only&lt;br /&gt;
:*1: chroma U&lt;br /&gt;
:*2: chroma V&lt;br /&gt;
:*3: both chromas&lt;br /&gt;
:*4: all (Default)&lt;br /&gt;
:'''Caution''': plane=1-4 can sometimes create chroma smearing. In such case I recommend denoising chroma planes in the spatial domain.&lt;br /&gt;
&lt;br /&gt;
{{Par|Interlaced|bool|False}}&lt;br /&gt;
:If you want to denoise an interlaced source set this parameter to true. Output will also be interlaced. If you pair this with ''lsb_out''=true then you will have to &amp;lt;tt&amp;gt;Weave().DitherPost(mode=6,interlaced=true)&amp;lt;/tt&amp;gt; when converting back to 8 bit.&lt;br /&gt;
&lt;br /&gt;
===High Bit Depth Processing And Dithering===&lt;br /&gt;
All High Bit Depth parameters require [[Dither]] and [[MVTools]] 2.6+.&lt;br /&gt;
&lt;br /&gt;
{{Par|lsb_in|bool|False}}&lt;br /&gt;
:Set true if you use a 16 bits filter chain. *(EXPERIMENTAL, use under test environment)&lt;br /&gt;
&lt;br /&gt;
{{Par|lsb_out|bool|False}}&lt;br /&gt;
:Output to 16-bit instead of 8-bit. Use the helpers at the end of the SMDegrain() script to use Ditherpost() with YUY2 formats.&lt;br /&gt;
&lt;br /&gt;
{{Par|lsb|bool|False}}&lt;br /&gt;
:This enables 32 bit depth precision for denoising. You gain extra denoising accuracy, most noticeable in the prevention of banding in flat areas. Automatically set if either ''lsb_in'' or ''lsb_out'' are enabled.&lt;br /&gt;
&lt;br /&gt;
{{ParR|mode|int|0|-1-8}}&lt;br /&gt;
:This is the '''mode''' of [[Dither#DitherPost|DitherPost]] when ''lsb_out''=False, as a dithering method must be chosen for the 32bit-&amp;gt;8bit conversion. (Interlaced content is locked to mode=6) The default ''mode''=0 will help you optimize the dithering for optimum encodings when no further non-edge processing is done. Use ''mode''=6 (error diffusion) if further processing will be done.&lt;br /&gt;
&lt;br /&gt;
===Advanced===&lt;br /&gt;
&lt;br /&gt;
{{ParR|pel|int|2|1,2,4}}&lt;br /&gt;
:Accuracy of the motion estimation:&lt;br /&gt;
:* 1: full-pixel (Default for HD)&lt;br /&gt;
:* 2: half-pixel (Default for SD)&lt;br /&gt;
:* 4: quarter-pixel (often more accurate, but much slower and not always better)&lt;br /&gt;
&lt;br /&gt;
{{ParR|subpixel|int|2|0-3}}&lt;br /&gt;
:Subpixel interpolation method for ''pel''=2 or 4. This is the 'sharp' parameter in MSuper(), although it isn't related to output sharpness but better accuracy for the motion estimation.&lt;br /&gt;
:* 0: bilinear (softest)&lt;br /&gt;
:* 1: bicubic (4 tap Catmull-Rom)&lt;br /&gt;
:* 2: sharper Wiener (6 tap, similar to Lanczos) (Default)&lt;br /&gt;
:* 3: [[nnedi3]] (very high quality: useful for small sources but usually overkill. requires plugin)&lt;br /&gt;
&lt;br /&gt;
{{ParR|prefilter|int|-1|-1-3}}&lt;br /&gt;
{{Par|prefilter|clip|None}}&lt;br /&gt;
:* -1: off (Default)&lt;br /&gt;
:* 0: light controlled gauss blur&lt;br /&gt;
:* 1: mild median/gauss blur&lt;br /&gt;
:* 2: strong median/gauss blur&lt;br /&gt;
:* 3: [[dfttest]] (spatial)&lt;br /&gt;
:* clip: supply your own&lt;br /&gt;
:Denoises a version of the clip that will be used to obtain the motion vectors. Useful for very damaged/grainy sources, this will help to get better motion vectors.&lt;br /&gt;
:For sources with Gibbs noise, especially on anime, try ''prefilter''=1 or 2 or better yet strong median filters (through clip input) in order to soothe the high SAD of sharp edges. For blocky sources, or a general more quality/safer prefilter use option 3 (dfttest)&lt;br /&gt;
:By default dfttest outputs a sstring txt file to your script folder, you can delete it. This doesn't happen when using the modded dfttest (version 1.9.2 or higher) of the Dither tools.&lt;br /&gt;
:For HD sources ''prefilter''=2 makes more sense than 1, because it uses a wider denoising window.&lt;br /&gt;
:If instead you want to use your own prefilter denoiser, just define it in a variable and reference it here. Remember to:&lt;br /&gt;
:*Feed always 8 bit clips.&lt;br /&gt;
:*Input in fields for interlaced content *(read below)&lt;br /&gt;
:*Feed here planar ( by using Interleaved2Planar() ) YUY2 clips (not interleaved) when working with YUY2 sources.&lt;br /&gt;
:You will likely want to use spatial denoisers like median filters (removegrain=17, medianblur, etc). For very grainy or fizz grain noise you can try prefiltering in temporal or if this is not enough, try adding a new SMDegrain() line again but without globals. Use ''lsb_in'', ''lsb_out'' according so results are smooth. You can even use SMDegrain() as a prefilter for SMDegrain() in very temporal unstable sources.&lt;br /&gt;
:Another trick for fizz grain is to serve a prefiltered clip where bright values are more denoised than dark values, you can do this through luma masks with masktools2 code. Search in [http://forum.doom9.org/showthread.php?t=162813 Doom9] for reference.&lt;br /&gt;
:For interlaced sources remember:&lt;br /&gt;
::Spatial filtering: pre=separatefields().spatial_prefilters_here()&lt;br /&gt;
::Temporal filtering: pre=separatefields().interleave(selecteven().temporal_filters(),selectodd().temporal_filters())&lt;br /&gt;
:SMDegrain() (and MDegrain) is likely to produce blending artifacts or oversmooth in dark areas specially on cartoons, to tackle this see RefineMotion or expand the luma range in the darks. For this there are many options, you can use your preferred gamma enhancer and input it as the prefilter, or use the examples below for linear brightening (masktools2) and input it as a ''prefilter'' as well. Or at last and the recommended solution, to use the built-in ''Str'' (strength) and ''Amp'' (amplitude) parameters for a curve type dark enhancement, check the effects by enabling Show and changing your previewing conditions to PC levels.&lt;br /&gt;
:For brightening dark values linearly (brighter parts less brightening)&lt;br /&gt;
 str=1&lt;br /&gt;
 mt_lut(&amp;quot;x x &amp;quot;+string(str)+&amp;quot; 6 * - 255 - abs 255 / ^ x 1 - abs +&amp;quot;)&lt;br /&gt;
:Or for a more contrasty image (although not as much dark enhancing - not linear)&lt;br /&gt;
 str=40&lt;br /&gt;
 mt_lut(&amp;quot;x x &amp;quot;+string(str)+&amp;quot; 6 * - 255 - abs 255 / ^ &amp;quot;+string(str)+&amp;quot; / x 1 - abs +&amp;quot;)&lt;br /&gt;
:Good resources for custom prefilters:&lt;br /&gt;
:*http://forum.doom9.org/showthread.php?t=162813&lt;br /&gt;
:*http://forum.doom9.org/showthread.php?t=132310&lt;br /&gt;
:*http://forum.doom9.org/showthread.php?t=133977&lt;br /&gt;
:Notes: To sum it up; generally in denoising, temporal filters are always preferred due to its natural look (versus spatial filters). But more often than not for good results prefiltering plays a key role on the output quality, and setting it up nicely can be looked as an art by itself.&lt;br /&gt;
:If there's a reached point where no prefiltering, no ''thSAD'' tweaking, etc, makes able to denoise a certain motion part/area/scene, then this is due to the motion vectors preventing them from being &amp;quot;denoised&amp;quot; (also read &amp;quot;artifacted&amp;quot;), in which case you will need to rely on alternative solutions (motion compensation, filters like MCTemporalDenoise(), TemporalDegrain(), [http://forum.doom9.org/showthread.php?p=1544619#post1544619 Multilevel MDegrain], etc) or just use plain spatial filters with motion masks. Creating these discerning masks for static and motion scenes and combining them is a research task on the end user side.&lt;br /&gt;
&lt;br /&gt;
{{Par|mfilter|clip|None}}&lt;br /&gt;
:Motion Filter, an optional user-supplied clip that will be passed through those areas where SMDegrain() couldn't find a matching block, normally high motion areas. One use for it would be to to use spatial filters, like deblockers or blurring filters that mimic motion blur.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Str|float|1.0|0.0-8.0}}&lt;br /&gt;
:Gamma correction. With this parameter you control the strength of the brightening of the ''prefilter'' clip, good for when problems with dark areas arise. Using this internally instead of externally creates less quantization artifacts, since it's done in the same stage as the TV-&amp;gt;PC range conversion.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Amp|float|0.0625|0.0-1.0}}&lt;br /&gt;
:Used when ''Str'' &amp;lt;&amp;gt; 1.0. This defines the amplitude of the brightening in the luma range, for example by using 1.0 all the luma range will be used and the brightening will find its peak at luma value 128 in the original. Default is 0.0625 (1.0/16) which just sits over luma value 16 (256/16) This and ''Str'' are extrapolated arguments from [http://forum.doom9.org/showthread.php?p=1548318#post1548318 cretindesalpes' function], you can find a graph and more insight explanations at the original post.&lt;br /&gt;
:Check these 2 parameters effects by enabling Show.&lt;br /&gt;
&lt;br /&gt;
{{ParR|blksize|int|8 for SD, 16 for HD|4,8,16}}&lt;br /&gt;
:Size of a block (horizontal x vertical). Larger blocks are faster and less sensitive to noise, but also less accurate.&lt;br /&gt;
&lt;br /&gt;
{{Par|overlap|int|blksize/2}}&lt;br /&gt;
:Must be *even* and *less* than block size. Common values: ''blksize''/4 or ''blksize''/2. Larger ''overlap'' looks slightly better and runs slower.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Search|int|4|0-7}}&lt;br /&gt;
:This is the '''search''' of [[MVTools/MAnalyze|MAnalyze]].&lt;br /&gt;
&lt;br /&gt;
{{Par|Truemotion|bool|True for SD, False for HD}}&lt;br /&gt;
:''Truemotion'' is a preset of some MVAnalyze parameter values. It allows easy to switch default values of all &amp;quot;true motion&amp;quot; parameters at once. Set it 'true' for true motion search (high vector coherence), set it 'false' to search motion vectors with best SAD. Truemotion is slower and may blur textures and thin details more, but will usually remove more noise.&lt;br /&gt;
:For HD sources where the main problems are just excessive grain, I have defaulted it to false, this is not only faster but honors detail accuracy (the main existing point for HD sources) and overall object shading.&lt;br /&gt;
&lt;br /&gt;
{{Par|Chroma|bool|True}}&lt;br /&gt;
:Set false to totally ignore chroma for finding motion vectors, for more speed with little cost in quality or when your chroma is too bad to find good matches. Don't process chroma planes without chroma vectors, MVTools doesn't seem to work right.&lt;br /&gt;
&lt;br /&gt;
{{Par|Hpad|int|''blksize'' for SD, 0 for HD}}&lt;br /&gt;
{{Par|Vpad|int|''blksize'' for SD, 0 for HD}}&lt;br /&gt;
:Horizontal/vertical padding added to source frame (left, right, top, and bottom) for better motion estimation near borders.&lt;br /&gt;
:Try to have clean borders in your source (no NAB/black borders) to start with before tweaking this setting. If necessary, crop beforehand ideally in multiples of 16. Turn it to 0 if you are running out of memory.&lt;br /&gt;
&lt;br /&gt;
{{Par|thSCD1|int|based on ''blksize'': 4=&amp;gt;100, 8=&amp;gt;400, 16=&amp;gt;1600}}&lt;br /&gt;
:Threshold which decides whether a block has changed between the previous frame and the current one, used to tweak the scene change detection. Raising it will lower the number of blocks detected as changed. It may be useful for noisy or flickered video. To fix blending on scene changes on dark scenes, try first the Str and Amp parameters.&lt;br /&gt;
&lt;br /&gt;
{{ParR|thSCD2|int|130|0-250}}&lt;br /&gt;
:Threshold which sets how many blocks have to change for the frame to be considered as a scene change.&lt;br /&gt;
&lt;br /&gt;
{{ParR|limit|int|255|1-255}}&lt;br /&gt;
{{ParR|limitC|int|255|1-255}}&lt;br /&gt;
:Maximal change of pixel luma/chroma, to prevent some artifacts.&lt;br /&gt;
&lt;br /&gt;
{{Par|CClip|clip|None}}&lt;br /&gt;
:Optional sharp version for ''contrasharp'' to compare against; video resolution and properties must be the same (different bit depth is OK). Using this option defaults ''contrasharp'' to True.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Globals|int|0|0-3}}&lt;br /&gt;
:With this parameter you can create or load pre-processed motion vectors, to save doing the work for multiple SMDegrain calls.&lt;br /&gt;
:*0: Ignore globals, just process&lt;br /&gt;
:*1: Read globals and Process&lt;br /&gt;
:*2: Process and output globals&lt;br /&gt;
:*3: Output globals only, don't process&lt;br /&gt;
:Some parameters '''MUST MATCH''' between output and input stages: ''pel'', ''subpixel'', ''chroma'', and ''vpad''/''hpad'' cannot change. When reading (Globals=1) only some parameters work: ''tr'', ''thSAD'', ''plane'', ''limit'', ''limitc'', ''contrasharp'', ''CClip'', ''interlaced'' and the ''lsb'' parameters. Others are ignored.&lt;br /&gt;
:Global names that can be reused are: '''Super''', '''bv1''', '''fv1''', '''bv2''', '''fv2''', '''bv3''', '''fv3''', '''bv4''', '''fv4''', '''bv6''', '''fv6''', '''vmulti'''.&lt;br /&gt;
 SMDegrain(tr=3,thSAD=400,globals=3)    # Outputs vectors&lt;br /&gt;
 SMDegrain(tr=3,thSAD=400,globals=1)    # You can use a lower &amp;quot;tr&amp;quot; or &amp;quot;thSAD&amp;quot; if you want&lt;br /&gt;
:or&lt;br /&gt;
 SMDegrain(tr=3,thSAD=400,globals=3)    # Outputs vectors&lt;br /&gt;
 Super = MSuper(levels=1)               # Add this line just before if you have some processing between Globals Output and Input.&lt;br /&gt;
 MDegrain3(Super, bv1, fv1, bv2, fv2, bv3, fv3, thSAD=400)&lt;br /&gt;
&lt;br /&gt;
{{Par|Show|bool|False}}&lt;br /&gt;
{{ParR|Show|str|-|&amp;quot;Speed&amp;quot;, &amp;quot;Memory&amp;quot;, &amp;quot;Quality&amp;quot;}}&lt;br /&gt;
:This will show the prefiltered clip to be used for the motion search to the left(&amp;lt;--), and the used parameters list to the right (--&amp;gt;)&lt;br /&gt;
:If the parameters panel is broken i.e. overlapping lines, hidden lines, etc, most likely your settings are wrong, (e.g. ''lsb_in''=true when input is 8bit) so it will also work well as a debug function. If you set Show to a string as indicated above, related parameters will be highlighted to guide you on correctly tweaking the function. This is loosely based, so it doesn't exclude you from reading carefully every parameter explanation.&lt;br /&gt;
:Even when you are not using any prefiltering, the clip to be used for the motion search where you obtain the motion vectors, will be converted from TV levels to PC levels, the only exception being when using ''Globals''=1 (Read) in which case the &amp;quot;prefiltered&amp;quot; clip will be exactly the same as input clip (that is no luma conversion, although constrained to 8 bit). Additionally you can tweak the dark expansion with ''Str'' and ''Amp'' parameters and check the effects in the left panel, but be aware to change your viewing conditions as it is in PC levels.&lt;br /&gt;
:The left panel preserves its properties so you can crop out the right panel and use it as a prefilter clip of any MSuper(). Therefore if you are not processing chroma (''chroma''=false) the prefiltered clip will be green, don't panic, this is correct, this happens when the U and V planes are unset. In this regard for previewing tasks with prefilterings -- or just the ''Str'' and ''Amp'' effect -- set ''chroma'' to true temporally or follow with ''GreyScale''(). For YUY2 sources set ''Planar2Interleaved''() after cropping for previewing.&lt;br /&gt;
 &lt;br /&gt;
==Final Notes==&lt;br /&gt;
If there is an important parameter not implemented, you have any issue or found a bug, please don't hesitate and ask in its [http://forum.videohelp.com/threads/369142 VideoHelp thread].&lt;br /&gt;
 &lt;br /&gt;
==Changelog==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: 1px solid darkgray&amp;quot;&lt;br /&gt;
!Version&lt;br /&gt;
!Date&lt;br /&gt;
!Changes&lt;br /&gt;
|-&lt;br /&gt;
|3.0d&lt;br /&gt;
|2015-03-27&lt;br /&gt;
|&lt;br /&gt;
Adjusted SD&amp;lt;&amp;gt;HD discretion&amp;lt;br/&amp;gt;&lt;br /&gt;
Added mfilter (Motion Filter) new feature&amp;lt;br/&amp;gt;&lt;br /&gt;
subpixel=3 (nnedi3); removed qual=2 due to possible blending bug (quote by cretindesalpes), this also boosts speed&amp;lt;br/&amp;gt;&lt;br /&gt;
Lowered the defaults for less aggressive denoise (still somewhat high)&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed chroma not showing in debug (show) mode when lsb=true and prefilter=3 were paired&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed long lasting issues in Show Panel for certain not mod height resolutions&amp;lt;br/&amp;gt;&lt;br /&gt;
Now prefilter=0 is minblur(0), lighter denoising than prefilter=1, default is now -1 (off)&amp;lt;br/&amp;gt;&lt;br /&gt;
Documentation update (plugin updates, notes, links, examples, etc)&lt;br /&gt;
|-&lt;br /&gt;
|2.2d&lt;br /&gt;
|2013-03-05&lt;br /&gt;
|&lt;br /&gt;
Removed one residual variable in Contrasharpening function&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a regression at v2.0 for Interlaced YUY2 sources by changing wrong variable ifC to if0, and...&amp;lt;br/&amp;gt;&lt;br /&gt;
...adding a missing weave() to the last MergeChroma() call&amp;lt;br/&amp;gt;&lt;br /&gt;
Dropped Dither support. (Will still work/not work as before, but lack of official support renders it to a YMMV condition)&lt;br /&gt;
|-&lt;br /&gt;
|2.1d&lt;br /&gt;
|2012-09-09&lt;br /&gt;
|&lt;br /&gt;
Fixed Refinemotion Globals Input labels&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed ContrasharpeningHD Vectors for Interlaced HD sources&amp;lt;br/&amp;gt;&lt;br /&gt;
Added ability to import Global Vectors even when &amp;quot;tr&amp;quot; is lower than parent instance &amp;quot;tr&amp;quot; (credit to cretindesalpes)&amp;lt;br/&amp;gt;&lt;br /&gt;
Expanded support for Interlaced Denoising &amp;quot;tr&amp;quot; up to 64 (credit to cretindesalpes)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cosmetics&lt;br /&gt;
|-&lt;br /&gt;
|2.0d&lt;br /&gt;
|2012-06-07&lt;br /&gt;
|&lt;br /&gt;
Fixed and optimized chroma handling for lsb_in, contrasharpening and YUY2 content v.1.95&amp;lt;br/&amp;gt;&lt;br /&gt;
Enhanced Chroma bypass on the sharpening stage&amp;lt;br/&amp;gt;&lt;br /&gt;
Merged ContraHD() internally for Contrasharpening in HD sources&amp;lt;br/&amp;gt;&lt;br /&gt;
Dropped QTGMC support on import/export motion vectors (small value for increased confusion)&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed Median code for planar inputs in MinBlur() (needs RemoveGrainHD, dropped medianblur requirement)&amp;lt;br/&amp;gt;&lt;br /&gt;
Defaulted truemotion to false for HD inputs&amp;lt;br/&amp;gt;&lt;br /&gt;
Code Optimization and Clean up&amp;lt;br/&amp;gt;&lt;br /&gt;
Others&lt;br /&gt;
|-&lt;br /&gt;
|1.9d&lt;br /&gt;
|2012-03-23&lt;br /&gt;
|&lt;br /&gt;
Added truemotion parameter (default=true), change it to false (as in MCTemporalDenoise()), so low frequency detail won't be lost (walls...), although it could leave more noise on high frequency details&amp;lt;br/&amp;gt;&lt;br /&gt;
Added thSADC, and thSCD1/thSCD2 parameters for finer control&amp;lt;br/&amp;gt;&lt;br /&gt;
Tweaked prefilter=3 dfttest sigmas for better low frequency detail protection&amp;lt;br/&amp;gt;&lt;br /&gt;
Detached explanation and converted to html. Updated and extended the contents as well&amp;lt;br/&amp;gt;&lt;br /&gt;
Fine tuned and robustized the Show Panel&amp;lt;br/&amp;gt;&lt;br /&gt;
Optimized and organized code, more precisely the contrasharpening part&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a few ternary checks for when Globals=3&amp;lt;br/&amp;gt;&lt;br /&gt;
Others&lt;br /&gt;
|-&lt;br /&gt;
|1.8d&lt;br /&gt;
|2012-01-18&lt;br /&gt;
|&lt;br /&gt;
Added automatic dark protection for prefilter=3 (dfttest performs badly in darks) v1.71d and extended its dark protection v1.8&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed chroma variable when chroma=false, from 2 (copy chroma) to 1 (discard chroma) v1.71d&amp;lt;br/&amp;gt;&lt;br /&gt;
Explanation and cosmetics v1.71d&amp;lt;br/&amp;gt;&lt;br /&gt;
Added acknowledgments and updated explanation&amp;lt;br/&amp;gt;&lt;br /&gt;
Added brackets to all functions (it has been reported to cause threading problems under certain circumstances) (http://forum.doom9.org/showthread.php?p=1515886#post1515886)&amp;lt;br/&amp;gt;&lt;br /&gt;
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: &amp;quot;Speed&amp;quot;, &amp;quot;Memory&amp;quot; and &amp;quot;Quality&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Optimized lsb_in for HD resolutions which was causing memory hogs&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed contrasharpening for YUY2 sources when lsb=true&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed some inconsistencies for YUY2 sources when prefilter=3&lt;br /&gt;
|-&lt;br /&gt;
|1.7d&lt;br /&gt;
|2012-01-11&lt;br /&gt;
|&lt;br /&gt;
Fixed and extended introduction explanation v.1.61d&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed some issues for Globals=1 (Read) in relation to lsb_in and luma expansion auto-prefilter v.1.61d&amp;lt;br/&amp;gt;&lt;br /&gt;
Added mild gauss blur prefilter option as prefilter=1. Consequent modes are displaced v.1.61d&amp;lt;br/&amp;gt;&lt;br /&gt;
Changed prefilter 1 and 2 to Minblur (Gauss/Median combination) v.1.63d&amp;lt;br/&amp;gt;&lt;br /&gt;
Updated MinBlur function v.1.62d and v.1.66&amp;lt;br/&amp;gt;&lt;br /&gt;
Code tidied up v.1.62d&amp;lt;br/&amp;gt;&lt;br /&gt;
Updated luma expansion, now you can enhance darks (with 'Str' and 'Amp') in the same step as the TV-&amp;gt;PC conversion stage, thus +optimized, +quality. v.1.63d by cretindesalpes (http://forum.doom9.org/showthread.php?p=1548318#post1548318)&amp;lt;br/&amp;gt;&lt;br /&gt;
Removed pre_custom. Now use prefilter to load a prefiltered clip, as well as modes 0~3&amp;lt;br/&amp;gt;&lt;br /&gt;
Added Show parameter. Now you can see the used and default parameters along the prefilter clip as well&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed one note related to prefilter clip input for interlaced content&lt;br /&gt;
|-&lt;br /&gt;
|1.6d&lt;br /&gt;
|2011-12-24 (first open release)&lt;br /&gt;
|&lt;br /&gt;
Fixed and extended introduction explanation&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed Ditherpost for interlaced sources&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a broken reference for reading MRecalculate globals when tr&amp;gt;3&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a Globals=1 MSuper automatization&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a plane processing bypass when chroma=false&amp;lt;br/&amp;gt;&lt;br /&gt;
Added LSFmod as optional contrasharpening (slower, but biased contrasharpening and probably better depending on source)&amp;lt;br/&amp;gt;&lt;br /&gt;
Added default luma expansion auto-prefilter for motion search (16% more values)&amp;lt;br/&amp;gt;&lt;br /&gt;
Added YUY2 support&amp;lt;br/&amp;gt;&lt;br /&gt;
Added the 'mode' parameter of Ditherpost()&amp;lt;br/&amp;gt;&lt;br /&gt;
Added support for interlaced temporal radius up to 6&lt;br /&gt;
|-&lt;br /&gt;
|1.5d&lt;br /&gt;
|2011-10-14&lt;br /&gt;
|&lt;br /&gt;
Changed &amp;quot;srchSuper&amp;quot; Global variable to &amp;quot;QTGMC_srchSuper&amp;quot;, compatible with QTGMC. Anyhow you may probably want to create a new super clip. Test it out! v.1.41d&amp;lt;br/&amp;gt;&lt;br /&gt;
Introduction spelling and presentation v.1.42d&amp;lt;br/&amp;gt;&lt;br /&gt;
Added lsb and lsb_in for prefilter=2 (dfttest) v.1.43d &amp;amp; v.1.44d&amp;lt;br/&amp;gt;&lt;br /&gt;
Some better definitions for the settings help v.1.45d&amp;lt;br/&amp;gt;&lt;br /&gt;
pelclip is now subpixel = 3 ('sharp' parameter before) v.1.45d&amp;lt;br/&amp;gt;&lt;br /&gt;
Other minor tweaks v.1.45d&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed an important issue when using prefilter with subpixel=3 ('pelclip' parameter before)&amp;lt;br/&amp;gt;&lt;br /&gt;
Optimizations in Ditherpost for chroma&amp;lt;br/&amp;gt;&lt;br /&gt;
Changed rfilter (hierarchical levels smoothing/scaling) from default 2 to 4. Better results in my judge&amp;lt;br/&amp;gt;&lt;br /&gt;
Some more little tweaks in code and introduction&lt;br /&gt;
|-&lt;br /&gt;
|1.4d&lt;br /&gt;
|2011-09-16&lt;br /&gt;
|&lt;br /&gt;
Added pelclip option for top quality subpixel interpolation when pel &amp;gt; 1&amp;lt;br/&amp;gt;&lt;br /&gt;
Changed QTGMCV parameter to Globals, and added a bunch of new features like vectors output from SMDegrain()&amp;lt;br/&amp;gt;&lt;br /&gt;
Big introduction and code optimization tweaks&lt;br /&gt;
|-&lt;br /&gt;
|1.3d&lt;br /&gt;
|2011-09-14&lt;br /&gt;
|Fixed an important issue on the Interlaced parameter and improved overall handling (v.1.21d &amp;amp; v.1.3d)&lt;br /&gt;
|-&lt;br /&gt;
|1.2d&lt;br /&gt;
|2011-09-13&lt;br /&gt;
|&lt;br /&gt;
Added Interlaced parameter, for processing interlaced sources&amp;lt;br/&amp;gt;&lt;br /&gt;
Some introduction and code optimization tweaks (v.1.12d &amp;amp; v.1.2d)&lt;br /&gt;
|-&lt;br /&gt;
|1.1d&lt;br /&gt;
|2011-09-12&lt;br /&gt;
|&lt;br /&gt;
Implemented MDegrainN for tr &amp;gt; 3, from the MVTools2 mod of Dither&amp;lt;br/&amp;gt;&lt;br /&gt;
Minor introduction and code optimization tweaks&lt;br /&gt;
|-&lt;br /&gt;
|1.0d&lt;br /&gt;
|2011-09-09&lt;br /&gt;
|&lt;br /&gt;
Added CClip parameter. Reference an earlier stage of your processing chain as your sharp version for the contrasharpening&lt;br /&gt;
|-&lt;br /&gt;
|0.9d&lt;br /&gt;
|2011-09-09&lt;br /&gt;
|&lt;br /&gt;
Added QTGMCV parameter, for reusing vectors from QTGMC bob deinterlacer&lt;br /&gt;
|-&lt;br /&gt;
|0.8d&lt;br /&gt;
|2011-09-05&lt;br /&gt;
|&lt;br /&gt;
Fixed a few things related to the lsb_in option&amp;lt;br/&amp;gt;&lt;br /&gt;
Minor introduction and code optimization tweaks&lt;br /&gt;
|-&lt;br /&gt;
|0.7d&lt;br /&gt;
|2011-09-05&lt;br /&gt;
|&lt;br /&gt;
Implemented &amp;quot;fake&amp;quot; lsb_in option. Output will have slightly more quality (if any), and will compress better. (Experimental)&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a not passed argument in the hpad, vpad parameters&lt;br /&gt;
|-&lt;br /&gt;
|0.6d&lt;br /&gt;
|2011-09-04&lt;br /&gt;
|&lt;br /&gt;
Minor introduction and code optimization tweaks&lt;br /&gt;
|-&lt;br /&gt;
|0.5d&lt;br /&gt;
|2011-07-19&lt;br /&gt;
|&lt;br /&gt;
Added dfttest option for preblur (now prefilter) option. Slower but better due to its internal deblock+denoise operation, plus sharper results&amp;lt;br/&amp;gt;&lt;br /&gt;
Added pre_custom option for the prefilter process, define here a denoised clip as your prefiltered version&amp;lt;br/&amp;gt;&lt;br /&gt;
Updated the introduction help&lt;br /&gt;
|-&lt;br /&gt;
|0.4d&lt;br /&gt;
|2011-06-03&lt;br /&gt;
|&lt;br /&gt;
Added preblur option for slight vector blurring where motionmatch is bad (http://forum.doom9.org/showthread.php?t=161594)&amp;lt;br/&amp;gt;&lt;br /&gt;
Added RefineMotion parameter for better motion vectors. Based off Killer() (http://forum.doom9.org/showthread.php?p=1266572#post1266572)&amp;lt;br/&amp;gt;&lt;br /&gt;
Added parameters &amp;quot;lsb&amp;quot; and &amp;quot;lsb_out&amp;quot;, for the MVTools2 mod version of cretindesalpes' Dither (http://forum.doom9.org/showthread.php?p=1386559#post1386559)&amp;lt;br/&amp;gt;&lt;br /&gt;
Other minor aesthetics and performance adjustments&lt;br /&gt;
|-&lt;br /&gt;
|0.3d&lt;br /&gt;
|2011-03-04&lt;br /&gt;
|&lt;br /&gt;
First Mod version&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed plane (for MDegrain) and added chroma (for MAnalyse) parameters&lt;br /&gt;
|-&lt;br /&gt;
|0.2&lt;br /&gt;
|2010-01-24&lt;br /&gt;
|&lt;br /&gt;
Added introductory section&amp;lt;br/&amp;gt;&lt;br /&gt;
Added more parameters&lt;br /&gt;
|-&lt;br /&gt;
|0.1&lt;br /&gt;
|&lt;br /&gt;
Basic working version&amp;lt;br/&amp;gt;&lt;br /&gt;
Not released&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>SilverbackNet</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/SMDegrain</id>
		<title>SMDegrain</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/SMDegrain"/>
				<updated>2015-06-04T05:23:40Z</updated>
		
		<summary type="html">&lt;p&gt;SilverbackNet: move examples before params&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FilterCat|External_filters|Denoisers|Spatial-Temporal Denoisers}}&lt;br /&gt;
{{Filter&lt;br /&gt;
| Caroliano, {{Author/Dogway}}&lt;br /&gt;
| v3.0d &lt;br /&gt;
|&lt;br /&gt;
* [http://www.mediafire.com/download/eb09qdkqf6y2wbj/SMDegrain_v.3.0d.zip SMDegrain_v.3.0d.zip]&amp;lt;br/&amp;gt;&lt;br /&gt;
* VapourSynth: [[HAvsFunc]]&lt;br /&gt;
| 4=Spatial-Temporal Denoisers&lt;br /&gt;
| 7=[http://forum.videohelp.com/threads/369142-Simple-MDegrain-Mod-v3-0d-A-Quality-Denoising-Solution VideoHelp], [https://forum.doom9.org/showthread.php?t=163604 Doom9] }}&lt;br /&gt;
&lt;br /&gt;
SMDegrain, the Simple MDegrain Mod, is mainly a convenience function for using MVTools. It is not a magic function (the magic comes from mvtools), it just takes the repetitive code blocks needed for mvtools+mdegrain denoising and wraps them into this function.&lt;br /&gt;
&lt;br /&gt;
It has internal switches for interlaced or YUY2 content, saving you from writing long lines of code and preventing from possible mistakes. YUY2 is even automatically detected. Apart of that it adds some small and simple enhancements listed below, like easy prefilters, slightly better motion vectors (thanks to an internal TV-&amp;gt;PC luma expansion and the possibility of dark enhancement), easy nnedi3 subpixel accuracy, globals import/export, show panel, and contra-sharpening option.&lt;br /&gt;
&lt;br /&gt;
==Dependencies==&lt;br /&gt;
[[MaskTools2]] and [[MVTools]] (mod versions recommended)&lt;br /&gt;
&lt;br /&gt;
===Optional===&lt;br /&gt;
* [[Dither]] for 16 bit processing (v1.26.5 or higher)&lt;br /&gt;
* [[RgTools]] for contrasharp=true or prefilter=1 or 2&lt;br /&gt;
* [[LSFmod]] for contrasharp &amp;gt; 0.0&lt;br /&gt;
* [[dfttest]] for prefilter=3&lt;br /&gt;
* [[nnedi3]] for subpixel=3&lt;br /&gt;
''Beware, tp7's plugin mods have no YUY2 support, require AviSynth 2.6a5 or latest Set's MT for v2.6, and Visual C++ 2012 Redistributable.''&lt;br /&gt;
&lt;br /&gt;
==Aknowledgements==&lt;br /&gt;
Original SMDegrain() by Caroliano&lt;br /&gt;
&lt;br /&gt;
This function uses code from Didée, and cretindesalpes' creations, and has parts inspired by LaTo's functions (old readme, Show panel, etc) and Jawed's Killer() function, apart of relying on third-party tools for certain features.&lt;br /&gt;
&lt;br /&gt;
Special thanks go to: cretindesalpes, Didée, Gavino, Sagekilla, and MVtools people.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The benefit of using SMDegrain over directly calling MDegrain is:&lt;br /&gt;
* '''High bitdepth denoising''': This is the first wrapper function to support 32bit (16bit pipeline) mdegrain denoising.&lt;br /&gt;
* '''Higher temporal radius''' (tr&amp;gt;3): As the above feature the mvtools2 mod allows (and hence this script) for real (no hacks) higher temporal radius.&lt;br /&gt;
* '''Contrasharpening''': The pretty much standarized sharpening method created by Didée is blended into the function, so you can easily use it in 16bit pipelines. An strength biased method is also possible. A CClip parameter is also supplied so you can choose another source to sharpen from, other than the default SMDegrain() input.&lt;br /&gt;
* '''YUY2 support''': It automatically supports YUY2 sources for all the given parameters.&lt;br /&gt;
* '''Interlaced support''': It supports interlaced sources, for YUY2 color spaces and most parameters as well.&lt;br /&gt;
* '''Extended Subpixel Accuracy''': nnedi3 is added as the 4th option for this setting, not strictly necessary in most cases, but if you are a quality mad try to set it on.&lt;br /&gt;
* '''Better Motion Vectors''': An internal conversion from TV levels (reduced values range) to PC levels (extended values range) is done to the clip the motion analysis will be performed on, so you can get better motion vectors (up to 16%)&lt;br /&gt;
* '''Prefilters''': An easy parameter to load generalist prefilters that perform well in most situations. It also accepts loading your personal prefiltered clips.&lt;br /&gt;
* '''Motion Filters''': New in version 3.0d. It will allow you to filter those parts where SMDegrain() couldn't find a matching block, or in other words motion areas where SMDegrain() couldn't denoise. One use for it would be spatial denoisers or deblockers since motion areas are prone to heavy blocking and artifacts.&lt;br /&gt;
* '''Motion Vectors Globals Input/Output''': Reuse motion vectors globals for faster processing, or just use SMDegrain() as a shortcut for creating nice quality motion vectors.&lt;br /&gt;
* '''RefineMotion Option''' (MRecalculate): If time is not an issue, you should use this one for a quality boost.&lt;br /&gt;
* '''Show Panel''': Everything is off by default, but some settings change in context. Check what is happening behind the scenes and have a fast look at all your settings.&lt;br /&gt;
* '''Robust''': Everything of the above works with each other no problem (interoperability), also in the process some error proof, bugfixes and bug workarounds were implemented or at least warned so you know that most of what is done is reliable, bugs free and optimized. The general idea is to serve as an user friendly front end for vanilla mvtools2+mdegrain or as the original script creator entitled &amp;quot;To make your scripts shorter and less geeky&amp;quot;. Most parameters are turned off or defaulted to mvtools2 defaults and features are based on popular general conceived procedures.&lt;br /&gt;
&lt;br /&gt;
Parameters are arranged in 3 blocks.&lt;br /&gt;
*'''Basic''': For people who just need the most basic parameters because either they don't have the time, knowledge or interest into looking for complex settings. Or they are content with defaults (pretty much mvtools defaults)&lt;br /&gt;
*'''High Bit Depth''': There's not much to think about this. This just enables (default is disabled), high bit depth denoising. That is, more quality, but also needs more processing power hence slower.&lt;br /&gt;
*'''Advanced''': If you run into some problems, are nitpicking or just want to fine tune your settings according to the source, have a look at this block, it contains the rest and bulk of the function parameters.&lt;br /&gt;
&lt;br /&gt;
Temporal denoising is a widespread procedure for noise cleaning in most type of video sources. The only limitation for SMDegrain() being when there are (very) high levels of grain, in which case you would need to rely on more &amp;quot;creative&amp;quot; and source centric solutions (see this and prefilter notes), but those are the rare cases.&lt;br /&gt;
&lt;br /&gt;
To picture what the function does, a simple SMDegrain() call matches the next code (for SD resolutions):&lt;br /&gt;
&lt;br /&gt;
 super_search = Dither_Luma_Rebuild(S0=1.0,c=0.0625).MSuper(rfilter=4)&lt;br /&gt;
 &lt;br /&gt;
 bv2 = super_search.MAnalyse(isb = true,  delta = 2, overlap= 4)&lt;br /&gt;
 bv1 = super_search.MAnalyse(isb = true,  delta = 1, overlap= 4)&lt;br /&gt;
 fv1 = super_search.MAnalyse(isb = false, delta = 1, overlap= 4)&lt;br /&gt;
 fv2 = super_search.MAnalyse(isb = false, delta = 2, overlap= 4)&lt;br /&gt;
 &lt;br /&gt;
 MDegrain2(MSuper(levels=1), bv1, fv1, bv2, fv2, thSAD=300, thSADC=150)&lt;br /&gt;
&lt;br /&gt;
As you see no wizardry. The only changes made are the TV-&amp;gt;PC luma expansion (Dither_Luma_Rebuild(S0=1.0,c=0.0625) similar to color_yuv(levels=&amp;quot;TV-&amp;gt;PC&amp;quot;)) so you have more range to detect motion vectors, the rfilter=4 for a bit more quality super search, the changed default of overlap from 0 to 4 and thSAD and thSADC from 400 to 300 and 150 respectively for safer results. Nothing else. The problem is that as soon you want to change a little thing like say temporal radius it requires you to edit in more than a few places, so this is very annoying and so forth the main reason for SMDegrain().&lt;br /&gt;
 &lt;br /&gt;
==Using the filter==&lt;br /&gt;
*Input can be YV12 or YUY2 (interleaved YUY2 which is the common standard format)&lt;br /&gt;
*Input luma must NOT be PC range (sources normally are in TV range). It's also recommended to be in modulus 16 size (resolution multiple of 16), although not strictly necessary&lt;br /&gt;
*Crop if necessary before SMDegrain() (when not interlaced)&lt;br /&gt;
*Recommended to deblock if blocking is present, before crop (when cropping) and SMDegrain(). Or you can use prefilter=3 which is also a good deblocker (dfttest) and let SMDegrain() clean the blocking for you&lt;br /&gt;
*Default output mode(dithering) for lsb=true (when non interlaced) is ordered dither (optimized for encoding), so it is not recommended to keep filtering non-edge areas of your source, you can instead use mode=6 (error diffusion) or lsb_out=true and keep filtering in 16bit&lt;br /&gt;
*Read the prefilter setting explanation for solutions to problematic sources&lt;br /&gt;
&lt;br /&gt;
==Ready-to-run Samples==&lt;br /&gt;
&lt;br /&gt;
I consider this a good starting point where to start tweaking, whether be it for quality or speed:&lt;br /&gt;
 SMDegrain(tr=2,thSAD=250,contrasharp=true,refinemotion=true,lsb=true)&lt;br /&gt;
 &lt;br /&gt;
A basic, fast, yet very functional call for light grain (mvtools2+masktools2 only needed)&lt;br /&gt;
 SMDegrain(tr=1,thSAD=300,contrasharp=true)&lt;br /&gt;
&lt;br /&gt;
A typical more worked call compatible with official mvtools2 (mvtools2+masktools2 only needed)&lt;br /&gt;
 SMDegrain(tr=2,thSAD=300,interlaced=true,prefilter=1,contrasharp=true)&lt;br /&gt;
&lt;br /&gt;
Good compromise between speed and quality (denoising with high precision)&lt;br /&gt;
 SMDegrain(tr=2,thSAD=300,contrasharp=true,refinemotion=true,lsb=true)&lt;br /&gt;
&lt;br /&gt;
Similar to the previous example, the next is a personal preference. Turned all chroma off for safeness (chroma is rarely temporal-reliable enough) and speed.&lt;br /&gt;
 SMDegrain(tr=2,thSAD=300,contrasharp=true,refinemotion=true,lsb=true,chroma=false,plane=0)&lt;br /&gt;
&lt;br /&gt;
This is a good example to show that interlaced YUY2 sources can be processed seamlessly.&lt;br /&gt;
 # mod4 (modulus 4) interlaced YUY2 source&lt;br /&gt;
 SMDegrain(tr=1,thSAD=250,interlaced=true,contrasharp=true,lsb=true)&lt;br /&gt;
&lt;br /&gt;
HD sources are detected automatically, and as so settings are optimized for speed; pel=1, hpad=0, vpad=0, blksize=32, overlap=16, truemotion=false&lt;br /&gt;
 # HD source (from 1100px wide or 600px high up)&lt;br /&gt;
 SMDegrain(tr=2,thSAD=180,prefilter=2,contrasharp=30,refinemotion=true,lsb=true,chroma=false,plane=0)&lt;br /&gt;
&lt;br /&gt;
For dealing with dark scenes (you could also add truemotion=false)&lt;br /&gt;
 SMDegrain(tr=3,thSAD=300,contrasharp=true,str=2.0,refinemotion=true,lsb=true)&lt;br /&gt;
&lt;br /&gt;
Tackling a grainy source:&lt;br /&gt;
 pre=fluxsmootht(3).removegrain(11)&lt;br /&gt;
 SMDegrain(tr=6,thSAD=500,contrasharp=30,prefilter=pre,str=1.2,refinemotion=true,lsb=true)&lt;br /&gt;
&lt;br /&gt;
Here 2 things are shown; how to work on a 16bit pipeline, and reference a prior state of the script for the contrasharpening process.&lt;br /&gt;
 sharp=last&lt;br /&gt;
 dfttest(tbsize=1,sigma=10,lsb=true)&lt;br /&gt;
 &lt;br /&gt;
 SMDegrain(tr=3,thSAD=300,CClip=sharp,lsb_in=true,lsb_out=true)&lt;br /&gt;
 &lt;br /&gt;
 LinearResize(854,480,lsb_in=true, mode=0)&lt;br /&gt;
&lt;br /&gt;
(Re)using motion vectors globals&lt;br /&gt;
 SMDegrain(tr=1,thSAD=400,prefilter=3,str=1.4,globals=3)    # Output vectors only&lt;br /&gt;
 MFlowFps(Super, bv1, fv1, num=60,den=1)&lt;br /&gt;
 &lt;br /&gt;
==Parameters==&lt;br /&gt;
{{FuncDef|SMDegrain}} (clip input, int &amp;quot;tr&amp;quot;, int &amp;quot;thSAD&amp;quot;, int &amp;quot;thSADC&amp;quot;, bool &amp;quot;RefineMotion&amp;quot;, val &amp;quot;contrasharp&amp;quot;, clip &amp;quot;CClip&amp;quot;, bool &amp;quot;interlaced&amp;quot;, int &amp;quot;plane&amp;quot;, int &amp;quot;Globals&amp;quot;, int &amp;quot;pel&amp;quot;, int &amp;quot;subpixel&amp;quot;, val &amp;quot;prefilter&amp;quot;, clip &amp;quot;mfilter&amp;quot;, int &amp;quot;blksize&amp;quot;, int &amp;quot;overlap&amp;quot;, int &amp;quot;search&amp;quot;, bool &amp;quot;truemotion&amp;quot;, int &amp;quot;limit&amp;quot;, int &amp;quot;limitc&amp;quot;, int &amp;quot;thSCD1&amp;quot;, int &amp;quot;thSCD2&amp;quot;, bool &amp;quot;chroma&amp;quot;, int &amp;quot;hpad&amp;quot;, int &amp;quot;vpad&amp;quot;, bool &amp;quot;lsb&amp;quot;, bool &amp;quot;lsb_in&amp;quot;, bool &amp;quot;lsb_out&amp;quot;, int &amp;quot;mode&amp;quot;, val &amp;quot;Show&amp;quot;, float &amp;quot;Str&amp;quot;, float &amp;quot;Amp&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
===Basic===&lt;br /&gt;
&lt;br /&gt;
{{ParR|tr|int|2|1+}}&lt;br /&gt;
:Temporal radius. This can be considered the strength of the denoising. Select between MDegrain 1, 2, 3, 4, 5, 6 or higher. Higher is generally better, but also much slower and improvements get less drastic.&lt;br /&gt;
:tr 4+ (limit is tr=128, 64 for interlaced) requires Dither's MVTools2 mod.&lt;br /&gt;
&lt;br /&gt;
{{Par|thSAD|int|300}}&lt;br /&gt;
{{Par|thSADC|int|150}}&lt;br /&gt;
:&amp;quot;Sum of Absolute Differences&amp;quot; threshold. This is the spatial difference threshold where the motion search will consider whether to denoise given the next formula: &lt;br /&gt;
::Denoise_Weight = max( 0, 1 - 2*blockSAD² / (thSAD² + blockSAD²) )&lt;br /&gt;
:This spatial difference will be compared in blocks (blksize). If your noise is not getting into consideration for the denoising try raising this value, or reduce its SAD with previous prefiltering. You can alternatively raise the block size (blksize), which will likely even blocks SAD. Low values can result in staggered/blotchy denoising, large values can result in ghosting and artifacts. Values in the range 200~600 are usual.&lt;br /&gt;
:thSADC is the same logic applied to chroma planes, since there are less differences on the chroma planes it uses by default thSAD/2 for safer chroma results.&lt;br /&gt;
:'''Recommendation''': Use slightly greater values than you are used to in other mdegrain based functions since the internal clip for the motion search in SMDegrain() has the contrast increased.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Contrasharp|bool|False|True/False}}&lt;br /&gt;
{{ParR|Contrasharp|int|-|0-100}}&lt;br /&gt;
:Contrasharpening is a technique that compares the differences between the clip before blurring (original) and after blurring (filtered), and sharpens locally with consequent strength. By default the before &amp;quot;sharp&amp;quot; clip is the one used as input for SMDegrain(), the &amp;quot;after&amp;quot; clip is the denoised clip. Independently a &amp;quot;before&amp;quot; clip can be specified with the CClip parameter (See Advanced)&lt;br /&gt;
:Contrasharp when set to &amp;quot;true&amp;quot;, will use Didée's Contrasharpening() function (or the modded version ContraHD() for HD sources) which &amp;quot;Sharpens the denoised clip, but doesn't add more to any pixel than what was removed previously.&amp;quot; In the practice you will get a slightly sharper result than the source, which is welcome.&lt;br /&gt;
:If you set an integer, LSFmod() will be used instead. It will be much slower, but maybe better for certain sources. Its value will serve as a contrasharpening multiplier, use one around 50 for similar strength as Contrasharpening(). LSFmod is less-suitable for HD sources.&lt;br /&gt;
{{Par|RefineMotion|bool|False}}&lt;br /&gt;
:Refines and recalculates motion data of previously estimated (by MAnalyse) motion vectors. Turn it on for better motion vectors, specially when dealing with ghosting issues, small details or lineart fading and whatnot.&lt;br /&gt;
:'''Caution''': It won't help much if you use a prefilter so strong that blurs too much or kills all the details you are aiming to protect in first place.&lt;br /&gt;
&lt;br /&gt;
{{ParR|plane|int|4|0-4}}&lt;br /&gt;
:Select the planes you wish to process:&lt;br /&gt;
:*0: luma only&lt;br /&gt;
:*1: chroma U&lt;br /&gt;
:*2: chroma V&lt;br /&gt;
:*3: both chromas&lt;br /&gt;
:*4: all (Default)&lt;br /&gt;
:'''Caution''': plane=1-4 can sometimes create chroma smearing. In such case I recommend denoising chroma planes in the spatial domain.&lt;br /&gt;
&lt;br /&gt;
{{Par|Interlaced|bool|False}}&lt;br /&gt;
:If you want to denoise an interlaced source set this parameter to true. Output will also be interlaced. If you pair this with lsb_out=true then you will have to add Weave().DitherPost(mode=6,interlaced=true) when converting back to 8 bit.&lt;br /&gt;
&lt;br /&gt;
===High Bit Depth Processing And Dithering===&lt;br /&gt;
All High Bit Depth parameters require [[Dither]] and [[MVTools]] 2.6+.&lt;br /&gt;
&lt;br /&gt;
{{Par|lsb|bool|False}}&lt;br /&gt;
:This enables 32 bit depth precision for denoising. You gain extra denoising accuracy, most noticeable in the prevention of banding in flat areas.&lt;br /&gt;
&lt;br /&gt;
{{Par|lsb_in|bool|False}}&lt;br /&gt;
:Set it to true if you use SMDegrain() in a 16 bits filter chain. *(EXPERIMENTAL, use under test environment)&lt;br /&gt;
&lt;br /&gt;
{{Par|lsb_out|bool|False}}&lt;br /&gt;
:If you set lsb to true, you can also choose to output in 16 bits (an internal 32 bit-&amp;gt;16 bit conversion is done) so you can keep filtering in 16 bits and/or use your own Ditherpost().&lt;br /&gt;
:Use the helpers at the end of the SMDegrain() script to make Ditherpost() able to use when dealing with YUY2 formats.&lt;br /&gt;
&lt;br /&gt;
{{ParR|mode|int|0|-1-8}}&lt;br /&gt;
:This is the '''mode''' of [[Dither#DitherPost|DitherPost]]. If you process in 32bit and lsb_out (16bit output) is not enabled, a dithering method must be chosen for the 32bit-&amp;gt;8bit conversion. (Interlaced content is locked to mode=6) The default mode=0 will help you optimize the dithering for optimum encodings when no further non-edge processing is done. Use mode=6 (error diffusion) if further processing is needed.&lt;br /&gt;
&lt;br /&gt;
===Advanced===&lt;br /&gt;
&lt;br /&gt;
{{ParR|pel|int|2|1,2,4}}&lt;br /&gt;
:Accuracy of the motion estimation:&lt;br /&gt;
:* 1: full-pixel (Default for HD)&lt;br /&gt;
:* 2: half-pixel (Default for SD)&lt;br /&gt;
:* 4: quarter-pixel (often more accurate, but much slower and not always better)&lt;br /&gt;
&lt;br /&gt;
{{ParR|subpixel|int|2|0-3}}&lt;br /&gt;
:Subpixel interpolation method for pel=2 or 4. This is the 'sharp' parameter in msuper(), although it isn't related to output sharpness but better accuracy for the motion estimation.&lt;br /&gt;
:* 0: bilinear (softest)&lt;br /&gt;
:* 1: bicubic (4 tap Catmull-Rom)&lt;br /&gt;
:* 2: sharper Wiener (6 tap, similar to Lanczos) (Default)&lt;br /&gt;
:* 3: [[nnedi3]] (very high quality: useful for small sources but usually overkill. requires plugin)&lt;br /&gt;
&lt;br /&gt;
{{ParR|prefilter|int|-1|-1-3}}&lt;br /&gt;
{{Par|prefilter|clip|None}}&lt;br /&gt;
:* -1: off (Default)&lt;br /&gt;
:* 0: light controlled gauss blur&lt;br /&gt;
:* 1: mild median/gauss blur&lt;br /&gt;
:* 2: strong median/gauss blur&lt;br /&gt;
:* 3: [[dfttest]] (spatial)&lt;br /&gt;
:* clip: supply your own&lt;br /&gt;
:Denoises a version of the clip that will be used to obtain the motion vectors. Useful for very damaged/grainy sources, this will help to get better motion vectors.&lt;br /&gt;
:For sources with Gibbs noise, especially on anime, try prefilter=1 or 2 or better yet strong median filters (through clip input) in order to soothe the high SAD of sharp edges. For blocky sources, or a general more quality/safer prefilter use option 3 (dfttest)&lt;br /&gt;
:By default dfttest outputs a sstring txt file to your script folder, you can delete it. This doesn't happen when using the modded dfttest (version 1.9.2 or higher) of the Dither tools.&lt;br /&gt;
:For HD sources prefilter=2 makes more sense than 1, because it uses a wider denoising window.&lt;br /&gt;
:If instead you want to use your own prefilter denoiser, just define it in a variable and reference it here. Remember to:&lt;br /&gt;
:*Feed always 8 bit clips.&lt;br /&gt;
:*Input in fields for interlaced content *(read below)&lt;br /&gt;
:*Feed here planar ( by using Interleaved2Planar() ) YUY2 clips (not interleaved) when working with YUY2 sources.&lt;br /&gt;
:You will likely want to use spatial denoisers like median filters (removegrain=17, medianblur, etc). For very grainy or fizz grain noise you can try prefiltering in temporal or if this is not enough, try adding a new SMDegrain() line again but without globals. Use lsb_in, lsb_out according so results are smooth. You can even use SMDegrain() as a prefilter for SMDegrain() in very temporal unstable sources.&lt;br /&gt;
:Another trick for fizz grain is to serve a prefiltered clip where bright values are more denoised than dark values, you can do this through luma masks with masktools2 code. Search in Doom9 for reference.&lt;br /&gt;
:For interlaced sources remember:&lt;br /&gt;
::Spatial filtering: pre=separatefields().spatial_prefilters_here()&lt;br /&gt;
::Temporal filtering: pre=separatefields().interleave(selecteven().temporal_filters(),selectodd().temporal_filters())&lt;br /&gt;
:SMDegrain() (and MDegrain) is likely to produce blending artifacts or oversmooth in dark areas specially on cartoons, to tackle this see RefineMotion or expand the luma range in the darks. For this there are many options, you can use your preferred gamma enhancer and input it as the prefilter, or use the examples below for linear brightening (masktools2) and input it as a prefilter as well. Or at last and the recommended solution, to use the built-in Str (strength) and Amp (amplitude) parameters for a curve type dark enhancement, check the effects by enabling Show and changing your previewing conditions to PC levels.&lt;br /&gt;
:For brightening dark values linearly (brighter parts less brightening)&lt;br /&gt;
 str=1&lt;br /&gt;
 mt_lut(&amp;quot;x x &amp;quot;+string(str)+&amp;quot; 6 * - 255 - abs 255 / ^ x 1 - abs +&amp;quot;)&lt;br /&gt;
:Or for a more contrasty image (although not as much dark enhancing - not linear)&lt;br /&gt;
 str=40&lt;br /&gt;
 mt_lut(&amp;quot;x x &amp;quot;+string(str)+&amp;quot; 6 * - 255 - abs 255 / ^ &amp;quot;+string(str)+&amp;quot; / x 1 - abs +&amp;quot;)&lt;br /&gt;
:Good resources for custom prefilters:&lt;br /&gt;
:*http://forum.doom9.org/showthread.php?t=162813&lt;br /&gt;
:*http://forum.doom9.org/showthread.php?t=132310&lt;br /&gt;
:*http://forum.doom9.org/showthread.php?t=133977&lt;br /&gt;
:Notes: To sum it up; generally in denoising, temporal filters are always preferred due to its natural look (versus spatial filters). But more often than not for good results prefiltering plays a key role on the output quality, and setting it up nicely can be looked as an art by itself.&lt;br /&gt;
:If there's a reached point where no prefiltering, no thSAD tweaking, etc, makes able to denoise a certain motion part/area/scene, then this is due to the motion vectors preventing them from being &amp;quot;denoised&amp;quot; (also read &amp;quot;artifacted&amp;quot;), in which case you will need to rely on alternative solutions (motion compensation, filters like MCTemporalDenoise(), TemporalDegrain(), Multilevel mdegrain, etc) or just use plain spatial filters with motion masks. Creating these discerning masks for static and motion scenes and combining them is a research task on the end user side.&lt;br /&gt;
&lt;br /&gt;
{{Par|mfilter|clip|None}}&lt;br /&gt;
:Motion Filter, an optional user-supplied clip that will be passed through those areas where SMDegrain() couldn't find a matching block, normally high motion areas. One use for it would be to to use spatial filters, like deblockers or blurring filters that mimic motion blur.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Str|float|1.0|0.0-8.0}}&lt;br /&gt;
:Gamma correction. With this parameter you control the strength of the brightening of the prefilter clip, good for when problems with dark areas arise. Using this internally instead of externally creates less quantization artifacts, since it's done in the same stage as the TV-&amp;gt;PC range conversion.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Amp|float|0.0625|0.0-1.0}}&lt;br /&gt;
:Uses when Str &amp;lt;&amp;gt; 1.0. This defines the amplitude of the brightening in the luma range, for example by using 1.0 all the luma range will be used and the brightening will find its peak at luma value 128 in the original. Default is 0.0625 (1.0/16) which just sits over luma value 16 (256/16) This and the Str parameters are extrapolated arguments of a cretindesalpes' function, you can find a graph and more insight explanations at the original post.&lt;br /&gt;
:Check these 2 parameters effects by enabling Show.&lt;br /&gt;
&lt;br /&gt;
{{ParR|blksize|int|8 for SD, 16 for HD|4,8,16}}&lt;br /&gt;
:Size of a block (horizontal x vertical). Larger blocks are faster and less sensitive to noise, but also less accurate.&lt;br /&gt;
&lt;br /&gt;
{{Par|overlap|int|blksize/2}}&lt;br /&gt;
:Must be *even* and *less* than block size. Common overlap values: blksize/4 or blksize/2. Larger overlap looks slightly better and runs slower.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Search|int|4|0-7}}&lt;br /&gt;
:This is the '''search''' of [[MVTools/MAnalyze|MAnalyze]].&lt;br /&gt;
&lt;br /&gt;
{{Par|Truemotion|bool|True for SD, False for HD}}&lt;br /&gt;
:Truemotion is a preset of some parameters values. It allows easy to switch default values of all &amp;quot;true motion&amp;quot; parameters at once. Set it 'true' for true motion search (high vector coherence), set it 'false' to search motion vectors with best SAD. Truemotion is slower and may blur textures and thin details more, but will usually remove more noise.&lt;br /&gt;
:For HD sources where the main problems are just excessive grain, I have defaulted it to false, this is not only faster but honors detail accuracy (the main existing point for HD sources) and overall object shading.&lt;br /&gt;
&lt;br /&gt;
{{Par|Chroma|bool|True}}&lt;br /&gt;
:Set false to totally ignore chroma for finding motion vectors, for more speed with little cost in quality or when your chroma is too bad to find good matches. Don't process chroma planes without chroma vectors, MVTools doesn't seem to work right.&lt;br /&gt;
&lt;br /&gt;
{{Par|Hpad|int|blksize for SD, 0 for HD}}&lt;br /&gt;
{{Par|Vpad|int|blksize for SD, 0 for HD}}&lt;br /&gt;
:Horizontal/vertical padding added to source frame (left, right, top, and bottom) for better motion estimation near borders.&lt;br /&gt;
:Try to have clean borders in your source (no NAB/black borders) to start with before tweaking this setting. If necessary, crop beforehand ideally in multiples of 16. Turn it to 0 if you are running out of memory.&lt;br /&gt;
&lt;br /&gt;
{{Par|thSCD1|int|based on blocksize: 4=&amp;gt;100, 8=&amp;gt;400, 16=&amp;gt;1600}}&lt;br /&gt;
:Threshold which decides whether a block has changed between the previous frame and the current one, used to tweak the scene change detection. Raising it will lower the number of blocks detected as changed. It may be useful for noisy or flickered video. To fix blending on scene changes on dark scenes, try first the Str and Amp parameters.&lt;br /&gt;
&lt;br /&gt;
{{ParR|thSCD2|int|130|0-250}}&lt;br /&gt;
:Threshold which sets how many blocks have to change for the frame to be considered as a scene change.&lt;br /&gt;
&lt;br /&gt;
{{ParR|limit|int|255|1-255}}&lt;br /&gt;
{{ParR|limitC|int|255|1-255}}&lt;br /&gt;
:Maximal change of pixel luma/chroma, to prevent some artifacts.&lt;br /&gt;
&lt;br /&gt;
{{Par|CClip|clip|None}}&lt;br /&gt;
:Optional sharp version for contrasharpening to compare against; video resolution and properties must be the same (except different bit depth is OK). Using this option defaults ''contrasharp'' to True.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Globals|int|0|0-3}}&lt;br /&gt;
:With this parameter you can create or load pre-processed motion vectors, to save doing the work for multiple SMDegrain calls.&lt;br /&gt;
:*0: Ignore globals, just process&lt;br /&gt;
:*1: Read globals and Process&lt;br /&gt;
:*2: Process and output globals&lt;br /&gt;
:*3: Output globals only, don't process&lt;br /&gt;
:Some parameters '''MUST MATCH''' between output and input stages: ''pel'', ''subpixel'', ''chroma'', and ''vpad''/''hpad'' cannot change. When reading (Globals=1) only some parameters work: ''tr'', ''thSAD'', ''plane'', ''limit'', ''limitc'', ''contrasharp'', ''CClip'', ''interlaced'' and the ''lsb'' parameters. Others are ignored.&lt;br /&gt;
:Global names that can be reused are: Super, bv1, fv1, bv2, fv2, bv3, fv3, bv4, fv4, bv6, fv6, vmulti.&lt;br /&gt;
 SMDegrain(tr=3,thSAD=400,globals=3)    # Outputs vectors&lt;br /&gt;
 SMDegrain(tr=3,thSAD=400,globals=1)    # You can use a lower &amp;quot;tr&amp;quot; or &amp;quot;thSAD&amp;quot; if you want&lt;br /&gt;
:or&lt;br /&gt;
 SMDegrain(tr=3,thSAD=400,globals=3)    # Outputs vectors&lt;br /&gt;
 Super = MSuper(levels=1)               # Add this line just before if you have some processing between Globals Output and Input.&lt;br /&gt;
 MDegrain3(Super, bv1, fv1, bv2, fv2, bv3, fv3, thSAD=400)&lt;br /&gt;
&lt;br /&gt;
{{Par|Show|bool|False}}&lt;br /&gt;
{{ParR|Show|str|-|&amp;quot;Speed&amp;quot;, &amp;quot;Memory&amp;quot;, &amp;quot;Quality&amp;quot;}}&lt;br /&gt;
:This will show the prefiltered clip to be used for the motion search to the left(&amp;lt;--), and the used parameters list to the right (--&amp;gt;)&lt;br /&gt;
:If the parameters panel is broken i.e. overlapping lines, hidden lines, etc, most likely your settings are wrong, (e.g. lsb_in=true when input is 8bit) so it will also work well as a debug function. If you set Show to a string as indicated above, related parameters will be highlighted to guide you on correctly tweaking the function. This is loosely based, so it doesn't exclude you from reading carefully every parameter explanation.&lt;br /&gt;
:Even when you are not using any prefiltering, the clip to be used for the motion search where you obtain the motion vectors, will be converted from TV levels to PC levels, the only exception being when using Globals=1 (Read) in which case the &amp;quot;prefiltered&amp;quot; clip will be exactly the same as input clip (that is no luma conversion, although constrained to 8 bit). Additionally you can tweak the dark expansion with Str and Amp parameters and check the effects in the left panel, but be aware to change your viewing conditions as it is in PC levels.&lt;br /&gt;
:The left panel preserves its properties so you can crop out the right panel and use it as a prefilter clip of any msuper(). Therefore if you are not processing chroma for motion analysis(chroma=false) the prefiltered clip will be green, don't panic, this is correct, this happens when the U and V planes are set to a value of 0 which is a dummy value meaning nothing or &amp;quot;discard&amp;quot;. In this regard for previewing tasks with prefilterings or just the Str and Amp effect simply set chroma to true temporally. For YUY2 sources set Planar2Interleaved() after cropping for previewing.&lt;br /&gt;
 &lt;br /&gt;
==Final Notes==&lt;br /&gt;
If there is an important parameter not implemented, you have any issue or found a bug, please don't hesitate and ask in its [http://forum.videohelp.com/threads/369142 VideoHelp thread].&lt;br /&gt;
 &lt;br /&gt;
==Changelog==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: 1px solid darkgray&amp;quot;&lt;br /&gt;
!Version&lt;br /&gt;
!Date&lt;br /&gt;
!Changes&lt;br /&gt;
|-&lt;br /&gt;
|3.0d&lt;br /&gt;
|2015-03-27&lt;br /&gt;
|&lt;br /&gt;
Adjusted SD&amp;lt;&amp;gt;HD discretion&amp;lt;br/&amp;gt;&lt;br /&gt;
Added mfilter (Motion Filter) new feature&amp;lt;br/&amp;gt;&lt;br /&gt;
subpixel=3 (nnedi3); removed qual=2 due to possible blending bug (quote by cretindesalpes), this also boosts speed&amp;lt;br/&amp;gt;&lt;br /&gt;
Lowered the defaults for less aggressive denoise (still somewhat high)&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed chroma not showing in debug (show) mode when lsb=true and prefilter=3 were paired&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed long lasting issues in Show Panel for certain not mod height resolutions&amp;lt;br/&amp;gt;&lt;br /&gt;
Now prefilter=0 is minblur(0), lighter denoising than prefilter=1, default is now -1 (off)&amp;lt;br/&amp;gt;&lt;br /&gt;
Documentation update (plugin updates, notes, links, examples, etc)&lt;br /&gt;
|-&lt;br /&gt;
|2.2d&lt;br /&gt;
|2013-03-05&lt;br /&gt;
|&lt;br /&gt;
Removed one residual variable in Contrasharpening function&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a regression at v2.0 for Interlaced YUY2 sources by changing wrong variable ifC to if0, and...&amp;lt;br/&amp;gt;&lt;br /&gt;
...adding a missing weave() to the last MergeChroma() call&amp;lt;br/&amp;gt;&lt;br /&gt;
Dropped Dither support. (Will still work/not work as before, but lack of official support renders it to a YMMV condition)&lt;br /&gt;
|-&lt;br /&gt;
|2.1d&lt;br /&gt;
|2012-09-09&lt;br /&gt;
|&lt;br /&gt;
Fixed Refinemotion Globals Input labels&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed ContrasharpeningHD Vectors for Interlaced HD sources&amp;lt;br/&amp;gt;&lt;br /&gt;
Added ability to import Global Vectors even when &amp;quot;tr&amp;quot; is lower than parent instance &amp;quot;tr&amp;quot; (credit to cretindesalpes)&amp;lt;br/&amp;gt;&lt;br /&gt;
Expanded support for Interlaced Denoising &amp;quot;tr&amp;quot; up to 64 (credit to cretindesalpes)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cosmetics&lt;br /&gt;
|-&lt;br /&gt;
|2.0d&lt;br /&gt;
|2012-06-07&lt;br /&gt;
|&lt;br /&gt;
Fixed and optimized chroma handling for lsb_in, contrasharpening and YUY2 content v.1.95&amp;lt;br/&amp;gt;&lt;br /&gt;
Enhanced Chroma bypass on the sharpening stage&amp;lt;br/&amp;gt;&lt;br /&gt;
Merged ContraHD() internally for Contrasharpening in HD sources&amp;lt;br/&amp;gt;&lt;br /&gt;
Dropped QTGMC support on import/export motion vectors (small value for increased confusion)&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed Median code for planar inputs in MinBlur() (needs RemoveGrainHD, dropped medianblur requirement)&amp;lt;br/&amp;gt;&lt;br /&gt;
Defaulted truemotion to false for HD inputs&amp;lt;br/&amp;gt;&lt;br /&gt;
Code Optimization and Clean up&amp;lt;br/&amp;gt;&lt;br /&gt;
Others&lt;br /&gt;
|-&lt;br /&gt;
|1.9d&lt;br /&gt;
|2012-03-23&lt;br /&gt;
|&lt;br /&gt;
Added truemotion parameter (default=true), change it to false (as in MCTemporalDenoise()), so low frequency detail won't be lost (walls...), although it could leave more noise on high frequency details&amp;lt;br/&amp;gt;&lt;br /&gt;
Added thSADC, and thSCD1/thSCD2 parameters for finer control&amp;lt;br/&amp;gt;&lt;br /&gt;
Tweaked prefilter=3 dfttest sigmas for better low frequency detail protection&amp;lt;br/&amp;gt;&lt;br /&gt;
Detached explanation and converted to html. Updated and extended the contents as well&amp;lt;br/&amp;gt;&lt;br /&gt;
Fine tuned and robustized the Show Panel&amp;lt;br/&amp;gt;&lt;br /&gt;
Optimized and organized code, more precisely the contrasharpening part&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a few ternary checks for when Globals=3&amp;lt;br/&amp;gt;&lt;br /&gt;
Others&lt;br /&gt;
|-&lt;br /&gt;
|1.8d&lt;br /&gt;
|2012-01-18&lt;br /&gt;
|&lt;br /&gt;
Added automatic dark protection for prefilter=3 (dfttest performs badly in darks) v1.71d and extended its dark protection v1.8&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed chroma variable when chroma=false, from 2 (copy chroma) to 1 (discard chroma) v1.71d&amp;lt;br/&amp;gt;&lt;br /&gt;
Explanation and cosmetics v1.71d&amp;lt;br/&amp;gt;&lt;br /&gt;
Added acknowledgments and updated explanation&amp;lt;br/&amp;gt;&lt;br /&gt;
Added brackets to all functions (it has been reported to cause threading problems under certain circumstances) (http://forum.doom9.org/showthread.php?p=1515886#post1515886)&amp;lt;br/&amp;gt;&lt;br /&gt;
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: &amp;quot;Speed&amp;quot;, &amp;quot;Memory&amp;quot; and &amp;quot;Quality&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Optimized lsb_in for HD resolutions which was causing memory hogs&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed contrasharpening for YUY2 sources when lsb=true&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed some inconsistencies for YUY2 sources when prefilter=3&lt;br /&gt;
|-&lt;br /&gt;
|1.7d&lt;br /&gt;
|2012-01-11&lt;br /&gt;
|&lt;br /&gt;
Fixed and extended introduction explanation v.1.61d&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed some issues for Globals=1 (Read) in relation to lsb_in and luma expansion auto-prefilter v.1.61d&amp;lt;br/&amp;gt;&lt;br /&gt;
Added mild gauss blur prefilter option as prefilter=1. Consequent modes are displaced v.1.61d&amp;lt;br/&amp;gt;&lt;br /&gt;
Changed prefilter 1 and 2 to Minblur (Gauss/Median combination) v.1.63d&amp;lt;br/&amp;gt;&lt;br /&gt;
Updated MinBlur function v.1.62d and v.1.66&amp;lt;br/&amp;gt;&lt;br /&gt;
Code tidied up v.1.62d&amp;lt;br/&amp;gt;&lt;br /&gt;
Updated luma expansion, now you can enhance darks (with 'Str' and 'Amp') in the same step as the TV-&amp;gt;PC conversion stage, thus +optimized, +quality. v.1.63d by cretindesalpes (http://forum.doom9.org/showthread.php?p=1548318#post1548318)&amp;lt;br/&amp;gt;&lt;br /&gt;
Removed pre_custom. Now use prefilter to load a prefiltered clip, as well as modes 0~3&amp;lt;br/&amp;gt;&lt;br /&gt;
Added Show parameter. Now you can see the used and default parameters along the prefilter clip as well&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed one note related to prefilter clip input for interlaced content&lt;br /&gt;
|-&lt;br /&gt;
|1.6d&lt;br /&gt;
|2011-12-24 (first open release)&lt;br /&gt;
|&lt;br /&gt;
Fixed and extended introduction explanation&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed Ditherpost for interlaced sources&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a broken reference for reading MRecalculate globals when tr&amp;gt;3&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a Globals=1 MSuper automatization&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a plane processing bypass when chroma=false&amp;lt;br/&amp;gt;&lt;br /&gt;
Added LSFmod as optional contrasharpening (slower, but biased contrasharpening and probably better depending on source)&amp;lt;br/&amp;gt;&lt;br /&gt;
Added default luma expansion auto-prefilter for motion search (16% more values)&amp;lt;br/&amp;gt;&lt;br /&gt;
Added YUY2 support&amp;lt;br/&amp;gt;&lt;br /&gt;
Added the 'mode' parameter of Ditherpost()&amp;lt;br/&amp;gt;&lt;br /&gt;
Added support for interlaced temporal radius up to 6&lt;br /&gt;
|-&lt;br /&gt;
|1.5d&lt;br /&gt;
|2011-10-14&lt;br /&gt;
|&lt;br /&gt;
Changed &amp;quot;srchSuper&amp;quot; Global variable to &amp;quot;QTGMC_srchSuper&amp;quot;, compatible with QTGMC. Anyhow you may probably want to create a new super clip. Test it out! v.1.41d&amp;lt;br/&amp;gt;&lt;br /&gt;
Introduction spelling and presentation v.1.42d&amp;lt;br/&amp;gt;&lt;br /&gt;
Added lsb and lsb_in for prefilter=2 (dfttest) v.1.43d &amp;amp; v.1.44d&amp;lt;br/&amp;gt;&lt;br /&gt;
Some better definitions for the settings help v.1.45d&amp;lt;br/&amp;gt;&lt;br /&gt;
pelclip is now subpixel = 3 ('sharp' parameter before) v.1.45d&amp;lt;br/&amp;gt;&lt;br /&gt;
Other minor tweaks v.1.45d&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed an important issue when using prefilter with subpixel=3 ('pelclip' parameter before)&amp;lt;br/&amp;gt;&lt;br /&gt;
Optimizations in Ditherpost for chroma&amp;lt;br/&amp;gt;&lt;br /&gt;
Changed rfilter (hierarchical levels smoothing/scaling) from default 2 to 4. Better results in my judge&amp;lt;br/&amp;gt;&lt;br /&gt;
Some more little tweaks in code and introduction&lt;br /&gt;
|-&lt;br /&gt;
|1.4d&lt;br /&gt;
|2011-09-16&lt;br /&gt;
|&lt;br /&gt;
Added pelclip option for top quality subpixel interpolation when pel &amp;gt; 1&amp;lt;br/&amp;gt;&lt;br /&gt;
Changed QTGMCV parameter to Globals, and added a bunch of new features like vectors output from SMDegrain()&amp;lt;br/&amp;gt;&lt;br /&gt;
Big introduction and code optimization tweaks&lt;br /&gt;
|-&lt;br /&gt;
|1.3d&lt;br /&gt;
|2011-09-14&lt;br /&gt;
|Fixed an important issue on the Interlaced parameter and improved overall handling (v.1.21d &amp;amp; v.1.3d)&lt;br /&gt;
|-&lt;br /&gt;
|1.2d&lt;br /&gt;
|2011-09-13&lt;br /&gt;
|&lt;br /&gt;
Added Interlaced parameter, for processing interlaced sources&amp;lt;br/&amp;gt;&lt;br /&gt;
Some introduction and code optimization tweaks (v.1.12d &amp;amp; v.1.2d)&lt;br /&gt;
|-&lt;br /&gt;
|1.1d&lt;br /&gt;
|2011-09-12&lt;br /&gt;
|&lt;br /&gt;
Implemented MDegrainN for tr &amp;gt; 3, from the MVTools2 mod of Dither&amp;lt;br/&amp;gt;&lt;br /&gt;
Minor introduction and code optimization tweaks&lt;br /&gt;
|-&lt;br /&gt;
|1.0d&lt;br /&gt;
|2011-09-09&lt;br /&gt;
|&lt;br /&gt;
Added CClip parameter. Reference an earlier stage of your processing chain as your sharp version for the contrasharpening&lt;br /&gt;
|-&lt;br /&gt;
|0.9d&lt;br /&gt;
|2011-09-09&lt;br /&gt;
|&lt;br /&gt;
Added QTGMCV parameter, for reusing vectors from QTGMC bob deinterlacer&lt;br /&gt;
|-&lt;br /&gt;
|0.8d&lt;br /&gt;
|2011-09-05&lt;br /&gt;
|&lt;br /&gt;
Fixed a few things related to the lsb_in option&amp;lt;br/&amp;gt;&lt;br /&gt;
Minor introduction and code optimization tweaks&lt;br /&gt;
|-&lt;br /&gt;
|0.7d&lt;br /&gt;
|2011-09-05&lt;br /&gt;
|&lt;br /&gt;
Implemented &amp;quot;fake&amp;quot; lsb_in option. Output will have slightly more quality (if any), and will compress better. (Experimental)&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a not passed argument in the hpad, vpad parameters&lt;br /&gt;
|-&lt;br /&gt;
|0.6d&lt;br /&gt;
|2011-09-04&lt;br /&gt;
|&lt;br /&gt;
Minor introduction and code optimization tweaks&lt;br /&gt;
|-&lt;br /&gt;
|0.5d&lt;br /&gt;
|2011-07-19&lt;br /&gt;
|&lt;br /&gt;
Added dfttest option for preblur (now prefilter) option. Slower but better due to its internal deblock+denoise operation, plus sharper results&amp;lt;br/&amp;gt;&lt;br /&gt;
Added pre_custom option for the prefilter process, define here a denoised clip as your prefiltered version&amp;lt;br/&amp;gt;&lt;br /&gt;
Updated the introduction help&lt;br /&gt;
|-&lt;br /&gt;
|0.4d&lt;br /&gt;
|2011-06-03&lt;br /&gt;
|&lt;br /&gt;
Added preblur option for slight vector blurring where motionmatch is bad (http://forum.doom9.org/showthread.php?t=161594)&amp;lt;br/&amp;gt;&lt;br /&gt;
Added RefineMotion parameter for better motion vectors. Based off Killer() (http://forum.doom9.org/showthread.php?p=1266572#post1266572)&amp;lt;br/&amp;gt;&lt;br /&gt;
Added parameters &amp;quot;lsb&amp;quot; and &amp;quot;lsb_out&amp;quot;, for the MVTools2 mod version of cretindesalpes' Dither (http://forum.doom9.org/showthread.php?p=1386559#post1386559)&amp;lt;br/&amp;gt;&lt;br /&gt;
Other minor aesthetics and performance adjustments&lt;br /&gt;
|-&lt;br /&gt;
|0.3d&lt;br /&gt;
|2011-03-04&lt;br /&gt;
|&lt;br /&gt;
First Mod version&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed plane (for MDegrain) and added chroma (for MAnalyse) parameters&lt;br /&gt;
|-&lt;br /&gt;
|0.2&lt;br /&gt;
|2010-01-24&lt;br /&gt;
|&lt;br /&gt;
Added introductory section&amp;lt;br/&amp;gt;&lt;br /&gt;
Added more parameters&lt;br /&gt;
|-&lt;br /&gt;
|0.1&lt;br /&gt;
|&lt;br /&gt;
Basic working version&amp;lt;br/&amp;gt;&lt;br /&gt;
Not released&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>SilverbackNet</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/SMDegrain</id>
		<title>SMDegrain</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/SMDegrain"/>
				<updated>2015-06-04T05:15:33Z</updated>
		
		<summary type="html">&lt;p&gt;SilverbackNet: conversion of help file to wiki markup&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FilterCat|External_filters|Denoisers|Spatial-Temporal Denoisers}}&lt;br /&gt;
{{Filter&lt;br /&gt;
| Caroliano, {{Author/Dogway}}&lt;br /&gt;
| v3.0d &lt;br /&gt;
|&lt;br /&gt;
* [http://www.mediafire.com/download/eb09qdkqf6y2wbj/SMDegrain_v.3.0d.zip SMDegrain_v.3.0d.zip]&amp;lt;br/&amp;gt;&lt;br /&gt;
* VapourSynth: [[HAvsFunc]]&lt;br /&gt;
| 4=Spatial-Temporal Denoisers&lt;br /&gt;
| 7=[http://forum.videohelp.com/threads/369142-Simple-MDegrain-Mod-v3-0d-A-Quality-Denoising-Solution VideoHelp], [https://forum.doom9.org/showthread.php?t=163604 Doom9] }}&lt;br /&gt;
&lt;br /&gt;
SMDegrain, the Simple MDegrain Mod, is mainly a convenience function for using MVTools. It is not a magic function (the magic comes from mvtools), it just takes the repetitive code blocks needed for mvtools+mdegrain denoising and wraps them into this function.&lt;br /&gt;
&lt;br /&gt;
It has internal switches for interlaced or YUY2 content, saving you from writing long lines of code and preventing from possible mistakes. YUY2 is even automatically detected. Apart of that it adds some small and simple enhancements listed below, like easy prefilters, slightly better motion vectors (thanks to an internal TV-&amp;gt;PC luma expansion and the possibility of dark enhancement), easy nnedi3 subpixel accuracy, globals import/export, show panel, and contra-sharpening option.&lt;br /&gt;
&lt;br /&gt;
==Dependencies==&lt;br /&gt;
[[MaskTools2]] and [[MVTools]] (mod versions recommended)&lt;br /&gt;
&lt;br /&gt;
===Optional===&lt;br /&gt;
* [[Dither]] for 16 bit processing (v1.26.5 or higher)&lt;br /&gt;
* [[RgTools]] for contrasharp=true or prefilter=1 or 2&lt;br /&gt;
* [[LSFmod]] for contrasharp &amp;gt; 0.0&lt;br /&gt;
* [[dfttest]] for prefilter=3&lt;br /&gt;
* [[nnedi3]] for subpixel=3&lt;br /&gt;
''Beware, tp7's plugin mods have no YUY2 support, require AviSynth 2.6a5 or latest Set's MT for v2.6, and Visual C++ 2012 Redistributable.''&lt;br /&gt;
&lt;br /&gt;
==Aknowledgements==&lt;br /&gt;
Original SMDegrain() by Caroliano&lt;br /&gt;
&lt;br /&gt;
This function uses code from Didée, and cretindesalpes' creations, and has parts inspired by LaTo's functions (old readme, Show panel, etc) and Jawed's Killer() function, apart of relying on third-party tools for certain features.&lt;br /&gt;
&lt;br /&gt;
Special thanks go to: cretindesalpes, Didée, Gavino, Sagekilla, and MVtools people.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
The benefit of using SMDegrain over directly calling MDegrain is:&lt;br /&gt;
* '''High bitdepth denoising''': This is the first wrapper function to support 32bit (16bit pipeline) mdegrain denoising.&lt;br /&gt;
* '''Higher temporal radius''' (tr&amp;gt;3): As the above feature the mvtools2 mod allows (and hence this script) for real (no hacks) higher temporal radius.&lt;br /&gt;
* '''Contrasharpening''': The pretty much standarized sharpening method created by Didée is blended into the function, so you can easily use it in 16bit pipelines. An strength biased method is also possible. A CClip parameter is also supplied so you can choose another source to sharpen from, other than the default SMDegrain() input.&lt;br /&gt;
* '''YUY2 support''': It automatically supports YUY2 sources for all the given parameters.&lt;br /&gt;
* '''Interlaced support''': It supports interlaced sources, for YUY2 color spaces and most parameters as well.&lt;br /&gt;
* '''Extended Subpixel Accuracy''': nnedi3 is added as the 4th option for this setting, not strictly necessary in most cases, but if you are a quality mad try to set it on.&lt;br /&gt;
* '''Better Motion Vectors''': An internal conversion from TV levels (reduced values range) to PC levels (extended values range) is done to the clip the motion analysis will be performed on, so you can get better motion vectors (up to 16%)&lt;br /&gt;
* '''Prefilters''': An easy parameter to load generalist prefilters that perform well in most situations. It also accepts loading your personal prefiltered clips.&lt;br /&gt;
* '''Motion Filters''': New in version 3.0d. It will allow you to filter those parts where SMDegrain() couldn't find a matching block, or in other words motion areas where SMDegrain() couldn't denoise. One use for it would be spatial denoisers or deblockers since motion areas are prone to heavy blocking and artifacts.&lt;br /&gt;
* '''Motion Vectors Globals Input/Output''': Reuse motion vectors globals for faster processing, or just use SMDegrain() as a shortcut for creating nice quality motion vectors.&lt;br /&gt;
* '''RefineMotion Option''' (MRecalculate): If time is not an issue, you should use this one for a quality boost.&lt;br /&gt;
* '''Show Panel''': Everything is off by default, but some settings change in context. Check what is happening behind the scenes and have a fast look at all your settings.&lt;br /&gt;
* '''Robust''': Everything of the above works with each other no problem (interoperability), also in the process some error proof, bugfixes and bug workarounds were implemented or at least warned so you know that most of what is done is reliable, bugs free and optimized. The general idea is to serve as an user friendly front end for vanilla mvtools2+mdegrain or as the original script creator entitled &amp;quot;To make your scripts shorter and less geeky&amp;quot;. Most parameters are turned off or defaulted to mvtools2 defaults and features are based on popular general conceived procedures.&lt;br /&gt;
&lt;br /&gt;
Parameters are arranged in 3 blocks.&lt;br /&gt;
*'''Basic''': For people who just need the most basic parameters because either they don't have the time, knowledge or interest into looking for complex settings. Or they are content with defaults (pretty much mvtools defaults)&lt;br /&gt;
*'''High Bit Depth''': There's not much to think about this. This just enables (default is disabled), high bit depth denoising. That is, more quality, but also needs more processing power hence slower.&lt;br /&gt;
*'''Advanced''': If you run into some problems, are nitpicking or just want to fine tune your settings according to the source, have a look at this block, it contains the rest and bulk of the function parameters.&lt;br /&gt;
&lt;br /&gt;
Temporal denoising is a widespread procedure for noise cleaning in most type of video sources. The only limitation for SMDegrain() being when there are (very) high levels of grain, in which case you would need to rely on more &amp;quot;creative&amp;quot; and source centric solutions (see this and prefilter notes), but those are the rare cases.&lt;br /&gt;
&lt;br /&gt;
To picture what the function does, a simple SMDegrain() call matches the next code (for SD resolutions):&lt;br /&gt;
&lt;br /&gt;
 super_search = Dither_Luma_Rebuild(S0=1.0,c=0.0625).MSuper(rfilter=4)&lt;br /&gt;
 &lt;br /&gt;
 bv2 = super_search.MAnalyse(isb = true,  delta = 2, overlap= 4)&lt;br /&gt;
 bv1 = super_search.MAnalyse(isb = true,  delta = 1, overlap= 4)&lt;br /&gt;
 fv1 = super_search.MAnalyse(isb = false, delta = 1, overlap= 4)&lt;br /&gt;
 fv2 = super_search.MAnalyse(isb = false, delta = 2, overlap= 4)&lt;br /&gt;
 &lt;br /&gt;
 MDegrain2(MSuper(levels=1), bv1, fv1, bv2, fv2, thSAD=300, thSADC=150)&lt;br /&gt;
&lt;br /&gt;
As you see no wizardry. The only changes made are the TV-&amp;gt;PC luma expansion (Dither_Luma_Rebuild(S0=1.0,c=0.0625) similar to color_yuv(levels=&amp;quot;TV-&amp;gt;PC&amp;quot;)) so you have more range to detect motion vectors, the rfilter=4 for a bit more quality super search, the changed default of overlap from 0 to 4 and thSAD and thSADC from 400 to 300 and 150 respectively for safer results. Nothing else. The problem is that as soon you want to change a little thing like say temporal radius it requires you to edit in more than a few places, so this is very annoying and so forth the main reason for SMDegrain().&lt;br /&gt;
 &lt;br /&gt;
==Quick Workflow Guide==&lt;br /&gt;
*Input can be YV12 or YUY2 (interleaved YUY2 which is the common standard format)&lt;br /&gt;
*Input luma must NOT be PC range (sources normally are in TV range). It's also recommended to be in modulus 16 size (resolution multiple of 16), although not strictly necessary&lt;br /&gt;
*Crop if necessary before SMDegrain() (when not interlaced)&lt;br /&gt;
*Recommended to deblock if blocking is present, before crop (when cropping) and SMDegrain(). Or you can use prefilter=3 which is also a good deblocker (dfttest) and let SMDegrain() clean the blocking for you&lt;br /&gt;
*Default output mode(dithering) for lsb=true (when non interlaced) is ordered dither (optimized for encoding), so it is not recommended to keep filtering non-edge areas of your source, you can instead use mode=6 (error diffusion) or lsb_out=true and keep filtering in 16bit&lt;br /&gt;
*Read the prefilter setting explanation for solutions to problematic sources&lt;br /&gt;
&lt;br /&gt;
I consider this a good starting point where to start tweaking, whether be it for quality or speed:&lt;br /&gt;
 SMDegrain(tr=2,thSAD=250,contrasharp=true,refinemotion=true,lsb=true)&lt;br /&gt;
 &lt;br /&gt;
==Parameters==&lt;br /&gt;
{{FuncDef|SMDegrain}} (clip input, int &amp;quot;tr&amp;quot;, int &amp;quot;thSAD&amp;quot;, int &amp;quot;thSADC&amp;quot;, bool &amp;quot;RefineMotion&amp;quot;, val &amp;quot;contrasharp&amp;quot;, clip &amp;quot;CClip&amp;quot;, bool &amp;quot;interlaced&amp;quot;, int &amp;quot;plane&amp;quot;, int &amp;quot;Globals&amp;quot;, int &amp;quot;pel&amp;quot;, int &amp;quot;subpixel&amp;quot;, val &amp;quot;prefilter&amp;quot;, clip &amp;quot;mfilter&amp;quot;, int &amp;quot;blksize&amp;quot;, int &amp;quot;overlap&amp;quot;, int &amp;quot;search&amp;quot;, bool &amp;quot;truemotion&amp;quot;, int &amp;quot;limit&amp;quot;, int &amp;quot;limitc&amp;quot;, int &amp;quot;thSCD1&amp;quot;, int &amp;quot;thSCD2&amp;quot;, bool &amp;quot;chroma&amp;quot;, int &amp;quot;hpad&amp;quot;, int &amp;quot;vpad&amp;quot;, bool &amp;quot;lsb&amp;quot;, bool &amp;quot;lsb_in&amp;quot;, bool &amp;quot;lsb_out&amp;quot;, int &amp;quot;mode&amp;quot;, val &amp;quot;Show&amp;quot;, float &amp;quot;Str&amp;quot;, float &amp;quot;Amp&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
===Basic===&lt;br /&gt;
&lt;br /&gt;
{{ParR|tr|int|2|1+}}&lt;br /&gt;
:Temporal radius. This can be considered the strength of the denoising. Select between MDegrain 1, 2, 3, 4, 5, 6 or higher. Higher is generally better, but also much slower and improvements get less drastic.&lt;br /&gt;
:tr 4+ (limit is tr=128, 64 for interlaced) requires Dither's MVTools2 mod.&lt;br /&gt;
&lt;br /&gt;
{{Par|thSAD|int|300}}&lt;br /&gt;
{{Par|thSADC|int|150}}&lt;br /&gt;
:&amp;quot;Sum of Absolute Differences&amp;quot; threshold. This is the spatial difference threshold where the motion search will consider whether to denoise given the next formula: &lt;br /&gt;
::Denoise_Weight = max( 0, 1 - 2*blockSAD² / (thSAD² + blockSAD²) )&lt;br /&gt;
:This spatial difference will be compared in blocks (blksize). If your noise is not getting into consideration for the denoising try raising this value, or reduce its SAD with previous prefiltering. You can alternatively raise the block size (blksize), which will likely even blocks SAD. Low values can result in staggered/blotchy denoising, large values can result in ghosting and artifacts. Values in the range 200~600 are usual.&lt;br /&gt;
:thSADC is the same logic applied to chroma planes, since there are less differences on the chroma planes it uses by default thSAD/2 for safer chroma results.&lt;br /&gt;
:'''Recommendation''': Use slightly greater values than you are used to in other mdegrain based functions since the internal clip for the motion search in SMDegrain() has the contrast increased.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Contrasharp|bool|False|True/False}}&lt;br /&gt;
{{ParR|Contrasharp|int|-|0-100}}&lt;br /&gt;
:Contrasharpening is a technique that compares the differences between the clip before blurring (original) and after blurring (filtered), and sharpens locally with consequent strength. By default the before &amp;quot;sharp&amp;quot; clip is the one used as input for SMDegrain(), the &amp;quot;after&amp;quot; clip is the denoised clip. Independently a &amp;quot;before&amp;quot; clip can be specified with the CClip parameter (See Advanced)&lt;br /&gt;
:Contrasharp when set to &amp;quot;true&amp;quot;, will use Didée's Contrasharpening() function (or the modded version ContraHD() for HD sources) which &amp;quot;Sharpens the denoised clip, but doesn't add more to any pixel than what was removed previously.&amp;quot; In the practice you will get a slightly sharper result than the source, which is welcome.&lt;br /&gt;
:If you set an integer, LSFmod() will be used instead. It will be much slower, but maybe better for certain sources. Its value will serve as a contrasharpening multiplier, use one around 50 for similar strength as Contrasharpening(). LSFmod is less-suitable for HD sources.&lt;br /&gt;
{{Par|RefineMotion|bool|False}}&lt;br /&gt;
:Refines and recalculates motion data of previously estimated (by MAnalyse) motion vectors. Turn it on for better motion vectors, specially when dealing with ghosting issues, small details or lineart fading and whatnot.&lt;br /&gt;
:'''Caution''': It won't help much if you use a prefilter so strong that blurs too much or kills all the details you are aiming to protect in first place.&lt;br /&gt;
&lt;br /&gt;
{{ParR|plane|int|4|0-4}}&lt;br /&gt;
:Select the planes you wish to process:&lt;br /&gt;
:*0: luma only&lt;br /&gt;
:*1: chroma U&lt;br /&gt;
:*2: chroma V&lt;br /&gt;
:*3: both chromas&lt;br /&gt;
:*4: all (Default)&lt;br /&gt;
:'''Caution''': plane=1-4 can sometimes create chroma smearing. In such case I recommend denoising chroma planes in the spatial domain.&lt;br /&gt;
&lt;br /&gt;
{{Par|Interlaced|bool|False}}&lt;br /&gt;
:If you want to denoise an interlaced source set this parameter to true. Output will also be interlaced. If you pair this with lsb_out=true then you will have to add Weave().DitherPost(mode=6,interlaced=true) when converting back to 8 bit.&lt;br /&gt;
&lt;br /&gt;
===High Bit Depth Processing And Dithering===&lt;br /&gt;
All High Bit Depth parameters require [[Dither]] and [[MVTools]] 2.6+.&lt;br /&gt;
&lt;br /&gt;
{{Par|lsb|bool|False}}&lt;br /&gt;
:This enables 32 bit depth precision for denoising. You gain extra denoising accuracy, most noticeable in the prevention of banding in flat areas.&lt;br /&gt;
&lt;br /&gt;
{{Par|lsb_in|bool|False}}&lt;br /&gt;
:Set it to true if you use SMDegrain() in a 16 bits filter chain. *(EXPERIMENTAL, use under test environment)&lt;br /&gt;
&lt;br /&gt;
{{Par|lsb_out|bool|False}}&lt;br /&gt;
:If you set lsb to true, you can also choose to output in 16 bits (an internal 32 bit-&amp;gt;16 bit conversion is done) so you can keep filtering in 16 bits and/or use your own Ditherpost().&lt;br /&gt;
:Use the helpers at the end of the SMDegrain() script to make Ditherpost() able to use when dealing with YUY2 formats.&lt;br /&gt;
&lt;br /&gt;
{{ParR|mode|int|0|-1-8}}&lt;br /&gt;
:This is the '''mode''' of [[Dither#DitherPost|DitherPost]]. If you process in 32bit and lsb_out (16bit output) is not enabled, a dithering method must be chosen for the 32bit-&amp;gt;8bit conversion. (Interlaced content is locked to mode=6) The default mode=0 will help you optimize the dithering for optimum encodings when no further non-edge processing is done. Use mode=6 (error diffusion) if further processing is needed.&lt;br /&gt;
&lt;br /&gt;
===Advanced===&lt;br /&gt;
&lt;br /&gt;
{{ParR|pel|int|2|1,2,4}}&lt;br /&gt;
:Accuracy of the motion estimation:&lt;br /&gt;
:* 1: full-pixel (Default for HD)&lt;br /&gt;
:* 2: half-pixel (Default for SD)&lt;br /&gt;
:* 4: quarter-pixel (often more accurate, but much slower and not always better)&lt;br /&gt;
&lt;br /&gt;
{{ParR|subpixel|int|2|0-3}}&lt;br /&gt;
:Subpixel interpolation method for pel=2 or 4. This is the 'sharp' parameter in msuper(), although it isn't related to output sharpness but better accuracy for the motion estimation.&lt;br /&gt;
:* 0: bilinear (softest)&lt;br /&gt;
:* 1: bicubic (4 tap Catmull-Rom)&lt;br /&gt;
:* 2: sharper Wiener (6 tap, similar to Lanczos) (Default)&lt;br /&gt;
:* 3: [[nnedi3]] (very high quality: useful for small sources but usually overkill. requires plugin)&lt;br /&gt;
&lt;br /&gt;
{{ParR|prefilter|int|-1|-1-3}}&lt;br /&gt;
{{Par|prefilter|clip|None}}&lt;br /&gt;
:* -1: off (Default)&lt;br /&gt;
:* 0: light controlled gauss blur&lt;br /&gt;
:* 1: mild median/gauss blur&lt;br /&gt;
:* 2: strong median/gauss blur&lt;br /&gt;
:* 3: [[dfttest]] (spatial)&lt;br /&gt;
:* clip: supply your own&lt;br /&gt;
:Denoises a version of the clip that will be used to obtain the motion vectors. Useful for very damaged/grainy sources, this will help to get better motion vectors.&lt;br /&gt;
:For sources with Gibbs noise, especially on anime, try prefilter=1 or 2 or better yet strong median filters (through clip input) in order to soothe the high SAD of sharp edges. For blocky sources, or a general more quality/safer prefilter use option 3 (dfttest)&lt;br /&gt;
:By default dfttest outputs a sstring txt file to your script folder, you can delete it. This doesn't happen when using the modded dfttest (version 1.9.2 or higher) of the Dither tools.&lt;br /&gt;
:For HD sources prefilter=2 makes more sense than 1, because it uses a wider denoising window.&lt;br /&gt;
:If instead you want to use your own prefilter denoiser, just define it in a variable and reference it here. Remember to:&lt;br /&gt;
:*Feed always 8 bit clips.&lt;br /&gt;
:*Input in fields for interlaced content *(read below)&lt;br /&gt;
:*Feed here planar ( by using Interleaved2Planar() ) YUY2 clips (not interleaved) when working with YUY2 sources.&lt;br /&gt;
:You will likely want to use spatial denoisers like median filters (removegrain=17, medianblur, etc). For very grainy or fizz grain noise you can try prefiltering in temporal or if this is not enough, try adding a new SMDegrain() line again but without globals. Use lsb_in, lsb_out according so results are smooth. You can even use SMDegrain() as a prefilter for SMDegrain() in very temporal unstable sources.&lt;br /&gt;
:Another trick for fizz grain is to serve a prefiltered clip where bright values are more denoised than dark values, you can do this through luma masks with masktools2 code. Search in Doom9 for reference.&lt;br /&gt;
:For interlaced sources remember:&lt;br /&gt;
::Spatial filtering: pre=separatefields().spatial_prefilters_here()&lt;br /&gt;
::Temporal filtering: pre=separatefields().interleave(selecteven().temporal_filters(),selectodd().temporal_filters())&lt;br /&gt;
:SMDegrain() (and MDegrain) is likely to produce blending artifacts or oversmooth in dark areas specially on cartoons, to tackle this see RefineMotion or expand the luma range in the darks. For this there are many options, you can use your preferred gamma enhancer and input it as the prefilter, or use the examples below for linear brightening (masktools2) and input it as a prefilter as well. Or at last and the recommended solution, to use the built-in Str (strength) and Amp (amplitude) parameters for a curve type dark enhancement, check the effects by enabling Show and changing your previewing conditions to PC levels.&lt;br /&gt;
:For brightening dark values linearly (brighter parts less brightening)&lt;br /&gt;
 str=1&lt;br /&gt;
 mt_lut(&amp;quot;x x &amp;quot;+string(str)+&amp;quot; 6 * - 255 - abs 255 / ^ x 1 - abs +&amp;quot;)&lt;br /&gt;
:Or for a more contrasty image (although not as much dark enhancing - not linear)&lt;br /&gt;
 str=40&lt;br /&gt;
 mt_lut(&amp;quot;x x &amp;quot;+string(str)+&amp;quot; 6 * - 255 - abs 255 / ^ &amp;quot;+string(str)+&amp;quot; / x 1 - abs +&amp;quot;)&lt;br /&gt;
:Good resources for custom prefilters:&lt;br /&gt;
:*http://forum.doom9.org/showthread.php?t=162813&lt;br /&gt;
:*http://forum.doom9.org/showthread.php?t=132310&lt;br /&gt;
:*http://forum.doom9.org/showthread.php?t=133977&lt;br /&gt;
:Notes: To sum it up; generally in denoising, temporal filters are always preferred due to its natural look (versus spatial filters). But more often than not for good results prefiltering plays a key role on the output quality, and setting it up nicely can be looked as an art by itself.&lt;br /&gt;
:If there's a reached point where no prefiltering, no thSAD tweaking, etc, makes able to denoise a certain motion part/area/scene, then this is due to the motion vectors preventing them from being &amp;quot;denoised&amp;quot; (also read &amp;quot;artifacted&amp;quot;), in which case you will need to rely on alternative solutions (motion compensation, filters like MCTemporalDenoise(), TemporalDegrain(), Multilevel mdegrain, etc) or just use plain spatial filters with motion masks. Creating these discerning masks for static and motion scenes and combining them is a research task on the end user side.&lt;br /&gt;
&lt;br /&gt;
{{Par|mfilter|clip|None}}&lt;br /&gt;
:Motion Filter, an optional user-supplied clip that will be passed through those areas where SMDegrain() couldn't find a matching block, normally high motion areas. One use for it would be to to use spatial filters, like deblockers or blurring filters that mimic motion blur.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Str|float|1.0|0.0-8.0}}&lt;br /&gt;
:Gamma correction. With this parameter you control the strength of the brightening of the prefilter clip, good for when problems with dark areas arise. Using this internally instead of externally creates less quantization artifacts, since it's done in the same stage as the TV-&amp;gt;PC range conversion.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Amp|float|0.0625|0.0-1.0}}&lt;br /&gt;
:Uses when Str &amp;lt;&amp;gt; 1.0. This defines the amplitude of the brightening in the luma range, for example by using 1.0 all the luma range will be used and the brightening will find its peak at luma value 128 in the original. Default is 0.0625 (1.0/16) which just sits over luma value 16 (256/16) This and the Str parameters are extrapolated arguments of a cretindesalpes' function, you can find a graph and more insight explanations at the original post.&lt;br /&gt;
:Check these 2 parameters effects by enabling Show.&lt;br /&gt;
&lt;br /&gt;
{{ParR|blksize|int|8 for SD, 16 for HD|4,8,16}}&lt;br /&gt;
:Size of a block (horizontal x vertical). Larger blocks are faster and less sensitive to noise, but also less accurate.&lt;br /&gt;
&lt;br /&gt;
{{Par|overlap|int|blksize/2}}&lt;br /&gt;
:Must be *even* and *less* than block size. Common overlap values: blksize/4 or blksize/2. Larger overlap looks slightly better and runs slower.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Search|int|4|0-7}}&lt;br /&gt;
:This is the '''search''' of [[MVTools/MAnalyze|MAnalyze]].&lt;br /&gt;
&lt;br /&gt;
{{Par|Truemotion|bool|True for SD, False for HD}}&lt;br /&gt;
:Truemotion is a preset of some parameters values. It allows easy to switch default values of all &amp;quot;true motion&amp;quot; parameters at once. Set it 'true' for true motion search (high vector coherence), set it 'false' to search motion vectors with best SAD. Truemotion is slower and may blur textures and thin details more, but will usually remove more noise.&lt;br /&gt;
:For HD sources where the main problems are just excessive grain, I have defaulted it to false, this is not only faster but honors detail accuracy (the main existing point for HD sources) and overall object shading.&lt;br /&gt;
&lt;br /&gt;
{{Par|Chroma|bool|True}}&lt;br /&gt;
:Set false to totally ignore chroma for finding motion vectors, for more speed with little cost in quality or when your chroma is too bad to find good matches. Don't process chroma planes without chroma vectors, MVTools doesn't seem to work right.&lt;br /&gt;
&lt;br /&gt;
{{Par|Hpad|int|blksize for SD, 0 for HD}}&lt;br /&gt;
{{Par|Vpad|int|blksize for SD, 0 for HD}}&lt;br /&gt;
:Horizontal/vertical padding added to source frame (left, right, top, and bottom) for better motion estimation near borders.&lt;br /&gt;
:Try to have clean borders in your source (no NAB/black borders) to start with before tweaking this setting. If necessary, crop beforehand ideally in multiples of 16. Turn it to 0 if you are running out of memory.&lt;br /&gt;
&lt;br /&gt;
{{Par|thSCD1|int|based on blocksize: 4=&amp;gt;100, 8=&amp;gt;400, 16=&amp;gt;1600}}&lt;br /&gt;
:Threshold which decides whether a block has changed between the previous frame and the current one, used to tweak the scene change detection. Raising it will lower the number of blocks detected as changed. It may be useful for noisy or flickered video. To fix blending on scene changes on dark scenes, try first the Str and Amp parameters.&lt;br /&gt;
&lt;br /&gt;
{{ParR|thSCD2|int|130|0-250}}&lt;br /&gt;
:Threshold which sets how many blocks have to change for the frame to be considered as a scene change.&lt;br /&gt;
&lt;br /&gt;
{{ParR|limit|int|255|1-255}}&lt;br /&gt;
{{ParR|limitC|int|255|1-255}}&lt;br /&gt;
:Maximal change of pixel luma/chroma, to prevent some artifacts.&lt;br /&gt;
&lt;br /&gt;
{{Par|CClip|clip|None}}&lt;br /&gt;
:Optional sharp version for contrasharpening to compare against; video resolution and properties must be the same (except different bit depth is OK). Using this option defaults ''contrasharp'' to True.&lt;br /&gt;
&lt;br /&gt;
{{ParR|Globals|int|0|0-3}}&lt;br /&gt;
:With this parameter you can create or load pre-processed motion vectors, to save doing the work for multiple SMDegrain calls.&lt;br /&gt;
:*0: Ignore globals, just process&lt;br /&gt;
:*1: Read globals and Process&lt;br /&gt;
:*2: Process and output globals&lt;br /&gt;
:*3: Output globals only, don't process&lt;br /&gt;
:Some parameters '''MUST MATCH''' between output and input stages: ''pel'', ''subpixel'', ''chroma'', and ''vpad''/''hpad'' cannot change. When reading (Globals=1) only some parameters work: ''tr'', ''thSAD'', ''plane'', ''limit'', ''limitc'', ''contrasharp'', ''CClip'', ''interlaced'' and the ''lsb'' parameters. Others are ignored.&lt;br /&gt;
:Global names that can be reused are: Super, bv1, fv1, bv2, fv2, bv3, fv3, bv4, fv4, bv6, fv6, vmulti.&lt;br /&gt;
 SMDegrain(tr=3,thSAD=400,globals=3)    # Outputs vectors&lt;br /&gt;
 SMDegrain(tr=3,thSAD=400,globals=1)    # You can use a lower &amp;quot;tr&amp;quot; or &amp;quot;thSAD&amp;quot; if you want&lt;br /&gt;
:or&lt;br /&gt;
 SMDegrain(tr=3,thSAD=400,globals=3)    # Outputs vectors&lt;br /&gt;
 Super = MSuper(levels=1)               # Add this line just before if you have some processing between Globals Output and Input.&lt;br /&gt;
 MDegrain3(Super, bv1, fv1, bv2, fv2, bv3, fv3, thSAD=400)&lt;br /&gt;
&lt;br /&gt;
{{Par|Show|bool|False}}&lt;br /&gt;
{{ParR|Show|str|-|&amp;quot;Speed&amp;quot;, &amp;quot;Memory&amp;quot;, &amp;quot;Quality&amp;quot;}}&lt;br /&gt;
:This will show the prefiltered clip to be used for the motion search to the left(&amp;lt;--), and the used parameters list to the right (--&amp;gt;)&lt;br /&gt;
:If the parameters panel is broken i.e. overlapping lines, hidden lines, etc, most likely your settings are wrong, (e.g. lsb_in=true when input is 8bit) so it will also work well as a debug function. If you set Show to a string as indicated above, related parameters will be highlighted to guide you on correctly tweaking the function. This is loosely based, so it doesn't exclude you from reading carefully every parameter explanation.&lt;br /&gt;
:Even when you are not using any prefiltering, the clip to be used for the motion search where you obtain the motion vectors, will be converted from TV levels to PC levels, the only exception being when using Globals=1 (Read) in which case the &amp;quot;prefiltered&amp;quot; clip will be exactly the same as input clip (that is no luma conversion, although constrained to 8 bit). Additionally you can tweak the dark expansion with Str and Amp parameters and check the effects in the left panel, but be aware to change your viewing conditions as it is in PC levels.&lt;br /&gt;
:The left panel preserves its properties so you can crop out the right panel and use it as a prefilter clip of any msuper(). Therefore if you are not processing chroma for motion analysis(chroma=false) the prefiltered clip will be green, don't panic, this is correct, this happens when the U and V planes are set to a value of 0 which is a dummy value meaning nothing or &amp;quot;discard&amp;quot;. In this regard for previewing tasks with prefilterings or just the Str and Amp effect simply set chroma to true temporally. For YUY2 sources set Planar2Interleaved() after cropping for previewing.&lt;br /&gt;
 &lt;br /&gt;
==Final Notes==&lt;br /&gt;
If there is an important parameter not implemented, you have any issue or found a bug, please don't hesitate and ask in its [http://forum.videohelp.com/threads/369142 VideoHelp thread].&lt;br /&gt;
 &lt;br /&gt;
==Example Scripts==&lt;br /&gt;
&lt;br /&gt;
A basic yet very functional call for light grain (mvtools2+masktools2 only needed)&lt;br /&gt;
 SMDegrain(tr=1,thSAD=300,contrasharp=true)&lt;br /&gt;
&lt;br /&gt;
A typical more worked call compatible with official mvtools2 (mvtools2+masktools2 only needed)&lt;br /&gt;
 SMDegrain(tr=2,thSAD=300,interlaced=true,prefilter=1,contrasharp=true)&lt;br /&gt;
&lt;br /&gt;
Good compromise between speed and quality (denoising with high precision)&lt;br /&gt;
 SMDegrain(tr=2,thSAD=300,contrasharp=true,refinemotion=true,lsb=true)&lt;br /&gt;
&lt;br /&gt;
Similar to the previous example, the next is a personal preference. Turned all chroma off for safeness (chroma is rarely temporal-reliable enough) and speed.&lt;br /&gt;
 SMDegrain(tr=2,thSAD=300,contrasharp=true,refinemotion=true,lsb=true,chroma=false,plane=0)&lt;br /&gt;
&lt;br /&gt;
This is a good example to show that interlaced YUY2 sources can be processed seamlessly.&lt;br /&gt;
 # mod4 (modulus 4) interlaced YUY2 source&lt;br /&gt;
 SMDegrain(tr=1,thSAD=250,interlaced=true,contrasharp=true,lsb=true)&lt;br /&gt;
&lt;br /&gt;
HD sources are detected automatically, and as so settings are optimized for speed; pel=1, hpad=0, vpad=0, blksize=32, overlap=16, truemotion=false&lt;br /&gt;
 # HD source (from 1100px wide or 600px high up)&lt;br /&gt;
 SMDegrain(tr=2,thSAD=180,prefilter=2,contrasharp=30,refinemotion=true,lsb=true,chroma=false,plane=0)&lt;br /&gt;
&lt;br /&gt;
For dealing with dark scenes (you could also add truemotion=false)&lt;br /&gt;
 SMDegrain(tr=3,thSAD=300,contrasharp=true,str=2.0,refinemotion=true,lsb=true)&lt;br /&gt;
&lt;br /&gt;
Tackling a grainy source:&lt;br /&gt;
 pre=fluxsmootht(3).removegrain(11)&lt;br /&gt;
 SMDegrain(tr=6,thSAD=500,contrasharp=30,prefilter=pre,str=1.2,refinemotion=true,lsb=true)&lt;br /&gt;
&lt;br /&gt;
Here 2 things are shown; how to work on a 16bit pipeline, and reference a prior state of the script for the contrasharpening process.&lt;br /&gt;
 sharp=last&lt;br /&gt;
 dfttest(tbsize=1,sigma=10,lsb=true)&lt;br /&gt;
 &lt;br /&gt;
 SMDegrain(tr=3,thSAD=300,CClip=sharp,lsb_in=true,lsb_out=true)&lt;br /&gt;
 &lt;br /&gt;
 LinearResize(854,480,lsb_in=true, mode=0)&lt;br /&gt;
&lt;br /&gt;
(Re)using motion vectors globals&lt;br /&gt;
 SMDegrain(tr=1,thSAD=400,prefilter=3,str=1.4,globals=3)    # Output vectors only&lt;br /&gt;
 MFlowFps(Super, bv1, fv1, num=60,den=1)&lt;br /&gt;
 &lt;br /&gt;
==Changelog==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: 1px solid darkgray&amp;quot;&lt;br /&gt;
!Version&lt;br /&gt;
!Date&lt;br /&gt;
!Changes&lt;br /&gt;
|-&lt;br /&gt;
|3.0d&lt;br /&gt;
|2015-03-27&lt;br /&gt;
|&lt;br /&gt;
Adjusted SD&amp;lt;&amp;gt;HD discretion&amp;lt;br/&amp;gt;&lt;br /&gt;
Added mfilter (Motion Filter) new feature&amp;lt;br/&amp;gt;&lt;br /&gt;
subpixel=3 (nnedi3); removed qual=2 due to possible blending bug (quote by cretindesalpes), this also boosts speed&amp;lt;br/&amp;gt;&lt;br /&gt;
Lowered the defaults for less aggressive denoise (still somewhat high)&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed chroma not showing in debug (show) mode when lsb=true and prefilter=3 were paired&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed long lasting issues in Show Panel for certain not mod height resolutions&amp;lt;br/&amp;gt;&lt;br /&gt;
Now prefilter=0 is minblur(0), lighter denoising than prefilter=1, default is now -1 (off)&amp;lt;br/&amp;gt;&lt;br /&gt;
Documentation update (plugin updates, notes, links, examples, etc)&lt;br /&gt;
|-&lt;br /&gt;
|2.2d&lt;br /&gt;
|2013-03-05&lt;br /&gt;
|&lt;br /&gt;
Removed one residual variable in Contrasharpening function&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a regression at v2.0 for Interlaced YUY2 sources by changing wrong variable ifC to if0, and...&amp;lt;br/&amp;gt;&lt;br /&gt;
...adding a missing weave() to the last MergeChroma() call&amp;lt;br/&amp;gt;&lt;br /&gt;
Dropped Dither support. (Will still work/not work as before, but lack of official support renders it to a YMMV condition)&lt;br /&gt;
|-&lt;br /&gt;
|2.1d&lt;br /&gt;
|2012-09-09&lt;br /&gt;
|&lt;br /&gt;
Fixed Refinemotion Globals Input labels&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed ContrasharpeningHD Vectors for Interlaced HD sources&amp;lt;br/&amp;gt;&lt;br /&gt;
Added ability to import Global Vectors even when &amp;quot;tr&amp;quot; is lower than parent instance &amp;quot;tr&amp;quot; (credit to cretindesalpes)&amp;lt;br/&amp;gt;&lt;br /&gt;
Expanded support for Interlaced Denoising &amp;quot;tr&amp;quot; up to 64 (credit to cretindesalpes)&amp;lt;br/&amp;gt;&lt;br /&gt;
Cosmetics&lt;br /&gt;
|-&lt;br /&gt;
|2.0d&lt;br /&gt;
|2012-06-07&lt;br /&gt;
|&lt;br /&gt;
Fixed and optimized chroma handling for lsb_in, contrasharpening and YUY2 content v.1.95&amp;lt;br/&amp;gt;&lt;br /&gt;
Enhanced Chroma bypass on the sharpening stage&amp;lt;br/&amp;gt;&lt;br /&gt;
Merged ContraHD() internally for Contrasharpening in HD sources&amp;lt;br/&amp;gt;&lt;br /&gt;
Dropped QTGMC support on import/export motion vectors (small value for increased confusion)&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed Median code for planar inputs in MinBlur() (needs RemoveGrainHD, dropped medianblur requirement)&amp;lt;br/&amp;gt;&lt;br /&gt;
Defaulted truemotion to false for HD inputs&amp;lt;br/&amp;gt;&lt;br /&gt;
Code Optimization and Clean up&amp;lt;br/&amp;gt;&lt;br /&gt;
Others&lt;br /&gt;
|-&lt;br /&gt;
|1.9d&lt;br /&gt;
|2012-03-23&lt;br /&gt;
|&lt;br /&gt;
Added truemotion parameter (default=true), change it to false (as in MCTemporalDenoise()), so low frequency detail won't be lost (walls...), although it could leave more noise on high frequency details&amp;lt;br/&amp;gt;&lt;br /&gt;
Added thSADC, and thSCD1/thSCD2 parameters for finer control&amp;lt;br/&amp;gt;&lt;br /&gt;
Tweaked prefilter=3 dfttest sigmas for better low frequency detail protection&amp;lt;br/&amp;gt;&lt;br /&gt;
Detached explanation and converted to html. Updated and extended the contents as well&amp;lt;br/&amp;gt;&lt;br /&gt;
Fine tuned and robustized the Show Panel&amp;lt;br/&amp;gt;&lt;br /&gt;
Optimized and organized code, more precisely the contrasharpening part&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a few ternary checks for when Globals=3&amp;lt;br/&amp;gt;&lt;br /&gt;
Others&lt;br /&gt;
|-&lt;br /&gt;
|1.8d&lt;br /&gt;
|2012-01-18&lt;br /&gt;
|&lt;br /&gt;
Added automatic dark protection for prefilter=3 (dfttest performs badly in darks) v1.71d and extended its dark protection v1.8&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed chroma variable when chroma=false, from 2 (copy chroma) to 1 (discard chroma) v1.71d&amp;lt;br/&amp;gt;&lt;br /&gt;
Explanation and cosmetics v1.71d&amp;lt;br/&amp;gt;&lt;br /&gt;
Added acknowledgments and updated explanation&amp;lt;br/&amp;gt;&lt;br /&gt;
Added brackets to all functions (it has been reported to cause threading problems under certain circumstances) (http://forum.doom9.org/showthread.php?p=1515886#post1515886)&amp;lt;br/&amp;gt;&lt;br /&gt;
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: &amp;quot;Speed&amp;quot;, &amp;quot;Memory&amp;quot; and &amp;quot;Quality&amp;quot;&amp;lt;br/&amp;gt;&lt;br /&gt;
Optimized lsb_in for HD resolutions which was causing memory hogs&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed contrasharpening for YUY2 sources when lsb=true&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed some inconsistencies for YUY2 sources when prefilter=3&lt;br /&gt;
|-&lt;br /&gt;
|1.7d&lt;br /&gt;
|2012-01-11&lt;br /&gt;
|&lt;br /&gt;
Fixed and extended introduction explanation v.1.61d&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed some issues for Globals=1 (Read) in relation to lsb_in and luma expansion auto-prefilter v.1.61d&amp;lt;br/&amp;gt;&lt;br /&gt;
Added mild gauss blur prefilter option as prefilter=1. Consequent modes are displaced v.1.61d&amp;lt;br/&amp;gt;&lt;br /&gt;
Changed prefilter 1 and 2 to Minblur (Gauss/Median combination) v.1.63d&amp;lt;br/&amp;gt;&lt;br /&gt;
Updated MinBlur function v.1.62d and v.1.66&amp;lt;br/&amp;gt;&lt;br /&gt;
Code tidied up v.1.62d&amp;lt;br/&amp;gt;&lt;br /&gt;
Updated luma expansion, now you can enhance darks (with 'Str' and 'Amp') in the same step as the TV-&amp;gt;PC conversion stage, thus +optimized, +quality. v.1.63d by cretindesalpes (http://forum.doom9.org/showthread.php?p=1548318#post1548318)&amp;lt;br/&amp;gt;&lt;br /&gt;
Removed pre_custom. Now use prefilter to load a prefiltered clip, as well as modes 0~3&amp;lt;br/&amp;gt;&lt;br /&gt;
Added Show parameter. Now you can see the used and default parameters along the prefilter clip as well&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed one note related to prefilter clip input for interlaced content&lt;br /&gt;
|-&lt;br /&gt;
|1.6d&lt;br /&gt;
|2011-12-24 (first open release)&lt;br /&gt;
|&lt;br /&gt;
Fixed and extended introduction explanation&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed Ditherpost for interlaced sources&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a broken reference for reading MRecalculate globals when tr&amp;gt;3&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a Globals=1 MSuper automatization&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a plane processing bypass when chroma=false&amp;lt;br/&amp;gt;&lt;br /&gt;
Added LSFmod as optional contrasharpening (slower, but biased contrasharpening and probably better depending on source)&amp;lt;br/&amp;gt;&lt;br /&gt;
Added default luma expansion auto-prefilter for motion search (16% more values)&amp;lt;br/&amp;gt;&lt;br /&gt;
Added YUY2 support&amp;lt;br/&amp;gt;&lt;br /&gt;
Added the 'mode' parameter of Ditherpost()&amp;lt;br/&amp;gt;&lt;br /&gt;
Added support for interlaced temporal radius up to 6&lt;br /&gt;
|-&lt;br /&gt;
|1.5d&lt;br /&gt;
|2011-10-14&lt;br /&gt;
|&lt;br /&gt;
Changed &amp;quot;srchSuper&amp;quot; Global variable to &amp;quot;QTGMC_srchSuper&amp;quot;, compatible with QTGMC. Anyhow you may probably want to create a new super clip. Test it out! v.1.41d&amp;lt;br/&amp;gt;&lt;br /&gt;
Introduction spelling and presentation v.1.42d&amp;lt;br/&amp;gt;&lt;br /&gt;
Added lsb and lsb_in for prefilter=2 (dfttest) v.1.43d &amp;amp; v.1.44d&amp;lt;br/&amp;gt;&lt;br /&gt;
Some better definitions for the settings help v.1.45d&amp;lt;br/&amp;gt;&lt;br /&gt;
pelclip is now subpixel = 3 ('sharp' parameter before) v.1.45d&amp;lt;br/&amp;gt;&lt;br /&gt;
Other minor tweaks v.1.45d&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed an important issue when using prefilter with subpixel=3 ('pelclip' parameter before)&amp;lt;br/&amp;gt;&lt;br /&gt;
Optimizations in Ditherpost for chroma&amp;lt;br/&amp;gt;&lt;br /&gt;
Changed rfilter (hierarchical levels smoothing/scaling) from default 2 to 4. Better results in my judge&amp;lt;br/&amp;gt;&lt;br /&gt;
Some more little tweaks in code and introduction&lt;br /&gt;
|-&lt;br /&gt;
|1.4d&lt;br /&gt;
|2011-09-16&lt;br /&gt;
|&lt;br /&gt;
Added pelclip option for top quality subpixel interpolation when pel &amp;gt; 1&amp;lt;br/&amp;gt;&lt;br /&gt;
Changed QTGMCV parameter to Globals, and added a bunch of new features like vectors output from SMDegrain()&amp;lt;br/&amp;gt;&lt;br /&gt;
Big introduction and code optimization tweaks&lt;br /&gt;
|-&lt;br /&gt;
|1.3d&lt;br /&gt;
|2011-09-14&lt;br /&gt;
|Fixed an important issue on the Interlaced parameter and improved overall handling (v.1.21d &amp;amp; v.1.3d)&lt;br /&gt;
|-&lt;br /&gt;
|1.2d&lt;br /&gt;
|2011-09-13&lt;br /&gt;
|&lt;br /&gt;
Added Interlaced parameter, for processing interlaced sources&amp;lt;br/&amp;gt;&lt;br /&gt;
Some introduction and code optimization tweaks (v.1.12d &amp;amp; v.1.2d)&lt;br /&gt;
|-&lt;br /&gt;
|1.1d&lt;br /&gt;
|2011-09-12&lt;br /&gt;
|&lt;br /&gt;
Implemented MDegrainN for tr &amp;gt; 3, from the MVTools2 mod of Dither&amp;lt;br/&amp;gt;&lt;br /&gt;
Minor introduction and code optimization tweaks&lt;br /&gt;
|-&lt;br /&gt;
|1.0d&lt;br /&gt;
|2011-09-09&lt;br /&gt;
|&lt;br /&gt;
Added CClip parameter. Reference an earlier stage of your processing chain as your sharp version for the contrasharpening&lt;br /&gt;
|-&lt;br /&gt;
|0.9d&lt;br /&gt;
|2011-09-09&lt;br /&gt;
|&lt;br /&gt;
Added QTGMCV parameter, for reusing vectors from QTGMC bob deinterlacer&lt;br /&gt;
|-&lt;br /&gt;
|0.8d&lt;br /&gt;
|2011-09-05&lt;br /&gt;
|&lt;br /&gt;
Fixed a few things related to the lsb_in option&amp;lt;br/&amp;gt;&lt;br /&gt;
Minor introduction and code optimization tweaks&lt;br /&gt;
|-&lt;br /&gt;
|0.7d&lt;br /&gt;
|2011-09-05&lt;br /&gt;
|&lt;br /&gt;
Implemented &amp;quot;fake&amp;quot; lsb_in option. Output will have slightly more quality (if any), and will compress better. (Experimental)&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed a not passed argument in the hpad, vpad parameters&lt;br /&gt;
|-&lt;br /&gt;
|0.6d&lt;br /&gt;
|2011-09-04&lt;br /&gt;
|&lt;br /&gt;
Minor introduction and code optimization tweaks&lt;br /&gt;
|-&lt;br /&gt;
|0.5d&lt;br /&gt;
|2011-07-19&lt;br /&gt;
|&lt;br /&gt;
Added dfttest option for preblur (now prefilter) option. Slower but better due to its internal deblock+denoise operation, plus sharper results&amp;lt;br/&amp;gt;&lt;br /&gt;
Added pre_custom option for the prefilter process, define here a denoised clip as your prefiltered version&amp;lt;br/&amp;gt;&lt;br /&gt;
Updated the introduction help&lt;br /&gt;
|-&lt;br /&gt;
|0.4d&lt;br /&gt;
|2011-06-03&lt;br /&gt;
|&lt;br /&gt;
Added preblur option for slight vector blurring where motionmatch is bad (http://forum.doom9.org/showthread.php?t=161594)&amp;lt;br/&amp;gt;&lt;br /&gt;
Added RefineMotion parameter for better motion vectors. Based off Killer() (http://forum.doom9.org/showthread.php?p=1266572#post1266572)&amp;lt;br/&amp;gt;&lt;br /&gt;
Added parameters &amp;quot;lsb&amp;quot; and &amp;quot;lsb_out&amp;quot;, for the MVTools2 mod version of cretindesalpes' Dither (http://forum.doom9.org/showthread.php?p=1386559#post1386559)&amp;lt;br/&amp;gt;&lt;br /&gt;
Other minor aesthetics and performance adjustments&lt;br /&gt;
|-&lt;br /&gt;
|0.3d&lt;br /&gt;
|2011-03-04&lt;br /&gt;
|&lt;br /&gt;
First Mod version&amp;lt;br/&amp;gt;&lt;br /&gt;
Fixed plane (for MDegrain) and added chroma (for MAnalyse) parameters&lt;br /&gt;
|-&lt;br /&gt;
|0.2&lt;br /&gt;
|2010-01-24&lt;br /&gt;
|&lt;br /&gt;
Added introductory section&amp;lt;br/&amp;gt;&lt;br /&gt;
Added more parameters&lt;br /&gt;
|-&lt;br /&gt;
|0.1&lt;br /&gt;
|&lt;br /&gt;
Basic working version&amp;lt;br/&amp;gt;&lt;br /&gt;
Not released&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>SilverbackNet</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Template:FuncDef</id>
		<title>Template:FuncDef</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Template:FuncDef"/>
				<updated>2015-06-04T03:16:29Z</updated>
		
		<summary type="html">&lt;p&gt;SilverbackNet: allow linking&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;span {{Template:Style_FuncDef_Inline}} id=&amp;quot;func{{{2|}}}_{{{1}}}&amp;quot;&amp;gt;{{{1}}}&amp;lt;/span&amp;gt;&lt;/div&gt;</summary>
		<author><name>SilverbackNet</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/MVTools</id>
		<title>MVTools</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/MVTools"/>
				<updated>2015-06-04T02:53:12Z</updated>
		
		<summary type="html">&lt;p&gt;SilverbackNet: include mod versions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FilterCat4|External_filters|Plugins|Other_filters|Support_filters}}&lt;br /&gt;
{{Filter&lt;br /&gt;
|Manao, Fizick, Tsp, TSchniede, SEt, cretindesalpes&lt;br /&gt;
|v2.6.0.5&lt;br /&gt;
|[http://ldesoras.free.fr/src/avs/mvtools-2.6.0.5.zip mvtools-2.6.0.5.zip]&amp;lt;br/&amp;gt;&lt;br /&gt;
[http://avisynth.org.ru/mvtools/mvtools-v2.5.11.3.zip mvtools-v2.5.11.3.zip]&lt;br /&gt;
|Support filters&lt;br /&gt;
|&lt;br /&gt;
* Avisynth 2.6+ (2.58+ for v2.5)&lt;br /&gt;
* YV12&lt;br /&gt;
* YUY2&lt;br /&gt;
|[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]&lt;br /&gt;
|7=[http://forum.doom9.org/showthread.php?t=84770 Doom9], [http://forum.doom9.org/showthread.php?p=1386559#post1386559 Doom9 v2.6 mod]}}&lt;br /&gt;
== About MVTools ==&lt;br /&gt;
MVTools plugin for AviSynth 2.5 is a collection of functions for estimation and compensation of objects motion in video clips. Motion compensation may be used for strong temporal denoising, advanced framerate conversions, image restoration and other tasks.&lt;br /&gt;
&lt;br /&gt;
The plugin contains the motion estimation server-function MAnalyse to find the motion vectors and several motion compensation client-functions (MCompensate, MMask and others) which use these vectors.&lt;br /&gt;
&lt;br /&gt;
Plugin uses block-matching method of motion estimation (similar methods are used in MPEG2, MPEG4, etc). At analysis stage plugin divides frames by small blocks and try to find for every block in current frame the most similar (matching) block in second frame (previous or next). The relative shift of these blocks is motion vector. The main measure of block similarity is sum of absolute differences (SAD) of all pixels of these two blocks compared. SAD is a value which says how good the motion estimation was.&lt;br /&gt;
&lt;br /&gt;
The output of MAnalyse (server) is special clip with motion vector information in some format.&lt;br /&gt;
&lt;br /&gt;
At compensation stage the plugin client functions read the motion vectors and use them to move blocks and form motion compensated frame (or realize some other full or partial motion compensation or interpolation function). Every object (block) in this (fully) compensated frame is placed in the same position as this object in current frame. So, we may (for example) use strong temporal denoising even for quite fast moving objects without producing annoying artifacts and ghosting (object's features and edges are coincide if compensation is perfect). Plugin can create compensated neighbor frames for every current frame, and denoise it by internal function. Alternatively, you can use compensated and original frames to create interleaved clip, denoise it by any external temporal filter, and select central cleaned original frames for output (see examples).&lt;br /&gt;
&lt;br /&gt;
Of course, the motion estimation and compensation is not ideal and precise. In some complex cases (video with fading, ultra-fast motion, or periodic structures) the motion estimation may be completely wrong, and compensated frame will be blocky and (or) ugly. Severe difficulty is also due to objects mutual screening (occlusion) or reverse opening. Complex Avisynth scripts with many motion compensation functions may eat huge amount of memory and result in very slow processing. It is not simple but quite advanced plugin. Use it for appropriate cases only, and try to tune its parameters. There are many discussions about motion compensation using at doom9 Avisynth forum. In particular see [http://forum.doom9.org/showthread.php?t=76041 old MVTools thread], [http://forum.doom9.org/showthread.php?t=102071 true motion thread], [http://forum.doom9.org/showthread.php?t=84770 new MVTools thread] and some other. Try to read the postings in addition to this documentation and ask for support there. If you really interested in motion estimation and compensation topics, you can easy find numerous scientific publications (use WWW search).&lt;br /&gt;
&lt;br /&gt;
Notes: The plugin is still under development. Current version has some limitations. Only progressive YV12, YUY2 video is supported. Use color format conversion and try use (smart) bob-deinterlace for interlaced video (SeparateFields may works too with or without SelectEven/SelectOdd). Some complex scripts (MVBOB, MCBOB, TempGaussMC) use MVTools for motion compensated deinterlace.&lt;br /&gt;
Alternatively you can try to use Motion plugin by mg262.&lt;br /&gt;
&lt;br /&gt;
'''&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;Official documentation:&amp;lt;/span&amp;gt; http://avisynth.org.ru/mvtools/mvtools2.html'''&lt;br /&gt;
&lt;br /&gt;
== Common parameters ==&lt;br /&gt;
Filters that use motion vectors have common parameters. Those are the scene-change detection thresholds, and the isse mmx flag. They also use one or several vectors stream, which are produced by MAnalyse.&lt;br /&gt;
&lt;br /&gt;
*{{Template:FuncDef2|thSCD1}} (int): threshold which decides whether a block has changed between the previous frame and the current one. When a block has changed, it means that motion estimation for it isn't relevant. It occurs for example at scene changes. So it is one of the thresholds used to tweak the scene changes detection engine. Raising it will lower the number of blocks detected as changed. It may be useful for noisy or flickered video. The threshold is compared to the SAD (Sum of Absolute Differences, a value which says how bad the motion estimation was ) value. For exactly identical blocks we have SAD=0. But real blocks are always different because of objects complex movement (zoom, rotation, deformation), discrete pixels sampling, and noise. Suppose we have two compared 8x8 blocks with every pixel different by 5. It this case SAD will be 8x8x5 = 320 (block will not detected as changed for thSCD1=400). If you use 4x4 blocks, SAD will be 320/4. If you use 16x16 blocks, SAD will be 320*4. Really this parameter is scaled internally in MVTools, and you must always use reduced to block size 8x8 value. Default is 400 (since v.1.4.1).&lt;br /&gt;
&lt;br /&gt;
*{{Template:FuncDef2|thSCD2}} (int): threshold which sets how many blocks have to change for the frame to be considered as a scene change. It is ranged from 0 to 255, 0 meaning 0 %, 255 meaning 100 %. Default is 130 ( which means 51 % ).&lt;br /&gt;
&lt;br /&gt;
*{{Template:FuncDef2|isse}} (int): flag which allows to enable (if set to True) or disable (if set to False) ISSE, MMX and other CPU optimizations (for debugging). Default is True. If your processor doesn't support CPU optimizations, it will be disabled anyway ( and you won't be able to activate them ).&lt;br /&gt;
&lt;br /&gt;
*{{Template:FuncDef2|planar}} (bool): flag to use special planar color format for YUY2 clips both for input and output of function. It uses special trick for storing of frames with planar color data organization (separate Y, U, V planes in memory) in normal interleaved YUY2 frames format as a container. This way we can avoid numerous internal interleaved to planar conversions and increase speed. You can convert normal interleaved YUY2 source clip to planar format with Interleaved2planar function from RemoveGrain plugin by kassandro, and convert final result by Planar2interleaved function. This special planar YUY2 format is also supported by Removegrain plugin by Kassandro, MaskTools2 plugin by Manao and some others. This trick will not be needed in Avisynth v2.6 with native support of planar YV16 format. This parameter is ignored for YV12 clips. Note: super clip is always planar. Default is planar=false. &lt;br /&gt;
&lt;br /&gt;
== Filters ==&lt;br /&gt;
{{PluginFilterTable}}&lt;br /&gt;
|-&lt;br /&gt;
{{PluginFilterRow|MVTools2|MSuper|&lt;br /&gt;
Get source clip and prepare special &amp;quot;super&amp;quot; clip with multilevel (hierarchical scaled) frames data.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
}}&lt;br /&gt;
{{PluginFilterRow|MVTools2|MAnalyse|&lt;br /&gt;
Get prepared multilevel super clip, estimate motion by block-matching method and produce special output clip with motion vectors data.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
}}&lt;br /&gt;
|-&lt;br /&gt;
{{PluginFilterRow|MVTools2|MCompensate|&lt;br /&gt;
Do a full motion compensation of the frame.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
}}&lt;br /&gt;
{{PluginFilterRow|MVTools2|MMask|&lt;br /&gt;
Creates a mask clip from source clip with motion vectors data.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
}}&lt;br /&gt;
{{PluginFilterRow|MVTools2|MSCDetection|&lt;br /&gt;
Creates scene detection mask clip from motion vectors data.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
}}&lt;br /&gt;
{{PluginFilterRow|MVTools2|MShow|&lt;br /&gt;
Shows the motion vectors on padded source by super clip opening.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
}}&lt;br /&gt;
|-&lt;br /&gt;
{{PluginFilterRow|MVTools2|MDepan|&lt;br /&gt;
Get the motion vectors, estimate global motion and put data to output frame in special format for [[DePan]] plugin.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
}}&lt;br /&gt;
|-&lt;br /&gt;
{{PluginFilterRow|MVTools2|MFlow|&lt;br /&gt;
Do a motion compensation of the frame not by blocks (like MCompensate), but by pixels. &lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
}}&lt;br /&gt;
{{PluginFilterRow|MVTools2|MFlowInter|&lt;br /&gt;
Motion interpolation function.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
}}&lt;br /&gt;
{{PluginFilterRow|MVTools2|MFlowFps|&lt;br /&gt;
Will change the frame rate (fps) of the clip. The function can be used for frame rate conversion, slow-motion effect, etc.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
}}&lt;br /&gt;
{{PluginFilterRow|MVTools2|MBlockFps|&lt;br /&gt;
The function uses block-based partial motion compensation to change the framerate (fps) of the clip.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
}}&lt;br /&gt;
|-&lt;br /&gt;
{{PluginFilterRow|MVTools2|MFlowBlur|&lt;br /&gt;
Experimental simple motion blur function. It may be used for FILM-effect (to simulate finite shutter time)..&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
}}&lt;br /&gt;
{{PluginFilterRow|MVTools2|MDeGrain1|&lt;br /&gt;
Temporal denoising with motion compensation. MDeGrain1 has a temporal radius of 1.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
}}&lt;br /&gt;
{{PluginFilterRow|MVTools2|MDeGrain2|&lt;br /&gt;
Temporal denoising with motion compensation. MDeGrain2 has a temporal radius of 2.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
}}&lt;br /&gt;
{{PluginFilterRow|MVTools2|MDeGrain3|&lt;br /&gt;
Temporal denoising with motion compensation. MDeGrain3 has a temporal radius of 3.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
}}&lt;br /&gt;
{{PluginFilterRow|MVTools2|MRecalculate|&lt;br /&gt;
Refines and recalculates motion data of previously estimated motion vectors.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
}}&lt;br /&gt;
|}&lt;br /&gt;
== Changelog ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;border: 1px solid darkgray&amp;quot;&lt;br /&gt;
!Version&lt;br /&gt;
!Date&lt;br /&gt;
!Author&lt;br /&gt;
!Changes&lt;br /&gt;
|-&lt;br /&gt;
|2.6.0.5&lt;br /&gt;
|2012.07.17&lt;br /&gt;
|Firesledge&lt;br /&gt;
|MCompensate, MDegrainN: fixed a bug causing occasionally horizontal magenta stripes in multithreading mode.&lt;br /&gt;
|-&lt;br /&gt;
|2.6.0.4&lt;br /&gt;
|2012.06.14&lt;br /&gt;
|Firesledge&lt;br /&gt;
|MCompensate: fixed artifacts related to overlap with tr &amp;gt; 3 in multithreading mode.&lt;br /&gt;
|-&lt;br /&gt;
|2.6.0.3&lt;br /&gt;
|2012.05.13&lt;br /&gt;
|Firesledge&lt;br /&gt;
|MDegrainN: fixed artifacts related to overlap with tr &amp;gt; 3 in multithreading mode.&lt;br /&gt;
|-&lt;br /&gt;
|2.6.0.2&lt;br /&gt;
|2012.05.01&lt;br /&gt;
|Firesledge&lt;br /&gt;
|MAnalyse: fixed a threading issue when using FFTW.&lt;br /&gt;
|-&lt;br /&gt;
|2.6.0.1&lt;br /&gt;
|2012.03.12&lt;br /&gt;
|Firesledge&lt;br /&gt;
|&lt;br /&gt;
MAnalyse: fixed potential crash in multithreading mode.&amp;lt;br/&amp;gt;&lt;br /&gt;
MDegrainN: fixed systematic crash in multithreading mode.&amp;lt;br/&amp;gt;&lt;br /&gt;
All MDegrain functions: fixed potential crash when thSAD is set to 0.&lt;br /&gt;
|-&lt;br /&gt;
|2.6.0.0&lt;br /&gt;
|2012.03.11&lt;br /&gt;
|Firesledge&lt;br /&gt;
|&lt;br /&gt;
MDegrainN: internally uses MDegrain1/2/3 when tr ≤ 3, for optimal speed.&amp;lt;br/&amp;gt;&lt;br /&gt;
MCompensate: added multi-compensation mode for easy use with temporal filters.&amp;lt;br/&amp;gt;&lt;br /&gt;
MAnalyse, MSuper, MCompensate, MDegrainN: added multithreading (but partially, not for all code paths) using AVSTP.&amp;lt;br/&amp;gt;&lt;br /&gt;
MAnalyse: fixed a corruption of the global motion vector.&amp;lt;br/&amp;gt;&lt;br /&gt;
Improved page setting for this documentation.&lt;br /&gt;
|-&lt;br /&gt;
|2.5.14.2&lt;br /&gt;
|2012.01.10&lt;br /&gt;
|Firesledge&lt;br /&gt;
|Fixed MScaleVect with multi-vector clips.&lt;br /&gt;
|-&lt;br /&gt;
|2.5.14.1&lt;br /&gt;
|2011.12.13&lt;br /&gt;
|Firesledge&lt;br /&gt;
|Fixed crashes in the MDegrain functions when using both planar=true and lsb=true.&lt;br /&gt;
|-&lt;br /&gt;
|2.5.14.0&lt;br /&gt;
|2011.11.28&lt;br /&gt;
|Firesledge and Vit&lt;br /&gt;
|Added MStoreVect, MRestoreVect and MScaleVect from the Vit's MVExtras plugin.&lt;br /&gt;
|-&lt;br /&gt;
|2.5.13.1&lt;br /&gt;
|2011.11.09&lt;br /&gt;
|Firesledge&lt;br /&gt;
|&lt;br /&gt;
MAnalyse, MRecalculate: added an SATD approximation for blksize &amp;gt; 16 and dct ≥ 5. Previously, the SATD calculation was silently bypassed and always returned a null SAD value.&amp;lt;br/&amp;gt;&lt;br /&gt;
Functions now check that the pel setting is the same in the superclip and the motion vectors, instead of crashing if not.&lt;br /&gt;
|-&lt;br /&gt;
|2.5.13.0 beta&lt;br /&gt;
|2011.09.11&lt;br /&gt;
|Firesledge&lt;br /&gt;
|&lt;br /&gt;
MRecalculate: Can now process multi-vector clips.&amp;lt;br/&amp;gt;&lt;br /&gt;
All functions: Added the -Vit-'s fix that could improve the multithreading stability.&lt;br /&gt;
|-&lt;br /&gt;
|2.5.12.1 beta&lt;br /&gt;
|2011.09.10&lt;br /&gt;
|Firesledge&lt;br /&gt;
|MAnalyse: Fixed the ghosting bug introduced in the previous version.&lt;br /&gt;
|-&lt;br /&gt;
|2.5.12.0 beta&lt;br /&gt;
|2011.09.10&lt;br /&gt;
|Firesledge&lt;br /&gt;
|&lt;br /&gt;
MDegrainN added.&amp;lt;br/&amp;gt;&lt;br /&gt;
MAnalyse: Added the &amp;quot;multi&amp;quot; mode for MDegrainN.&amp;lt;br/&amp;gt;&lt;br /&gt;
MAnalyse: Documented the negative delta values and fixed some functions accordingly.&amp;lt;br/&amp;gt;&lt;br /&gt;
MFlowInter: Fixed the YUY2 planar mode.&lt;br /&gt;
|-&lt;br /&gt;
|2.5.11.2 beta mod16b&lt;br /&gt;
|2011.05.11&lt;br /&gt;
|Firesledge&lt;br /&gt;
|Fixed a regression in MDegrain1/2/3, related to the mod16 versions. thSADC is now taken into account correctly (instead of using thSAD).&lt;br /&gt;
|-&lt;br /&gt;
|2.5.11.2 beta mod16a&lt;br /&gt;
|2011.04.10&lt;br /&gt;
|Firesledge&lt;br /&gt;
|Merged 2.5.11.2 and 2.5.11 mod16a versions.&lt;br /&gt;
|}&lt;br /&gt;
[http://avisynth.org.ru/mvtools/mvtools2.html#revisions Changelog up to v2.5.11.2]&lt;br /&gt;
&lt;br /&gt;
==External Links ==&lt;br /&gt;
*[http://forum.doom9.org/showthread.php?t=84770 Doom9 Forum] - MVTools discussion.&lt;/div&gt;</summary>
		<author><name>SilverbackNet</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/DctFilter</id>
		<title>DctFilter</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/DctFilter"/>
				<updated>2015-06-04T01:33:49Z</updated>
		
		<summary type="html">&lt;p&gt;SilverbackNet: add VS version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FilterCat|External_filters|Plugins|Other_filters}}&lt;br /&gt;
{{Filter&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
| v0.0.1.5 &lt;br /&gt;
|&lt;br /&gt;
* [http://dl.dropboxusercontent.com/u/54412753/doom9/DctFilter_015.zip DctFilter_015.zip]&amp;lt;br/&amp;gt;&lt;br /&gt;
* VapourSynth: [https://bitbucket.org/mystery_keeper/vapoursynth-dctfilter/downloads/dctfilter-r2.7z dctfilter-r2.7z], [http://forum.doom9.org/attachment.php?attachmentid{{=}}14815 dctfilter_avx.zip]&lt;br /&gt;
| 4=Other filters&lt;br /&gt;
| 6=[http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]&lt;br /&gt;
| 7=[http://forum.doom9.org/showthread.php?t=38539 AviSynth], [http://forum.doom9.org/showthread.php?t=171039 VapourSynth] }}&lt;br /&gt;
== Description ==&lt;br /&gt;
DctFiler is an experimental filter that, for each 8x8 block, will do a [http://en.wikipedia.org/wiki/Discrete_cosine_transform Discrete Cosine Transform] (DCT), scale down the selected frequency values, and then reverse the process with an Inverse Discrete Cosine Transform (IDCT).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* AviSynth 2.5.8 or [http://forum.doom9.org/showthread.php?t=168764 greater]&lt;br /&gt;
* Supported color formats: [[YUY2]], [[YV12]]&lt;br /&gt;
* Width and height need to be a multiple of 16 (mod16)&lt;br /&gt;
&lt;br /&gt;
* [[MMX]], [[ISSE]] or [[SSE2]] capable CPU&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
* [http://forum.doom9.org/showthread.php?p=1191185#post1191185 Stripe bug] - both variants are buggy at calculating DC, additional information [http://forum.doom9.org/showthread.php?p=1346201#post1346201 here] and [http://forum.doom9.org/showthread.php?p=1051452#post1051452 here].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== [[Script variables|Syntax and Parameters]] ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== DctFilter ===&lt;br /&gt;
For each 8x8 block it will do a Discrete Cosine Transform (DCT), scale down the selected frequency values, and then reverse the process with an Inverse Discrete Cosine Transform (IDCT).&amp;lt;br&amp;gt;&lt;br /&gt;
In the following example the highest frequency components in each row and column will be zeroed while the 2nd highest would be cut in half.&lt;br /&gt;
:&amp;lt;code&amp;gt;DctFilter(1,1,1,1,1,1,.5,0)&amp;lt;/code&amp;gt;&lt;br /&gt;
The row &amp;amp;amp; column parameters are multiplied together to get the scale factor for each of the 64 values in a block. So if the top left value was V[0,0] then in the example above the we would scale row 6, col 6 (V[6,6]) by .5 * .5 = .25.&amp;lt;br/&amp;gt;&lt;br /&gt;
Note that while they look like floating point parameters above they really now only&lt;br /&gt;
have 3 bit accuracy so the only actual values used are 0, {{Frac|1|8}}, {{Frac|1|4}}, {{Frac|3|8}} ... 1.0. But you can specify any value and it will be rounded to the nearest one.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:{{Template:FuncDef|DctFilter (clip, float, float, float, float, float, float, float, float, int &amp;quot;chroma&amp;quot;, int &amp;quot;fdct&amp;quot;, int &amp;quot;idct&amp;quot;, int &amp;quot;offx&amp;quot;, int &amp;quot;offy&amp;quot;)}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2| |clip| }}&lt;br /&gt;
:::Input clip.&lt;br /&gt;
&lt;br /&gt;
::{{Par2| |float| }}&lt;br /&gt;
:::There are 8 positional floating point parameters, all of which must be specified as in the range (0.0 &amp;lt;= x &amp;lt;= 1.0). These correspond to scaling factors for the 8 rows and columns of the 8x8 DCT blocks.&lt;br /&gt;
:::The leftmost parameter corresponds to the top row, left column. This would be the DC component of the transform and should always be left as 1.0.&lt;br /&gt;
&lt;br /&gt;
::{{Par2|chroma|int|1}}&lt;br /&gt;
:::Chroma processing:&lt;br /&gt;
::::*0 : do not process nor copy, output will be trash&lt;br /&gt;
::::*1 : process&lt;br /&gt;
&lt;br /&gt;
::{{Par2|fdct|int|-1}}&lt;br /&gt;
::{{Par2|idct|int|-1}}&lt;br /&gt;
:::Choose which DCT to use (if you want to compare). Do not use fdct=2 or idct=3, it may crash!&lt;br /&gt;
&lt;br /&gt;
::::*-1 : default&lt;br /&gt;
::::*0 : integer (does not work correctly)&lt;br /&gt;
::::*1 : [[MMX]]&lt;br /&gt;
::::*2 : [[iSSE]]&lt;br /&gt;
::::*3 : [[SSE2]]&lt;br /&gt;
&lt;br /&gt;
::{{Par2|offx|int|0}}&lt;br /&gt;
::{{Par2|offy|int|0}}&lt;br /&gt;
:::Specify offsets, only use when the input clip's dimensions are mod16, otherwise it may crash.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;'''Note:'''&amp;lt;/span&amp;gt; the first 9 parameters are unnamed and do not have a default so they must be specified. The last 5 parameters are only available in &amp;lt;tt&amp;gt;DctFilter v0.0.1.5&amp;lt;/tt&amp;gt;, consider them as experimental so use with caution (except for chroma).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-------------&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== DctFilterD ===&lt;br /&gt;
DctFilterD works similar to DctFilter but will zero out DiagCt number of the lower right diagonals of the DCT, leaving other values unchanged. &amp;lt;br/&amp;gt;&lt;br /&gt;
In an 8x8 DCT result matrix there are 15 possible diagonals (visualize a chess board), so if you specify &amp;lt;code&amp;gt;DctFilterD(4)&amp;lt;/code&amp;gt; then the 4 diagonals in the lower right corner of the DCT result will be set to 0. &amp;lt;br/&amp;gt;I haven't tested this much but, like my results with custom quant tables, it appears if you set DiagCt very large you will start to get edge noise, something like ringing.[http://forum.doom9.org/showpost.php?p=266216&amp;amp;postcount=145]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:{{Template:FuncDef|DctFilterD (clip, int)}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2| |clip| }}&lt;br /&gt;
:::Input clip.&lt;br /&gt;
&lt;br /&gt;
::{{Par2| |int| }}&lt;br /&gt;
:::&amp;lt;tt&amp;gt;'''DiagCt'''&amp;lt;/tt&amp;gt;: must be an integer from 1-14 saying how many of these diagonals must be zeroed, starting from the lower right hand corner.&lt;br /&gt;
&lt;br /&gt;
:::'''Note:''' all parameters are unnamed and do not have a default so they must be specified.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-------------&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== DctAddConstant ===&lt;br /&gt;
Not much is known about this filter...&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
:{{Template:FuncDef|DctAddConstant (clip, float, float, float, float)}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2| |clip| }}&lt;br /&gt;
:::Input clip.&lt;br /&gt;
&lt;br /&gt;
::{{Par2| |float| }}&lt;br /&gt;
::{{Par2| |float| }}&lt;br /&gt;
::{{Par2| |float| }}&lt;br /&gt;
::{{Par2| |float| }}&lt;br /&gt;
&lt;br /&gt;
:::'''Note:''' all parameters are unnamed and do not have a default so they must be specified.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Examples == &lt;br /&gt;
====DctFilter====&lt;br /&gt;
The following example should effectively do nothing, due to a possible bug that's not the case.[http://forum.doom9.org/showthread.php?p=1191208#post1191208]&lt;br /&gt;
 [[AviSource]](&amp;quot;blah.avi&amp;quot;)&lt;br /&gt;
 DctFilter(1,1,1,1,1,1,1,1)&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
Subtle softening:&lt;br /&gt;
 DctFilter(1,1,1,1,1,0.75,0.25,0) &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Remove high frequency components:[http://forum.doom9.org/showpost.php?p=298519&amp;amp;postcount=31]&lt;br /&gt;
 DctFilter(1,1,1,.8,.4,0,0,0) #these settings may be prone to slight blocking&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Measure luma variance within block (e.g. 8x8) of pixels?[http://forum.doom9.org/showthread.php?p=1689130#post1689130]&amp;lt;br/&amp;gt;&lt;br /&gt;
The easiest somewhat correct &amp;quot;amount of variation for each block&amp;quot; you can get is using STD for each pixel and applying DctFilter to it (adjust the radius of STD calculation area for possibly better results).&lt;br /&gt;
 mt_luts(last, &amp;quot;std&amp;quot;, mt_square(1), &amp;quot;y&amp;quot;).mt_lut(&amp;quot;x 15 *&amp;quot;)&lt;br /&gt;
 DctFilter(1,0,0,0,0,0,0,0).[[GreyScale|Greyscale]]()&lt;br /&gt;
A reasonably close approximation with a lot better performance is an edge mask:&lt;br /&gt;
 mt_edge(&amp;quot;min/max&amp;quot;, 0, 255, 0, 255).mt_lut(&amp;quot;x 5 *&amp;quot;)&lt;br /&gt;
 DctFilter(1,0,0,0,0,0,0,0).[[GreyScale|Greyscale]]()&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====DctFilterD====&lt;br /&gt;
DctFilterD can be used as a fast way to average 8x8 blocks:[http://forum.doom9.org/showthread.php?p=1051452#post1051452]&lt;br /&gt;
 DCTFilterD(14)&amp;lt;br/&amp;gt;&lt;br /&gt;
 #DctFilter(1,0,0,0,0,0,0,0)  #keeps the topmost line and leftmost row.[http://forum.doom9.org/showthread.php?p=626365#post626365]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Very easy way to get the normalized SAD over 8x8 blocks:[http://forum.doom9.org/showthread.php?t=150923]&lt;br /&gt;
 mt_lutxy(clip1,clip2,&amp;quot;x y - abs&amp;quot;)&lt;br /&gt;
 DctFilterD(14)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Changelog ==&lt;br /&gt;
 Version      Date            Developer       Changes&amp;lt;br&amp;gt;&lt;br /&gt;
 v0.0.1.5     2007/02/09      foxyshadis      - Better memory management in DctFilter, chroma=0 to disable chroma.&lt;br /&gt;
 v0.0.1.4     2003/02/21      Tom Barry       - Add DctFilterD, diagonal support&lt;br /&gt;
 v0.0.1.3     2003/01/30      Tom Barry       - Avisynth 2.5 beta, plugininit2, vs6&lt;br /&gt;
 v0.0.1.2     2002/11/2?      SansGrip        - YUY2 support&lt;br /&gt;
 v ?          2002/11/25      Tom Barry       - Initial test release for Avisynth 2.5 alpha only&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Archived Downloads ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;; width=&amp;quot;600px&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!!width=&amp;quot;100px&amp;quot;| Version&lt;br /&gt;
!!width=&amp;quot;150px&amp;quot;| Download&lt;br /&gt;
!!width=&amp;quot;150px&amp;quot;| Mirror&lt;br /&gt;
!!width=&amp;quot;150px&amp;quot;| Mirror 2&lt;br /&gt;
|-&lt;br /&gt;
!v0.0.1.4&lt;br /&gt;
|[http://web.archive.org/web/20130207143129/http://neuron2.net/trbarry/DctFilter.zip DctFilter.zip]&lt;br /&gt;
|[http://www.avisynth.nl/users/warpenterprises/files/dctfilter_5F25_dll_20030221.zip dctfilter_dll_20030221.zip]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
*[http://www.aquilinestudios.org/avsfilters/spatial.html#dct AquilineStudios] - Additional information on usage.&lt;br /&gt;
*[http://forum.doom9.org/showthread.php?p=763059#post763059 Doom9Forum] - Another advanced usage example.&lt;br /&gt;
*[http://forum.doom9.org/showthread.php?t=38539 Doom9 Forum] - Original DctFilter discussion.&lt;br /&gt;
*[http://forum.doom9.org/showthread.php?p=951432#post951432 Doom9 Forum] - DctFilter v0.0.1.5 discussion.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
'''Back to [[External_filters#Edge_Detection|External Filters]] &amp;amp;larr;'''&lt;br /&gt;
&amp;lt;!-- &amp;lt;pre&amp;gt;&lt;br /&gt;
DCTFilter(v1,v2,v3,v4,v5,v6,v7,v8) then:&lt;br /&gt;
&lt;br /&gt;
       0     1     2     3     4     5     6     7 &lt;br /&gt;
    ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐&lt;br /&gt;
 0  │v1*v1│v2*v1│v3*v1│v4*v1│v5*v1│v6*v1│v7*v1│v8*v1│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 1  │v1*v2│v2*v2│v3*v2│v4*v2│v5*v2│v6*v2│v7*v2│v8*v2│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 2  │v1*v3│v2*v3│v3*v3│v4*v3│v5*v3│v6*v3│v7*v3│v8*v3│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 3  │v1*v4│v2*v4│v3*v4│v4*v4│v5*v4│v6*v4│v7*v4│v8*v4│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 4  │v1*v5│v2*v5│v3*v5│v4*v5│v5*v5│v6*v5│v7*v5│v8*v5│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 5  │v1*v6│v2*v6│v3*v6│v4*v6│v5*v6│v6*v6│v7*v6│v8*v6│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 6  │v1*v7│v2*v7│v3*v7│v4*v7│v5*v7│v6*v7│v7*v7│v8*v7│&lt;br /&gt;
    ├─────┼─────┼─────┼─────┼─────┼─────┼─────┼─────┤&lt;br /&gt;
 7  │v1*v8│v2*v8│v3*v8│v4*v8│v5*v8│v6*v8│v7*v8│v8*v8│&lt;br /&gt;
    └─────┴─────┴─────┴─────┴─────┴─────┴─────┴─────┘&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
so DctFilter(1,1,1,1,1,1,.5,0) becomes:&lt;br /&gt;
&lt;br /&gt;
    ┌───┬───┬───┬───┬───┬───┬───┬───┐&lt;br /&gt;
    │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │0.5│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │0.5│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │0.5│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │0.5│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │0.5│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │ 1 │ 1 │ 1 │ 1 │ 1 │ 1 │0.5│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │0.5│0.5│0.5│0.5│0.5│0.5│.25│ 0 │&lt;br /&gt;
    ├───┼───┼───┼───┼───┼───┼───┼───┤&lt;br /&gt;
    │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │ 0 │&lt;br /&gt;
    └───┴───┴───┴───┴───┴───┴───┴───┘ &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
In the example above the highest frequency components in each row and column are zeroed while the 2nd highest are cut in half.&amp;lt;br&amp;gt;&lt;br /&gt;
The row &amp;amp;amp; column parameters are multiplied together to get the scale factor for each of the 64 values in a block. So if the top left value was V[0,0] then in the example above the we would scale row 6, col 6 (V[6,6]) by .5 * .5 = .25.&amp;lt;br/&amp;gt;&lt;br /&gt;
Note that while they look like floating point parameters above they really now only&lt;br /&gt;
have 3 bit accuracy so the only actual values used are 0, {{Frac|1|8}}, {{Frac|1|4}}, {{Frac|3|8}} ... 1.0. But you can specify any value and it will be rounded to the nearest one.&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>SilverbackNet</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Template:%3D</id>
		<title>Template:=</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Template:%3D"/>
				<updated>2015-06-04T01:32:16Z</updated>
		
		<summary type="html">&lt;p&gt;SilverbackNet: for template parameters that need = in the URL&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=&lt;/div&gt;</summary>
		<author><name>SilverbackNet</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Template:Author/Dogway</id>
		<title>Template:Author/Dogway</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Template:Author/Dogway"/>
				<updated>2015-06-04T00:49:50Z</updated>
		
		<summary type="html">&lt;p&gt;SilverbackNet: create&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://www.mediafire.com/?gpil7zkz24lq4 Dogway]&lt;/div&gt;</summary>
		<author><name>SilverbackNet</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/External_filters</id>
		<title>External filters</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/External_filters"/>
				<updated>2015-06-04T00:48:53Z</updated>
		
		<summary type="html">&lt;p&gt;SilverbackNet: /* Spatio-Temporal Denoisers */ add smdegrain&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rough classification of third-party filters for AviSynth - a perpetual work in progress.&lt;br /&gt;
&lt;br /&gt;
This page lists both scripts (see [[Import]]) and plugins (see [[Plugins]]).&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
==== Download sites ====&lt;br /&gt;
A large list of filters can be downloaded from the following sites but be aware that some plugins listed '''may be outdated''', only recommended as a backup.&lt;br /&gt;
&lt;br /&gt;
*[http://web.archive.org/web/20130803185015/http://www.64k.it/andres/dettaglio.php?sez=avisynth Andres' Filter Collection] &lt;br /&gt;
*[http://chaosking.de/repo/avsfilters/ AviSynth Filter DB by ChaosKing] | [http://web.archive.org/web/20140412062911/http://chaosking.de/avisynth-filter-db mirror]&lt;br /&gt;
*[http://xhmikosr.1f0.de/_old/avisynth/plugins/ XhmikosR's Builds] &lt;br /&gt;
*[http://www.avisynth.nl/users/warpenterprises/ Warp Enterprises' AviSynth Filter Collection]&lt;br /&gt;
&lt;br /&gt;
====64-bit filters====&lt;br /&gt;
A comprehensive list of 64-bit filters is available in the [[AviSynth%2B#AviSynth.2B_x64_plugins|AviSynth+]] page.&lt;br /&gt;
&lt;br /&gt;
====AviSynth v1.0x/v2.0x plugins====&lt;br /&gt;
[[External plugins old|External plugins (old)]] - these older plugins are not recommended, page is there mainly for historical purposes.&lt;br /&gt;
&lt;br /&gt;
==== Using filters ====&lt;br /&gt;
Most scripts will apply filters in the following order:&lt;br /&gt;
&lt;br /&gt;
# Create an AviSynth clip from a video file using a source filter.&lt;br /&gt;
# Correct or remove any unwanted features in the video (e.g. dot crawl, field blending or telecine).&lt;br /&gt;
# Denoise the video (optional).&lt;br /&gt;
# Manipulate the video into the desired format (by e.g. changing the size and frame rate).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--AviSynth filters have been classified under these four basic tasks, with a fifth category for filters that fall outside this scheme, and a sixth category for filters that process audio only.--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Source Filters ==&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=135855 BassAudio]&lt;br /&gt;
| [http://un4seen.com/bass.html Bass Audio] decoder. Supports wav, aiff, mp3, mp2, mp1, ogg. Support for aac, ac3, alac, ape, cd, flac, midi, mpc, ofr, spx, tta, wma, wv with additional included dll's. The filter is included in the Behappy package.&lt;br /&gt;
| N/A&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=135855 Plugin]&lt;br /&gt;
| dimzon&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.gyroshot.com/cmvsource.htm CMVSource]&lt;br /&gt;
| Load [http://www.bay12games.com/dwarves/ Dwarf Fortress] CMV and CCMV movies.&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=162850 Plugin]&lt;br /&gt;
| {{Author/Robert Martens}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=122598 DGAVCDecode] &lt;br /&gt;
| AVC/H.264 decoder plug-in. &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.videohelp.com/tools/DGAVCDec Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DGDecode]] &lt;br /&gt;
| Decode MPEG1/MPEG2 streams from: DVD VOBs, captured transport streams, *.mpg/*.m2v/*.pva files, etc. Use this instead of MPEGDecoder/MPEG2Dec3.&lt;br /&gt;
| [[RGB24]], [[YUY2]], [[YV12]], [[I420]] &lt;br /&gt;
| [{{N2Moved}}/dgmpgdec/dgmpgdec.html Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=170107 DGMVCSource]&lt;br /&gt;
|MVC source filter for AviSynth.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
|[http://rationalqm.us/dgmvcsource/dgmvcsource100b22.zip Plugin]&lt;br /&gt;
|{{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| DVInfo&lt;br /&gt;
| Grabs the timestamp and recording date info from a DV-AVI. See [http://forum.doom9.org/showthread.php?t=61688 discussion].&lt;br /&gt;
| N/A&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/dvinfo_20100602.zip Plugin]&lt;br /&gt;
| {{Author/WarpEnterprises}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20071025023927/http://mvideo.ddpp.net/eng/dvtimestampex.htm DVTimeStampEx]&lt;br /&gt;
| Shows DV timestamp information over a DV clip.&lt;br /&gt;
| N/A&lt;br /&gt;
| [http://web.archive.org/web/20071024123608/http://mvideo.ddpp.net/downld/dvtimestampex_0_5_5.zip Plugin] - [http://web.archive.org/web/20071024123608/http://mvideo.ddpp.net/downld/dvtimestampex_0_5_5_src.zip source code]&lt;br /&gt;
| [http://web.archive.org/web/20071025023932/http://mvideo.ddpp.net/eng/index.htm basilik]&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=134275 DSS2]&lt;br /&gt;
| DirectShowSource2 that uses the installed Haali Media Splitter along with its ''avss.dll'' AviSynth plugin. It can convert VFR files to CFR in order to support frame-accurate seeking. Not recommended due to the fact that Haali Media Splitter is considered outdated, use DDS2mod.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20130923230211/http://haali.su/mkv/ Plugin]&lt;br /&gt;
| Haali&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1699301&amp;amp;postcount=33 DSS2mod]&lt;br /&gt;
| DirectShowSource2 mod, this version does not require Haali Media Spliter. &lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1699301&amp;amp;postcount=33 Plugin]&lt;br /&gt;
| forclip&lt;br /&gt;
|-&lt;br /&gt;
| [[FFmpegSource]]&lt;br /&gt;
| Decodes all ffmpeg ([http://en.wikipedia.org/wiki/Libavcodec libavcodec]) supported A/V formats with frame accurate seeking in AVI, MKV and MP4. See [http://forum.doom9.org/showthread.php?t=127037 discussion].&lt;br /&gt;
| [[RGB]], [[YUY2]], [[YV12]], [[I420]]&lt;br /&gt;
| [http://github.com/FFMS/ffms2/releases Plugin]&lt;br /&gt;
| {{Author/Myrsloik}}, TheFluff, Plorkyeran, others&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=169651 FRIMSource]&lt;br /&gt;
|FRIMSource is an AviSynth plugin for sequential reading of elementary or transport streams (MPEG2, H.264 AVC/MVC-3D, VC1).&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=169651 Plugin]&lt;br /&gt;
|videofan3d&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=110021 HDVInfo] &lt;br /&gt;
| Grabs the timestamp and recording date info out of a M2T-D2V file&lt;br /&gt;
| N/A&lt;br /&gt;
| [http://web.archive.org/web/20120419204535/http://strony.aster.pl/paviko/hdvinfo0.93.zip Plugin]&lt;br /&gt;
| {{Author/paviko}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=109997 ImageSequence]&lt;br /&gt;
| Load png, jpg, bmp, pcx, tga and gif image sequences using the [http://corona.sourceforge.net/ Corona Image I/O Library]. CoronaSequence/RawSequence.&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/imagesequence_20101115.zip Plugin]&lt;br /&gt;
| {{Author/WarpEnterprises}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=135928 Immaavs]&lt;br /&gt;
| ImmaRead uses the ImageMagick libraries to read images. Many formats are supported including animations, multipage files, image sequences and images with different sizes.&lt;br /&gt;
|&lt;br /&gt;
| [http://www.wilbertdijkhof.com/ Plugin]&lt;br /&gt;
| {{Author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
| IUF&lt;br /&gt;
| Import Uncompressed File. Must be uncompressed! Supported uncompressed Formats: avi, omf(avid), pxr(pixar), mov(24/32bit quicktime), cineon. Can export as well. See [http://forum.doom9.org/showthread.php?t=51227 discussion].&lt;br /&gt;
| [[RGB]]&lt;br /&gt;
| [http://web.archive.org/web/20091016215740/http://geocities.com/hanfrunz/iuf_v1.5.zip Plugin] &lt;br /&gt;
| hanfrunz&lt;br /&gt;
|-&lt;br /&gt;
| [[JpegSource]]&lt;br /&gt;
| An advanced JPEG decoder for Avisynth 2.6. See [http://forum.doom9.org/showthread.php?t=170028 discussion].&lt;br /&gt;
| [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://dl.dropboxusercontent.com/s/rjnt0y3ead2c6ef/JpegSource_20140419.7z Plugin] &lt;br /&gt;
| SEt&lt;br /&gt;
|-&lt;br /&gt;
| [[LSMASHSource]]&lt;br /&gt;
| A source plugin for audio and video, it uses Libav ([http://en.wikipedia.org/wiki/Libav#Contained_codecs libavcodec]) to decode all supported A/V formats. See [http://forum.doom9.org/showthread.php?t=167435 discussion.]&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[LSMASHSource|Plugin]]&lt;br /&gt;
| {{Author/VFR-maniac}}&lt;br /&gt;
|-&lt;br /&gt;
| MPASource&lt;br /&gt;
| A mp1/mp2/mp3 audio decoder plugin. See [http://forum.doom9.org/showthread.php?t=41435 discussion]&lt;br /&gt;
| N/A&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/mpasource_20080220.zip Plugin]&lt;br /&gt;
| {{Author/WarpEnterprises}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.codeplex.com/NicAudio NicAudio]&lt;br /&gt;
| Audio Plugins for Audio: MPEGAudio/AC3/DTS/LPCM and other uncompressed formats. Formerly known As EvilMPASource. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=89629 discussion], [http://forum.doom9.org/showthread.php?t=135876 continued discussion].&lt;br /&gt;
| N/A&lt;br /&gt;
| [http://nicaudio.codeplex.com/ Plugin]&lt;br /&gt;
| {{Author/Nic}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=103931 OmfSource] &lt;br /&gt;
| Opens the AVID OMF file format (video only, and only works with captured files). See [http://forum.doom9.org/showthread.php?t=103931 discussion].&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.tateu.net/software/ Plugin]&lt;br /&gt;
| {{Author/tateu}}&lt;br /&gt;
|-&lt;br /&gt;
| QTSource&lt;br /&gt;
| Quicktime Import/Export Filter using an existing installation of Quicktime 6/7. See [http://forum.doom9.org/showthread.php?t=104293 discussion].&lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YUY2]]&lt;br /&gt;
| [http://www.tateu.net/software/ Plugin]&lt;br /&gt;
| {{Author/tateu}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20120124010957/http://arenafilm.hu/alsog/avisynthr3d/ R3DSource]&lt;br /&gt;
| Redcode RAW source plugin to load R3D clips. See [http://reduser.net/forum/showthread.php?25398 discussion].&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://web.archive.org/web/20120124010957/http://arenafilm.hu/alsog/avisynthr3d/ Plugin]&lt;br /&gt;
| {{Author/Kertai Gábor}}&lt;br /&gt;
|-&lt;br /&gt;
| RawSource&lt;br /&gt;
| Loads raw video data directly from files. See the initial [http://forum.doom9.org/showthread.php?t=39798 discussion] and its [http://forum.doom9.org/showthread.php?t=103509 continuation].&lt;br /&gt;
| [[RGB]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/rawsource_5F25_dll_20060728.zip Plugin] [http://sites.google.com/site/csghone/audio-video-tools/rawsource_25_dll_20122327.zip Updated with NV12 Support]&lt;br /&gt;
| {{Author/WarpEnterprises}}, {{Author/Wilbert Dijkhof}} and  {{Author/Sh0dan}}&lt;br /&gt;
|-&lt;br /&gt;
| RawSourceMod&lt;br /&gt;
| Loads raw video data directly from files. Further modifications (most raw formats, YUV4MPEG2 compatible with latest spec) [http://forum.doom9.org/showthread.php?t=39798 discussion].&lt;br /&gt;
| [[RGB]], [[YUY2]], [[YV12]] (for 2.5/2.6), [[YV24]], [[YV16]], [[YV411]], [[Y8]] (for 2.6)&lt;br /&gt;
| [http://www.mediafire.com/?3bmwyi1lztt4h1j 2.5 plugin] [http://www.mediafire.com/download/96wth97idn1s5fc/rawsource26-20130826.zip 2.6 plugin]&lt;br /&gt;
[http://www.microsoft.com/download/en/details.aspx?id=8328 msvcr100.dll]&lt;br /&gt;
| Chikuzen&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1403600 Sashimi]&lt;br /&gt;
(function &amp;quot;RawReader&amp;quot;)&lt;br /&gt;
| Loads raw video data directly from files, similarly to RawSource, but also allows for skipping headers, and extra formats (long list to help anyone doing a search):  GREY, Y8, interleaved RGB, BGR (which is RGB24), BGRA (which is RGB32), ARBG, ABGR, RGBA, interleaved YUV (which is YCbCr), YUY2, UYVY, AYUV, planar YUV formats YUV444, YUV422, YUV420 (as YV12), YUV420 (as IMC2), and some raw ImageMagick formats.  Some supports for different bit-depths.  Includes YUVInterleaved.avsi, InterleavedConversions.avsi, and PlanarConversions.avsi.  [http://forum.doom9.org/showthread.php?p=1403600 Discussion].&lt;br /&gt;
| [[RGB]], [[YUY2]], and [[YV12]].&lt;br /&gt;
| [http://sites.google.com/site/ourenthusiasmsasham/soft Plugin with scripts]&lt;br /&gt;
| [http://sites.google.com/site/ourenthusiasmsasham/ PitifulInsect]&lt;br /&gt;
|-&lt;br /&gt;
| [[VapourSource]]&lt;br /&gt;
| VapourSynth script reader for AviSynth2.6x.  [http://forum.doom9.org/showthread.php?t=168339 Discussion].&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]].&lt;br /&gt;
| [http://www.mediafire.com/download/nrk3k4xakkwujqx/VapourSource-0.0.2.zip Plugin]&lt;br /&gt;
| {{Author/Chikuzen}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=170311 VideoInputSource]&lt;br /&gt;
| Capture video frames from video capture card or webcam in real-time.&lt;br /&gt;
|[[RGB24]]&lt;br /&gt;
|[http://github.com/fieliapm/himawari_avs_plugin/raw/master/VideoInputSource/VideoInputSource.dll Plugin]&lt;br /&gt;
|[http://github.com/fieliapm fieliapm]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Restoration Filters ==&lt;br /&gt;
&lt;br /&gt;
These remove effects or artefacts introduced (deliberately or accidentally) into the source video. Denoisers are classified separately.&lt;br /&gt;
&lt;br /&gt;
=== Anti-[[aliasing]] ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[DAA]]&lt;br /&gt;
| Anti-aliasing with contra-sharpening.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| mcDAA3&lt;br /&gt;
| Motion-Compensated Anti-aliasing with contra-sharpening, can deal with ifade too, created because when applied daa3 to fixed scenes, it could damage some details and other issues. See [http://forum.doom9.org/showthread.php?p=1639679#post1639679 discussion]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.mediafire.com/?wqkob7zx1p119e0 Script]&lt;br /&gt;
| AmjadSONY&lt;br /&gt;
|-&lt;br /&gt;
| [[MAA2]]&lt;br /&gt;
| Updated version of the MAA antialising script.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV24]]&lt;br /&gt;
| [http://web.archive.org/web/20140624125132/https://raw.githubusercontent.com/AviSynth/avs-scripts/master/maa2.avsi Script]&lt;br /&gt;
| line0&lt;br /&gt;
|-&lt;br /&gt;
| [[santiag]]&lt;br /&gt;
| Simple anti-aliasing with independent horizontal and vertical anti-aliasing strength.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1393006 Script]&lt;br /&gt;
| {{Author/cretindesalpes}}&lt;br /&gt;
|-&lt;br /&gt;
| SharpAAMCmod&lt;br /&gt;
| High quality MoComped AntiAliasing script, also a line darkener since it uses edge masking to apply tweakable warp-sharpening, &amp;quot;normal&amp;quot; sharpening and line darkening with optional temporal stabilization of these edges. Part of [[AnimeIVTC]]. See [http://forum.doom9.org/showthread.php?t=138305] and [http://forum.doom9.org/showthread.php?t=140031]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| thetoof&lt;br /&gt;
|-&lt;br /&gt;
| TIsophote&lt;br /&gt;
| A level-set (isophote) smoothing filter, see [http://web.missouri.edu/~kes25c/]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/TIsophotev091.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Chroma correction ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [{{N2Archived}}/trbarry/Readme_BT709ToBT601.txt BT709ToBT601]&lt;br /&gt;
| Convert from BT.709 (HDTV) to BT.601 (SDTV) colorimetry.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [{{N2Archived}}/trbarry/BT709ToBT601.zip Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
|caf&lt;br /&gt;
|Chromatic Aberration Fixer.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://pastebin.com/raw.php?i=Mt2M4CBB Script]&lt;br /&gt;
| Torchlight&lt;br /&gt;
|-&lt;br /&gt;
| [[ChromaShift]]&lt;br /&gt;
| This filter will shift the chrominance information by an even number of pixels, in either horizontal direction. It can also apply an overall vertical shift of the total chrominance information, up or down. It is primarily intended to correct improper colour registration. See [http://forum.doom9.org/showthread.php?t=33302 discussion.]&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB32]]&lt;br /&gt;
| [http://web.archive.org/web/20091026153334/http://www.geocities.com/siwalters_uk/chromashift27.zip Plugin]&lt;br /&gt;
| {{Author/Simon Walters}}&lt;br /&gt;
|-&lt;br /&gt;
| ChromaShiftSP&lt;br /&gt;
| This script can shift chroma in all directions with subpixel accuracy.&lt;br /&gt;
| &lt;br /&gt;
| [http://avisynth.nl/images/ChromaShiftSP.avsi Script]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ColorMatrix&lt;br /&gt;
| ColorMatrix corrects the colors of MPEG-2 streams. More correctly, many MPEG-2 streams use slightly different coefficients (called Rec.709) for storing the color information than AviSynth's color conversion routines or the XviD/DivX decoders (called Rec.601) do, with the result that DivX/XviD clips or MPEG-2 clips encoded by TMPGEnc/QuEnc are displayed with slighty off colors. This can be checked by opening the MPEG-2 stream directly in VDubMod. See [http://forum.doom9.org/showthread.php?t=82217 discussion].&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/ColorMatrixv25.zip Plugin]&lt;br /&gt;
| {{Author/Wilbert Dijkhof}}&lt;br /&gt;
{{Author/tritical}} (v2.0+)&lt;br /&gt;
|-&lt;br /&gt;
| [[FixChromaBleeding]]&lt;br /&gt;
| Fixes area of chroma bleeding by shifting the chroma and lowering the saturation in the affected areas.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20091026141730/http://www.geocities.com/alex_j_jordan/chroma.txt Script]&lt;br /&gt;
| {{Author/Alex Jordan}}&lt;br /&gt;
|-&lt;br /&gt;
| [[FixChromaBleedingMod]]&lt;br /&gt;
| Fixes area of chroma bleeding by shifting the chroma and lowering the saturation in the affected areas. See [http://forum.doom9.org/showthread.php?p=1673932#post1673932 discussion]&lt;br /&gt;
| [[YV12]], [[YUY2]], [[YV411]]&lt;br /&gt;
| [http://pastebin.com/raw.php?i=gbmD61RF Script]&lt;br /&gt;
| AmjadSONY&lt;br /&gt;
|-&lt;br /&gt;
| [[FixChromaticAberration]]&lt;br /&gt;
| FixChromaticAberration resizes (and crops) the red/green/blue channels of the image separately. This helps to minimize the colored edges next to the image corners that result from lenses with chromatic aberration. See [http://forum.doom9.org/showthread.php?p=1520786#post1520786 discussion.]&lt;br /&gt;
| [[RGB24]]&lt;br /&gt;
| [http://avisynth.nl/index.php/FixChromaticAberration Script]&lt;br /&gt;
| Martin Wagener&lt;br /&gt;
|-&lt;br /&gt;
| [[MoveChroma]]&lt;br /&gt;
| MoveChroma is a simple filter combination that helps in moving chroma back, if it has been displaced.&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[ReInterpolate411]]&lt;br /&gt;
| This is a fast simple filter to correct the improper 4:1:1 =&amp;gt; 4:2:2 conversion that seems to occur with some DV/4:1:1 codes when used with Avisynth. It assumes the odd chroma pixels are duplicates and discards them replacing them with the average of the two horizontally adjacent even chroma pixels. It doesn't matter whether the clip is interlaced though it must be in YUY2 format for Avisynth 2.5. There are no parameters, and currently no readme file.&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [{{N2Archived}}/trbarry/ReInterpolate411.zip Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.avisynth.nl/users/fizick/reinterpolate420/reinterpolate420.html ReInterpolate420]&lt;br /&gt;
| Usually, DV decoders upsample PAL DV (which is YV12) to YUY2 using point sampling. This plugin reinterpolates the original chroma samples.&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://www.avisynth.nl/users/fizick/reinterpolate420/reinterpolate420_v3.zip Plugin]&lt;br /&gt;
|  {{Author/Wilbert Dijkhof}}&lt;br /&gt;
{{Author/Fizick}} (v3)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Debanding ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| AdaptDBMC&lt;br /&gt;
| Luma / Fade / Blue adaptive debanding script. &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.nmm-hd.org/newbbs/viewtopic.php?f=7&amp;amp;t=512 Script]&lt;br /&gt;
| {{Author/06_taro}}&lt;br /&gt;
|-&lt;br /&gt;
| [[GradFun2db]]&lt;br /&gt;
| A simple and fast debanding filter. See Wikipedia: [http://en.wikipedia.org/wiki/Color_banding Color Banding]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://manao4.free.fr/gradfun2db-v1.0.zip Plugin]&lt;br /&gt;
| Prunedtree&lt;br /&gt;
|-&lt;br /&gt;
| GradFunkMirror&lt;br /&gt;
| Script that fixes GradFun2DB's bug that leaves the first 16 pixels on every border unprocessed. Needs [[GradFun2db]]!&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://avisynth.nl/images/GradFunkMirror.avsi Script]&lt;br /&gt;
| Alain2, MugFunky&lt;br /&gt;
|-&lt;br /&gt;
| [[GradFun2DBmod]]&lt;br /&gt;
| An advanced debanding script based on GradFun2DB.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=144537 Script]&lt;br /&gt;
| {{Author/LaTo}}&lt;br /&gt;
|-&lt;br /&gt;
| GradFun3&lt;br /&gt;
| This debanding script, part of the [[External_filters#Deepcolor_Filters|Dither]] package, has several gradient smoothing algorithms, including a bilateral filter. It uses an ordered dithering, which has a good resilience to lossy compression.&lt;br /&gt;
| [[YV12]], [[YV16]], [[YV24]], [[Y8]], [[YV411]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1386559&amp;amp;postcount=3 Script]&lt;br /&gt;
| {{Author/cretindesalpes}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://f3kdb.readthedocs.org/en/latest/ flash3kyuu_deband]&lt;br /&gt;
| Fast debanding plugin ported from AviUtl.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[YV16]], [[YV24]], [[Y8]], [[YV411]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=161411 Plugin]&lt;br /&gt;
| SAPikachu&lt;br /&gt;
|-&lt;br /&gt;
| LumaDB&lt;br /&gt;
| Fast 8-bit debanding filter with luma-adaptive grain and mask. Used to process luma only. See [http://www.nmm-hd.org/newbbs/viewtopic.php?f=7&amp;amp;t=668 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.nmm-hd.org/upload/get~3YK_B5TfcyI/LumaDB-0.7.rar Script]&lt;br /&gt;
| {{Author/06_taro}}&lt;br /&gt;
|-&lt;br /&gt;
| LumaDBL&lt;br /&gt;
| Fast 16-bit debanding filter with luma-adaptive grain and mask. Used to process luma only. Works in 16-bit internally and can also input/output 16-bit. See [http://www.nmm-hd.org/newbbs/viewtopic.php?f=7&amp;amp;t=668 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.nmm-hd.org/upload/get~mQYIS9H6Qas/LumaDBL-0.7.rar Script]&lt;br /&gt;
| {{Author/06_taro}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Deblocking ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| BlockKiller&lt;br /&gt;
| Deblocking filter, see [http://forum.doom9.org/showthread.php?p=1410479#post1410479 discussion].&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1410479&amp;amp;postcount=19 Script]&lt;br /&gt;
| Jawed&lt;br /&gt;
|-&lt;br /&gt;
| BlockTerminator&lt;br /&gt;
| Deblocking filter, see [http://forum.doom9.org/showthread.php?p=831936#post831936 discussion.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=831936&amp;amp;postcount=24 Script]&lt;br /&gt;
| foxyshadis&lt;br /&gt;
|-&lt;br /&gt;
| [[DeBlock]]&lt;br /&gt;
| Deblocking filter,  see [http://forum.doom9.org/showthread.php?t=110352 discussion,] and [http://github.com/tp7/Deblock updated version] for AviSynth 2.6. DGDecode uses [{{N2Moved}}/dgmpgdec/DGDecodeManual.html#DeBlock DeBlock.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/index.php/DeBlock Plugin]&lt;br /&gt;
| {{Author/Fizick}} / {{Author/Manao}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Deblock_QED]]&lt;br /&gt;
| &amp;quot;A postprocessed Deblock(): Uses full frequencies of Deblock's changes on block borders, but DCT-lowpassed changes on block interiours.&amp;quot; [http://forum.doom9.org/showpost.php?p=913365&amp;amp;postcount=4 Didée]. See [http://forum.doom9.org/showthread.php?p=944459 discussion.] For updated Deblock QED see this [http://forum.doom9.org/showthread.php?t=154777 discussion]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/Deblock_QED_MT2Mod.avsi Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[FunkyDeBlock]]&lt;br /&gt;
| Deblocking script based on BlindPP and high/low pass separation. See [http://forum.doom9.org/showthread.php?t=72431 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| Mug Funky&lt;br /&gt;
|-&lt;br /&gt;
| [http://home.arcor.de/kassandro/MDeblock/MDeblock.htm MDeblock]&lt;br /&gt;
| Plugin for removing block artifacts, see [http://home.arcor.de/kassandro/MDeblock/MDeblock.htm homepage.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://home.arcor.de/kassandro/MDeblock/MDeblock.zip Plugin]&lt;br /&gt;
| {{Author/kassandro}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.funknmary.de/bergdichter/projekte/video/SmoothD/ SmoothD]&lt;br /&gt;
| Filter to deblock frames while keeping high frequency detail. See [http://forum.doom9.org/showthread.php?s=&amp;amp;postid=566064 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.funknmary.de/bergdichter/projekte/video/SmoothD Plugin]&lt;br /&gt;
| Tobias Bergmann&lt;br /&gt;
|-&lt;br /&gt;
| [http://sites.google.com/site/jconklin754smoothd2/home SmoothD2]&lt;br /&gt;
| Deblocking filter.  Rewrite of SmoothD. Faster, better detail preservation, optional chroma deblocking. See [http://forum.doom9.org/showthread.php?t=164800 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://sites.google.com/site/jconklin754smoothd2/download Plugin]&lt;br /&gt;
| Jim Conklin&lt;br /&gt;
|-&lt;br /&gt;
| SmoothDeblock3&lt;br /&gt;
| Slow and complex, but produces very good results - especially on severely blocky sources - in a similar manner to TempGaussMC and QTGMC. See [http://forum.doom9.org/showthread.php?t=111526 discussion] and an [http://forum.doom9.org/showthread.php?p=945261#post945261 overall comment].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1553458#post1553458 Script]&lt;br /&gt;
| redfordxx&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dehaloing ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[abcxyz]]&lt;br /&gt;
| Filter to remove halos. See [http://forum.doom9.org/showthread.php?t=144982 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[Media:abcxyz_MT2.avsi|Script]]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[BlindDeHalo3]]&lt;br /&gt;
| Filter to remove edge enhancement artefacts. See [http://forum.doom9.org/showthread.php?p=622289#post622289 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/attachment.php?attachmentid=5599&amp;amp;d=1143030001 Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DeHalo_alpha]]&lt;br /&gt;
| Very powerful filter to remove edge enhancement artefacts. See [http://forum.doom9.org/showthread.php?p=777956#post777956 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/Dehalo_alpha_mt.avsi Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
|DeHaloHmod&lt;br /&gt;
| Another halo reducer, it includes lots of options to tweak for best performance. See [http://forum.doom9.org/showthread.php?p=1675762#post1675762 discussion]&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
| [http://pastebin.com/raw.php?i=GhVpsids Script]&lt;br /&gt;
|AmjadSONY&lt;br /&gt;
|-&lt;br /&gt;
| Mask_DHA&lt;br /&gt;
| A combination of the best of DeHalo_alpha and BlindDeHalo3, plus a few minor tweaks to the masking. See [http://forum.doom9.org/showthread.php?t=148498 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| 'Orum&lt;br /&gt;
|-&lt;br /&gt;
| [[YAHR]]&lt;br /&gt;
| Basic filter with no variables to remove edge enhancement artefacts. See [http://forum.doom9.org/showthread.php?p=1205653#post1205653]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/YAHR.avsi Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| YAHRmod&lt;br /&gt;
| Basic filter used to reduce halos in modern DVD and other cases.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://pastebin.com/raw.php?i=dNhUDbca Script]&lt;br /&gt;
| AmjadSONY&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Deringing &amp;amp; Mosquito Noise ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[aWarpSharpDering]]&lt;br /&gt;
| Tries to clean up slight ringing around edges by heavily AWarpSharp-ing the image and then applying it only to the areas where the difference is small enough so detail isn't destroyed.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| [http://leak.no-ip.org/AviSynth/ Leak]&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=636297#post636297 BlindDeRing]&lt;br /&gt;
| Deringing filter.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://chaosking.de/wp-content/uploads/avsfilters/Restoration_Filters/Deringing/BlindDeRing___(2005).7z Plugin]&lt;br /&gt;
| krieger2005&lt;br /&gt;
|-&lt;br /&gt;
| [[EdgeCleaner]]&lt;br /&gt;
| A simple edge cleaning and weak dehaloing function. See [http://forum.doom9.org/showthread.php?t=164592 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1568521&amp;amp;postcount=13 Script]&lt;br /&gt;
| [http://forum.doom9.org/member.php?u=80518 canuckerfan]&lt;br /&gt;
|-&lt;br /&gt;
| [[HQDering]]&lt;br /&gt;
| Applies deringing by using a smart smoother near edges (where ringing occurs) only. See [http://forum.doom9.org/showthread.php?p=1043583#post1043583 here] and [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=67532 here] for details.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=793930#post793930 Script]&lt;br /&gt;
| {{Author/mf}}&lt;br /&gt;
|-&lt;br /&gt;
| [[HQDering mod]]&lt;br /&gt;
| Applies deringing by using a smart smoother near edges (where ringing occurs) only.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://nmm.me/y8 Script]&lt;br /&gt;
| [http://www.nmm-hd.org/newbbs/memberlist.php?mode=viewprofile&amp;amp;u=479&amp;amp;sid=ff62d0f6c22fcfdbe97b53c8351429bc mawen1250]&lt;br /&gt;
|-&lt;br /&gt;
| [[LazyDering]]&lt;br /&gt;
| Tries to clean up slight ringing around edges by applying [[aWarpSharp2]] only to areas where the difference is small enough so detail isn't destroyed.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://anime-addict.ani-x.com/files/avisynth/scripts/LazyDering_v0.1.avsi Script]&lt;br /&gt;
| [http://leak.no-ip.org/AviSynth/ Leak], RazorbladeByte&lt;br /&gt;
|-&lt;br /&gt;
| [[MosquitoNR]]&lt;br /&gt;
| A noise reduction filter designed for mosquito noise, which is often caused by lossy compression.&lt;br /&gt;
| [[Y8]], [[YV411]], [[YV12]], [[YV16]], [[YV24]], [[YUY2]]&lt;br /&gt;
| [http://web.archive.org/web/20131028144351/http://www.geocities.jp/w_bean17/files/mosquito_nr_avisynth.zip Plugin]&lt;br /&gt;
| {{Author/b_inary}}&lt;br /&gt;
|-&lt;br /&gt;
|ungibbs&lt;br /&gt;
|ungibbs, a gibbs artifact remover.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=134502 Script]&lt;br /&gt;
|*.mp4 guy&lt;br /&gt;
|-&lt;br /&gt;
|WarpDeRing&lt;br /&gt;
|Uses aWarpSharp2's flattening to clean out ringing/smaller halos, then runs some masks to preserve the edges and avoid the thinning.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://pastebin.com/raw.php?i=ZXdX787H Script]&lt;br /&gt;
|mirkosp&lt;br /&gt;
|-&lt;br /&gt;
|WarpDeRing_faster&lt;br /&gt;
|Same as WarpDeRing but may be a bit faster.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://web.archive.org/web/20131123001006/http://pastebin.com/y5xnHUuv Script]&lt;br /&gt;
|mirkosp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Deinterlacing ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| Area&lt;br /&gt;
| A port of Gunnar Thalin's VirtualDub filter &amp;quot;Deinterlace - area based&amp;quot; to AviSynth.&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/area_5F25_dll_20030217.zip Plugin]&lt;br /&gt;
| {{Author/Donald Graft}} // {{Author/Gunnar Thalin}}&lt;br /&gt;
|-&lt;br /&gt;
| BlendBob&lt;br /&gt;
| Filter designed for use after a smart bob; blends every other frame with the closest matching neighbouring frame. See [http://forum.doom9.org/showthread.php?threadid=80289 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://leak.no-ip.org/AviSynth/BlendBob/ Plugin]&lt;br /&gt;
| {{Author/Leak}}&lt;br /&gt;
|-&lt;br /&gt;
| DGBob&lt;br /&gt;
| This filter splits each field of the source into its own frame and then adaptively creates the missing lines either by interpolating the current field or by using the previous field's data. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=55598 discussion].&lt;br /&gt;
| [[RGB]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [{{N2Moved}}/dgbob/dgbob.html Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Decomb]]&lt;br /&gt;
| The FieldDeinterlace filter provides functionality similar to the postprocessing function of Telecide. You can use it for pure interlaced streams (that is, those not containing telecined progressive frames). The name refers to the fact that field mode differencing is used.&lt;br /&gt;
| [[YUY2]], [[YUY2]]&lt;br /&gt;
| [{{N2Moved}}/decomb/decombnew.html Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [[EEDI2]]&lt;br /&gt;
| EEDI2 resizes an image by 2x in the vertical direction by copying the existing image to 2*y(n) and interpolating the missing field.  It is intended for edge-directed interpolation for deinterlacing (i.e. not really made for resizing a normal image, but can do that as well).&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/EEDI2v092.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[eedi3|EEDI3]]&lt;br /&gt;
| Another edge directed interpolation filter. Works by minimizing a cost functional involving every pixel in a scan line. eedi3 is good for deinterlacing and enlarging images by the powers of 2.&lt;br /&gt;
| [[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://ldesoras.free.fr/src/avs/eedi3-0.9.2.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
|[[FieldHint]]&lt;br /&gt;
|FieldHint combines arbitrary fields from the input clip, and optionally adds Telecide-compatible postprocessing hints.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://akuvian.org/src/avisynth/fieldhint-0.11.zip Plugin]&lt;br /&gt;
|{{Author/akupenguin}}&lt;br /&gt;
|-&lt;br /&gt;
| IBob&lt;br /&gt;
| Interpolating Bob works identically to the Avisynth built-in [[Bob]] filter except that it uses linear interpolation instead of bicubic resizing. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=62142 discussion]. &lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://kevin.atkinson.dhs.org/ibob/ Plugin]&lt;br /&gt;
| {{Author/Kevin Atkinson}}&lt;br /&gt;
|-&lt;br /&gt;
| KernelDeint&lt;br /&gt;
| This filter deinterlaces using a kernel approach. It gives greatly improved vertical resolution in deinterlaced areas compared to simple field discarding. Superceded by [[LeakKernelDeint]], see the description below in this table. &lt;br /&gt;
| [[RGB]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [{{N2Moved}}/kerneldeint/kerneldeint.html Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [[LeakKernelDeint]]&lt;br /&gt;
| This filter deinterlaces using a kernel approach. It gives greatly improved vertical resolution in deinterlaced areas compared to simple field discarding. Compared to KernelDeint, it is low-level optimized (for speed) and provides some useful new functionality. As the original author of KernelDeint() states, LeakKernelDeint() is the preferred version to use.&lt;br /&gt;
| [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://leak.no-ip.org/AviSynth/LeakKernelDeint/LeakKernelDeint_1.5.4.zip Plugin]&lt;br /&gt;
| {{Author/Leak}}&lt;br /&gt;
|-&lt;br /&gt;
| [[nnedi3]]&lt;br /&gt;
| nnedi3 is an intra-field only deinterlacer. It takes in a frame, throws away one field, and then interpolates the missing pixels using only information from the kept field. It also has same rate and double rate modes.&lt;br /&gt;
| [[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/nnedi3.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[nnedi3ocl]]&lt;br /&gt;
| OpenCL rewrite of [[nnedi3]]. See [http://forum.doom9.org/showthread.php?t=169766 discussion].&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://dl.dropboxusercontent.com/s/bmemjsu7jqnlk65/nnedi3ocl_20131208.7z Plugin]&lt;br /&gt;
| SEt&lt;br /&gt;
|-&lt;br /&gt;
| [[QTGMC]]&lt;br /&gt;
| by -Vit- [http://forum.doom9.org/showthread.php?t=156028] A new deinterlacer based on TempGaussMC_beta2. It's faster and has a presets system for speed/quality selection. There are also several new features including progressive support and noise/grain processing. The script also contains extensive comments to better describe the settings and the workings of the TGMC algorithm.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/index.php/QTGMC Script]&lt;br /&gt;
| -Vit-&lt;br /&gt;
|-&lt;br /&gt;
| [[SangNom2]]&lt;br /&gt;
| Reimplementation of the old [[SangNom]] plugin. See [http://forum.doom9.org/showthread.php?t=168315 discussion].&lt;br /&gt;
| [[Y8]],[[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://github.com/tp7/SangNom2/releases Plugin]&lt;br /&gt;
| {{Author/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.guthspot.se/video/AVSPorts/SmoothDeinterlacer/ SmoothDeinterlace]&lt;br /&gt;
| This contains an adaptive deinterlacer plugin for (AVISynth). It is based on Gunnar Thalin's [http://www.guthspot.se/video/index.htm#deinterlacesmooth Smooth Deinterlace plugin] for VirtualDub.&lt;br /&gt;
| [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.guthspot.se/video/AVSPorts/SmoothDeinterlacer/AVSSmoothDeinterlacer.zip Plugin]&lt;br /&gt;
| {{Author/Gunnar Thalin}}&lt;br /&gt;
|-&lt;br /&gt;
| TDeint&lt;br /&gt;
| TDeint is a bi-directionally, motion adaptive (sharp) deinterlacer. It can also adaptively choose between using per-field and per-pixel motion adaptivity. It can use cubic interpolation, kernel interpolation (with temporal direction switching), or one of two forms of modified ELA interpolation which help to reduce &amp;quot;jaggy&amp;quot; edges in moving areas where interpolation must be used. TDeint also supports user overrides through an input file, and can act as a smart bobber or same frame rate deinterlacer, as well as an IVTC post-processor. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=82264 discussion].&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/TDeintv11.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TelecideHints]]&lt;br /&gt;
| The filter process the stats file to get the usual progressive matches and identify VFR sections.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://mod16.org/fansub/Telecidehints11.rar Plugin]&lt;br /&gt;
| {{Author/Myrsloik}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TempGaussMC]]&lt;br /&gt;
| Motion-compensated bob deinterlacer, based on temporal gaussian blurring. reduces noise/grain of the source and does NOT leave the original fields unchanged. Output is rich with details and very stable. Is SLOW&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/index.php/TempGaussMC Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Yadif]]&lt;br /&gt;
| Port of YADIF (Yet Another DeInterlacing Filter) from MPlayer by Michael Niedermayer (http://www.mplayerhq.hu). It check pixels of previous, current and next frames to re-create the missed field by some local adaptive method (edge-directed interpolation) and uses spatial check to prevent most artifacts.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://avisynth.org.ru/yadif/yadif.html Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [[yadifmod]]&lt;br /&gt;
| Modified version of Fizick's avisynth filter port of yadif from mplayer. This version doesn't internally generate spatial predictions, but takes them from an external clip. It also is not an Avisynth_C plugin (just a normal one).&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/yadifmod_v1.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Fieldblending and Frameblending removal ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[c_deblend]] superseded by [[srestore]]&lt;br /&gt;
| Cdeblend is a simple blend replacing function like unblend or removeblend.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| MOmonster&lt;br /&gt;
|-&lt;br /&gt;
| [[Cdeint]]&lt;br /&gt;
| Restores 24fps FILM out of a fieldblended FILM -&amp;gt; Telecine -&amp;gt; NTSC -&amp;gt; Blendconversion -&amp;gt; PAL - Video (alternative for Restore24).&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| MOmonster&lt;br /&gt;
|-&lt;br /&gt;
| [[Deblend]]&lt;br /&gt;
| See [http://forum.doom9.org/showthread.php?p=760375#post760375 discussion].&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
| actionman133&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=157337 ExBlend]&lt;br /&gt;
| ExBlend is a plugin to repair damage caused by blend deinterlacing of telecined clips, which results in a double blend, every five frames, GGGBBGGGBBGGGBB etc where 'G' is good and 'B' is blend. See [http://forum.doom9.org/showthread.php?t=157337 discussion]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://www.mediafire.com/download/0rxe3675sfr4w9l/ExBlend_25_dll_20100226.zip Plugin]&lt;br /&gt;
| StainlessS&lt;br /&gt;
|-&lt;br /&gt;
| [[FixBlendIVTC]] superseded by [[srestore]]&lt;br /&gt;
| A blend replacing/frame restoring function for doubleblends caused by blend-deinterlacing of telecined sources.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| MOmonster&lt;br /&gt;
|-&lt;br /&gt;
| [[mrestore]] superseded by [[srestore]]&lt;br /&gt;
| Uses conditional frame evaluation to undo standard conversions with blends.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| MOmonster&lt;br /&gt;
|-&lt;br /&gt;
| [//web.archive.org/web/20061113201230/http://www.bossanovaguitar.com/video/RemoveBlend-0.3.html RemoveBlend]&lt;br /&gt;
| This filter is used to remove blended fields/frames. See [http://forum.doom9.org/showthread.php?t=75772 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [//web.archive.org/web/20061113201230/http://bossanovaguitar.com/video/removeblend-0.3.zip Plugin]&lt;br /&gt;
| {{Author/violao}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Restore24]]&lt;br /&gt;
| Restore24 is an AviSynth filter that is able to do the nearly impossible: Restore 24fps FILM out of a fieldblended FILM -&amp;gt; Telecine -&amp;gt; NTSC -&amp;gt; Blendconversion -&amp;gt; PAL - Video. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=75432 discussion].&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| scharfis_brain&lt;br /&gt;
|-&lt;br /&gt;
| [[RestoreFPS]]&lt;br /&gt;
| RestoreFPS reverses the kind of blending generated by [[ConvertFPS]], restoring original framerate. It will work perfectly well on any regular blend pattern.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://wilbertdijkhof.com/mg262/Restorefps_v10.zip Plugin]&lt;br /&gt;
| {{Author/mg262}}&lt;br /&gt;
|-&lt;br /&gt;
| Specials&lt;br /&gt;
| Helps restore video with blended fields/frames using a reference source. See [http://forum.doom9.org/showthread.php?t=165030 discussion] and much more information [http://horman.net/doctorwho/specials.php here] and [http://forum.doom9.org/showthread.php?t=168832 here].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://horman.net/specials.zip Plugin]&lt;br /&gt;
| {{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
| Unblend&lt;br /&gt;
| Unblend is based on warpenterprise's deblend algorithm and neuron2's decimate code, with YV12 support only. The aim is the same of deblend. See [http://forum.doom9.org/showthread.php?t=55019 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/unblend_5F25_dll_2003.zip Plugin]&lt;br /&gt;
| Bach&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Film Damage correction ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| DeScratch&lt;br /&gt;
| DeScratch removes vertical scratches from films. Also it can be used for removing of horizontal noise lines such as drop-outs from analog VHS captures (after image rotation). &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.org.ru/descratch/descratch.html Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| DeSpot&lt;br /&gt;
| This filter is designed to remove temporal noise in the form of dots (spots) and streaks found in some videos. The filter is also useful for restoration (cleaning) of old telecined 8mm (and other) films from spots (from dust) and some stripes (scratches).&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.org.ru/despot/despot.html Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [[deVCR]]&lt;br /&gt;
| deVCR eliminates (to a certain degree) the annoying horizontal lines that keep crawling around your VHS or Beta recorded video. See discussion [http://forum.videohelp.com/threads/323093-How-to-use-DeVCR-for-Avisynth here] and [http://www.digitalfaq.com/forum/video-restore/2607-tracking-lines-video.html here.]&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
| Ricardo Garcia&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=144271 Film Restoring]&lt;br /&gt;
| A suite of scripts for film restoring.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=144271 Script]&lt;br /&gt;
| videoFred&lt;br /&gt;
|-&lt;br /&gt;
| [[RemoveDirt]]&lt;br /&gt;
| RemoveDirt is a temporal cleaner for AviSynth 2.5x. It has now become an AVS script function, which involves RestoreMotionBlocks and various filters from the [[RemoveGrain]] package.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/index.php/RemoveDirt Plugin]&lt;br /&gt;
| {{Author/kassandro}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Frequency Interference removal ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [http://avisynth.org.ru/defreq/defreq.html DeFreq]&lt;br /&gt;
| Defreq uses Fast Fourier Transform method for frequency selecting an removing. See [http://forum.doom9.org/showthread.php?t=82978 discussion].&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.org.ru/defreq/defreq07.zip Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.nl/users/vcmohan/FanFilter/FanFilter.html FanFilter] &lt;br /&gt;
| Regular vertical frequency interference is filtered in spatial domain.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB32]], [[RGB24]]&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/FanFilter/FanFilter.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== IVTC &amp;amp; Decimation ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[AnimeIVTC]]&lt;br /&gt;
| What it does:&lt;br /&gt;
* High quality adaptative field matching for hard telecine&lt;br /&gt;
* Bob, remove the blends and decimate back to the desired framerate for DHT/field-blended&lt;br /&gt;
* Creating a VFR clip for hybrid sources&lt;br /&gt;
* Bob the interlaced credits, blend-deinterlacing the background while doing minimal damage on the progressive credits, convert their framerate to match the episode's and splice them with it OR leave them @ 30p to create a VFR clip&lt;br /&gt;
* Very good combing removal and anti-aliasing functions&lt;br /&gt;
See [http://forum.doom9.org/showthread.php?t=138305] and See [http://forum.doom9.org/showthread.php?p=1673928] for mod version.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| thetoof&lt;br /&gt;
|-&lt;br /&gt;
| BruteIVTC&lt;br /&gt;
| Some information [http://web.archive.org/web/20141221181254/http://privatepaste.com/download/77d973422b here]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20091214015625/http://mf.creations.nl/avs/filters/BruteIVTC.dll Plugin]&lt;br /&gt;
| {{Author/Marc FD}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=158230 DOCI]&lt;br /&gt;
| Destruction of Chroma Interlacing fixes a problem where you captured pulleddown video in YV12.  In the combed frames, the chroma from two frames has been blended, leading to a ghosting effect when IVTC'd.  This filter reconstructs the chroma exactly and fixes the problem.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=158230 Script]&lt;br /&gt;
| jmac698&lt;br /&gt;
|-&lt;br /&gt;
| FDecimate&lt;br /&gt;
| The FDecimate() filter provides extended decimation capabilities not available from Decimate(). It can remove frames from a clip to achieve the desired frame rate, while retaining audio/video synchronization. It preferentially removes duplicate frames where possible. (&amp;quot;FDecimate&amp;quot; stands for &amp;quot;Free Decimate&amp;quot;, which implies that the output frame rate may be freely chosen, and is not limited to 1-in-N decimation).&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [{{N2Moved}}/fdecimate/fdecimate.html Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| GreedyHMA&lt;br /&gt;
| GreedyHMA is an Avisynth filter that executes DScaler's Greedy/HM algorithm code to perform pulldown matching, filtering, and video deinterlace. It has pretty much been superseded by Donald Graft's [[DeComb]] package. However there may be occasions where it sometimes gives preferable results, especially with some bad [[PAL]] clips.&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [{{N2Archived}}/trbarry/GreedyHMA.zip Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| IT&lt;br /&gt;
| Inverse Telecine&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/it_5F25_dll_20030712.zip Plugin] - [http://sites.google.com/site/avisynth64bitplugin/download/IT_YV12_0103_width8K.zip?attredirects=0&amp;amp;d=1 Update]&lt;br /&gt;
| {{Author/thejam79}} / {{Author/minamina}}&lt;br /&gt;
|-&lt;br /&gt;
| ivtc_txt60mc&lt;br /&gt;
| Deinterlaces telecined footage with that has been overlayed scrolling text at 60i. More information [http://web.archive.org/web/20140420184542/http://doom10.org/index.php?topic=292.msg5499 here] (last post).&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1466105&amp;amp;postcount=4 Script]&lt;br /&gt;
| {{Author/cretindesalpes}} aka Firesledge&lt;br /&gt;
|-&lt;br /&gt;
| MultiDecimate&lt;br /&gt;
| Removes N out of every M frames, taking the frames most similar to their predecessors. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=51901&amp;amp;perpage=20&amp;amp;pagenumber=2 discussion].&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [{{N2Moved}}/multidecimate/multidecimate.html Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| PFR&lt;br /&gt;
| PFR (Progressive Frame Restorer) is an Avisynth filter that attempts to produce progressive frames from a mixed progressive/interlaced/IVTCed source.&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://web.archive.org/web/20091028073306/http://geocities.com/siwalters_uk/pfravs.html Plugin]&lt;br /&gt;
| {{Author/Simon Walters}}&lt;br /&gt;
|-&lt;br /&gt;
| [[ReMatch]]&lt;br /&gt;
| ReMatch is a field matching plugin, specifically for anime.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/rematch_5F25_dll_20050306.zip Plugin]&lt;br /&gt;
| Dan Donovan&lt;br /&gt;
|-&lt;br /&gt;
| RePal&lt;br /&gt;
|  [http://forum.doom9.org/showthread.php?t=48401 Discussion] / [http://forum.doom9.org/showthread.php?p=1092552#post1092552 repal_29.97Hz_mod]&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/repal_5F25_dll_20030523.zip Plugin] - [http://forum.doom9.org/attachment.php?attachmentid=8028&amp;amp;d=1201414683 Mod]&lt;br /&gt;
| Bach&lt;br /&gt;
|-&lt;br /&gt;
| SmartDecimate&lt;br /&gt;
| Smart Decimate removes telecine by combining telecine fields and decimating at the same time, which is different from the traditional approach of matching telecine frames and then removing duplicates. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=60031 discussion].&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.kevina.org/tel/ Plugin]&lt;br /&gt;
| {{Author/Kevin Atkinson}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Decomb]]&lt;br /&gt;
| The Telecide and Decimate filters can be combined to implement IVTC.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [{{N2Moved}}/decomb/decombnew.html Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TIVTC]]&lt;br /&gt;
| A package containing these 7 filters: TFM, TDecimate, MergeHints, FrameDiff, FieldDiff, ShowCombedTIVTC, and RequestLinear. Also contains these 3 conditional functions: IsCombedTIVTC, CFieldDiff, and CFrameDiff. Designed primarily for IVTC operations. [http://forum.doom9.org/showthread.php?t=82264 Discussion]&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/TIVTCv105.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| TPRIVTC&lt;br /&gt;
| TPRIVTC stands for TMPEG InVerse Telecine, i.e. the process where an 29.97fps interlaced NTSC clip is converted to 23.976fps while removing interlaced frames. [http://web.archive.org/web/20030808191810/http://kurosu.inforezo.org/avs/TPRIVTC/index.html Readme]&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/tprivtc_5F25_dll_20040930.zip Plugin]&lt;br /&gt;
| daxab, {{Author/Kurosu}}&lt;br /&gt;
|-&lt;br /&gt;
| UnComb&lt;br /&gt;
| Filter for matching up even and odd fields of properly telecined NTSC or PAL film source video. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=52333 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [{{N2Archived}}/trbarry/UnComb.zip Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=167875 WeaveMan]&lt;br /&gt;
| Remove arbitrary pulldown patterns manually; meant for perfectionists to undo non-standard 24-&amp;gt;25 fps, 25-&amp;gt;29.97 fps, etc. telecine conversions, along with other weird telecine anomalies created by broadcasters speeding up film-sourced content. See sample case [http://forum.doom9.org/showthread.php?p=1630931&amp;amp;highlight=weaveman#post1630931 here].&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://chidragon.thedessie.com/Doom9/WeaveMan-v0.2.zip Plugin]&lt;br /&gt;
| ChiDragon&lt;br /&gt;
|-&lt;br /&gt;
| [[IvtcBlend]]&lt;br /&gt;
| Waka demonstrated an IvtcBlend function that uses the information in the &amp;quot;extra&amp;quot; fields of a telecined source to help combat temporal noise.&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Ghost Removal ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| FixVHSOversharp&lt;br /&gt;
| FixVHSOversharp attempts to repair the light and dark halos that follow high contrast edges found in VHS sources. See [http://www.videohelp.eu/forum/avisynth/2851-avisynth-fixvhsoversharp-beta.html discussion.] &lt;br /&gt;
| | [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20091026142456/http://www.geocities.com/mrtibsvideo/fixvhsoversharp.html Plugin]&lt;br /&gt;
| [http://web.archive.org/web/20091027001215/http://geocities.com/mrtibsvideo/ MrTibs]&lt;br /&gt;
|-&lt;br /&gt;
| GhostBuster&lt;br /&gt;
| Ghostbuster is an Avisynth filter for removing &amp;quot;ghosts&amp;quot; from a clip. A ghost in this context is a faint copy of the picture offset horizontally. It works by either subtracting or adding the image from itself at the specified offset. With some tweaking the result, while not perfect, can be very pleasing. See discussion [http://forum.doom9.org/showthread.php?t=35339 here] and [http://www.videohelp.eu/forum/avisynth/14691-ghostbuster-filter-avisynth.html here.]&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://forum.doom9.org/attachment.php?attachmentid=12721&amp;amp;d=1330678606 Plugin]&lt;br /&gt;
| [http://www.videohelp.eu/forum/avisynth/14679-sansgrips-avisynth-filters.html SansGrip]&lt;br /&gt;
|-&lt;br /&gt;
| LGhost&lt;br /&gt;
| Plugin intended for ghost removal but can also reduce edge (ringing) artifacts. See [http://forum.doom9.org/showthread.php?p=1176552#post1176552 discussion.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://nullinfo.s21.xrea.com/data/LGhost0301.zip Plugin]&lt;br /&gt;
| {{Author/minamina}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Logo Removal ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[DeKafka]]&lt;br /&gt;
| This fairly simple filter washes away those annoying bugs from broadcast clips.&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| DeLogo&lt;br /&gt;
| DeLogo Filter for VirtualDub. Removes static elements, e.g. logos or watermarks, from the video stream. It can remove either opaque elements or alpha blended, the latter even without destroying the picture beneath. &lt;br /&gt;
| &lt;br /&gt;
| [{{N2Moved}}/delogo132/delogo.html Plugin] &amp;amp; [http://forum.doom9.org/showthread.php?t=119447 Script]&lt;br /&gt;
| Karel Suhajda&lt;br /&gt;
|-&lt;br /&gt;
| [[InpaintFunc]]&lt;br /&gt;
| Script for logo removal using inpainting. Can remove alpha blended or opaque logos with a basic postprocessing to hide artifacts.&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| Reuf Toc&lt;br /&gt;
|-&lt;br /&gt;
| [[rm_logo]]&lt;br /&gt;
| Combination of deblending and inpainting to remove logos with adjustable postprocessing to further hide artifacts. See [http://forum.doom9.org/showthread.php?t=134919]&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| Spuds &lt;br /&gt;
|-&lt;br /&gt;
| X-Logo&lt;br /&gt;
| X-Logo Avisynth plugin and Virtualdub filter. Removes opaque logos.&lt;br /&gt;
| &lt;br /&gt;
| [http://www.marzocchi.net/Olafsen/pmwiki/pmwiki.php/Software/X-Logo Plugin]&lt;br /&gt;
| Leuf&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Luma Equalization ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[Antiflicker]]&lt;br /&gt;
| &amp;quot;A quick-and-dirty port of my VirtualDub filter (which sucks, by the way; it was one of my first filters).&amp;quot; &lt;br /&gt;
See [http://forum.doom9.org/showthread.php?p=224573#post224573 discussion.]&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/antiflicker_5F25_dll_20030304.zip Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/deflicker/deflicker.html DeFlicker]&lt;br /&gt;
| Can remove old film intensity flicker by temporal mean luma smoothing. Can also correct blinding of automatic gain control after flashes.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.org.ru/deflicker/deflicker04.zip Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1326599#post1326599 Dumb Deflicker]&lt;br /&gt;
| Gathers average luma of frames, smoothens that with TemporalSoften, and applies the obtained difference to the original input.  It is pretty simple, read &amp;quot;dumb&amp;quot;. See [http://forum.doom9.org/showthread.php?p=1326599#post1326599 discussion]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1326599#post1326599 Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/equlines/equlines.html EquLines]&lt;br /&gt;
| Equalizes total luminosity in pairs of even and odd lines. Useful for removing inter-line differences from telecined films.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.org.ru/equlines/equlines03.zip Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://akuvian.org/src/avisynth/flicker/lmflicker.txt LMFlicker]&lt;br /&gt;
| LMFlicker is intended to reduce flickering in some film/VHS transfers. FieldFade is a similar concept, but applied on a per-field basis, to reduce combing in a video where fades were applied after telecine.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://akuvian.org/src/avisynth/flicker/ Plugin]&lt;br /&gt;
| {{Author/akupenguin}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=159493 Local Deflicker]&lt;br /&gt;
| Deflickers only part of a frame. See [http://forum.doom9.org/showthread.php?t=159493 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=159493 Script]&lt;br /&gt;
| prokhozhijj&lt;br /&gt;
|-&lt;br /&gt;
| [[ReduceFlicker]]&lt;br /&gt;
| Reduces temporal oscillations in clips; should be applied before deinterlacing. Contains ReduceFlicker, ReduceFluctuations, and LockClense. See [http://videoprocessing.11.forumer.com/viewtopic.php?t=24 discussion.] &lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/index.php/ReduceFlicker Plugin]&lt;br /&gt;
| {{Author/kassandro}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.zhitenev.com/avisynth/TimeLapseDF/ TimeLapseDF]&lt;br /&gt;
| Designed to remove luminosity flicker in time lapse photography. Unlike most other flicker removal filters, utilizes cumulative distribution function in addition to average frame luminosity. See [http://timescapes.org/phpBB3/viewtopic.php?f=8&amp;amp;t=2410 discussion.] &lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://www.zhitenev.com/avisynth/TimeLapseDF/TimeLapseDF.dll 32-Bit Plugin]&lt;br /&gt;
| {{Author/Denis Zhitenev}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Vinverse]]&lt;br /&gt;
| A simple but effective plugin to remove residual combing.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://github.com/tp7/vinverse/releases Plugin]&lt;br /&gt;
| {{Author/Didée}}, {{Author/tritical}}, {{Author/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=106898 wdeflicker]&lt;br /&gt;
| Modifies luma of a source clip by refering to a temporally super-smoothed clip. Heights of source and reference clips must match. &lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://forum.doom9.org/attachment.php?attachmentid=5417&amp;amp;d=1139174468 Plugin]&lt;br /&gt;
| Osmiridium&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Rainbow &amp;amp; Dot Crawl Removal ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[Bifrost]]&lt;br /&gt;
| Bifrost uses temporal blending to remove or at least reduce the effect of rainbows.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://github.com/dubhater/vapoursynth-bifrost/releases/download/v2.0-avs/avisynth-bifrost-v2.0.7z Plugin]&lt;br /&gt;
| {{Author/Myrsloik}}, dubhater&lt;br /&gt;
|-&lt;br /&gt;
| [[CC]]&lt;br /&gt;
| Dot crawl and rainbow removal.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://www.chiyoclone.net/dl/cc_20040522.lzh Plugin]&lt;br /&gt;
| {{Author/chiyo-clone}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Checkmate]]&lt;br /&gt;
| Spatial-temporal dot crawl removal. See [http://github.com/tp7/checkmate Checkmate for AviSynth 2.6].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/index.php/Checkmate Plugin]&lt;br /&gt;
| {{Author/mf}} / prunedtree&lt;br /&gt;
|-&lt;br /&gt;
| [[ChubbyRain]]&lt;br /&gt;
| Spatial-temporal rainbow reducing script.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/ChubbyRain.avsi Script]&lt;br /&gt;
| Mug Funky&lt;br /&gt;
|-&lt;br /&gt;
| [[ChubbyRain2]]&lt;br /&gt;
| Spatial-temporal rainbow reducing script based on [[ChubbyRain]].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/ChubbyRain2.avsi Script]&lt;br /&gt;
| Lothar&lt;br /&gt;
|-&lt;br /&gt;
| [[DeCrawl]]&lt;br /&gt;
| Spatial and temporal dot crawl removal, particularly for animated material.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/decrawl_20060924.zip Plugin]&lt;br /&gt;
| Dan Donovan&lt;br /&gt;
|-&lt;br /&gt;
| [[DeCross]]&lt;br /&gt;
| Cross Color Reduction. Also known as rainbows.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://nullinfo.s21.xrea.com/data/DeCross0002.zip Plugin]&lt;br /&gt;
| {{Author/minamina}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DeDot]]&lt;br /&gt;
| Removes dot crawl and may also be useful for rainbows.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://nullinfo.s21.xrea.com/data/DeDot_YV12_0002.zip Plugin]&lt;br /&gt;
| {{Author/thejam79}} / {{Author/minamina}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DeRainbow]]&lt;br /&gt;
| A simple script to reduce rainbows. See [http://forum.doom9.org/showthread.php?p=398106#post398106 discussion.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/images/DeRainbow.avsi Script]&lt;br /&gt;
| sh0dan&lt;br /&gt;
|-&lt;br /&gt;
| [[DFMDeRainbow]]&lt;br /&gt;
| Creates mask to process only edges; rainbows are removed by hitting chroma planes with two passes of FluxSmooth (hence &amp;quot;Double-Flux-Mask&amp;quot;).&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/DFMDeRainbow-20140223.avsi Script]&lt;br /&gt;
| {{Author/Scintilla}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/docs/english/externalfilters/guavacomb.htm GuavaComb]&lt;br /&gt;
| Removes dot crawl, rainbows, and some kinds of shimmering. See [http://forum.doom9.org/showthread.php?t=37456 discussion]&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/guavacomb_5F25_dll_20030801.zip Plugin]&lt;br /&gt;
| {{Author/Lindsey Dubb}}&lt;br /&gt;
|-&lt;br /&gt;
| [[LUTDeCrawl]]&lt;br /&gt;
| Purely spatial; only targets pixels for dot crawl removal if luma is fluctuating and (optionally) chroma is not.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20140421001939/http://www.aquilinestudios.org/scripts/LUTDeCrawl-20081003.avsi Script]&lt;br /&gt;
| {{Author/Scintilla}}&lt;br /&gt;
|-&lt;br /&gt;
| [[LUTDeRainbow]]&lt;br /&gt;
| Purely spatial; only targets pixels for derainbowing if chroma is fluctuating and (optionally) luma is not.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20140421001939/http://www.aquilinestudios.org/scripts/LUTDeRainbow-20081003.avsi Script]&lt;br /&gt;
| {{Author/Scintilla}}&lt;br /&gt;
|-&lt;br /&gt;
| [[mfRainbow]]&lt;br /&gt;
| Derainbows in areas of high Y, U and V frequencies, which fluctuate heavily.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/MfRainbow-v0.32.avsi Script]&lt;br /&gt;
| {{Author/mf}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Rainbow_Smooth]]&lt;br /&gt;
| A small spatial derainbow function. It uses [[SmoothUV]] to smooth out chroma and edge masking to prevent color bleeding.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/Rainbow_smooth.avsi Script]&lt;br /&gt;
| MOmonster&lt;br /&gt;
|-&lt;br /&gt;
| [[SmartSSIQ]]&lt;br /&gt;
| SSIQ can alter the color on the entire picture. So this script first applies SSIQ to the entire picture. Then it locates the edges. Finally, it layers ONLY the de-rainbowed edges onto the original video.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/SmartSSIQ.avsi Script]&lt;br /&gt;
| LB&lt;br /&gt;
|-&lt;br /&gt;
| [[SSIQ]]&lt;br /&gt;
| Rainbow remover. A port of the VirtualDub plugin [http://www.doki.ca/filters/ Smart Smoother IQ.]&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB32]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/ssiq_20070304.zip Plugin]&lt;br /&gt;
| {{Author/Myrsloik}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TComb]]&lt;br /&gt;
| A temporal comb filter (it reduces cross-luminance (rainbowing) and cross-chrominance (dot crawl) artifacts in static areas of the picture).&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://web.missouri.edu/~kes25c/TCombv2B2.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[YARK]]&lt;br /&gt;
| Yet Another Rainbow Killer. Based on mfRainbow v0.31, chubbyrain2, and various other scripts shown [http://forum.doom9.org/showthread.php?t=141165 here].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://pastebin.com/sfDZ00rx Script]&lt;br /&gt;
| jase99&lt;br /&gt;
|-&lt;br /&gt;
| [[ASTDR]] / [[ASTDRmc]]&lt;br /&gt;
| ASTDR uses mt_motion for motion and edge to deal with moving Rainbow and apply mask once more in the opposite way to keep around the lines as they are, it use DeCross and other filters to remove Rainbow. ASTDRmc To avoid chroma bleeding in moving scenes. More [http://forum.doom9.org/showpost.php?p=1665492&amp;amp;postcount=27 See]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://pastebin.com/UfKWfb8Z Script]&lt;br /&gt;
| AmjadSONY&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Stabilization ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[DePan]]&lt;br /&gt;
| Tools for estimation and compensation of global motion (pan) .See [http://avisynth.org.ru/depan/depan.html]&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://avisynth.org.ru/depan/depan.html Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=171051 Deshaker3D]&lt;br /&gt;
| Experimental 3D image stabiliser (VDub [http://www.guthspot.se/video/deshaker.htm Deshaker] required).&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=171051 Plugin]&lt;br /&gt;
| {{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Stab]]&lt;br /&gt;
| Simple but powerful script to remove small high frequency jitter that appears often on old/bad transfers. See [http://forum.doom9.org/showthread.php?p=1222830#post1222830]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/Stab.avsi Script]&lt;br /&gt;
| g-force&lt;br /&gt;
|-&lt;br /&gt;
| [http://code.google.com/p/avisynthrestoration/wiki/TBC TBC]&lt;br /&gt;
| Stabilizes horizontal jitter in video from analog VCRs, similar to the function of a Time Base Corrector.(note: will cause SEt's Avisynth 2.6 MT to stop working)&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://code.google.com/p/avisynthrestoration/downloads/list Script]&lt;br /&gt;
| halifaxgeorge&lt;br /&gt;
|-&lt;br /&gt;
| [[CelStabilize]]&lt;br /&gt;
| Script which holds a fixed background steady.  Doesn't work well with pans or fades.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| mg262&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Denoisers ==&lt;br /&gt;
Strength/Quality of Denoisers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(need subclassification)&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[AdaptiveMedian]]&lt;br /&gt;
| This is an adaptive Median Filter for eliminating certain types of noise. It uses local statistics (minimum, maximum and median values) of a moving local grid, and changes grid size depending on local statistics.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[Y8]], [[YUY2]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://avisynth.nl/index.php/AdaptiveMedian Plugin]&lt;br /&gt;
|{{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| Atc&lt;br /&gt;
| Alternate Temporal Cleaner; a fast temporal cleaner with some cool stuff.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://ziquash.chez-alice.fr/atc%20beta%201.zip Plugin]&lt;br /&gt;
| {{Author/Marc FD}}&lt;br /&gt;
|-&lt;br /&gt;
| ColourizeSmooth&lt;br /&gt;
| ColourizeSmooth uses a general colourizing algorithm to smooth a given clip. ColourizeSmooth is based on this [http://www.cs.huji.ac.il/~yweiss/Colorization algorithm.] See [http://forum.doom9.org/showthread.php?t=91344 discussion]&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/colourizesmooth_5F25_dll_20050429.zip Plugin]&lt;br /&gt;
| insanedesio&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.kevina.org/temporal_median/ ConditionalTemporalMedian]&lt;br /&gt;
|This filter is designed to remove temporal noise in the form of small dots and streaks found in some videos. A common cause of this is dirty VHS heads but I have also seen small black or white streaks in broadcast material. &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.kevina.org/temporal_median/CondTemporalMedian-0.93.zip Plugin]&lt;br /&gt;
| {{Author/Kevin Atkinson}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DeNoise]]&lt;br /&gt;
| This is an adaptive local noise reduction filter. It uses global variance of the noise, local mean and local variance in a moving grid of specified size. It tries to preserve edges as closely as possible. The global variance value can be specified or it can be computed from a window. The global variance can have one value for the entire clip or can vary frame to frame linearly or computed from a window with its coordinates linearly moving with frame numbers.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/index.php/DeNoise Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20071105084352/http://www.geocities.com/fredthompson6/Kiraru2002/Kiraru2002sROOM.htm#dnr2 DNR2]&lt;br /&gt;
| Dynamic Noise Reduction 2 is based on the VirtualDub [http://www.shdon.com/vid/dnr DNR] filter by Steve Don and Avery Lee. &lt;br /&gt;
| [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/dnr2_5F25_dll_20021225.zip Plugin]&lt;br /&gt;
| {{Author/kiraru2002}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DeSaltPepper]]&lt;br /&gt;
| Remove white and black noise.&lt;br /&gt;
| Any&lt;br /&gt;
| [http://avisynth.nl/index.php/DeSaltPepper Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| ExtendedBilateral&lt;br /&gt;
| ExtendedBilateral extends the regular bilateral filtering process by adding an &amp;quot;initial estimation preprocess.&amp;quot; It is similar in operation to [[TBilateral]] and offers many of the same options (though not all) while adding the preprocess. See [http://forum.doom9.org/showthread.php?t=96015 discussion.]&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/extendedbilateral_5F25_dll_20050622.zip Plugin]&lt;br /&gt;
|insanedesio&lt;br /&gt;
|-&lt;br /&gt;
| [[FFTQuiver]]&lt;br /&gt;
| Remove periodic noise. Useful for analog interference.&lt;br /&gt;
| Any&lt;br /&gt;
| [http://avisynth.nl/index.php/FFTQuiver Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| SmootherHiQ&lt;br /&gt;
| VirtualDub's ''Smart Smoother High Quality'' for AviSynth, see archived [http://web.archive.org/web/20040611013235/http://cultact-server.novi.dk/kpo/avisynth/smooth_hiq_as.html documentation].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/smoothhiq_5F25_dll_20030208.zip Plugin]&lt;br /&gt;
| {{Author/Sh0dan}}&lt;br /&gt;
|-&lt;br /&gt;
| TNLMeans&lt;br /&gt;
| TNLMeans is an implementation of the NL-means denoising algorithm. - [http://forum.doom9.org/showthread.php?t=111344 discussion] - [http://forum.doom9.org/showthread.php?t=168090 TNLMeans built with ICL10]&lt;br /&gt;
*[http://forum.doom9.org/showthread.php?t=171817 TfNLMeans] - an AviSynth 2.6 fork of TNLMeans 1.0.3&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/TNLMeansv103.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Spatial Denoisers ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[_2DCleanYUY2]]&lt;br /&gt;
| Averages pixels in a configurable radius around a source pixel that are within a configurable threshold of the central pixel. A port of the VirtualDub plugin [{{N2Moved}}/2dcleaner.html 2D Cleaner.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://dl.dropboxusercontent.com/s/vh7a5xmdpyj3d8u/_2DCleanYUY2_v0_10_mod_for_smp_YV12.zip Plugin]&lt;br /&gt;
| {{Author/kiraru2002}}, {{Author/xeon533}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DctFilter]]&lt;br /&gt;
| An experimental filter that operates on DCT coefficients. &lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/index.php/DctFilter Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DCTFun]]&lt;br /&gt;
| A fast spatial denoiser that does a hard thresholding of a complete 4x4 ICT transform.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/index.php/DCTFun Plugin]&lt;br /&gt;
| Prunedtree &lt;br /&gt;
|-&lt;br /&gt;
| eDeen&lt;br /&gt;
| eDeen is a ultra powerfull spatial denoiser for very experienced encoders only.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://ziquash.chez-alice.fr/eDeen%20beta%201.zip Plugin]&lt;br /&gt;
| {{Author/Marc FD}}&lt;br /&gt;
|-&lt;br /&gt;
| [[frfun3b]]&lt;br /&gt;
| Fractal denoising. See [http://forum.doom9.org/showthread.php?t=110200 discussion] &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20080905123941/http://soulhunter.chronocrossdev.com/data/frfun3b_rev3.zip Plugin]&lt;br /&gt;
| prunedtree&lt;br /&gt;
|-&lt;br /&gt;
| [[frfun3d]]&lt;br /&gt;
| Fractal denoising; frfun3d is a quality optimized frfun3b. See [http://forum.doom9.org/showthread.php?t=110200 discussion] &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://dl.dropboxusercontent.com/s/xqxfy59pcv3ea1q/frfun3d_r1.zip Plugin]&lt;br /&gt;
| prunedtree&lt;br /&gt;
|-&lt;br /&gt;
| [[frfun7]]&lt;br /&gt;
| Fractal denoising. See [http://forum.doom9.org/showthread.php?t=110200 discussion]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/index.php/Frfun7 Plugin]&lt;br /&gt;
| prunedtree&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20101201051903/http://gpubilateral.sourceforge.net/ GPUBilateral]&lt;br /&gt;
| In short, bilateral filter is a edge-preserving smooth filter. See [http://forum.doom9.org/showthread.php?t=136370 discussion.]&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://sourceforge.net/projects/gpubilateral/files/ Plugin]&lt;br /&gt;
| Sompon Virojanadara    &lt;br /&gt;
|-&lt;br /&gt;
|Kuwahara&lt;br /&gt;
|This filter is an edge preserving spatial noise reduction filter. It applies spatial smoothing while preserving the edges. See [http://forum.doom9.org/showthread.php?p=1689773 discussion]&lt;br /&gt;
|[[RGB24]], [[RGB32]]&lt;br /&gt;
|[http://www.wilbertdijkhof.com/Kuwahara_v11.zip Plugin]&lt;br /&gt;
|{{Author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
| [{{N2Moved}}/msmooth/msmooth.html Msmooth]&lt;br /&gt;
| Masked smoother, designed specifically for anime.&lt;br /&gt;
| [[YV12]], [[RGB32]]&lt;br /&gt;
| [{{N2Moved}}/msmooth/msmooth202.zip Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [[SmoothUV]]&lt;br /&gt;
| A spatial denoising plugin based on [{{N2Moved}}/smooth.html Smart Smoother] and [{{N2Moved}}/hiq/smoothhiq.html Smart Smooth HiQ].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/smoothuv_5F25_dll_20030902.zip Plugin]&lt;br /&gt;
| {{Author/Kurosu}}&lt;br /&gt;
|-&lt;br /&gt;
|[[SPresso]]&lt;br /&gt;
|A fast script to make SD content compress better while keeping the &amp;quot;original look&amp;quot;.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://forum.doom9.org/showpost.php?p=867316&amp;amp;postcount=23 Script]&lt;br /&gt;
|{{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TBilateral]] &lt;br /&gt;
| TBilateral is a spatial smoothing filter that uses the bilateral filtering algorithm.  It does a nice job of smoothing while retaining picture structure.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/TBilateralv0911.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[UnDot]]&lt;br /&gt;
| UnDot is a simple median filter for removing dots, that is stray orphan pixels and mosquito noise. It clips each pixel value to stay within min and max of its eight surrounding neighbors. See [http://forum.doom9.org/showthread.php?s=&amp;amp;postid=205442#post205442 discussion].&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20130207143129/http://neuron2.net/trbarry/UnDot.zip Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/vague/vaguedenoiser.html VagueDenoiser]&lt;br /&gt;
| This is a Wavelet based Denoiser. Basically, it transforms each frame from the video input into the wavelet domain, using various wavelet filters. Then it applies some filtering to the obtained coefficients. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=56871 discussion.]&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB32]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/vaguedenoiser_5F25_dll_20050926.zip Plugin]&lt;br /&gt;
| {{Author/Lefungus}}, {{Author/Kurosu}}, {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [[VerticalCleaner]]&lt;br /&gt;
| Fast vertical cleaner. Parameter information [http://videoprocessing.fr.yuku.com/sreply/651/Can-use-quantile-like-vertical-median-filter here.] Explanation of mode 2 [http://videoprocessing.fr.yuku.com/sreply/649/Can-use-quantile-like-vertical-median-filter here.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://home.arcor.de/kassandro/prerelease/VerticalCleaner.rar Plugin]&lt;br /&gt;
| {{Author/kassandro}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Temporal Denoisers ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[Cnr2]]&lt;br /&gt;
| A fast chroma denoiser. Very effective against stationary rainbows and huge analogic chroma activity. Useful to filter VHS/TV caps. See [http://forum.doom9.org/showthread.php?t=78905 discussion.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/cnr2_v261.zip Plugin]&lt;br /&gt;
| {{Author/Marc FD}}, {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[FluxSmooth]]&lt;br /&gt;
| Examines each pixel and compares it to the corresponding pixel in the previous and last frame.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/FluxSmooth-1.1b.zip Plugin]&lt;br /&gt;
| {{Author/SansGrip}}, {{Author/Sh0dan}}&lt;br /&gt;
|-&lt;br /&gt;
| GrapeSmoother&lt;br /&gt;
| This filter averages out visual noise between frames.&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/grapesmoother_5F25_dll_20030801.zip Plugin]&lt;br /&gt;
| {{Author/Lindsey Dubb}}&lt;br /&gt;
|-&lt;br /&gt;
| MVDegrain&lt;br /&gt;
| Strong and effective temporal denoiser. Part of the [http://avisynth.org.ru/mvtools/mvtools2.html MVTools] package.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.org.ru/mvtools/mvtools2.html Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.nl/users/fizick/docs/english/externalfilters/temporalcleaner.htm TemporalCleaner]&lt;br /&gt;
| TemporalCleaner is an Avisynth port of the original port of the VirtualDub filter TemporalCleaner made by [http://home.earthlink.net/~casaburi/download/#temporalcleaner Jim Casaburi.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/temporalcleaner_5F25_dll.zip Plugin]&lt;br /&gt;
| vlad59&lt;br /&gt;
|-&lt;br /&gt;
| TTempSmooth &lt;br /&gt;
| TTempSmooth is a motion adaptive (it only works on stationary parts of the picture), temporal smoothing filter.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/TTempSmoothv094.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Temporal Degrain]]&lt;br /&gt;
| SLOW but very effective at removing most grain from video sources.&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Spatio-Temporal Denoisers ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [http://hellninjacommando.com/con3d/ Convolution3D]&lt;br /&gt;
| Convolution3D is a spatio-temporal smoother, it applies a 3D convolution filter to all pixels of consecutive frames. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=38281 discussion].&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://hellninjacommando.com/con3d/ Plugin]&lt;br /&gt;
| {{Author/Vlad59}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Deen]]&lt;br /&gt;
| Deen is a set of assembly-optimised denoisers, like various 3d and 2d convolutions.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/index.php/Deen Plugin]&lt;br /&gt;
| {{Author/Marc FD}}&lt;br /&gt;
|-&lt;br /&gt;
| DenoiseMF&lt;br /&gt;
| A fast and accurate denoiser for a Full HD video from a H.264 camera. See [http://forum.doom9.org/showthread.php?t=162603 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=162603 Script]&lt;br /&gt;
| rean&lt;br /&gt;
|-&lt;br /&gt;
| [[dfttest]]&lt;br /&gt;
| A 2D/3D frequency domain denoiser. See [http://forum.doom9.org/showthread.php?t=132194 discussion.]&lt;br /&gt;
| [[YUY2]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [http://ldesoras.free.fr/src/avs/dfttest-1.9.4.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| dfttestMC&lt;br /&gt;
| A script that motion compensates dfttest. See [http://forum.doom9.org/showthread.php?t=147676 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=147676 Script]&lt;br /&gt;
| thewebchat&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/degrain/degrainmedian.html DeGrainMedian]&lt;br /&gt;
| Two stage Spatio-Temporal Limited Median filter for grain removal. [http://forum.doom9.org/showthread.php?t=80834 See]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.org.ru/degrain/degrainmedian082.zip Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/fft3dfilter/fft3dfilter.html FFT3DFilter]&lt;br /&gt;
| A 3D Frequency Domain filter - gives strong denoising and moderate sharpening&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.org.ru/fft3dfilter/fft3dfilter211.zip Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| FFT3DGPU &lt;br /&gt;
| Similar algorithm to FFT3DFilter, but uses graphics hardware for increased speed. See [http://forum.doom9.org/showthread.php?t=89941 discussion.]&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/users/tsp/ Plugin]&lt;br /&gt;
| {{Author/tsp}}&lt;br /&gt;
|-&lt;br /&gt;
| [[frfun4]]&lt;br /&gt;
| Spatial-temporal fractal denoising.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://dl.dropboxusercontent.com/s/3maloze1ctlwai3/frfun4.zip Plugin]&lt;br /&gt;
| prunedtree&lt;br /&gt;
|-&lt;br /&gt;
| [[hqdn3d]] &lt;br /&gt;
| High Quality DeNoise 3D is an Avisynth 2.5 port of the MPlayer filter of the same name. It performs a 3-way low-pass filter, which can completely remove high-frequency noise while minimizing blending artifacts. &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://akuvian.org/src/avisynth/hqdn3d/hqdn3d-0.11.zip Plugin]&lt;br /&gt;
| {{Author/akupenguin}}&lt;br /&gt;
|-&lt;br /&gt;
| [[MC_Spuds]]&lt;br /&gt;
| Motion compensated noise removal with sharpening. Extremely slow, but extremely effective.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| Spuds, {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[MCTemporalDenoise]]&lt;br /&gt;
| Another high quality motion compensated noise removal script with an accompanying post-processing component (with loads of excess feature such as MC-Post-sharpening, MC-antialiasing, deblock, edgeclean and much more)&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=139766 Script]&lt;br /&gt;
| {{Author/LaTo}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/docs/english/externalfilters/mipsmooth.htm MipSmooth]&lt;br /&gt;
| MipSmooth is a reinvention of [[SmoothHiQ]] and [[Convolution3D]]. MipSmooth was made to enable smoothing of larger pixel areas than 3x3(x3), to remove blocks and smoothing out low-frequency noise. See [http://forum.doom9.org/showthread.php?t=64940 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/mipsmooth_5F25_dll_20051223.zip Plugin]&lt;br /&gt;
| {{author/Sh0dan}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/docs/english/externalfilters/nomosmooth.htm NoMoSmooth]&lt;br /&gt;
| NoMoSmooth temporally denoises relatively static areas and a spatially denoises moving parts. In addition to this motion-based approach, NoMoSmooth employs another technique to try to retain as much existing detail as possible: only pixels that are &amp;quot;fluctuating&amp;quot; are smoothed. See [http://forum.doom9.org/showthread.php?t=37471 discussion.]&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/nomosmooth_5F25_dll_200309015.zip Plugin]&lt;br /&gt;
| SansGrip&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/docs/english/externalfilters/peachsmoother.htm PeachSmoother]&lt;br /&gt;
| PeachSmoother was designed to cope with the oddities of analog broadcast TV.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/peachsmoother_5F25_dll_20030801.zip Plugin]&lt;br /&gt;
| {{Author/Lindsey Dubb}}&lt;br /&gt;
|-&lt;br /&gt;
| RemoveDirtMC&lt;br /&gt;
| &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1485300#post1485300 Script]&lt;br /&gt;
| Nephilis&lt;br /&gt;
|-&lt;br /&gt;
| [[RemoveGrain]]&lt;br /&gt;
| RemoveGrain is a plugin package containing various plugins for spatial and temporal denoising, repairing, sharpening, deinterlacing, and other utility functions.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/index.php/RemoveGrain Plugin]&lt;br /&gt;
| {{Author/kassandro}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20130412014246/http://www.removegrainhd.de.tf/ RemoveGrainHD]&lt;br /&gt;
| RemoveGrainHD is like RemoveGrain but intended for high definition content. It includes various spatial and temporal functions. See [http://web.archive.org/web/20130412014246/http://www.removegrainhd.de.tf/ documentation.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://chaosking.de/wp-content/uploads/avsfilters/Denoisers/Spatial_Denoisers/RemoveGrainHD___(0.5_-_2011-08-11).7z Plugin]&lt;br /&gt;
| {{Author/kassandro}}&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| RemoveNoiseMC&lt;br /&gt;
| Motion compensated filter for removing noise, larger spots and other dirt. Written as an alternative to the old Dust. Last update Nov 2006. It uses mvtools v1. Jenyok collected together all RemoveNoise and various filters functions and adapted to MVTools v2.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=110078 Script]&lt;br /&gt;
| Heini011&lt;br /&gt;
|-&lt;br /&gt;
| [[RgTools]]&lt;br /&gt;
| Modern rewrite of &amp;lt;tt&amp;gt;[[RgTools/RemoveGrain|RemoveGrain]]&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;[[RgTools/Repair|Repair]]&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;[[RgTools/BackwardClense|BackwardClense]]&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;[[RgTools/Clense|Clense]]&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;[[RgTools/ForwardClense|ForwardClense]]&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;[[RgTools/VerticalCleaner| VerticalCleaner]]&amp;lt;/tt&amp;gt; all in a single plugin. &lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://github.com/tp7/RgTools/releases Plugin]&lt;br /&gt;
| {{Author/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
|[[SMDegrain]]&lt;br /&gt;
|SMDegrain is a convenience function for using MDegrain, including 16bit and interlaced support, with extra capabilities for light sharpening and spatial filtering.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]; 8-bit and 16-bit&lt;br /&gt;
|[http://forum.videohelp.com/threads/369142-Simple-MDegrain-Mod-v3-0d-A-Quality-Denoising-Solution Script]&lt;br /&gt;
|{{Author/Dogway}}&lt;br /&gt;
|-&lt;br /&gt;
|[[STMedianFilter]]&lt;br /&gt;
|STMedianFilter is a (slightly motion compensated) spatial/temporal median filter. It fairly very fine grained, using only adjacent pixels in space and time, so it looks at the adjacent 26 locations to filter each location. &lt;br /&gt;
|[[YUY2]], [[YV12]]&lt;br /&gt;
|[http://web.archive.org/web/20130207143129/http://neuron2.net/trbarry/STMedianFilter.zip Plugin]&lt;br /&gt;
|{{Author/Tom Barry}}, {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
|[[STPresso]]&lt;br /&gt;
|A fast script to make SD/720p content compress better without losing detail and original grain structure. See [http://forum.doom9.org/showthread.php?p=1551871#post1551871 discussion.]&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://forum.doom9.org/showpost.php?p=1551871&amp;amp;postcount=2 Script]&lt;br /&gt;
|{{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| zzz_denoise&lt;br /&gt;
| Simple wrapper around a combination of dfttest and MDegrain3. Requires the [[External_filters#Deepcolor_Filters|Dither]] package.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1390594#post1390594 Script]&lt;br /&gt;
| {{Author/cretindesalpes}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Adjustment Filters ==&lt;br /&gt;
&lt;br /&gt;
=== Borders and Cropping ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
|[[BorderControl]]&lt;br /&gt;
| It's designed to allow you to manipulate the regions at the top, bottom and sides of a frame. Set a black border, set a border region to be faded out and you can &amp;quot;smear&amp;quot; the border to save having to crop and resize the whole frame for the sake of a few pixels. Each border (top,bottom.left and right) can be manipulated independently. See [http://forum.doom9.org/showthread.php?t=33479 discussion] and [http://avisynth.org.ru/docs/english/externalfilters/bordercontrol.htm documentation].&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
|[http://web.archive.org/web/20140709005736/http://www.geocities.com/siwalters_uk/bordercontrol14.zip Plugin]&lt;br /&gt;
|{{Author/Simon Walters}}&lt;br /&gt;
|-&lt;br /&gt;
|[[FillMargins]]&lt;br /&gt;
|FillMargins is a simple AviSynth filter that fills the four margins of a video clip with the outer pixels of the unfilled portion. It takes integer 4 parameters specifying the size of the left, top, right, and bottom margins. These may be any value and do not have to be any particular multiple. See discussion [http://forum.doom9.org/showthread.php?t=50132 here] and [http://forum.doom9.org/showthread.php?t=55881 here], additional [http://avisynth.org.ru/docs/english/externalfilters/fillmargins.htm documentation]&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://web.archive.org/web/20130207143129/http://neuron2.net/trbarry/FillMargins.zip Plugin]&lt;br /&gt;
|{{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| Padding&lt;br /&gt;
| Duplicate edge pixels to the outside with [[PointResize]]. See [http://forum.doom9.org/showthread.php?t=165946 discussion.]&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1596804&amp;amp;postcount=5 Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
|[http://avisynth.org.ru/docs/english/externalfilters/autocrop.htm AutoCrop]&lt;br /&gt;
|Automatically crops black borders ([http://en.wikipedia.org/wiki/Letterbox wikipedia:Letterbox], [http://en.wikipedia.org/wiki/Pillar_box_%28film%29 wikipedia:Pillar box], [http://en.wikipedia.org/wiki/Windowbox_%28film%29 wikipedia:Windowbox]) from a clip. Operates in preview mode (overlays the recommended cropping information) or cropping mode. Can also ensure width and height are multiples of specified numbers. See original [http://forum.doom9.org/showthread.php?t=37204 discussion] and updated AutoCrop [http://forum.doom9.org/showthread.php?t=87602 discussion]&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://len0x.leffe.dnsalias.com/autocrop12.zip Plugin]&lt;br /&gt;
| [http://web.archive.org/web/20050404182221/http://www.videofringe.com/autocrop/ Glenn Bussell], len0x&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=168053 RoboCrop]&lt;br /&gt;
| RoboCrop is an automatic cropping solution to crop black borders from video clips, loosely based on (but using no code from) AutoCrop by Glenn Bussell. See [http://forum.doom9.org/showthread.php?t=168053 discussion.]&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://www.mediafire.com/download/3qwgprgrnw77e2h/RoboCrop_25%2626_dll_v1-03_20131226.zip Plugin]&lt;br /&gt;
| StainlessS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Colourspace Conversion ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [{{N2Moved}}/autoyuy2/autoyuy2.html AutoYUY2]&lt;br /&gt;
| This filter is correctly converts YV12 to YUY2 without color bias.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Plugin&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=171786 Cnv2]&lt;br /&gt;
| Universal [[Convert|ConvertTo...()]] wrapper with some additional features. Requires [http://forum.doom9.org/showthread.php?t=147846 GScript]&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=171786 Script]&lt;br /&gt;
| martin53&lt;br /&gt;
|-&lt;br /&gt;
| ConvertToYCgCo&lt;br /&gt;
| Converts to the YCgCo colorspace. See [http://forum.doom9.org/showthread.php?t=161736 discussion.]&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://forum.doom9.org/attachment.php?attachmentid=12748&amp;amp;d=1331769022 Plugin]&lt;br /&gt;
| xv&lt;br /&gt;
|-&lt;br /&gt;
| InterleavedConversions&lt;br /&gt;
| Tools for interleaving and de-interleaving 2, 3, and 4-channel data.&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| PitifulInsect&lt;br /&gt;
|-&lt;br /&gt;
| ManualColorMatrix&lt;br /&gt;
| Can perform any matrix-based color conversion. See [http://forum.doom9.org/showthread.php?t=161777 discussion.]&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YV24]]&lt;br /&gt;
| [http://forum.doom9.org/attachment.php?attachmentid=12346&amp;amp;d=1309522614 Plugin]&lt;br /&gt;
| xv&lt;br /&gt;
|-&lt;br /&gt;
|[[nnedi3_resize16]]&lt;br /&gt;
|An advanced script for high quality 16-bit image resizing and colorspace conversion. &lt;br /&gt;
|[[RGB24]], [[RGB32]], [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
|[http://avisynth.nl/index.php/Nnedi3_resize16 Script]&lt;br /&gt;
|mawen1250 &lt;br /&gt;
|-&lt;br /&gt;
| YUY2inRGB&lt;br /&gt;
| A quick filter that stuffs YUY2 into RGB24. See [http://forum.doom9.org/showthread.php?p=639948#post639948 discussion.]&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://trevlac.us/YUY2inRGB.zip Plugin]&lt;br /&gt;
| {{Author/Trevlac}}&lt;br /&gt;
|-&lt;br /&gt;
| YUY2toRGB219&lt;br /&gt;
| Converts YUY2 to studioRGB. With this kind of conversion, luma will not change, meaning no quantization error on luma. See [http://forum.doom9.org/showthread.php?p=639432#post639432 discussion.]&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://trevlac.us/colorCorrection/YUY2toRGB219.zip Plugin] &lt;br /&gt;
| {{Author/Trevlac}}&lt;br /&gt;
|-&lt;br /&gt;
| YV12toRGB24HQ&lt;br /&gt;
| YV12 to RGB24 with dithering.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/yv12torgb24hq_20060301.zip Plugin]&lt;br /&gt;
| prunedtree&lt;br /&gt;
|-&lt;br /&gt;
| PlanarConversions&lt;br /&gt;
| Planar conversion functions for AVISynth.&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| PitifulInsect&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Duplicate Frame Detectors ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| Dup &lt;br /&gt;
| A robust duplicate frame detector; a frame that is determined to be close enough to its predecessor to be considered a duplicate will be replaced by a copy of the predecessor. This can significantly reduce the size of encoded clips with virtually no visual effect. Provides the capability to replace frames with a blend of all the duplicates, providing a valuable noise reduction.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [{{N2Moved}}/dup/dupnew.html Plugin] &lt;br /&gt;
[http://forum.doom9.org/showpost.php?p=1698892&amp;amp;postcount=9 Update (v2.32)]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=134930 Dupped]&lt;br /&gt;
| Another frame duplication function, similar to Dup, but hopefully more accurate. See [http://forum.doom9.org/showthread.php?t=134930 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20140420181919/http://www.randomdestination.com/members/corran/misc/dupped/dupped.avsi Script]&lt;br /&gt;
| Corran&lt;br /&gt;
|-&lt;br /&gt;
| DeDup &lt;br /&gt;
| Remove (drop) duplicate frames in the interest of compression quality and speed. Resulting clip will have a variable frame rate.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://akuvian.org/src/avisynth/dedup/ Plugin]&lt;br /&gt;
| {{Author/akupenguin}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tasvideos.org/forum/viewtopic.php?t=12065 ExactDedup]&lt;br /&gt;
| ExactDedup is a filter intended to remove frames that are exact duplicates of each other, leaving only the first and (optionally) last frames of a run intact, and generates a Matroska v2 timecodes file with timing information for the ensuing stream.&lt;br /&gt;
| [[RGB24]], [[YV12]]&lt;br /&gt;
| [http://www.mediafire.com/download/9x2ax1rb5un02d5/ExactDedup+Version+0.03.zip Plugin]&lt;br /&gt;
|Steve Melenchuk, Arick Chan&lt;br /&gt;
|-&lt;br /&gt;
| GetDups &lt;br /&gt;
| Selecting unique duplicate frames from clip, it return frames which have copies only, by one from the series (group). Made for 8mm films.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.org.ru/getdups/getdups.html Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=164372 MorphDups]&lt;br /&gt;
| Replace duplicate frames by interpolations.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=164372 Script]&lt;br /&gt;
| sven_x&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Effects ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[AddGrainC]]&lt;br /&gt;
| Generates film like grain or other effects (like rain) by adding random noise to clip. Noise can be horizontally or vertically correlated causing streaking. Contains AddGrain &amp;amp; AddGrainC &lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]],&lt;br /&gt;
[[Y8]], [[YV411]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [http://ldesoras.free.fr/src/avs/AddGrainC-1.7.0.7z Plugin]&lt;br /&gt;
|{{Author/Tom Barry}}, {{Author/Foxyshadis}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Author/LaTo}}, {{Author/cretindesalpes}}&lt;br /&gt;
|-&lt;br /&gt;
| [[AddStaticGrainM]]&lt;br /&gt;
| This function adds static grain in dark areas based on a mask.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://pastebin.com/raw.php?i=wLSpAKHZ Script]&lt;br /&gt;
| [http://canihaziframe.wordpress.com/2011/02/23/addstaticgrainm/ Daiz]&lt;br /&gt;
|-&lt;br /&gt;
| [http://kvcd.net/sansgrip/avisynth/Blockbuster-readme.html AddNoise/Blockbuster]&lt;br /&gt;
| Makes encoder allocate more bits to darker areas, thus eliminating DCT blocks by decreasing the clips compressibility.&lt;br /&gt;
| &lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/blockbuster_5F25_src_20021229.zip Plugin]&lt;br /&gt;
| Ross Thomas&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=87295 AviShader]&lt;br /&gt;
| generic plugin that uses your 3D card's hardware to assist with rendering&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/avishader_5F25_dll_20041228.zip Plugin]&lt;br /&gt;
| Antitorgo&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=97706 ColorLooks]&lt;br /&gt;
| This plugin is based on Trev's VDub filter Colorlooks and Donald Graft's Colorize (well it works a bit similar). I also added some new stuff. The plugin contains the following filters: Technicolor, Colorize, Sepia and Posterize.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://www.geocities.com/wilbertdijkhof/ColorLooks_v13.zip Plugin]&lt;br /&gt;
| {{author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=170732 crt_display]&lt;br /&gt;
| CRT emulation with scanline and phosphor effects. crt_display emulates a CRT display using aperture grille (Trinitron) or Cromaclear technologies. See [http://forum.doom9.org/showthread.php?t=170732 discussion.]&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=170732 Script]&lt;br /&gt;
|{{Author/cretindesalpes}}&lt;br /&gt;
|-&lt;br /&gt;
| [[EffectsMany]]&lt;br /&gt;
| Creates 34 types of special &amp;quot;animated&amp;quot; effects. Effects act on the input clip in the range of the frame numbers specified. The Audio is not affected.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://avisynth.nl/users/vcmohan/EffectsMany/EffectsMany.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [[f3kgrain]]&lt;br /&gt;
| Another 8/16-bit luma adaptive grain generator.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [http://www.nmm-hd.org/upload/get~ElhZlazJbsQ/f3kgrain_v0.4.avsi Script]&lt;br /&gt;
| {{Author/06_taro}}&lt;br /&gt;
|-&lt;br /&gt;
| [[GNoise]]&lt;br /&gt;
| Adds random noise to a clip. See [http://forum.doom9.org/showthread.php?p=841700#post841700 duscussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20080905123941/http://soulhunter.chronocrossdev.com/data/gnoise_r5.zip Plugin]&lt;br /&gt;
| {{Author/mf}}&lt;br /&gt;
|-&lt;br /&gt;
| [[GrainFactory3]]&lt;br /&gt;
| Noise generator that tries to simulate the behavior of silver grain on film. See [http://forum.doom9.org/showthread.php?t=141303 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1191292#post1191292 Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[GrainFactory3mod]]&lt;br /&gt;
| Luma adaptive grain generating filter in 8-bit precision. Based on Didée's [[GrainFactory3]] script.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.nmm-hd.org/upload/get~kvNvGpuyxfc/GrainFactory3mod_v1.2.avsi Script]&lt;br /&gt;
| {{Author/06_taro}}&lt;br /&gt;
|-&lt;br /&gt;
| [[GrainFactoryLite]]&lt;br /&gt;
| Luma adaptive grain generating filter with stacked 16-bit input/output support. Based on Didée's [[GrainFactory3]] script, processing in 16-bit precision, and some commonly unused parameters removed.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.nmm-hd.org/upload/get~FaqsQaMom9s/GrainFactoryLite_v1.2.avsi Script]&lt;br /&gt;
| {{Author/06_taro}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/HollywoodSq/HollywoodSq.html HollywoodSQ]&lt;br /&gt;
| Creates popup album, akin to Hollywood squares TV show&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://avisynth.nl/users/vcmohan/HollywoodSq/HollywoodSq.html Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| KenBurnsEffect&lt;br /&gt;
| Given clip, zooms, pans &amp;amp; rotates clip. See [http://en.wikipedia.org/wiki/Ken_Burns_Effect wikipedia:Ken Burns Effect]&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=135776 Script]&lt;br /&gt;
| mikeytown2&lt;br /&gt;
|-&lt;br /&gt;
| [[MPlayerNoise]]&lt;br /&gt;
| Noise Generator ported from MPlayer. See [http://forum.doom9.org/showthread.php?t=84181 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/bergfiltercollection_5F25_dll_20041019.zip Plugin]&lt;br /&gt;
| {{Author/bergi}}&lt;br /&gt;
|-&lt;br /&gt;
| [[NoiseGenerator]]&lt;br /&gt;
| Newer function based off of Blockbuster. Adds random noise to clip.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/noisegenerator_5F25_dll_20050616.zip Plugin]&lt;br /&gt;
| Shubin&lt;br /&gt;
|-&lt;br /&gt;
| [[Scanlines]]&lt;br /&gt;
| Add Scanlines (black horizontal bars) to a video. see [http://en.wikipedia.org/wiki/Scan_line wikipedia:Scan Line]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/scanlines_5F25_dll_20031103.zip Plugin]&lt;br /&gt;
| turulo&lt;br /&gt;
|-&lt;br /&gt;
| [[StaticNoiseC]]&lt;br /&gt;
| Generates static grain using the Mersenne Twister random number generator. See [http://www.nmm-hd.org/newbbs/viewtopic.php?f=8&amp;amp;t=118&amp;amp;start=20#p772 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.nmm-hd.org/upload/get~YnWFecZw0Uo/StaticNoiseC20110108b.zip Plugin]&lt;br /&gt;
| histamine&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.gyroshot.com/turnstile.htm TurnsTile]&lt;br /&gt;
| Applies mosaic and/or palette effects to a clip.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=158695 Plugin]&lt;br /&gt;
| {{Author/Robert Martens}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Field Order ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| PFR&lt;br /&gt;
| Tries to restore the original progressive field order of a movie (or any predominantly filmed material transferred to video) where the field order changes at scene changes in a seemingly random fashion! See [http://forum.doom9.org/showthread.php?t=49815 discussion.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://web.archive.org/web/20091028073306/http://geocities.com/siwalters_uk/pfravs.html Plugin]&lt;br /&gt;
| {{Author/Simon Walters}}&lt;br /&gt;
|-&lt;br /&gt;
| ReverseFieldDominance&lt;br /&gt;
| This filter is intended to reverse the field dominance of PAL DV video. See [http://forum.doom9.org/showthread.php?t=46765 discussion.]&lt;br /&gt;
| [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://web.archive.org/web/20091028073306/http://geocities.com/siwalters_uk/reversefielddominance.html Plugin]&lt;br /&gt;
| {{Author/Simon Walters}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Frame Rate Conversion ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[AlterFPS]]&lt;br /&gt;
| AlterFPS can be used to speed up or slow down a video by adding or removing fields. It works like the 3:2 pulldown of NTSC film material, except you can choose your new speed. It can also blend frames for progressive frame results, and blend fields like ConvertFPS.&lt;br /&gt;
| Any&lt;br /&gt;
| Script&lt;br /&gt;
| actionman133&lt;br /&gt;
|-&lt;br /&gt;
| [[convert60ito24p]]&lt;br /&gt;
| convert60ito24p converts a 60fps interlaced NTSC Video into a 24fps progressive Video using different blending techniques.&lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YUY2]]&lt;br /&gt;
| Script&lt;br /&gt;
| scharfis_brain&lt;br /&gt;
|-&lt;br /&gt;
| [http://github.com/arkeet/fpsdown/blob/master/README.md FPSDown]&lt;br /&gt;
| This filter reduces the framerate of a video by 1/2, by blending odd and even frames together. However, it does this in a smart way such that in case of duplicate frames, it will do the smart thing to remove unnecessary blurring in the output video.&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://github.com/arkeet/fpsdown/blob/master/README.md Plugin]&lt;br /&gt;
| [http://github.com/arkeet/ arkeet]&lt;br /&gt;
|-&lt;br /&gt;
| [[FrameDbl]]&lt;br /&gt;
| FrameDbl will generate extra frames to double the frame rate. It does this using a motion compensated approach to interpolating between frames. See [http://forum.doom9.org/showthread.php?t=56036 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [{{N2Archived}}/trbarry/FrameDbl.zip Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.spirton.com/uploads/InterFrame/InterFrame2.html InterFrame]&lt;br /&gt;
| Frame rate conversion script. Interframe works very well at converting 24FPS to 60FPS; converts videos to higher frame rates like newer TVs do. Common names are frame doubling, smooth motion, among others. See [http://forum.doom9.org/showthread.php?t=160226 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1486831&amp;amp;postcount=1 Script]&lt;br /&gt;
|{{Author/SubJunk}}&lt;br /&gt;
|-&lt;br /&gt;
| Motion&lt;br /&gt;
| Fast true-motion motion-compensation functions for AviSynth. [http://forum.doom9.org/showthread.php?t=101859 Discussion], [http://web.archive.org/web/20060103143553/http://people.pwf.cam.ac.uk/mg262/posts/Motion/motion.html Documentation]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://wilbertdijkhof.com/mg262/Motion_v10.zip plugin]&lt;br /&gt;
| mg262&lt;br /&gt;
|-&lt;br /&gt;
| NTSC tools&lt;br /&gt;
| Automatic NTSC to PAL conversion with 24p, 30p, 60i detection. See [http://forum.doom9.org/showthread.php?t=114054 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/NTSC_tools.avsi Script]&lt;br /&gt;
| Mug Funky&lt;br /&gt;
|-&lt;br /&gt;
| [[SalFPS3]]&lt;br /&gt;
| A modded version of MotionProtectedFPS for extra protection.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/SalFPS3.avs Script]&lt;br /&gt;
| Mug Funky, {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.svp-team.com/wiki/Plugins:_SVPflow SVPflow]&lt;br /&gt;
| SVPflow provides fast and high quality GPU accelerated frame rate interpolation. See [http://forum.doom9.org/showthread.php?t=164554 discussion.] &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.svp-team.com/files/gpl/svpflow-1.1.15a.zip Plugin]&lt;br /&gt;
| [http://www.svp-team.com/wiki/Credits SVP Team]&lt;br /&gt;
|-&lt;br /&gt;
| [http://github.com/gnaggnoyil/tc2cfr tc2cfr]&lt;br /&gt;
| This plugin that can read a timecode file and convert a given video clip in to one with a constant framerate by adding duplicate frames.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://github.com/gnaggnoyil/tc2cfr/releases Plugin]&lt;br /&gt;
| [http://github.com/gnaggnoyil gnaggnoyil]&lt;br /&gt;
|-&lt;br /&gt;
| [http://tasvideos.org/forum/viewtopic.php?t=12763 TimecodeFPS]&lt;br /&gt;
| Converts clip from VFR to CFR.  Timing information from clip is discarded, and matroska v2 timecodes from the timecodes file are used instead.&lt;br /&gt;
| Any&lt;br /&gt;
| [http://www.mediafire.com/?a51pifo438i7hdb Plugin]&lt;br /&gt;
| natt&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=165045 VFRtoCFR]&lt;br /&gt;
| Converts a variable frame rate (VFR) video to a constant frame rate (CFR) video with the help of Matroska Version 2 Timecodes.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.mediafire.com/download/q6zfgpo5dhh50si/VFRtoCFR20120730.zip Plugin]&lt;br /&gt;
| Aktan&lt;br /&gt;
|-&lt;br /&gt;
| [http://griffeltavla.wordpress.com/2013/01/18/convert-vfr-to-cfr-using-avisynth/ VfrToCfr]&lt;br /&gt;
| This plugin converts variable frame rate clips to constant frame rate by introducing null frames. [http://github.com/jojje/VfrToCfr-the-other-one GitHub repository]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://snarl.zapto.org/files/vfrtocfr-1.0.zip Plugin]&lt;br /&gt;
| joyje&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Frame Replacement/Range Processing ===&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?p=461878#post461878 ApplyEvery]&lt;br /&gt;
|A collection of AviSynth functions that operate at regular intervals in a clip. &lt;br /&gt;
|&lt;br /&gt;
|[http://www.avisynth.nl/users/stickboy/ApplyEvery.zip Plugin]&lt;br /&gt;
|{{Author/stickboy}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://www.avisynth.nl/users/fizick/badframes/badframes.html BadFrames]&lt;br /&gt;
|Replaces given bad frames by neighbors or blend (interpolation). Useful for frames with very large defects. &lt;br /&gt;
|&lt;br /&gt;
|[http://www.avisynth.nl/users/fizick/badframes/badframes20.zip Plugin]&lt;br /&gt;
|{{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=162266 ClipClop]&lt;br /&gt;
|Clipclop is a simple plugin to replace ranges in a source clip with the same range, from a replacement clip. Supports up to 255 replacement clips, with unlimited number of replacements into output clip.&lt;br /&gt;
|&lt;br /&gt;
|[http://www.mediafire.com/folder/hb26mthbjz7z6/StainlessS Plugin]&lt;br /&gt;
|StainlessS&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=168047 FrameRepeat]&lt;br /&gt;
|FrameRepeat() is a simple plugin to select frames to repeat. Requires AviSynth 2.6.&lt;br /&gt;
|&lt;br /&gt;
|[http://www.mediafire.com/folder/hb26mthbjz7z6/StainlessS Plugin]&lt;br /&gt;
|StainlessS&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=167971 FrameSel/FrameRep]&lt;br /&gt;
|FrameSel() is a simple plugin to select individual frames from a clip. Can select frames numbers by direct arguments to filter, or in a string, or in a command file.&lt;br /&gt;
|&lt;br /&gt;
|[http://www.mediafire.com/folder/hb26mthbjz7z6/StainlessS Plugin]&lt;br /&gt;
|StainlessS&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=164766 MatchFrames/LocateFrames]&lt;br /&gt;
|MatchFrames, intended for matched frames extraction,LocateFrames, intended to be usable by other scripts to identify matches.&lt;br /&gt;
|&lt;br /&gt;
|[http://www.mediafire.com/folder/hb26mthbjz7z6/StainlessS Plugin]&lt;br /&gt;
|StainlessS&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showpost.php?p=1644971&amp;amp;postcount=28 RemapFrames]&lt;br /&gt;
|A collection of functions to rearrange frames between clips. Remaps the frame indices in a clip or from a second clip as specified by an input text file or by an input string. Efficient alternatives to long chains of &amp;lt;tt&amp;gt;FreezeFrame, DeleteFrame, or ApplyRange&amp;lt;/tt&amp;gt;. &lt;br /&gt;
|&lt;br /&gt;
|[http://ldesoras.free.fr/src/avs/RemapFrames-0.4.1.zip Plugin]&lt;br /&gt;
|{{Author/stickboy}}, {{Author/cretindesalpes}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=162446 Prune]&lt;br /&gt;
|Prune is a simple plugin to trim() multiple source clips and splice the results into a new clip. Supports up to 256 source clips, with unlimited number of trims/splices into output clip. Prune can fade Audio (to reduce clicks between splices) for supported audio formats. The plugin will do [[AlignedSplice]] only.&lt;br /&gt;
|&lt;br /&gt;
|[http://www.mediafire.com/folder/hb26mthbjz7z6/StainlessS Plugin]&lt;br /&gt;
|StainlessS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Levels and Chroma ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=167573 AutoAdjust]&lt;br /&gt;
| A high quality automatic adjustement filter. It calculates statistics of clip, averages them temporally to stabilize data and uses them to adjust luminance gain &amp;amp; color balance. AutoAdjust has a smoothing &amp;amp; dithering algorithm to avoid banding issue. Calculations are made in 32bits float to avoid rounding errors and can also input/output 16-bits. AutoAdjust is internally multithreaded and SSE2 optimized.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=167573 Plugin]&lt;br /&gt;
| {{Author/LaTo}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.thebattles.net/video/autolevels.html Autolevels]&lt;br /&gt;
| Improvement of the [[ColorYUV]] filter's autogain feature. It stretches the luma histogram to use the entire specified range, averaging the amount of &amp;quot;gain&amp;quot; over consecutive frames to better handle flashes and to avoid flickering. [http://forum.doom9.org/showthread.php?t=128585 Discuss]&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.thebattles.net/video/autolevels_0.6_20110109.zip Plugin]&lt;br /&gt;
| {{Author/frustum}} &amp;amp; Theodor Anschütz&lt;br /&gt;
|-&lt;br /&gt;
| AWB&lt;br /&gt;
| Automatic white balance for real world footage, similar to the known function in digital cameras. See [http://forum.doom9.org/showthread.php?t=168062 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=168062 Script]&lt;br /&gt;
| martin53&lt;br /&gt;
|-&lt;br /&gt;
| [[ChanMix]]&lt;br /&gt;
| Creates a grayscale image from an RGB24 source, it has 3 parameters to specify how much of each color-channel is used.&lt;br /&gt;
| [[RGB24]]&lt;br /&gt;
| [{{N2Moved}}/misc/chanmix.zip Plugin]&lt;br /&gt;
| E-Male&lt;br /&gt;
|-&lt;br /&gt;
| [[ChannelMixer]]&lt;br /&gt;
| Very similar to the ChannelMixer function found in Photoshop. 9 Adjustments are possible, 3 for each color channel.&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://forum.videohelp.com/images/guides/p1767998/channelmixer_v1_0.zip Plugin]&lt;br /&gt;
| Gustaf Ullberg&lt;br /&gt;
|-&lt;br /&gt;
| [[ColorBalance]]&lt;br /&gt;
| Same tool that is found in Gimp &amp;amp; Cinepaint. See [http://forum.doom9.org/showthread.php?p=1180090#post1180090 discussion.]&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://dl.dropbox.com/s/ve66ayxfnfet9u0/ColorBalance_0.26.zip Plugin]&lt;br /&gt;
| Gavino &amp;amp; mikeytown2&lt;br /&gt;
|-&lt;br /&gt;
|ColorLooks&lt;br /&gt;
| This plugin is based on Trev's VDub filter [http://www.trevlac.us/FilterDocs/ Colorlooks] and Donald Graft's [http://rationalqm.us/colorize.html Colorize] (well it works a bit similar). I also added some new stuff. The plugin contains the following filters: Technicolor, Colorize, Sepia and Posterize. See [http://forum.doom9.org/showthread.php?t=97706 discussion]&lt;br /&gt;
|[[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
|[http://www.wilbertdijkhof.com/ColorLooks_v13.zip Plugin]&lt;br /&gt;
|{{Author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=163829 ColorYUV2]&lt;br /&gt;
|YUV color adjustment plugin with a graffer. &lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://www.mediafire.com/download/875czvfnigu72ds/ColorYUV2_25_dll_20120529.zip Plugin]&lt;br /&gt;
|{{Author/StainlessS}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=96308 ColourLike]&lt;br /&gt;
| Makes a clip look like a 'reference' clip by adjusting each colour mask. Updated [http://forum.doom9.org/showpost.php?p=1582935&amp;amp;postcount=38 documentation]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/colourlike_5F25_dll_20050825.zip Plugin]&lt;br /&gt;
| {{Author/mg262}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=99890 ColourMask]&lt;br /&gt;
| Creates colour masks.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/colourmask_20050911.zip Plugin]&lt;br /&gt;
| {{Author/mg262}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://expsat.sourceforge.net/ ExpLabo]&lt;br /&gt;
| ExpSat apply a non-linear transformation of saturation, Colorize change the image color dominance in a flexible manner, HLSnoise adds a noise to the image separately to the HLS dimensions. See [http://forum.doom9.org/showthread.php?t=97052 discussion.]&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://sourceforge.net/projects/expsat/ Plugin]&lt;br /&gt;
| brabbudu&lt;br /&gt;
|-&lt;br /&gt;
|[http://mpierce.pie2k.com/pages/211.php Exposure]&lt;br /&gt;
|Exposure function for AviSynth.&lt;br /&gt;
|[[RGB24]]&lt;br /&gt;
|[http://mpierce.pie2k.com/downloads/exposure.zip Plugin]&lt;br /&gt;
|Matt Pierce&lt;br /&gt;
|-&lt;br /&gt;
| [[FlimsYlevels]]&lt;br /&gt;
| Luma adjustment function to give a more &amp;quot;film-ish&amp;quot; look. (Based on {{Author/Didée}}'s [[Ylevels]]).&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| FlimsyFeet &lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=605890#post605890 GiCocu]&lt;br /&gt;
| Use GIMP/Photoshop curve files&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/gicocu_5F25_dll_20050620.zip Plugin]&lt;br /&gt;
| E-Male&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20130812061301/http://strony.aster.pl/paviko/hdragc.htm HDRAGC]&lt;br /&gt;
| High Dynamic Range Automatic Gain Control - Increase dynamic range of video clips (enhance shadows). It's &amp;quot;simply&amp;quot; gaining (brightening) dark areas of image without causing blow of highlights. Amount of gain is calculated automatically, but can be influenced by parameters. See [http://forum.doom9.org/showthread.php?t=93571 discussion.]&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20120419193005/http://strony.aster.pl/paviko/Hdragc-1.8.7.zip Plugin]&lt;br /&gt;
| {{Author/paviko}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=161986 HighlightLimiter]&lt;br /&gt;
| &amp;quot;Darkening highlight&amp;quot;. Works well on over exposed clips. It can also be combined with ContrastMask to create HDR effect&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1522100#post1522100 Script]&lt;br /&gt;
| javlak&lt;br /&gt;
|-&lt;br /&gt;
| [[HistogramAdjust]]&lt;br /&gt;
| Adjusts the histogram of a frame by either equalizing it or by matching with histogram of another image, or with given histogram table of values.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/users/vcmohan/HistogramAdjust/HistogramAdjust.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Histograms in RGB &amp;amp; CMY]]&lt;br /&gt;
| Similar to Histogram(&amp;quot;levels&amp;quot;) but for RGB and CMY instead of YUV. It also includes a RGB parade color scope.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[Y8]], [[YUY2]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://avisynth.nl/images/Histograms_in_RGB_%26_CMY.avsi Script]&lt;br /&gt;
| -Vit-&lt;br /&gt;
|-&lt;br /&gt;
|HSVAdjust&lt;br /&gt;
|HSVAdjust/HSLAdjust/HSIAdjust let's you rotate hues, control the strength of color (saturation), or modify the brightness of a clip. The type of brightness depends on the filter. It's value for HSVAdjust, lightness for HSLAdjust or intensity for HSIAdjust. See [http://forum.doom9.org/showthread.php?t=162022 discussion]&lt;br /&gt;
|[[RGB24]], [[RGB32]]&lt;br /&gt;
|[http://www.wilbertdijkhof.com/HSVAdjust_v01.zip Plugin]&lt;br /&gt;
|{{Author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
|Hue&lt;br /&gt;
|This plugin is a port of Donald Graft's VirtualDub [http://rationalqm.us/hue.html Hue] filter. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=87439&amp;amp;pagenumber=2 discussion]&lt;br /&gt;
|[[RGB24]], [[RGB32]]&lt;br /&gt;
|[http://www.wilbertdijkhof.com/Hue_v10.zip Plugin]&lt;br /&gt;
|{{Author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
| [[OutRange]]&lt;br /&gt;
| A simple function to scan the whole video and output a log file, in which out-of-tv-range frames are logged.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://avisynth.nl/images/OutRange.avsi Script]&lt;br /&gt;
| 06_taro&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=170642 RGBAdapt]&lt;br /&gt;
|Another RGB color correction plugin, it also also includes a graffer.&lt;br /&gt;
|[[RGB24]], [[RGB32]]&lt;br /&gt;
|[http://www.mediafire.com/download/jtb4dbja2aneasw/RGBAdapt_dll_v0.1-20140522.zip Plugin]&lt;br /&gt;
|{{Author/StainlessS}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=168293 RgbAmplifier]&lt;br /&gt;
|An AviSynth forensic plugin to amplify color shifts.&lt;br /&gt;
|[[RGB24]], [[RGB32]]&lt;br /&gt;
|[http://www.mediafire.com/download/432rxa9ed1lr2in/RgbAmplifier_25_dll_v1.03_20140607.zip Plugin]&lt;br /&gt;
|{{Author/StainlessS}}&lt;br /&gt;
|-&lt;br /&gt;
| [[SGradation]]&lt;br /&gt;
| SGradation is much like a gamma function, but '2nd order'.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| Script&lt;br /&gt;
| martin53&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=163829 ShowChannels]&lt;br /&gt;
|Simple plugin whose only function is to display the average Y,U and V values for a YUV frame or R,G, and B for an RGB frame. Also shows accumulated average for all frames visited so far.&lt;br /&gt;
|[[RGB24]], [[RGB32]], [[Y8]], [[YUY2]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[http://www.mediafire.com/download/9duhoieswso92sd/ShowChannels_25%2626_v0-7_dll_20130420.zip Plugin]&lt;br /&gt;
|{{Author/StainlessS}}&lt;br /&gt;
|-&lt;br /&gt;
| [[ShowOverRange]]&lt;br /&gt;
| Shows illegal &amp;quot;TV range&amp;quot; by painting pixels blue for anything less than 16 and red for anything greater than 235.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.nmm-hd.org/newbbs/download/file.php?id=164 Plugin]&lt;br /&gt;
| {{Author/SAPikachu}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=154971 SmoothAdjust]&lt;br /&gt;
| SmoothAdjust is a set of 5 plugins to make YUV adjustements. These 5 plugins have a smoothing &amp;amp; dithering algorithm to avoid banding issue. Calculations are made in 32bits float to avoid rounding errors and artifacts. SmoothAdjust is multithreaded (up to 16 threads) and SSE2 optimized. SmoothAdjust is [[SmoothLevels|SmoothLevels']] successor. &lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=154971 Plugin]&lt;br /&gt;
| {{Author/LaTo}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Tint]]&lt;br /&gt;
| Tints the image toward a specified colour.&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=74334 TweakColor]&lt;br /&gt;
| Target specific hue and saturation ranges for hue and saturation adjustments.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/tweakcolor_5F25_dll_20040412.zip Plugin]&lt;br /&gt;
| {{Author/Trevlac}}&lt;br /&gt;
|-&lt;br /&gt;
| [[VideoScope]]&lt;br /&gt;
| Similar to Histogram(&amp;quot;classic&amp;quot;) but with additional features, it shows waveform monitors and a vectorscope. &lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://www.wilbertdijkhof.com/VScope12.zip Plugin]&lt;br /&gt;
| {{Author/Randy French}}&lt;br /&gt;
|-&lt;br /&gt;
| [[WhiteBalance]]&lt;br /&gt;
| Correct the white balance of a clip with a large degree of control and accuracy over other methods of correcting white balance. See [http://forum.doom9.org/showthread.php?t=106196 discussion.]&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://www.64k.it/andres/data/avisynth/WhiteBalance100.zip Plugin]&lt;br /&gt;
| SomeJoe&lt;br /&gt;
|-&lt;br /&gt;
| [[Ylevels]]&lt;br /&gt;
| A simple replacement for Avisynth's internal [[Levels]] command, with a few neat differences.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Line Darkening ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| FastLineDarken&lt;br /&gt;
| Line darkening script. See [http://forum.doom9.org/showthread.php?t=82125 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| Vectrangle&lt;br /&gt;
|-&lt;br /&gt;
| FastLineDarkenMOD&lt;br /&gt;
| Line darkening script. See original [http://forum.doom9.org/showthread.php?t=82125 discussion.] Updated [http://forum.doom9.org/showthread.php?p=1060081#post1060081 script.] Additional [http://forum.doom9.org/showthread.php?p=1023638#post1023638 information.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1060081#post1060081 Script]&lt;br /&gt;
| Vectrangle / {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| LimitedDarken&lt;br /&gt;
| &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showpost.php?p=993939&amp;amp;postcount=2 LineDarkenToon]&lt;br /&gt;
| LineDarkenToon use the idea of mf_toon (0.5) for linedarken. I wanted a really small fast code like FastLineDarken but with similar output like mf_toon and this is the result.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=993939&amp;amp;postcount=2 Script]&lt;br /&gt;
| MOmonster&lt;br /&gt;
|-&lt;br /&gt;
| [[mfToon]]&lt;br /&gt;
| mfToon darkens cartoon edges. In default operation, it performs line darkening, Xsharpening, and warp sharpening. &lt;br /&gt;
See [http://forum.doom9.org/showthread.php?t=53364 discussion.] Additional information [http://forum.doom9.org/showthread.php?t=125128 here] and [http://forum.doom9.org/showthread.php?t=52066 here]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20090212071718/http://mf.creations.nl/avs/functions/mfToon-v0.52.avs Script]&lt;br /&gt;
| {{Author/mf}}&lt;br /&gt;
|-&lt;br /&gt;
| SuperToon&lt;br /&gt;
| An attempt to optimize/speed up the previous versions of mfToon, vmToon, etc. See [http://forum.doom9.org/showthread.php?t=163987 discussion]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=163987 Script]&lt;br /&gt;
| Hadien&lt;br /&gt;
|-&lt;br /&gt;
| [[Toon]]&lt;br /&gt;
| Simple and fast line darkener. &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://dl.dropbox.com/s/guk5plphkthdy2f/Toon-v1.1.7z Plugin]&lt;br /&gt;
| {{Author/mf}}&lt;br /&gt;
|-&lt;br /&gt;
| [[ToonLite]]&lt;br /&gt;
| It's the same as [[Toon]], just without the warpsharp processing..&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20090218093135/http://mf.creations.nl/avs/filters/Toon-v1.0-lite.dll Plugin]&lt;br /&gt;
| {{Author/mf}}&lt;br /&gt;
|-&lt;br /&gt;
| [[vmToon]]&lt;br /&gt;
| The successor to mfToon. Darkens lines, thins lines, and does supersampled sharpening all in one, but slow. &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/Vmtoon-v0.74.avsi Script]&lt;br /&gt;
| Vectrangle&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Resizers ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[AreaResize]]&lt;br /&gt;
| An area-average resizer plugin; only use to downscale.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://www.mediafire.com/download.php?kn56wh7r81vk2rx Plugin]&lt;br /&gt;
| {{Author/Chikuzen}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Debicubic]]&lt;br /&gt;
| This filter is designed to reverse the effects of bicubic upsampling.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20140622040033/http://rgb.chromashift.org/debicubic%20r2.zip Plugin]&lt;br /&gt;
| Prunedtree&lt;br /&gt;
|-&lt;br /&gt;
| [[Debilinear]]&lt;br /&gt;
| This filter is designed to reverse the effects of bilinear upsampling.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20140214021604/http://rgb.chromashift.org/debilinear%20r6.zip Plugin]&lt;br /&gt;
| Prunedtree&lt;br /&gt;
|-&lt;br /&gt;
| EdiUpsizer &lt;br /&gt;
| EDIUpsizer is a resampling filter that upsizes an image by a factor of two both horizontally and vertically using NEDI (new-edge directed interpolation). See [http://web.archive.org/web/20101126091759/http://neuron2.net/library/nedi.pdf nedi.pdf] for more info on the algorithm. EDIUpsizer also uses a few modifications to basic NEDI in order to prevent a lot of the artifacts that NEDI creates in detailed areas. These include condition number testing and adaptive window size ([http://web.archive.org/web/20041221052401/http://www.cs.ucdavis.edu/~bai/ECS231/finaltzeng.pdf finaltzeng.pdf]), as well as capping constraints. All modifications and constraints to NEDI are optional (can be turned on and off) and are user configurable. Just note that this filter is rather slow. &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/EDIUpsizer.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| FastEDIUpsizer &lt;br /&gt;
| FastEDIUpsizer is a slimmed down version of EDIUpsizer that is slightly more tuned for speed. It uses a constant 8x8 window size, only performs NEDI on the luma plane, and only uses either Bicubic or Bilinear interpolation as the fall back interpolation method.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/FastEDIUpsizer.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=330319#post330319 HybridResize]&lt;br /&gt;
| Uses Lanczos (sharp) for edges and Bilinear (soft) on the rest of the image.&lt;br /&gt;
| &lt;br /&gt;
| [http://web.archive.org/web/20090423011809/http://mf.creations.nl/avs/functions/HybridResize-0.2.avs Script]&lt;br /&gt;
| {{Author/mf}}&lt;br /&gt;
|-&lt;br /&gt;
| [[JincResize]]&lt;br /&gt;
| Jinc (EWA Lanczos) Resampler Plugin for Avisynth/Avisynth+. See [http://forum.doom9.org/showthread.php?t=169813 discussion.]&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://github.com/AviSynth/jinc-resize/releases Plugin]&lt;br /&gt;
| innocenat&lt;br /&gt;
|-&lt;br /&gt;
| Lanczosplusv3&lt;br /&gt;
| Very slow, but high quality resizer. See [http://forum.doom9.org/showthread.php?t=136690]&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| *.mp4 guy&lt;br /&gt;
|-&lt;br /&gt;
|[[nnedi3/nnedi3_rpow2|nnedi3_rpow2]]&lt;br /&gt;
| Enlarge images by the powers of 2 using Neural Network New-Edge Directed Interpolation ; nnedi3_rpow2 is a function included in [[nnedi3]].&lt;br /&gt;
|[[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
|[http://avisynth.nl/index.php/Nnedi3 Plugin]&lt;br /&gt;
|{{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
|[[nnedi3ocl/nnedi3x_rpow2|nnedi3x_rpow2]]&lt;br /&gt;
| Enlarge images by the powers of 2 using Neural Network New-Edge Directed Interpolation ; nnedi3x_rpow2 is a script function included in [[nnedi3ocl]].&lt;br /&gt;
|[[RGB24]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[http://avisynth.nl/index.php/nnedi3ocl Script and Plugin]&lt;br /&gt;
|SeT&lt;br /&gt;
|-&lt;br /&gt;
|[[nnedi3_resize16]]&lt;br /&gt;
|An advanced script for high quality image resizing and colorspace conversion. &lt;br /&gt;
|[[RGB24]], [[RGB32]], [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
|[http://avisynth.nl/index.php/Nnedi3_resize16 Script]&lt;br /&gt;
|mawen1250 &lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=154674 PointSize]&lt;br /&gt;
| A set of [http://en.wikipedia.org/wiki/Pixel_art_scaling_algorithms pixel art resizers]: Scale2x, Scale3x, LQ2x, LQ3x, LQ4x, HQ2x, HQ3x, HQ4x.&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://forum.doom9.org/attachment.php?attachmentid=11076&amp;amp;d=1274312419 Plugin]&lt;br /&gt;
| `Orum&lt;br /&gt;
|-&lt;br /&gt;
| [http://svn.int64.org/viewvc/int64/resamplehq/doc/index.html ResampleHQ] &lt;br /&gt;
| ResampleHQ provides gamma-aware resizing and colorspace conversion.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://sourceforge.net/projects/int64/files/ResampleHQ/ResampleHQ-v1.zip/download Plugin]&lt;br /&gt;
| Cory Nelson&lt;br /&gt;
|-&lt;br /&gt;
| [[ResizeARC]]&lt;br /&gt;
| ResizeARC respects AR as possible maintaining MOD32 resolutions, uses bitrate, bpp and the resize function specified as parameters. Usage:&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=135735 Seamer]&lt;br /&gt;
| Seam Carving/Liquid Rescale for Content-Aware Image Resizing. See [http://en.wikipedia.org/wiki/Seam_carving wikipedia:Seam Carving]&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://avisynth.nl/users/vcmohan/Seamer/Seamer.html Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
|SincResize&lt;br /&gt;
|SincResize is an experimental plugin that uses DCT to perform resizing. See [http://forum.doom9.org/showthread.php?p=953002#post953002 discussion], read on for more information.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://cafxx.strayorange.com/files/SincResize4.7z Plugin]&lt;br /&gt;
|[http://cafxx.strayorange.com/ CAFxX]&lt;br /&gt;
|-&lt;br /&gt;
| [[SimpleResize]]&lt;br /&gt;
| Resizing plugin with 4 filters: SimpleResize, WarpResize, InterlacedResize and InterlacedWarpedResize.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [{{N2Archived}}/trbarry/SimpleResize.zip Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=147117 SplineResize]&lt;br /&gt;
| SplineResize contains two kinds of spline based resizers: The first ones are the (cubic) spline based resizers from Panorama tools: Spline100Resize (using 10 sample points) and Spline144Resize (using 12 sample points) are examples. Other ones are available in AviSynth itself. The second ones are natural cubic splines that use the kernel itself as a spline.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://www.wilbertdijkhof.com/SplineResize_v02.zip Plugin]&lt;br /&gt;
| {{Author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://github.com/sunnyone/Waifu2xAvisynth waifu2x]&lt;br /&gt;
|Single-Image Super-Resolution for anime/fan-art using Deep Convolutional Neural Networks.&lt;br /&gt;
|[[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
|[http://github.com/sunnyone/Waifu2xAvisynth/releases Plugin]&lt;br /&gt;
|[http://github.com/sunnyone sunnyone]&lt;br /&gt;
|-&lt;br /&gt;
| [[YV12InterlacedReduceBy2]]&lt;br /&gt;
| InterlacedReduceBy2 is a fast Reduce By 2 filter, usefull as a very fast downsize of an interlaced clip. See [http://forum.doom9.org/showthread.php?s=&amp;amp;postid=271863 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [{{N2Archived}}/trbarry/YV12InterlacedReduceBy2.zip Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=49429 Zoom]&lt;br /&gt;
| Zoom, Pan &amp;amp; Rotate Clip. Adds alpha layer to clip.&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/zoom_5F25_dll_20050122.zip Plugin]&lt;br /&gt;
| {{Author/WarpEnterprises}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1111789#post1111789 ZoomBox]&lt;br /&gt;
| Replacement for ResizeKAR. Resizes clip Keeping the Aspect Ratio. Can set Source/Target PAR/DAR, option to zoom in/out in order to hide/show black borders.&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| mikeytown2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sharpeners ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [http://avisynth.org.ru/docs/english/externalfilters/asharp.htm aSharp] &lt;br /&gt;
| Adaptive sharpening filter. You can use it for high quality sharpening of soft sources. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=38436 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/asharp_5F25_dll_20030118.zip Plugin]&lt;br /&gt;
| {{Author/Marc FD}}&lt;br /&gt;
|-&lt;br /&gt;
| [[aWarpSharp2]]&lt;br /&gt;
| A modern rewrite of aWarpSharp with several bugfixes and optimizations. See [http://forum.doom9.org/showthread.php?t=147285 discussion]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.mediafire.com/?7bu46ab33dwex0o Plugin]&lt;br /&gt;
| {{Author/SEt}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=155030 blah] &lt;br /&gt;
| Sharpening. See [http://forum.doom9.org/showthread.php?t=155030 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1406843 Script]&lt;br /&gt;
| *.mp4 guy&lt;br /&gt;
|-&lt;br /&gt;
| [[FineSharp]]&lt;br /&gt;
| Small and relatively fast realtime-sharpening function, designed for 1080p, or after scaling 720p -&amp;gt; 1080p during playback (to make 720p look more being like 1080p). See [http://forum.doom9.org/showthread.php?p=1569035#post1569035 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1569035#post1569035 Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[LimitedSharpen]]&lt;br /&gt;
| LimitedSharpen can be used like a traditional sharpener, but producing much less artefacts. It can be used as a replacement for the common &amp;quot;resize(x4)-XSharpen-resize(x1)&amp;quot; combo, with very similar results (perhaps even better) - but at least 2 times faster, since it requires much less oversampling.&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[LSFmod]]&lt;br /&gt;
| A LimitedSharpenFaster mod with a lot of new features and optimizations. &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=142706 Script]&lt;br /&gt;
| {{Author/LaTo}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/docs/english/externalfilters/msharpen.htm MSharpen]&lt;br /&gt;
| This filter implements an unusual concept in spatial sharpening to sharpen important edges without amplifying noise. Although designed specifically for anime, it also works quite well on normal video. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=42839 discussion].&lt;br /&gt;
*'''[http://github.com/tp7/msharpen MSharpen for AviSynth 2.6]''' - [http://github.com/tp7/msharpen/releases Download] | [http://forum.doom9.org/showthread.php?t=169832 Discussion] &lt;br /&gt;
| [[RGB]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [{{N2Moved}}/msharpen/msharpen.html Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [[NonlinUSM]]&lt;br /&gt;
| Non-linear Unsharp Masking.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://pastebin.com/bYCeusjT SharpenComplex2]&lt;br /&gt;
| Port of MPC-HC's Sharpen Complex 2 to Avisynth. Despite the name, this script is very simple, see [http://forum.doom9.org/showthread.php?t=158385 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://pastebin.com/raw.php?i=bYCeusjT Script]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20100120201434/http://mf.creations.nl/avs/functions/SharpTools-v0.3.avs SSXSharpen]&lt;br /&gt;
| Included in SharpTools. Sharpens the picture using [[supersampling]] techniques.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=132330 Super Slow Sharpen]&lt;br /&gt;
| Very slow, but high quality sharpener. See [http://forum.doom9.org/showthread.php?t=132330]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1071731 Script]&lt;br /&gt;
| *.mp4 guy&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/docs/english/externalfilters/tunsharp.htm TUnsharp]&lt;br /&gt;
| TUnsharp is a basic sharpening filter that uses a couple different variations of unsharpmasking and allows for controlled sharpening based on edge magnitude and min/max neighborhood value clipping. The real reason for its existence is that it sports a gui with real time preview. See [http://forum.doom9.org/showthread.php?t=84344 discussion].&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/TUnsharpv093.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[UnFilter]]&lt;br /&gt;
| This filter softens/sharpens a clip. It implements horizontal and vertical filters designed to (slightly) reverse previous efforts at softening or edge enhancement that are common (but ugly) in DVD mastering. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=28197&amp;amp;pagenumber=3 discussion].&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/unfilter_5F25_dll_20030116.zip Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| [[UnsharpHQ]]&lt;br /&gt;
| A strong and fast unsharp mask with some new features. See [http://forum.doom9.org/showthread.php?t=159637 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://download909.mediafire.com/ukdxeana28ag/1v31aoia38fr06x/UnsharpHQ_v05.zip Plugin]&lt;br /&gt;
| list&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [[WarpSharp]]&lt;br /&gt;
| WarpSharp contains these sharpeners: Unsharpmask, WarpSharp, Xsharpen.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.dropbox.com/s/g6z1tohioqnw5b9/warpsharp_20080325.zip?dl=1 Plugin]&lt;br /&gt;
|???, {{Author/seraphy}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Blurring ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[BucketMedian]]&lt;br /&gt;
| BucketMedian is an implementation of spatial median filter adapting bucket (counting) sort algorithm.&lt;br /&gt;
| [[Y8]], [[YV411]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [http://dl.dropboxusercontent.com/s/bczippngoqy6xbw/BucketMedian-0.3.1.7z Plugin]&lt;br /&gt;
| {{Author/Chikuzen}}&lt;br /&gt;
|-&lt;br /&gt;
| [[GBlur]]&lt;br /&gt;
| Gaussian blur.&lt;br /&gt;
| Any&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/GBlur/GBlur.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
|[[MedianBlur]]&lt;br /&gt;
| A plugin with 5 different types of median blur filters. See [http://forum.doom9.org/showthread.php?t=84636 discussion.] &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/tsp/medianblur084.zip Plugin]&lt;br /&gt;
| {{Author/tsp}}&lt;br /&gt;
|-&lt;br /&gt;
|[[MedianBlur2]]&lt;br /&gt;
| Implementation of [http://nomis80.org/ctmf.html constant time median filter] for AviSynth 2.6, similar to MedianBlur.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://github.com/tp7/MedianBlur2/releases Plugin]&lt;br /&gt;
| {{Author/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
| [[VariableBlur]]&lt;br /&gt;
| VariableBlur is a Gaussian, binomial or average blur filter with a variable radius (variance).&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]],&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/variableblur.zip Plugin]&lt;br /&gt;
| {{Author/tsp}}, {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[VariableMedian]]&lt;br /&gt;
| A simple median filter. See [http://forum.doom9.org/showthread.php?t=83985 discussion]&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://web.archive.org/web/20091027134543/http://www.geocities.com/siwalters_uk/variablemedian.zip Plugin]&lt;br /&gt;
| {{Author/Simon Walters}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Rotation ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[FTurn]]&lt;br /&gt;
| Fast implementation of [[TurnLeft]](), [[TurnRight]]() and [[Turn180]]() AviSynth functions. See [http://forum.doom9.org/showthread.php?t=168315 discussion.]&lt;br /&gt;
| [[Y8]], [[YV12]],[[YV24]]&lt;br /&gt;
| [http://github.com/tp7/fturn/releases Plugin]&lt;br /&gt;
| {{Authot/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/rotate/rotate.html Rotate]&lt;br /&gt;
| Rotate or shear on any given angle. See [http://forum.doom9.org/showthread.php?t=131307 discussion.]&lt;br /&gt;
| [[RGB32]], [[YV12]]&lt;br /&gt;
| [http://avisynth.org.ru/rotate/rotate134.zip Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/Spinner/Spinner.html Spinner]&lt;br /&gt;
| Spinner plugin rotates a frame or selected part of it about the given axis coordinates in floating point precision.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/Spinner/Spinner.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Shear/Skew/Perspective ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[DeBarrel]]&lt;br /&gt;
| Remove barrel and pincushion distortion, where straight lines appear curved.&lt;br /&gt;
| Any&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/DeBarrel/DeBarrel.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=152860 Defish]&lt;br /&gt;
|Barrel and pincushion distortion correction filter. [http://forum.doom9.org/showthread.php?t=127432 Old discussion]&lt;br /&gt;
|[[RGB32]]&lt;br /&gt;
|[http://horman.net/defish.zip Plugin]&lt;br /&gt;
|{{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=171922 Defish Different Projections]&lt;br /&gt;
|Defish with different map projections, like Lambert Cylindrical Equal Area, Mercator and Miller projections.&lt;br /&gt;
|[[RGB32]]&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=171922 Script]&lt;br /&gt;
|Kisa_AG&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=165978 Quad]&lt;br /&gt;
|An Avisynth plugin to perform quadrilateral transformations.&lt;br /&gt;
|[[RGB32]]&lt;br /&gt;
|[http://horman.net/quad.zip Plugin] -- [http://forum.doom9.org/showpost.php?p=1602709&amp;amp;postcount=22 no SSE]&lt;br /&gt;
|{{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/Reform/Reform.html Reform]&lt;br /&gt;
| Skewed images are corrected or vice versa, useful if video is recorded with slightly incorrectly located camera. Sometimes refered to as perspective correction.&lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/Reform/Reform.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Reformer]]&lt;br /&gt;
| Perspective correction and warping.&lt;br /&gt;
| Any&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/Reformer/Reformer.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/rotate/rotate.html Rotate]&lt;br /&gt;
| Rotate or shear on any given angle. See [http://forum.doom9.org/showthread.php?t=131307 discussion.]&lt;br /&gt;
| [[RGB32]], [[YV12]]&lt;br /&gt;
| [http://avisynth.org.ru/rotate/rotate134.zip Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=166087 xyremap]&lt;br /&gt;
|xyremap is a filter for remapping pixels using formulae written in [http://en.wikipedia.org/wiki/Reverse_Polish_notation reverse Polish notation].&lt;br /&gt;
|[[RGB32]]&lt;br /&gt;
|[http://horman.net/avisynth/download/xyremap0.3.zip Plugin]&lt;br /&gt;
|{{Author/David Horman}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Subtitling ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| AssRender&lt;br /&gt;
| Libass-based subtitle renderer. See [http://forum.doom9.org/showthread.php?t=148926 discussion].&lt;br /&gt;
| RGB32, RGB24, YV24, YV12, Y8&lt;br /&gt;
| [http://encodan.srsfckn.biz/assrender/ C Plugin]&lt;br /&gt;
| lachs0r, TheFluff&lt;br /&gt;
|-&lt;br /&gt;
| SubAA&lt;br /&gt;
| Single Subtitle with Anti-aliasing. &lt;br /&gt;
| &lt;br /&gt;
| [http://soulhunter.chronocrossdev.com/data/SSubAA.avs Script]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20071025023938/http://mvideo.ddpp.net/eng/subtitleex_plugin.htm SubtitleEx]&lt;br /&gt;
| Similar to the original [[Subtitle]] function but can do more: apply text to range; effects - bold, underline, italic, center, fading, motion, blur, emboss, etc...; alpha channel. [http://hosiken.jp/dev/win/subtitleex.html Plugin update (Japanese)]&lt;br /&gt;
| &lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/subtitleex_5F25_dll_20040819.zip Plugin] / [http://avisynth.nl/users/warpenterprises/files/dvutilities_20050717.zip .chm (help)]&lt;br /&gt;
|[http://web.archive.org/web/20070821222318/http://mvideo.ddpp.net/eng/index.htm basilik]&lt;br /&gt;
|-&lt;br /&gt;
| SubtitleMulti&lt;br /&gt;
| A parameter-compatible Subtitle function which allows the usage of line breaks. (Wilbert: I can't find the script ...)&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
| JLennox&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.zachsaw.com/?pg=suptitle_pgs_avisynth_plugin SupTitle]&lt;br /&gt;
| Blu-ray PGS .SUP Subtitle Renderer Plugin for AviSynth. See [http://forum.doom9.org/showthread.php?t=148167 discussion] &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.zachsaw.com/?pg=suptitle_pgs_avisynth_plugin Plugin]&lt;br /&gt;
| {{Author/ZachSaw}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/docs/english/externalfilters/vsfilter.htm TextSub] (VSFilter)&lt;br /&gt;
| Supported Subtitle Formats: VOBsub (.sub/.idx), SubStation Alpha/Advanced SubStation Alpha (.ssa/.ass), SubRip (.srt), MicroDVD (.sub), SAMI (.smi), PowerDivX (.psb), Universal Subtitle Format (.usf), Structured Subtitle Format (.ssf). See [http://en.wikipedia.org/wiki/VSFilter]&lt;br /&gt;
| &lt;br /&gt;
| [http://sourceforge.net/project/showfiles.php?group_id=205650&amp;amp;package_id=246121&amp;amp;release_id=541232 Plugin]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| VSFilterMod&lt;br /&gt;
| A new VSFilter with more ass tags.&lt;br /&gt;
|&lt;br /&gt;
| [http://code.google.com/p/vsfiltermod/ Plugin]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Transitions ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| DissolveAGG&lt;br /&gt;
| Wipe Transition with a soft edge. See [http://forum.doom9.org/showthread.php?t=118016 discussion]. &lt;br /&gt;
'''Note:''' There exist multiple variants of the script as the result of the interaction between authors in that discussion.&lt;br /&gt;
| &lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=900674#post900674 Script (v1)] &lt;br /&gt;
[http://forum.doom9.org/showthread.php?p=1152440#post1152440 Script (v2)] &lt;br /&gt;
[http://forum.doom9.org/showthread.php?p=1152632#post1152632 Script (v3)] &lt;br /&gt;
| {{Author/zemog}}, {{Author/mikeytown2}}, {{Author/Gavino}} and others&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=62277 JDL_MaskTransition]&lt;br /&gt;
| Combines two clips using the specified mask clip.  The audio tracks are blended during the transition. About any transition can be made with this function.&lt;br /&gt;
| &lt;br /&gt;
| [http://avisynth.nl/users/stickboy/jdl-effects.avsi Script]&lt;br /&gt;
| {{Author/stickboy}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TransAll]]&lt;br /&gt;
| Around 150 distinct transitions can be created with this plugin. &lt;br /&gt;
| [[RGB]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/users/vcmohan/TransAll/TransAll.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| Transition (Albert Gasset)&lt;br /&gt;
| Various Wipe and Random Block modes. Has 19 built in patterns or it can use an external file.&lt;br /&gt;
| &lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/#transition Plugin]&lt;br /&gt;
| {{Author/Albert Gasset}}&lt;br /&gt;
|-&lt;br /&gt;
| Transition (shubin)&lt;br /&gt;
| Contains 2 modes: circle and line. In circle mode the area has radius R and center xCenter,yCenter. In line mode the line passes through xCenter,yCenter with slope R.&lt;br /&gt;
| &lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/#transition Plugin]&lt;br /&gt;
| {{Author/shubin}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other Filters ==&lt;br /&gt;
&lt;br /&gt;
=== Debugging/Diagnostic Filters ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| AVInfo&lt;br /&gt;
| AVIInfo gives information about the streams in the clip without loading any frames. filename can be a WAV file or an AVI file with several audio streams (it won't open AVI files with embedded subtitles though). It will return the info as a string. &lt;br /&gt;
| &lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/avinfo_5F25_dll_20050417.zip Plugin]&lt;br /&gt;
| trevlac, wilbert &lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=170647 Avisynth Info Tool]&lt;br /&gt;
|This program gathers all available info about the installed Avisynth version. It should be useful for troubleshooting since especially novice users don't always know which Avisynth version they have installed, what DLLs/DLL-versions reside in their plugin directory, etc. The tool also helps resolve problems with plugin DLL dependencies like missing Microsoft runtime libraries.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Groucho2004&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=165528 AVSMeter]&lt;br /&gt;
| AVSMeter is a CLI (command line interface) tool that &amp;quot;runs&amp;quot; an Avisynth script with virtually no overhead, displays clip info, CPU and memory usage and the minimum, maximum and average frames processed per second. It measures how fast Avisynth can serve frames to a client application (x264, for example) and comes in handy when testing filters/plugins to evaluate their performance and memory requirements.&lt;br /&gt;
|&lt;br /&gt;
| Command line executable&lt;br /&gt;
| Groucho2004&lt;br /&gt;
|-&lt;br /&gt;
| [[DumpPixelValues]]&lt;br /&gt;
| Samples the colors from selected pixels for every frame in a video source and outputs the data to a text or binary file. See [http://www.theneitherworld.com/mcpoodle/Tools/DumpPixelValues.html homepage.]&lt;br /&gt;
| [[RGB32]], [[YUY2]]&lt;br /&gt;
| [http://www.theneitherworld.com/mcpoodle/Tools/DumpPixelValues.zip Plugin]&lt;br /&gt;
| [http://www.theneitherworld.com/mcpoodle/Tools/index.html McPoodle]&lt;br /&gt;
|-&lt;br /&gt;
| Framenumber&lt;br /&gt;
| Framenumber inserts the framenumber of the current frame (+ offset).&lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[GrainEvaluate]]&lt;br /&gt;
| A script to analyze and log the strength of grain for each frame. See [http://forum.doom9.org/showthread.php?t=167455 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
|[http://www.nmm-hd.org/upload/get~-eJfUjEXJY4/GrainEvaluate.avsi Script]&lt;br /&gt;
|{{Author/06_taro}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1462931&amp;amp;postcount=81 Glitch Analyzer]&lt;br /&gt;
| Glitch Analyzer generates a diagnostic video, then analyzes the recorded version of it, to detect swapped, dropped, or repeated fields.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1467907#post1467907 Script]&lt;br /&gt;
| jmac698&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid]]&lt;br /&gt;
| Overlays a grid, useful for pixel counting.&lt;br /&gt;
| Any&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/Grid/Grid.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [[HDColorBars]]&lt;br /&gt;
| A script to create an HD test pattern based on ARIB STD-B28 Rev1.  Can easily be adapted to an SMPTE version.  [http://avisynthrestoration.googlecode.com/files/ARIB-STD-B28.png Image]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[HDColorBars]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [http://code.google.com/p/avisynthrestoration/wiki/Measure Measure]&lt;br /&gt;
| Measures luminence of greyscale bars and prints results on-screen.  Can be used to set brightness/contrast in capture settings accurately.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://code.google.com/p/avisynthrestoration/downloads/list Script]&lt;br /&gt;
| halifaxgeorge&lt;br /&gt;
|-&lt;br /&gt;
|[http://github.com/lcferrum/segment-display-ocr SegmentDisplayOCR]&lt;br /&gt;
|SegmentDisplayOCR is a seven-segment display recognition filter for AviSynth. It has built in logging functionality (it will log frame recognition results) and also can be used in AviSynth conditional filters. The main purpose of this filter is to process readings of various digital instruments (e.g. digital multimeters) captured on video. So if your favourite instrument lacks interface for connecting it to PC you can capture it's readings on cam and convert them to computer readable format with SegmentDisplayOCR filter.&lt;br /&gt;
| [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[http://sourceforge.net/projects/segmentdisplayocr/files/SegmentDisplayOCR/ Plugin]&lt;br /&gt;
|[http://github.com/lcferrum lcferrum]&lt;br /&gt;
|-&lt;br /&gt;
| [[ShowPixelValues]]&lt;br /&gt;
| This filter displays the actual Y U and V (or R G and B) values from pixels within a frame. See [http://forum.doom9.org/showthread.php?t=64192 discussion] and [http://web.archive.org/web/20091028073306/http://geocities.com/siwalters_uk/showpixelvalues.html homepage.]&lt;br /&gt;
| [[RGB32]], [[YUY2]]&lt;br /&gt;
| [http://web.archive.org/web/20091028122947/http://geocities.com/siwalters_uk/showpixelvalues1.4c.zip Plugin]&lt;br /&gt;
| {{Author/Simon Walters}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://code.google.com/p/avisynthrestoration/wiki/Testpatterns Testpatterns]&lt;br /&gt;
| This filter creates a sinewave frequency sweep directly in YV12, useful to measuring video response.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://code.google.com/p/avisynthrestoration/downloads/list Script]&lt;br /&gt;
| halifaxgeorge&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/docs/english/externalfilters/tmonitor.htm TMonitor]&lt;br /&gt;
| TMonitor is a filter very similar to AVSMon. It enables monitoring of an Avisynth clip via previewing the video, viewing clip information (such as video width, height, colorspace, number of frames, audio samples, sample rate, number of audio channels, and more), and adjusting the audio delay. It also supports multiple instances per script, allowing viewing of differences between different parts of a processing chain.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/TMonitorv094.zip Plugin]&lt;br /&gt;
|{{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=53238 ViewFields/UnViewFields]&lt;br /&gt;
| [http://web.archive.org/web/20140709004333/http://www.geocities.com/siwalters_uk/unviewfields.html UnViewFields], [http://web.archive.org/web/20140708181324/http://www.geocities.com/siwalters_uk/viewfields.html ViewFields]&lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
| {{Author/Simon Walters}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Comptest]]&lt;br /&gt;
| The script Compressibility test can be used for a compressibility test on a clip.&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[SeeTheDifference]]&lt;br /&gt;
| SeeTheDifference just makes the difference visible between an encoded and an original videoclip. So you can see what you really &amp;quot;lose&amp;quot; when encoding a video.&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BoxCompare&lt;br /&gt;
| BoxCompare will let you compare up to 4 clips with simple annotations. It's basically a wrapper for StackHorizontal/StackVertical.&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Edge Detection ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[aWarpsharp2/aSobel|aSobel]]&lt;br /&gt;
| Sobel edge dectecion filter included in [[aWarpSharp2]]. &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[aWarpSharp2| Plugin]]&lt;br /&gt;
| {{Author/SEt}}&lt;br /&gt;
|-&lt;br /&gt;
|[[MaskTools2/Mt edge| mt_edge]]&lt;br /&gt;
| Edge detection filter included in [[MaskTools2]].&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[MaskTools2|Plugin]]&lt;br /&gt;
| {{Author/Manao}}&lt;br /&gt;
|-&lt;br /&gt;
| [[tcanny]]&lt;br /&gt;
| Contains a canny edge detection filter and distance transform filter.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/tcanny.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TCannyMod]]&lt;br /&gt;
| Canny edge detection filter for Avisynth 2.6. Reimplementation of tcanny. See [http://forum.doom9.org/showthread.php?t=168449  discussion]&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://www.mediafire.com/download/47owuwpg5mgn6z2/tcannymod-0.1.1.zip Plugin]&lt;br /&gt;
| {{Author/Chikuzen}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TEdgeMask]]&lt;br /&gt;
| TEdgeMask creates an edge mask based off gradient vector magnitude.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/TEdgeMaskv09.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TEMmod]]&lt;br /&gt;
| TEdgeMask modified for Avisynth 2.6. It creates an edge mask using gradient vector magnitude. See [http://forum.doom9.org/showthread.php?t=168390  discussion]&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://www.mediafire.com/download/wvtc1mpelav54wl/TEMmod-0.2.0.zip Plugin]&lt;br /&gt;
| {{Author/Chikuzen}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Export Filters ===&lt;br /&gt;
&lt;br /&gt;
These filters are used to export things from an avs file.&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=135928 Immaavs]&lt;br /&gt;
| ImmaWrite uses the ImageMagick libraries to write images. Many formats are supported including animations and multipage files.&lt;br /&gt;
| &lt;br /&gt;
| [http://www.geocities.com/wilbertdijkhof/ Plugin]&lt;br /&gt;
| {{author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1073371#post1073371 twriteavi]&lt;br /&gt;
| Serve AVI file to program requesting it as well as write an avi file. Useful for speeding up 2 pass encodes at the cost of hard drive space.&lt;br /&gt;
| &lt;br /&gt;
| [http://members.optusnet.com.au/squid_80/twriteavi.zip Plugin]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1403600 Sashimi]&lt;br /&gt;
(function &amp;quot;RawWriter&amp;quot;)&lt;br /&gt;
| Sashimi writes (and reads) almost any regular raw uncompressed data format you can define.  You'll find a fuller description above.&lt;br /&gt;
| [[RGB]], [[YUY2]], and [[YV12]].&lt;br /&gt;
| [http://sites.google.com/site/ourenthusiasmsasham/soft Plugin with scripts]&lt;br /&gt;
| [http://sites.google.com/site/ourenthusiasmsasham/ PitifulInsect]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Import Filters ===&lt;br /&gt;
&lt;br /&gt;
These filters are used to import filters written for other audio and video packages.&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?threadid=92174 FreeFrame]&lt;br /&gt;
| Allows [http://freeframe.sourceforge.net/ freeframe] filters (mostly effects) to be used directly in AviSynth.&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/freeframe_5F25_dll_20050426.zip Plugin]&lt;br /&gt;
| {{Author/Myrsloik}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Meta-Filters ===&lt;br /&gt;
&lt;br /&gt;
These filters are primarily designed to be used with other filters, to restrict or augment their effect.&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| Motion &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/motion_5F25_dll_20051212.zip Plugin]&lt;br /&gt;
| mg262&lt;br /&gt;
|-&lt;br /&gt;
| [[MT]]&lt;br /&gt;
| MT is a filter that enables other filters to run multithreaded. This should hopefully speed up processing on hyperthreaded/multicore processors or multiprocessor systems. See [http://forum.doom9.org/showthread.php?t=94996]&lt;br /&gt;
| Any&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/mt_20070301.zip Plugin]&lt;br /&gt;
| tsp&lt;br /&gt;
|-&lt;br /&gt;
| [[MVTools]] &lt;br /&gt;
| MVTools provides filters for estimation and compensation of objects' motion in video clips. Motion compensation may be used for strong temporal denoising, advanced framerate conversions, image restoration and other tasks. See [http://forum.doom9.org/showthread.php?t=131033]&lt;br /&gt;
| &lt;br /&gt;
| [http://avisynth.org.ru/mvtools/mvtools2.html Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Multipurpose Filters ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| Camembert&lt;br /&gt;
| Camembert provides [[HQDering]]'s functionality with additional background enhancement.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=146632 HybridFuPP]&lt;br /&gt;
| An adaptive processor, allowing picture cleaning and compressibility gain.&lt;br /&gt;
| &lt;br /&gt;
| [http://avisynth.nl/images/HybridFuPP.avsi Script]&lt;br /&gt;
| Fupp&lt;br /&gt;
|-&lt;br /&gt;
| iiP&lt;br /&gt;
| Integrated Image Processor performs basic denoising and sharpening excluding already hard edges to avoid oversharpening; this should give the best relative compressibility for any level of detail enhancement. Its main purpose is upconversion from DVD resolutions to (pseudo-) HDTV resolutions. It aims at natural sources only. For animated/cartoon content, one is probably better of with [[mfToon]] and SharpResize.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[SeeSaw]]&lt;br /&gt;
| SeeSaw uses a balance of denoising and sharpening to enhance a clip. The aim is to enhance weak detail without oversharpening or creating jaggies on strong detail, and produce a result that is temporally stable without detail shimmering.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Scene Change Detection ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=171624 DBSC]&lt;br /&gt;
|A scene change detection tool set/kit/box (work-in-progress).&lt;br /&gt;
|All&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=171624 Script]&lt;br /&gt;
|{{Author/StainlessS}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=145143 EDLmaker]&lt;br /&gt;
| Simple scenechange detector that writes to EDL file.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=145143 Script]&lt;br /&gt;
| Mug Funky&lt;br /&gt;
|-&lt;br /&gt;
| [[MVTools2/MSCDetection|MSCDetection]]&lt;br /&gt;
| Part of MVTools2; MSCDetection creates a scene detection mask clip from motion vectors data. &lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [[MVTools|Plugin]]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| SCDetect&lt;br /&gt;
| Detect scene change and output scene change frames to a file.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.nmm-hd.org/upload/get~TfPm2QO4jbk/SCDetect_v0.3.rar Script]&lt;br /&gt;
| {{Author/06_taro}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://akuvian.org/src/avisynth/sclavc/readme.txt SceneChangeLavc]&lt;br /&gt;
| SClavc is an AviSynth plugin intended to allow access to libavcodec's scene-change metrics. See [http://akuvian.org/src/avisynth/sclavc/ homepage.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/scenechangelavc_5F25_dll_20041201.zip Plugin]&lt;br /&gt;
| {{Author/akupenguin}}&lt;br /&gt;
|-&lt;br /&gt;
| [[SCXvid]]&lt;br /&gt;
| SCXvid produces first pass Xvid logs from AviSynth at the equivalent of the default VFW preset. These logs are primarily intended to get scene change information from but may have other uses.&lt;br /&gt;
|  [[YV12]]&lt;br /&gt;
| [http://dl.dropbox.com/s/402hlckyn669p9n/SCXvid-1.1.rar Plugin]&lt;br /&gt;
| {{Author/Myrsloik}}&lt;br /&gt;
|-&lt;br /&gt;
| [[SCXvidMask]]&lt;br /&gt;
| A tiny AviSynth plugin that reads an SCXvid log and creates a binary mask based on it.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://github.com/tp7/SCXvidMask/releases Plugin]&lt;br /&gt;
| {{Author/tp7}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Support filters ===&lt;br /&gt;
&lt;br /&gt;
These filters are primarily designed to augment the creation of custom script-based filters.&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[ApplyInterlacedFilter]]&lt;br /&gt;
| ApplyInterlacedFilter safely processes interlaced video with spatial and temporal filters.&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[http://github.com/tp7/AvsMotion#avsmotion AvsMotion]&lt;br /&gt;
|AviSynth plugin for animating clips with AAE motion tracking data.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[http://github.com/tp7/AvsMotion/releases Plugin]&lt;br /&gt;
|{{Author/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
| CheckMask&lt;br /&gt;
| A YV12 spatial dot finding filter for AVISynth.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/checkmask_5F25_dll_20050310.zip Plugin]&lt;br /&gt;
| [http://www.antialiased.net/programs.html Dan Donovan]&lt;br /&gt;
|-&lt;br /&gt;
| FrameCache&lt;br /&gt;
| Frame cache plugin. It helps greatly increase performance, especially in combination with another plugins, like SmoothDeinterlace. Usage FrameCache( [number of frames to remember], (path to log file) ). &lt;br /&gt;
| any&lt;br /&gt;
| johny5 dot coder via gmail&lt;br /&gt;
| {{Author/Evgeny}} &lt;br /&gt;
|-&lt;br /&gt;
| GRunT&lt;br /&gt;
| Extends Avisynth's [[Runtime_environment|Runtime Environment]], making it easier to use, especially inside script functions.&lt;br /&gt;
| Any&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=139337 Plugin]&lt;br /&gt;
| {{Author/Gavino}}&lt;br /&gt;
|-&lt;br /&gt;
| GScript&lt;br /&gt;
| Extends the Avisynth scripting language to provide additional control-flow constructs: multi-line conditionals (if-then-else blocks), 'while' loops and 'for' loops.&lt;br /&gt;
| Any&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=147846 Plugin]&lt;br /&gt;
| {{Author/Gavino}}&lt;br /&gt;
|-&lt;br /&gt;
| [[MaskTools2]]&lt;br /&gt;
| This plugin provides tools for the creation, enhancement and manipulation of masks for each component (Y, U, V) of the YV12 [[Color_spaces|color space]].&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [http://avisynth.nl/index.php/MaskTools2#Download Plugin]&lt;br /&gt;
| {{Author/Manao}}, {{Author/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
| [[MVTools]]&lt;br /&gt;
| This plugin provides a collection of functions for motion estimation and compensation.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.org.ru/mvtools/mvtools2.html Plugin]&lt;br /&gt;
| Various&lt;br /&gt;
|-&lt;br /&gt;
| PlaneMinMax&lt;br /&gt;
| Frame-based YV12 plane Min/Max/Avg functions without [[ConditionalFilter]].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/planeminmax_5F25_dll_20050727.zip Plugin]&lt;br /&gt;
| Bart Silverstein&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=165479 Rt_Stats]&lt;br /&gt;
| Compile-time/Runtime Functions.&lt;br /&gt;
| &lt;br /&gt;
| [http://www.mediafire.com/folder/hb26mthbjz7z6/StainlessS Plugin] [http://www.sendspace.com/folder/2mwrco mirror]&lt;br /&gt;
| StainlessS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Deepcolor Filters ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[Dither_tools|Dither]]&lt;br /&gt;
| Generates video with up to 16 bits per component after denoising and dithers back to 8 bits for storage. Primarily written to smooth fine gradients to remove color banding during/after denoising. Can also recover high bitdepth data potentially contained in a noisy clip; dither a high bitdepth picture into a standard YV12; and perform basic operations (masking, curves...) on high bitdepth pictures, as they cannot be manipulated safely with conventional AviSynth filters.&lt;br /&gt;
| [[Planar]] colorspaces&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1386559&amp;amp;postcount=3 Plugin + scripts]&lt;br /&gt;
| {{Author/cretindesalpes}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 3D Filters ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=162616 2D to 3D stereo]&lt;br /&gt;
| Convert 2d to 3d stereo with bidirectional pulfrich effect + add depth to stationary objects.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1539121#post1539121 Plugin]&lt;br /&gt;
| Mcmount&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20110809073332/http://arenafilm.hu/alsog/anaglyph/ Analglyph]&lt;br /&gt;
| This filter produces analglyph video from a stereo pair.  Analglyph is a 3d viewing method which uses colored glasses.  The plugin supports the advanced [http://web.archive.org/web/20130706165544/www.site.uottawa.ca/~edubois/anaglyph/ Dubois] algorithm, which is able to reduce the ghosting effect that is possible in the conversion.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://chaosking.de/wp-content/uploads/avsfilters/Unclassified/Anaglyph___(0.85_-_2010-08-29).7z Plugin] / [http://web.archive.org/web/20140412062911/http://chaosking.de/wp-content/uploads/avsfilters/Unclassified/Anaglyph___(0.85_-_2010-08-29).7z mirror]&lt;br /&gt;
| {{Author/Kertai Gábor}}&lt;br /&gt;
|-&lt;br /&gt;
| Anaglypher &lt;br /&gt;
| A plugin for combining stereopairs into single anaglyph image.&lt;br /&gt;
| [[RGB32]], [[RGB24]]&lt;br /&gt;
| [http://shura.luberetsky.ru/anaglypher/Anaglypher.zip Plugin]&lt;br /&gt;
| [http://shura.luberetsky.ru/ Shura Luberetsky]&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.pantarheon.org/AviSynth3DToolbox/ Pantarheon 3D AviSynth Toolbox]&lt;br /&gt;
| he Toolbox contains a number of basic functions which allow you to multiplex the left and right views found in two separate videos into one video, using several of the common methods currently in use.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.pantarheon.org/AviSynth3DToolbox/zip/ Script]&lt;br /&gt;
| [http://www.pantarheon.org/ G. Adam Stanislav]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
|[http://avslib.sourceforge.net/ AVSLib]&lt;br /&gt;
|General purpose toolkit/extension library enhancing AviSynths ability to perform complex linear and non-linear video editing tasks. Includes support for Array containers &amp;amp; operators, debugging tools, math &amp;amp; string functions, filters and many more.&lt;br /&gt;
|&lt;br /&gt;
|[http://sourceforge.net/projects/avslib/ AVSLib]&lt;br /&gt;
|[http://gzarkadas.users.sourceforge.net/ gzarkadas]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Audio Filters ==&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[AddAudio]]&lt;br /&gt;
| A function that adds silent audio to a clip. Needed for CCE 2.50 users.&lt;br /&gt;
| N/A&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[AudioGraph]]&lt;br /&gt;
| Displays the audio waveform superimposed on the video. Intended to help with editing rather than for final output. Useful for finding specific dialog or sound, and for checking A/V sync. [http://forum.doom9.org/showthread.php?t=59412 Doom9 discussion]. Ihor Bobalo added a few additional features to AudioGraph, only the source code is provided: [http://sourceforge.net/projects/audiograph/ SourceForge repository].&lt;br /&gt;
| [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://web.archive.org/web/20060517015407/http://beta.zenaria.com/kpo/avisynth/AudGraph_25.zip Plugin]&lt;br /&gt;
| Richard Ling, {{author/Sh0dan}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=108470 AudioLimiter]&lt;br /&gt;
| To increase volume for silent sounds a lot, to increase volume for middle-volume sounds a little and to keep hi-volume sounds untoched.&lt;br /&gt;
| N/A&lt;br /&gt;
|[http://forum.doom9.org/attachment.php?attachmentid=6586&amp;amp;d=1167241138 Plugin]&lt;br /&gt;
|dimzon&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=171813 AudioTimeline]&lt;br /&gt;
|Displays a audio timeline track under the frame. It is especially suited for thumbsheets, where it allows to estimate the audio track of the thumbnailed clip.&lt;br /&gt;
|[[RGB24]], [[RGB32]], [[Y8]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=171813 Plugin]&lt;br /&gt;
|martin53&lt;br /&gt;
|-&lt;br /&gt;
| BeFa &lt;br /&gt;
| Band Eliminate Filter for Audio. See [http://web.archive.org/web/20071105084352/http://www.geocities.com/fredthompson6/Kiraru2002/Kiraru2002sROOM.htm#Befa English documentation] (translated from the original [http://web.archive.org/web/20081122113014/http://kiraru2002.at.infoseek.co.jp/#befa Japanese documentation]).&lt;br /&gt;
| N/A&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/befa_5F25_dll_20030924.zip Plugin]&lt;br /&gt;
| {{Author/kiraru2002}}&lt;br /&gt;
|-&lt;br /&gt;
| [[FindAudioSyncScript]]&lt;br /&gt;
| FindAudioSyncScript helps you to find the appropriate audio delays, if you have desync'ed audio.&lt;br /&gt;
| N/A&lt;br /&gt;
| Script&lt;br /&gt;
| IanB&lt;br /&gt;
|-&lt;br /&gt;
| MinMaxAudio&lt;br /&gt;
| Computes the root mean square, maximal or minimal value over all samples in all channels,or just over all samples in channel, and outputs the value (in decibels) as a float[http://forum.doom9.org/showpost.php?p=1197592&amp;amp;postcount=19]. It's a conditional audio filter, so the computation is done framewise. See [http://forum.doom9.org/showthread.php?t=127530 discussion]&lt;br /&gt;
| N/A&lt;br /&gt;
| [http://www.wilbertdijkhof.com/MinMaxAudio_v02.zip Plugin]&lt;br /&gt;
| {{author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=104792 Sox Audio Effect Filter]&lt;br /&gt;
| Use [http://sox.sourceforge.net/ SOX] effects within AviSynth. Most effects are supported, and multiple effects can be stacked after each other.&lt;br /&gt;
| N/A&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=761154#post761154 Plugin]&lt;br /&gt;
| {{author/Sh0dan}}&lt;br /&gt;
|-&lt;br /&gt;
|[[Spectrogram]]&lt;br /&gt;
|Linear [http://en.wikipedia.org/wiki/Spectrogram spectrogram] for AviSynth 2.6.&lt;br /&gt;
|Any&lt;br /&gt;
|[http://www.dropbox.com/s/ivh3o1wglw7un0g/Spectrogram.7z?dl=1 Plugin]&lt;br /&gt;
|[http://github.com/innocenat innocenat]&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showpost.php?p=1722472&amp;amp;postcount=20 TimeStretchPlugin]&lt;br /&gt;
|[[TimeStretch]] with multichannel support and updated SoundTouch library. &lt;br /&gt;
|N/A&lt;br /&gt;
|[http://www.wilbertdijkhof.com/TimeStretch_v258.zip Plugin]&lt;br /&gt;
|{{Author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
| [[ViewAudio]]&lt;br /&gt;
| Includes two filters: ViewAudio and AudioCache. &lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://nullinfo.s21.xrea.com/data/ViewAudio0301.zip Plugin] &amp;lt;!--[http://www.avisynth.nl/users/warpenterprises/files/viewaudio_5F25_dll_20031103.zip Plugin]--&amp;gt;&lt;br /&gt;
| {{Author/minamina}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Waveform]]&lt;br /&gt;
| Displays audio waveforms superimposed on the video, similar to AudioGraph below but with multi-channel support and consistent support for all colourspaces. See [http://forum.doom9.org/showthread.php?t=165703 discussion]&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://horman.net/avisynth/download/waveform0.3.zip Plugin]&amp;lt;!--[https://web.archive.org/web/20130413095328/http://horman.net/waveform0.2.zip archived]--&amp;gt;&lt;br /&gt;
| {{Author/David Horman}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== As Yet Unclassified ==&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=397426#post397426 Adjust]&lt;br /&gt;
| Generic Y-Channel mapping. Can define a function for the Y Channel. See [http://forum.doom9.org/showthread.php?p=397426 discussion.]&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/adjust_5F25_dll_20031110.zip Plugin]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/ WarpEnterprises]&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=166588 Adaptive Lens Blur Repair]&lt;br /&gt;
|This function adaptively repairs video damaged by lens blur, using a frame-adaptive repair mask, a selection of sharpeners and multi-stage motion-compensated artifact removal.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/attachment.php?attachmentid=13154&amp;amp;stc=1&amp;amp;d=1354907363 Script]&lt;br /&gt;
| fvisagie&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showpost.php?p=1703332&amp;amp;postcount=172 amp]&lt;br /&gt;
|Inspired by [http://forum.doom9.org/showthread.php?t=168293 RgbAmplifier], it performs temporal smoothing, then (optionally) enhances the difference between the windowed average and the current frame.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://horman.net/avisynth/amp.zip Plugin]&lt;br /&gt;
| {{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://github.com/Xenoveritas/AviSynth-Stuff/tree/master/AutoTrace AutoTraceFilter]&lt;br /&gt;
|An intentionally useless plugin that uses [http://autotrace.sourceforge.net/ AutoTrace] to trace and then resize a source video, rendering the result using GDI+.&lt;br /&gt;
|[[RGB24]]&lt;br /&gt;
| [http://github.com/Xenoveritas/AviSynth-Stuff/tree/master/AutoTrace Plugin]&lt;br /&gt;
| [http://github.com/Xenoveritas Xenoveritas]&lt;br /&gt;
|-&lt;br /&gt;
|[http://nutbread.github.io/ave/ ave]&lt;br /&gt;
| A set of experimental audio/video filters.&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://nutbread.github.io/ave/ Plugin]&lt;br /&gt;
| [http://github.com/nutbread nutbread]&lt;br /&gt;
|-&lt;br /&gt;
| [[Average]]&lt;br /&gt;
| A simple plugin that calculates weighted average of multiple clips. &lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://avisynth.nl/index.php/Average Plugin]&lt;br /&gt;
| {{Author/tp7}}, {{Author/mg262}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://sourceforge.net/projects/avisynthgmplyr/files/ AviSynthGimpLayer]&lt;br /&gt;
|AviSynth Gimp-style Layer merge plugin.&lt;br /&gt;
|[[RGB24]], [[RGB32]]&lt;br /&gt;
|[http://iweb.dl.sourceforge.net/project/avisynthgmplyr/AvisynthGimpLayer.zip Plugin]&lt;br /&gt;
| [http://sourceforge.net/u/panzerboy66/profile/ panzerboy66]&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=675275#post675275 BeforeAfter]&lt;br /&gt;
| See the difference before and after; similar discussion [http://forum.doom9.org/showthread.php?t=98876 here]. (missing [http://www.animemusicvideos.org/forum/viewtopic.php?f=11&amp;amp;t=45223 BeforeAfterDiff] and BeforeAfterLine scripts.)&lt;br /&gt;
| any&lt;br /&gt;
| Script&lt;br /&gt;
| Corran&lt;br /&gt;
|-&lt;br /&gt;
| BlockAverage&lt;br /&gt;
| A simple filter that just averages the Y values of each 2x2 pixel block in a YV12 image – U and V values are left alone as they already common to each 2x2 block in a progressive YV12 image. Just made to see if it satifies the requirements in [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=91580&amp;amp;perpage=10&amp;amp;pagenumber=1 this thread].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20091028073306/http://geocities.com/siwalters_uk/blockaverage01.zip Plugin]&lt;br /&gt;
| {{Author/Simon Walters}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=46506 Call]&lt;br /&gt;
| Call an external program from the script.&lt;br /&gt;
| N/A&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/call_5F25_dll_20030310.zip Plugin]&lt;br /&gt;
| Nic, DDogg&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=158696 ccc]&lt;br /&gt;
|A plugin specifically designed for Cross-Conversion Correction.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://japland.org/ccc/ccc_v0.4a_avs.zip Plugin]&lt;br /&gt;
|Daemon404&lt;br /&gt;
|-&lt;br /&gt;
|[http://github.com/tp7/CLExpr CLExpr]&lt;br /&gt;
|AviSynth Expr filter implemented in OpenCL for runtime calculation of expressions on 8 and 16-bit depths clips. Makes mt_lutxy and mt_lutxyz possible on 16-bit. More information [http://forum.doom9.org/showpost.php?p=1672638 here].&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[http://github.com/tp7/CLExpr/releases Plugin]&lt;br /&gt;
|{{Author/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/ColorIt/ColorIt.html Colorit]&lt;br /&gt;
| Color a black and white image or recolor a color image. See [http://forum.doom9.org/showthread.php?t=93990 discussion.]&lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/ColorIt/Colorit.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| CutFrames&lt;br /&gt;
| Cut a range of frames from a single a/v clip. Opposite of Trim with extras.&lt;br /&gt;
| &lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=135423 Script]&lt;br /&gt;
| mikeytown2&lt;br /&gt;
|-&lt;br /&gt;
| DCT&lt;br /&gt;
| Plugin with the following functions: IDCT, IDCT2, FDCT, FDCT2. See [http://forum.doom9.org/showthread.php?p=667382#post667382 discussion]&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://alainmuchembled.free.fr/DCT.zip Plugin]&lt;br /&gt;
| lcld&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1444027#post1444027 DDigit]&lt;br /&gt;
| DDigit Plugin Text Rendering Pack for Plugin writers. See [http://forum.doom9.org/showthread.php?t=156888 discussion.]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.mediafire.com/download/v9kv0ha895y53v1/DDigitTest_25%2626_v1-06_dll_20130710.zip Source]&lt;br /&gt;
| {{Author/StainlessS}}&lt;br /&gt;
|- &lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=80419 DeBlot]&lt;br /&gt;
| Color Blot Reduction. &lt;br /&gt;
| [[YUY2]],[[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/deblot_5F25_dll_20030628.zip Plugin]&lt;br /&gt;
| {{Author/minamina}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=95193 DeJump]&lt;br /&gt;
| This is a specific filter which might be used to stabilize some &amp;quot;jumpy&amp;quot; video sources captured from VHS. &lt;br /&gt;
|[[YUY2]]&lt;br /&gt;
| [http://forum.doom9.org/attachment.php?attachmentid=3988&amp;amp;d=1117479069 Plugin]&lt;br /&gt;
| dinstun&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/exinpaint/exinpaint.html ExInpaint]&lt;br /&gt;
| Exemplar-Based Image Inpainting - removing large objects from images. &lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://avisynth.org.ru/exinpaint/exinpaint0200.zip Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=150291 FritzPhoto]&lt;br /&gt;
| Use Avisynth to process still images.&lt;br /&gt;
| &lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=150291 FritzPhoto]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?p=1600151#post1600151 FSubstitute]&lt;br /&gt;
|Tries to automate the task of replacing bad frames using adjacent or close-by frames.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?p=1600151#post1600151 Script]&lt;br /&gt;
|martin53&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=152109 Fusion]&lt;br /&gt;
|Pyramidal image processing for video, it uses image pyramids to blend clips together (more commonly used in the creation of HDR images and image stitching).&lt;br /&gt;
|[[RGB32]]&lt;br /&gt;
|[http://horman.net/fusion.zip Plugin]&lt;br /&gt;
|{{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
| GetSystemEnv&lt;br /&gt;
| An AviSynth plug-in to retrieve information from the system. &lt;br /&gt;
| N/A&lt;br /&gt;
| [http://www.avisynth.nl/users/stickboy/GetSystemEnv.zip Plugin]&lt;br /&gt;
| {{Author/stickboy}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=598958#post598958 GraMaMa]&lt;br /&gt;
| Gradient Mask Maker: Creates a mask (either a gradient or black/white) given a prescribed shape (such as circle, ellipse, line, square or rectangle).&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.wilbertdijkhof.com/GraMaMa_v02.zip Plugin]&lt;br /&gt;
| {{author/E-Male}}, &lt;br /&gt;
{{author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=170216 Median]&lt;br /&gt;
|A filter plugin for AviSynth which generates a pixel-by-pixel median of several clips. This is particularly useful for filtering out noise and glitches from multiple VHS/SVHS/8mm/Hi8 tape captures, but can be used for other purposes also. [http://forum.videohelp.com/threads/362361-Median%28%29-plugin-for-AviSynth VideoHelp discussion]&lt;br /&gt;
|[[RGB32]], [[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=170216 Plugin]&lt;br /&gt;
|{{Author/ajk}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/NeuralNet/NeuralNet.html NeuralNet]&lt;br /&gt;
| Neural networks through back propagation learn and filter some types of noise. Classification and linear type networks are included.&lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/NeuralNet/NeuralNet.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| ParameterisedBlend&lt;br /&gt;
| ParameterisedBlend allows you to blend any number of frames within a clip, or blend any number of different clips together.  You can use it as an extended, gamma-aware replacement for Merge().&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://sites.google.com/site/ourenthusiasmsasham/soft Plugin]&lt;br /&gt;
| [http://sites.google.com/site/ourenthusiasmsasham/ PitifulInsect]&lt;br /&gt;
|-&lt;br /&gt;
| PseudoColor &lt;br /&gt;
| This filter first converts clip to b/w, then colors it to pseudorandom colors according to brightness. See [http://forum.doom9.org/showthread.php?t=61570 discussion.]&lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/pseudocolor_5F25_dll_20030919.zip Plugin]&lt;br /&gt;
| Shubin&lt;br /&gt;
|-&lt;br /&gt;
| [[SegmentedAmp]] &lt;br /&gt;
| Image is segmented with watershed algorithm for smoothing and/or sharpening.&lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://avisynth.nl/index.php/SegmentedAmp Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=680658#post680658 SlopeBend]&lt;br /&gt;
| See [http://forum.doom9.org/showthread.php?p=680712#post680712 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://home.arcor.de/dhanselmann/_stuff/SlopeBend_v01a_avs.rar Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Soothe]]&lt;br /&gt;
| Lessens the temporal instability and aliasing caused by sharpening, by comparing the original and sharpened clip, leaving a smoother and slightly softer output. See [http://forum.doom9.org/showthread.php?t=99679 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=99679 Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://github.com/tp7/tcolormask TColorMask]&lt;br /&gt;
|A simple color masking plugin for AviSynth. See [http://forum.doom9.org/showthread.php?t=169832 discussion]&lt;br /&gt;
| [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[http://github.com/tp7/tcolormask/releases Plugin]&lt;br /&gt;
|{{Author/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://github.com/tp7/tmaskcleaner TMaskCleaner]&lt;br /&gt;
|A really simple mask cleaning plugin for AviSynth based on mt_hysteresis. See [http://forum.doom9.org/showthread.php?t=169832 discussion]&lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[http://github.com/tp7/tmaskcleaner/releases Plugin]&lt;br /&gt;
|{{Author/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
| TMM &lt;br /&gt;
| TMM builds a motion-mask for TDeint, which TDeint uses via its 'emask' parameter. See [http://forum.doom9.org/showthread.php?p=980353#post980353 discussion.]&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/TMMv1.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://sourceforge.net/projects/avisynthtrackin/ Tracking]&lt;br /&gt;
| Use computer vision to track objects in the video, and produce ConditionalReader input. Demo at [http://www.youtube.com/watch?v=SQ-JtJs7US0 Youtube]. &lt;br /&gt;
| [[RGB24]]&lt;br /&gt;
| [http://sourceforge.net/projects/avisynthtrackin/files/1.1/AvisynthTrackin.1.1.binary.zip/download Plugin]&lt;br /&gt;
| [http://avisynthtrackin.sourceforge.net/ Shlomo Matichin]&lt;br /&gt;
|-&lt;br /&gt;
| Unpremultiply &lt;br /&gt;
| This plugin convert the input RGBA clip from premultiplied alpha to straight matted alpha. See [http://forum.doom9.org/showthread.php?t=166730 discussion.]&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://forum.doom9.org/attachment.php?attachmentid=13207&amp;amp;d=1356994426 Plugin]&lt;br /&gt;
| [http://code.google.com/p/avisynth-unpremultiply/ Josh Sutinen]&lt;br /&gt;
|-&lt;br /&gt;
| UnSmooth&lt;br /&gt;
| What does it do. It amplifies noise, small detail, and artifacts. Doesn't sound very attractive, but there can still be some detail left in over smoothed encodes. See [http://forum.doom9.org/showthread.php?t=63361 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20090821183550/http://mf.creations.nl/avs/functions/UnSmooth-v0.1.avs Script]&lt;br /&gt;
| {{Author/mf}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/WaterShed/Watershed.html WaterShed] &lt;br /&gt;
| Assuming image grey values to be elevations, it is segmented into basins and watershed lines. Useful in certain medical image analysis and recoloring work.&lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| AviSynth 2.5.8: [http://www.avisynth.nl/users/vcmohan/WaterShed/Watershed.zip Plugin]&lt;br /&gt;
AviSynth 2.6.0: [http://www.avisynth.nl/users/vcmohan/WaterShed/Watershed_2_6.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://github.com/Xenoveritas/AviSynth-Stuff/tree/master/xvplugins xvplugins]&lt;br /&gt;
|This is simply a bunch of AviSynth stuff that isn't (really) possible using plain AviSynth and instead required a plugin.&lt;br /&gt;
|[[RGB32]]&lt;br /&gt;
| [http://github.com/Xenoveritas/AviSynth-Stuff/tree/master/xvplugins Plugin]&lt;br /&gt;
| [http://github.com/Xenoveritas Xenoveritas]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Deprecated ==&lt;br /&gt;
A section for the old and outdated. &lt;br /&gt;
&lt;br /&gt;
===Source Filters===&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| MPEG2Dec&lt;br /&gt;
| Mpeg2dec is a plugin which lets AviSynth import MPEG2 files. (deprecated)&lt;br /&gt;
| [[RGB]], [[YUY2]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/ Plugin]&lt;br /&gt;
| {{Author/Dividee}} and others&lt;br /&gt;
|-&lt;br /&gt;
| MPEG2Dec3&lt;br /&gt;
| A MPEG2Dec2.dll modification with deblocking and deringing. Note that the colorspace information of dvd2avi is ignored when using mpeg2dec. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=53164 discussion]. (deprecated)&lt;br /&gt;
| [[RGB]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/ Plugin]&lt;br /&gt;
| {{Author/Marc FD}}, {{Author/Nic}}, {{Author/Tom Barry}}, {{Author/Sh0dan}} and others &lt;br /&gt;
|-&lt;br /&gt;
| MPEGDecoder&lt;br /&gt;
| Load VOB/MPEG-2 ES,PS,TS/MPEG-1 files directly. (deprecated)&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Plugin&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Anti-[[aliasing]] ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[AAA]]&lt;br /&gt;
| Anti-aliasing filter designed for anime. See [http://forum.doom9.org/showthread.php?t=83396 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| {{Author/Soulhunter}}&lt;br /&gt;
|-&lt;br /&gt;
| [[AntiAliasing]]&lt;br /&gt;
| Anti-aliasing script for, well, anti-aliasing. See [http://forum.doom9.org/showthread.php?t=83396 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| {{Author/SpikeSpiegel}}, {{Author/Didée}}, {{Author/mf}}, {{Author/scharfis brain}} and {{Author/Soulhunter}}&lt;br /&gt;
|-&lt;br /&gt;
| AntiAliasRG&lt;br /&gt;
| An anti-aliasing script that uses RemoveGrain. See [http://forum.doom9.org/showthread.php?t=83396&amp;amp;page=4 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| Bloax&lt;br /&gt;
|-&lt;br /&gt;
| FAA&lt;br /&gt;
| Faster Anti-aliasing. See [http://forum.doom9.org/showthread.php?t=83396&amp;amp;page=4].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| list&lt;br /&gt;
|-&lt;br /&gt;
| [[MAA]]&lt;br /&gt;
| Anti-aliasing with edge masking.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| martino, Kintaro, thetoof&lt;br /&gt;
|-&lt;br /&gt;
| [[SAA]]&lt;br /&gt;
| A simple anti-aliasing script. See [http://forum.doom9.org/showthread.php?t=83396 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| {{Author/Soulhunter}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Deinterlacing===&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| GreedyHMA&lt;br /&gt;
| GreedyHMA is an Avisynth filter that executes DScaler's Greedy/HM algorithm code to perform pulldown matching, filtering, and video deinterlace. It has pretty much been superceded by Donald Graft's [[Decomb]] package. However there may be occasions where it sometimes gives preferable results, especially with some bad [[PAL]] clips.&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [{{N2Archived}}/trbarry/GreedyHMA.zip Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| [[MCBob]]&lt;br /&gt;
| Another approach to motion compensated bobbing. No residual combing, Motion Masking adaptive to local complexity, self adaptive error correction for temporal interpolation, Motion Search between fields of same parity, and spatial Interpolation overweights spatio-temporal interpolation. Is SLOW.&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[MVBob]]&lt;br /&gt;
| by scharfis_brain [http://forum.doom9.org/showthread.php?t=84725] [http://web.archive.org/web/20080924163957/http://home.arcor.de/scharfis_brain/mvbob/]&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| scharfis_brain&lt;br /&gt;
|-&lt;br /&gt;
| [[SangNom]]&lt;br /&gt;
| A single field deinterlacer, can also be used for anti-aliasing. See [http://forum.doom9.org/showthread.php?t=69052 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://manao4.free.fr/SangNom.zip Plugin]&lt;br /&gt;
| {{Author/Marc FD}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TomsMoComp]]&lt;br /&gt;
| This filter uses motion compensation and adaptive processing to deinterlace video source (not for NTSC film). See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=37915 discussion].&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [{{N2Archived}}/trbarry/TomsMoComp.zip Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sharpeners===&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[aWarpSharp]] &lt;br /&gt;
| A warp sharpening filter.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/awarpsharp_5F25_dll_20030203.zip Plugin]&lt;br /&gt;
| {{Author/Marc FD}}&lt;br /&gt;
|-&lt;br /&gt;
| [[WarpSharp YV12]] &lt;br /&gt;
| Directly ported from ffdshow; it contains WarpSharp &amp;amp; XSharpen.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/warpsharp_5F25_dll_20030103.zip Plugin]&lt;br /&gt;
| {{Author/Sh0dan}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Others===&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| Chikitown&lt;br /&gt;
| A simple script to do overlay to a video RGBA in AviSynth.&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| Chikitown&lt;br /&gt;
|-&lt;br /&gt;
| LBkiller&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/lbkiller_20050117.zip LBkiller.exe] &lt;br /&gt;
| [http://esby.free.fr/ esby]&lt;br /&gt;
|-&lt;br /&gt;
| LTSMC&lt;br /&gt;
| Requires the old MaskTools (v1); see [http://forum.doom9.org/showthread.php?p=690048#post690048 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://home.arcor.de/dhanselmann/_stuff/LTSMC.rar Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=752196&amp;amp;postcount=19 MCNR_simple2]&lt;br /&gt;
| Requires the old MaskTools (v1); see [http://forum.doom9.org/showthread.php?p=752196#post752196 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://home.arcor.de/dhanselmann/_stuff/MCNR_simple2.rar Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=727667#post727667 PixieDustPP] &lt;br /&gt;
| Deprecated! DO NOT USE! Requires 'Dust' an Avisynth 2.0 plugin.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| RGBManipulate &lt;br /&gt;
| RGBmanipulate mirrors the function utoy vtoy mergeLuma/chroma for the [[RGB]] colorspace.&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/rgbmanipulate_20051011.zip Plugin]&lt;br /&gt;
| {{Author/tsp}}&lt;br /&gt;
|-&lt;br /&gt;
| SmartSmoother&lt;br /&gt;
| Deprecated; AviSynth 2.0 plugin port of the VirtualDub [{{N2Moved}}/smooth.html SmartSmoother] filter.&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| Plugin&lt;br /&gt;
| Hans-Martin Kreuz&lt;br /&gt;
|-&lt;br /&gt;
| Tweak3 &lt;br /&gt;
| '''Deprecated'''; same as [[Tweak]] but with dithering. This plugin is considered deprecated, [[Tweak]] in AviSynth 2.6 added dithering. &lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://web.archive.org/web/20080905123941/http://soulhunter.chronocrossdev.com/data/tweak3.zip Plugin]&lt;br /&gt;
| {{Author/soulhunter}}&lt;br /&gt;
|-&lt;br /&gt;
| UberSmooth (Bloated)&lt;br /&gt;
| Requires the old MaskTools (v1); outdated not recommended.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20071101004437id_/http://soulhunter.chronocrossdev.com/data/UberSmooth%20v.0.4c%20%5bBloated%5d.avs Script]&lt;br /&gt;
| {{Author/Soulhunter}}&lt;br /&gt;
|-&lt;br /&gt;
| UberSmooth (DCTFun)&lt;br /&gt;
| Requires the old MaskTools (v1); outdated not recommended.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20071101004437id_/http://soulhunter.chronocrossdev.com/data/UberSmooth%20v.0.4c%20%5bDCTFun%5d.avs Script]&lt;br /&gt;
| {{Author/Soulhunter}}&lt;br /&gt;
|-&lt;br /&gt;
| UberSmooth (Deen) &lt;br /&gt;
| Requires the old MaskTools (v1); outdated not recommended.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20071101004437id_/http://soulhunter.chronocrossdev.com/data/UberSmooth%20v.0.4c%20%5bDeen%5d.avs Script]&lt;br /&gt;
| {{Author/Soulhunter}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debugging/Diagnostic Filters===&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [http://avisynth.org.ru/docs/english/externalfilters/avsmon.htm Avisynth-Monitor]&lt;br /&gt;
| [DEPRECATED] MonitorFilter, see [http://forum.doom9.org/showthread.php?t=32125 discussion]&lt;br /&gt;
| &lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/avsmon25a_5F25_dll_20030125.zip Plugin]&lt;br /&gt;
| [http://web.archive.org/web/20041115184551/http://members.nextra.at/johann.langhofer/avisynth/ johann.Langhofer]&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20120721024353/http://avstimer.de.tf/ AvsTimer]&lt;br /&gt;
| [DEPRECATED] An Avisynth 2.5x plugin for measuring speed and performance of Avisynth plugins. See [http://forum.doom9.org/showthread.php?t=56090 discussion] and continued [http://videoprocessing.fr.yuku.com/topic/20/AvsTimer-081-released discussion.]&lt;br /&gt;
| &lt;br /&gt;
| [http://web.archive.org/web/20120820101135/http://home.pages.at/kassandro/AvsTimer/AvsTimer.zip Plugin]&lt;br /&gt;
| Kassandro&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20030808210108/http://kurosu.inforezo.org/avs/Kronos/index.html Kronos]&lt;br /&gt;
| [DEPRECATED] A filter  that provides a simple and easy way to benchmark or profile filter chains. Usage [http://forum.doom9.org/showthread.php?t=58928 information.]&lt;br /&gt;
| &lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/kronos_5F25_dll_20030703.zip Plugin]&lt;br /&gt;
| {{Author/Kurosu}}&lt;br /&gt;
|-&lt;br /&gt;
| PixelInfo&lt;br /&gt;
| A GUI-based filter that lets you pick a pixel and gives you color information. See [http://forum.doom9.org/showthread.php?t=108602 discussion] and [http://forum.doom9.org/showthread.php?t=141179 update.] (DOES NOT WORK CORRECTLY)&lt;br /&gt;
| RGB32, YUY2&lt;br /&gt;
| Plugin&lt;br /&gt;
| hanfrunz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Support Filters===&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[MaskTools]]&lt;br /&gt;
| This plugin provides tools for the creation, enhancement and manipulation of masks for each component (Y, U, V) of the YV12 [[Color_spaces|color space]]. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=67232 discussion]. &lt;br /&gt;
'''This version is now deprecated, use [[MaskTools2]] instead for new scripts.'''&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://manao4.free.fr/ Plugin]&lt;br /&gt;
| {{Author/Kurosu}}, {{Author/Manao}}&lt;br /&gt;
|-&lt;br /&gt;
| MergeClips&lt;br /&gt;
| Use [[Overlay]] instead! Merge 2 RGB clips, [http://web.archive.org/web/20041110045514/http://www.di.unito.it/~rabser/avisynth/ see homepage]&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/mergeclips_5F25_dll_20051024.zip Plugin]&lt;br /&gt;
| Sergio Rabellino&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Deepcolor Filters===&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| Deep Color Tools&lt;br /&gt;
| This Script provides basic functions to import 10bit video, do color adjustments, and export to 8bit&lt;br /&gt;
| [http://developer.apple.com/quicktime/icefloe/dispatch019.html#v210 V210]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1467907#post1467907 Script]&lt;br /&gt;
| jmac698&lt;br /&gt;
|}&lt;br /&gt;
[[Category:AviSynth_Usage]]&lt;br /&gt;
[[Category:External_filters]]&lt;/div&gt;</summary>
		<author><name>SilverbackNet</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/External_filters</id>
		<title>External filters</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/External_filters"/>
				<updated>2015-01-07T03:20:11Z</updated>
		
		<summary type="html">&lt;p&gt;SilverbackNet: /* As Yet Unclassified */ Add vcmohan filters&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rough classification of third-party filters for AviSynth - a perpetual work in progress.&lt;br /&gt;
&lt;br /&gt;
This page lists both scripts (see [[Import]]) and plugins (see [[Plugins]]).&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
==== Download sites ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
A list of older plugins (for AviSynth v1.0x/v2.0x) which are still sometimes used can be found [[External_plugins_old|here]].&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
A large list of filters can be downloaded from the following sites:&amp;lt;br/&amp;gt;&lt;br /&gt;
Be aware that some plugins may be outdated, only recommended as a backup.&lt;br /&gt;
&lt;br /&gt;
:*[http://web.archive.org/web/20130803185015/http://www.64k.it/andres/dettaglio.php?sez=avisynth Andres' Filter Collection] &lt;br /&gt;
:*[http://chaosking.de/repo/avsfilters/ Avisynth Filter DB by ChaosKing] | [http://web.archive.org/web/20140412062911/http://chaosking.de/avisynth-filter-db mirror]&lt;br /&gt;
:*[http://xhmikosr.1f0.de/_old/avisynth/plugins/ XhmikosR's Builds] &lt;br /&gt;
:*[http://www.avisynth.nl/users/warpenterprises/ Warp Enterprises' Avisynth Filter Collection]&lt;br /&gt;
&lt;br /&gt;
A list of 64-bit compiles can be found in the following sites:&lt;br /&gt;
:*[http://code.google.com/p/avisynth64/wiki/PluginLinks 64-Bit Plugin Collection by JoshyD]  &lt;br /&gt;
:*[http://members.optusnet.com.au/squid_80/ squid_80's 64-bit repository] &lt;br /&gt;
:*[http://web.archive.org/web/20130922222259/http://yo4kazu.110mb.com/ Avisynth x64 filters by yo4kazu]&lt;br /&gt;
:*[http://sites.google.com/site/avisynth64bitplugin/download Avisynth 64bit Plugin download list by poodle]&lt;br /&gt;
&lt;br /&gt;
Documentation of AviSynth v1.0x/v2.0x plugins (older plugins, not recommended, but some of them ''may'' still be in general use).&lt;br /&gt;
:*[[External plugins old|External plugins (old)]]&lt;br /&gt;
&lt;br /&gt;
==== Using filters ====&lt;br /&gt;
&lt;br /&gt;
Most scripts will apply filters in the following order:&lt;br /&gt;
&lt;br /&gt;
# Create an AviSynth clip from a video file.&lt;br /&gt;
# Correct or remove any unwanted features in the video (e.g. dot crawl, field blending or telecine).&lt;br /&gt;
# Denoise the video (optional).&lt;br /&gt;
# Manipulate the video into the desired format (by e.g. changing the size and frame rate). &lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
AviSynth filters have been classified under these four basic tasks, with a fifth category for filters that fall outside this scheme, and a sixth category for filters that process audio only.&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
== Source Filters ==&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=135855 BassAudio]&lt;br /&gt;
| [http://un4seen.com/bass.html Bass Audio] decoder. Supports wav, aiff, mp3, mp2, mp1, ogg. Support for aac, ac3, alac, ape, cd, flac, midi, mpc, ofr, spx, tta, wma, wv with additional included dll's. The filter is included in the Behappy package.&lt;br /&gt;
| N/A&lt;br /&gt;
| [http://behappy.codeplex.com/ Plugin], [http://web.archive.org/web/20130922222259/http://yo4kazu.110mb.com/ x64]&lt;br /&gt;
| dimzon&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.gyroshot.com/cmvsource.htm CMVSource]&lt;br /&gt;
| Load [http://www.bay12games.com/dwarves/ Dwarf Fortress] CMV and CCMV movies.&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=162850 Plugin]&lt;br /&gt;
| {{Author/Robert Martens}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=122598 DGAVCDecode] &lt;br /&gt;
| AVC/H.264 decoder plug-in. &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.videohelp.com/tools/DGAVCDec Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DGDecode]] &lt;br /&gt;
| Decode MPEG1/MPEG2 streams from: DVD VOBs, captured transport streams, *.mpg/*.m2v/*.pva files, etc. Use this instead of MPEGDecoder/MPEG2Dec3.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[I420]] &lt;br /&gt;
| [{{N2Moved}}/dgmpgdec/dgmpgdec.html Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=170107 DGMVCSource]&lt;br /&gt;
|MVC source filter for AviSynth.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
|[http://rationalqm.us/dgmvcsource/dgmvcsource100b22.zip Plugin]&lt;br /&gt;
|{{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=134275 DirectShowSource2]&lt;br /&gt;
| Uses the installed Haali Media Splitter along with its ''avss.dll'' AviSynth plugin. Converts vfr files to cfr in order to support frame-accurate seeking.&lt;br /&gt;
| &lt;br /&gt;
| [http://web.archive.org/web/20130923230211/http://haali.su/mkv/ Plugin]&lt;br /&gt;
| Haali&lt;br /&gt;
|-&lt;br /&gt;
| DVInfo&lt;br /&gt;
| Grabs the timestamp and recording date info from a DV-AVI. See [http://forum.doom9.org/showthread.php?t=61688 discussion].&lt;br /&gt;
| N/A&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/dvinfo_20100602.zip Plugin]&lt;br /&gt;
| {{Author/WarpEnterprises}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20071025023927/http://mvideo.ddpp.net/eng/dvtimestampex.htm DVTimeStampEx]&lt;br /&gt;
| Shows DV timestamp information over a DV clip.&lt;br /&gt;
| N/A&lt;br /&gt;
| [http://web.archive.org/web/20071024123608/http://mvideo.ddpp.net/downld/dvtimestampex_0_5_5.zip Plugin] - [http://web.archive.org/web/20071024123608/http://mvideo.ddpp.net/downld/dvtimestampex_0_5_5_src.zip source code]&lt;br /&gt;
| [http://web.archive.org/web/20071025023932/http://mvideo.ddpp.net/eng/index.htm basilik]&lt;br /&gt;
|-&lt;br /&gt;
| [[FFmpegSource]]&lt;br /&gt;
| Decodes all ffmpeg ([http://en.wikipedia.org/wiki/Libavcodec libavcodec]) supported A/V formats with frame accurate seeking in AVI, MKV and MP4. See [http://forum.doom9.org/showthread.php?t=127037 discussion].&lt;br /&gt;
| [[RGB]], [[YUY2]], [[YV12]], [[I420]]&lt;br /&gt;
| [http://github.com/FFMS/ffms2/releases Plugin]&lt;br /&gt;
| {{Author/Myrsloik}}, TheFluff, Plorkyeran, others&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=110021 HDVInfo] &lt;br /&gt;
| Grabs the timestamp and recording date info out of a M2T-D2V file&lt;br /&gt;
| N/A&lt;br /&gt;
| [http://web.archive.org/web/20120419204535/http://strony.aster.pl/paviko/hdvinfo0.93.zip Plugin]&lt;br /&gt;
| {{Author/paviko}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=109997 ImageSequence]&lt;br /&gt;
| Load png, jpg, bmp, pcx, tga and gif image sequences using the [http://corona.sourceforge.net/ Corona Image I/O Library]. CoronaSequence/RawSequence.&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/imagesequence_20101115.zip Plugin]&lt;br /&gt;
| {{Author/WarpEnterprises}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=135928 Immaavs]&lt;br /&gt;
| ImmaRead uses the ImageMagick libraries to read images. Many formats are supported including animations, multipage files, image sequences and images with different sizes.&lt;br /&gt;
|&lt;br /&gt;
| [http://www.wilbertdijkhof.com/ Plugin]&lt;br /&gt;
| {{Author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
| IUF&lt;br /&gt;
| Import Uncompressed File. Must be uncompressed! Supported uncompressed Formats: avi, omf(avid), pxr(pixar), mov(24/32bit quicktime), cineon. Can export as well. See [http://forum.doom9.org/showthread.php?t=51227 discussion].&lt;br /&gt;
| [[RGB]]&lt;br /&gt;
| [http://web.archive.org/web/20091016215740/http://geocities.com/hanfrunz/iuf_v1.5.zip Plugin] &lt;br /&gt;
| hanfrunz&lt;br /&gt;
|-&lt;br /&gt;
| [[JpegSource]]&lt;br /&gt;
| An advanced JPEG decoder for Avisynth 2.6. See [http://forum.doom9.org/showthread.php?t=170028 discussion].&lt;br /&gt;
| [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://dl.dropboxusercontent.com/s/rjnt0y3ead2c6ef/JpegSource_20140419.7z Plugin] &lt;br /&gt;
| SEt&lt;br /&gt;
|-&lt;br /&gt;
| [[LSMASHSource]]&lt;br /&gt;
| A source plugin for audio and video, it uses Libav ([http://en.wikipedia.org/wiki/Libav#Contained_codecs libavcodec]) to decode all supported A/V formats. See [http://forum.doom9.org/showthread.php?t=167435 discussion.]&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[LSMASHSource|Plugin]]&lt;br /&gt;
| {{Author/VFR-maniac}}&lt;br /&gt;
|-&lt;br /&gt;
| MPASource&lt;br /&gt;
| A mp1/mp2/mp3 audio decoder plugin. See [http://forum.doom9.org/showthread.php?t=41435 discussion]&lt;br /&gt;
| N/A&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/mpasource_20080220.zip Plugin]&lt;br /&gt;
| {{Author/WarpEnterprises}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.codeplex.com/NicAudio NicAudio]&lt;br /&gt;
| Audio Plugins for Audio: MPEGAudio/AC3/DTS/LPCM and other uncompressed formats. Formerly known As EvilMPASource. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=89629 discussion].&lt;br /&gt;
| N/A&lt;br /&gt;
| [http://nicaudio.codeplex.com/ Plugin]&lt;br /&gt;
| {{Author/Nic}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=103931 OmfSource] &lt;br /&gt;
| Opens the AVID OMF file format (video only, and only works with captured files). See [http://forum.doom9.org/showthread.php?t=103931 discussion].&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.tateu.net/software/ Plugin]&lt;br /&gt;
| {{Author/tateu}}&lt;br /&gt;
|-&lt;br /&gt;
| QTSource&lt;br /&gt;
| Quicktime Import/Export Filter using an existing installation of Quicktime 6/7. See [http://forum.doom9.org/showthread.php?t=104293 discussion].&lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YUY2]]&lt;br /&gt;
| [http://www.tateu.net/software/ Plugin]&lt;br /&gt;
| {{Author/tateu}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20120124010957/http://arenafilm.hu/alsog/avisynthr3d/ R3DSource]&lt;br /&gt;
| Redcode RAW source plugin to load R3D clips. See [http://reduser.net/forum/showthread.php?25398 discussion].&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://web.archive.org/web/20120124010957/http://arenafilm.hu/alsog/avisynthr3d/ Plugin]&lt;br /&gt;
| {{Author/Kertai Gábor}}&lt;br /&gt;
|-&lt;br /&gt;
| RawSource&lt;br /&gt;
| Loads raw video data directly from files. See the initial [http://forum.doom9.org/showthread.php?t=39798 discussion] and its [http://forum.doom9.org/showthread.php?t=103509 continuation].&lt;br /&gt;
| [[RGB]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/rawsource_5F25_dll_20060728.zip Plugin] [http://sites.google.com/site/csghone/audio-video-tools/rawsource_25_dll_20122327.zip Updated with NV12 Support]&lt;br /&gt;
| {{Author/WarpEnterprises}}, {{Author/Wilbert Dijkhof}} and  {{Author/Sh0dan}}&lt;br /&gt;
|-&lt;br /&gt;
| RawSourceMod&lt;br /&gt;
| Loads raw video data directly from files. Further modifications (most raw formats, YUV4MPEG2 compatible with latest spec) [http://forum.doom9.org/showthread.php?t=39798 discussion].&lt;br /&gt;
| [[RGB]], [[YUY2]], [[YV12]] (for 2.5/2.6), [[YV24]], [[YV16]], [[YV411]], [[Y8]] (for 2.6)&lt;br /&gt;
| [http://www.mediafire.com/?3bmwyi1lztt4h1j 2.5 plugin] [http://www.mediafire.com/download/96wth97idn1s5fc/rawsource26-20130826.zip 2.6 plugin]&lt;br /&gt;
[http://www.microsoft.com/download/en/details.aspx?id=8328 msvcr100.dll]&lt;br /&gt;
| Chikuzen&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1403600 Sashimi]&lt;br /&gt;
(function &amp;quot;RawReader&amp;quot;)&lt;br /&gt;
| Loads raw video data directly from files, similarly to RawSource, but also allows for skipping headers, and extra formats (long list to help anyone doing a search):  GREY, Y8, interleaved RGB, BGR (which is RGB24), BGRA (which is RGB32), ARBG, ABGR, RGBA, interleaved YUV (which is YCbCr), YUY2, UYVY, AYUV, planar YUV formats YUV444, YUV422, YUV420 (as YV12), YUV420 (as IMC2), and some raw ImageMagick formats.  Some supports for different bit-depths.  Includes YUVInterleaved.avsi, InterleavedConversions.avsi, and PlanarConversions.avsi.  [http://forum.doom9.org/showthread.php?p=1403600 Discussion].&lt;br /&gt;
| [[RGB]], [[YUY2]], and [[YV12]].&lt;br /&gt;
| [http://sites.google.com/site/ourenthusiasmsasham/soft Plugin with scripts]&lt;br /&gt;
| [http://sites.google.com/site/ourenthusiasmsasham/ PitifulInsect]&lt;br /&gt;
|-&lt;br /&gt;
| [[VapourSource]]&lt;br /&gt;
| VapourSynth script reader for AviSynth2.6x.  [http://forum.doom9.org/showthread.php?t=168339 Discussion].&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]].&lt;br /&gt;
| [http://www.mediafire.com/download/nrk3k4xakkwujqx/VapourSource-0.0.2.zip Plugin]&lt;br /&gt;
| {{Author/Chikuzen}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=170311 VideoInputSource]&lt;br /&gt;
| Capture video frames from video capture card or webcam in real-time.&lt;br /&gt;
|[[RGB24]]&lt;br /&gt;
|[http://github.com/fieliapm/himawari_avs_plugin/raw/master/VideoInputSource/VideoInputSource.dll Plugin]&lt;br /&gt;
|[http://github.com/fieliapm fieliapm]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Restoration Filters ==&lt;br /&gt;
&lt;br /&gt;
These remove effects or artefacts introduced (deliberately or accidentally) into the source video. Denoisers are classified separately.&lt;br /&gt;
&lt;br /&gt;
=== Anti-[[aliasing]] ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[AAA]]&lt;br /&gt;
| Anti-aliasing filter designed for anime. See [http://forum.doom9.org/showthread.php?t=83396 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| {{Author/Soulhunter}}&lt;br /&gt;
|-&lt;br /&gt;
| [[AntiAliasing]]&lt;br /&gt;
| Anti-aliasing script for, well, anti-aliasing. See [http://forum.doom9.org/showthread.php?t=83396 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| {{Author/SpikeSpiegel}}, {{Author/Didée}}, {{Author/mf}}, {{Author/scharfis brain}} and {{Author/Soulhunter}}&lt;br /&gt;
|-&lt;br /&gt;
| AntiAliasRG&lt;br /&gt;
| An anti-aliasing script that uses RemoveGrain(SSE3).dll. See [http://forum.doom9.org/showthread.php?t=83396&amp;amp;page=4 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| Bloax&lt;br /&gt;
|-&lt;br /&gt;
| [[DAA]]&lt;br /&gt;
| Anti-aliasing with contra-sharpening. Included in [[AnimeIVTC]].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| mcDAA3&lt;br /&gt;
| Motion-Compensated Anti-aliasing with contra-sharpening by AmjadSONY, can deal with ifade too, created because when applied daa3 to fixed scenes, it could damage some details and other issues. See [http://forum.doom9.org/showthread.php?p=1639679#post1639679 discussion]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.mediafire.com/?wqkob7zx1p119e0 Script]&lt;br /&gt;
| AmjadSONY&lt;br /&gt;
|-&lt;br /&gt;
| FAA&lt;br /&gt;
| Faster Anti-aliasing. See [http://forum.doom9.org/showthread.php?t=83396&amp;amp;page=4].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| list&lt;br /&gt;
|-&lt;br /&gt;
| [[MAA]]&lt;br /&gt;
| Anti-aliasing with edge masking. Included in [[AnimeIVTC]].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| martino, Kintaro, thetoof&lt;br /&gt;
|-&lt;br /&gt;
| [[MAA2]]&lt;br /&gt;
| Updated version of the MAA antialising script from [[AnimeIVTC]].&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV24]]&lt;br /&gt;
| [http://web.archive.org/web/20140624125132/https://raw.githubusercontent.com/AviSynth/avs-scripts/master/maa2.avsi Script]&lt;br /&gt;
| line0&lt;br /&gt;
|-&lt;br /&gt;
| [[SAA]]&lt;br /&gt;
| A simple anti-aliasing script. See [http://forum.doom9.org/showthread.php?t=83396 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| {{Author/Soulhunter}}&lt;br /&gt;
|-&lt;br /&gt;
| [[santiag]]&lt;br /&gt;
| Simple anti-aliasing with independent horizontal and vertical anti-aliasing strength.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1393006 Script]&lt;br /&gt;
| {{Author/cretindesalpes}}&lt;br /&gt;
|-&lt;br /&gt;
| SharpAAMCmod&lt;br /&gt;
| High quality MoComped AntiAliasing script, also a line darkener since it uses edge masking to apply tweakable warp sharpening, &amp;quot;normal&amp;quot; sharpening and line darkening with optional temporal stabilization of these edges. Part of [[AnimeIVTC]]. See [http://forum.doom9.org/showthread.php?t=138305] and [http://forum.doom9.org/showthread.php?t=140031]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| thetoof&lt;br /&gt;
|-&lt;br /&gt;
| TIsophote&lt;br /&gt;
| A level-set (isophote) smoothing filter, see [http://web.missouri.edu/~kes25c/]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Plugin&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Chroma correction ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [{{N2Archived}}/trbarry/Readme_BT709ToBT601.txt BT709ToBT601]&lt;br /&gt;
| Convert from BT.709 (HDTV) to BT.601 (SDTV) colorimetry.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [{{N2Archived}}/trbarry/BT709ToBT601.zip Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
|caf&lt;br /&gt;
|Chromatic Aberration Fixer.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://pastebin.com/raw.php?i=Mt2M4CBB Script]&lt;br /&gt;
| Torchlight&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20091026153334/http://geocities.com/siwalters_uk/chromashift.html ChromaShift]&lt;br /&gt;
| This filter will shift the chrominance information by an even number of pixels, in either horizontal direction. It can also apply an overall vertical shift of the total chrominance information, up or down. It is primarily intended to correct improper colour registration. See [http://forum.doom9.org/showthread.php?t=33302 discussion.]&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB]]&lt;br /&gt;
| [http://web.archive.org/web/20091026153334/http://www.geocities.com/siwalters_uk/chromashift27.zip Plugin]&lt;br /&gt;
| {{Author/Simon Walters}}&lt;br /&gt;
|-&lt;br /&gt;
| ChromaShiftSP&lt;br /&gt;
| This script can shift chroma in all directions with subpixel accuracy.&lt;br /&gt;
| &lt;br /&gt;
| [http://avisynth.nl/images/ChromaShiftSP.avsi Script]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| ColorMatrix&lt;br /&gt;
| ColorMatrix corrects the colors of MPEG-2 streams. More correctly, many MPEG-2 streams use slightly different coefficients (called Rec.709) for storing the color information than AviSynth's color conversion routines or the XviD/DivX decoders (called Rec.601) do, with the result that DivX/XviD clips or MPEG-2 clips encoded by TMPGEnc/QuEnc are displayed with slighty off colors. This can be checked by opening the MPEG-2 stream directly in VDubMod. See [http://forum.doom9.org/showthread.php?t=82217 discussion].&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/ColorMatrixv25.zip Plugin]&lt;br /&gt;
| {{Author/Wilbert Dijkhof}}&lt;br /&gt;
{{Author/tritical}} (v2.0+)&lt;br /&gt;
|-&lt;br /&gt;
| [[FixChromaBleeding]]&lt;br /&gt;
| Fixes area of chroma bleeding by shifting the chroma and lowering the saturation in the affected areas.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20091026141730/http://www.geocities.com/alex_j_jordan/chroma.txt Script]&lt;br /&gt;
| {{Author/Alex Jordan}}&lt;br /&gt;
|-&lt;br /&gt;
| [[FixChromaBleedingMod]]&lt;br /&gt;
| Fixes area of chroma bleeding by shifting the chroma and lowering the saturation in the affected areas. [http://web.archive.org/web/20140915083243/http://pastebin.com/Y0RQYJNr archived link]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://pastebin.com/raw.php?i=Y0RQYJNr Script]&lt;br /&gt;
| AmjadSONY&lt;br /&gt;
|-&lt;br /&gt;
| [[FixChromaticAberration]]&lt;br /&gt;
| FixChromaticAberration resizes (and crops) the red/green/blue channels of the image separately. This helps to minimize the colored edges next to the image corners that result from lenses with chromatic aberration. See [http://forum.doom9.org/showthread.php?p=1520786#post1520786 discussion.]&lt;br /&gt;
| [[RGB24]]&lt;br /&gt;
| [http://avisynth.nl/index.php/FixChromaticAberration Script]&lt;br /&gt;
| Martin Wagener&lt;br /&gt;
|-&lt;br /&gt;
| [[MoveChroma]]&lt;br /&gt;
| MoveChroma is a simple filter combination that helps in moving chroma back, if it has been displaced.&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[ReInterpolate411]]&lt;br /&gt;
| This is a fast simple filter to correct the improper 4:1:1 =&amp;gt; 4:2:2 conversion that seems to occur with some DV/4:1:1 codes when used with Avisynth. It assumes the odd chroma pixels are duplicates and discards them replacing them with the average of the two horizontally adjacent even chroma pixels. It doesn't matter whether the clip is interlaced though it must be in YUY2 format for Avisynth 2.5. There are no parameters, and currently no readme file.&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [{{N2Archived}}/trbarry/ReInterpolate411.zip Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.avisynth.nl/users/fizick/reinterpolate420/reinterpolate420.html ReInterpolate420]&lt;br /&gt;
| Usually, DV decoders upsample PAL DV (which is YV12) to YUY2 using point sampling. This plugin reinterpolates the original chroma samples.&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://www.avisynth.nl/users/fizick/reinterpolate420/reinterpolate420_v3.zip Plugin]&lt;br /&gt;
|  {{Author/Wilbert Dijkhof}}&lt;br /&gt;
{{Author/Fizick}} (v3)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Debanding ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| AdaptDBMC&lt;br /&gt;
| Luma / Fade / Blue adaptive debanding script. &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.nmm-hd.org/newbbs/viewtopic.php?f=7&amp;amp;t=512 Script]&lt;br /&gt;
| {{Author/06_taro}}&lt;br /&gt;
|-&lt;br /&gt;
| [[GradFun2db]]&lt;br /&gt;
| A simple and fast debanding filter. See Wikipedia: [http://en.wikipedia.org/wiki/Color_banding Color Banding]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://manao4.free.fr/gradfun2db-v1.0.zip Plugin]&lt;br /&gt;
| Prunedtree&lt;br /&gt;
|-&lt;br /&gt;
| GradFunkMirror&lt;br /&gt;
| Script that fixes GradFun2DB's bug that leaves the first 16 pixels on every border unprocessed. Needs [[GradFun2db]]!&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://avisynth.nl/images/GradFunkMirror.avsi Script]&lt;br /&gt;
| Alain2, MugFunky&lt;br /&gt;
|-&lt;br /&gt;
| [[GradFun2DBmod]]&lt;br /&gt;
| An advanced debanding script based on GradFun2DB.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=144537 Script]&lt;br /&gt;
| {{Author/LaTo}}&lt;br /&gt;
|-&lt;br /&gt;
| GradFun3&lt;br /&gt;
| This debanding script, part of the [[External_filters#Deepcolor_Filters|Dither]] package, has several gradient smoothing algorithms, including a bilateral filter. It uses an ordered dithering, which has a good resilience to lossy compression.&lt;br /&gt;
| [[YV12]], [[YV16]], [[YV24]], [[Y8]], [[YV411]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1386559&amp;amp;postcount=3 Script]&lt;br /&gt;
| {{Author/cretindesalpes}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://f3kdb.readthedocs.org/en/latest/ flash3kyuu_deband]&lt;br /&gt;
| Fast debanding plugin ported from AviUtl.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[YV16]], [[YV24]], [[Y8]], [[YV411]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=161411 Plugin]&lt;br /&gt;
| SAPikachu&lt;br /&gt;
|-&lt;br /&gt;
| LumaDB&lt;br /&gt;
| Fast 8-bit debanding filter with luma-adaptive grain and mask. Used to process luma only. See [http://www.nmm-hd.org/newbbs/viewtopic.php?f=7&amp;amp;t=668 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.nmm-hd.org/upload/get~3YK_B5TfcyI/LumaDB-0.7.rar Script]&lt;br /&gt;
| {{Author/06_taro}}&lt;br /&gt;
|-&lt;br /&gt;
| LumaDBL&lt;br /&gt;
| Fast 16-bit debanding filter with luma-adaptive grain and mask. Used to process luma only. Works in 16-bit internally and can also input/output 16-bit. See [http://www.nmm-hd.org/newbbs/viewtopic.php?f=7&amp;amp;t=668 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.nmm-hd.org/upload/get~mQYIS9H6Qas/LumaDBL-0.7.rar Script]&lt;br /&gt;
| {{Author/06_taro}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Deblocking ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| BlockKiller&lt;br /&gt;
| Deblocking filter, see [http://forum.doom9.org/showthread.php?p=1410479#post1410479 discussion].&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1410479&amp;amp;postcount=19 Script]&lt;br /&gt;
| Jawed&lt;br /&gt;
|-&lt;br /&gt;
| BlockTerminator&lt;br /&gt;
| Deblocking filter, see [http://forum.doom9.org/showthread.php?p=831936#post831936 discussion.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=831936&amp;amp;postcount=24 Script]&lt;br /&gt;
| foxyshadis&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.avisynth.nl/users/fizick/mvtools/deblock.html DeBlock]&lt;br /&gt;
| Deblocking filter,  see [http://forum.doom9.org/showthread.php?t=110352 discussion,] also DGDecode uses [{{N2Moved}}/dgmpgdec/DGDecodeManual.html#DeBlock DeBlock.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://www.avisynth.nl/users/fizick/mvtools/deblock12.zip Plugin]&lt;br /&gt;
| {{Author/Fizick}} / {{Author/Manao}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Deblock_QED]]&lt;br /&gt;
| &amp;quot;A postprocessed Deblock(): Uses full frequencies of Deblock's changes on block borders, but DCT-lowpassed changes on block interiours.&amp;quot; [http://forum.doom9.org/showpost.php?p=913365&amp;amp;postcount=4 Didée]. See [http://forum.doom9.org/showthread.php?p=944459 discussion.] For updated Deblock QED see this [http://forum.doom9.org/showthread.php?t=154777 discussion]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/Deblock_QED_MT2Mod.avsi Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[FunkyDeBlock]]&lt;br /&gt;
| Deblocking script based on BlindPP and high/low pass separation. See [http://forum.doom9.org/showthread.php?t=72431 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| Mug Funky&lt;br /&gt;
|-&lt;br /&gt;
| [http://home.arcor.de/kassandro/MDeblock/MDeblock.htm MDeblock]&lt;br /&gt;
| Plugin for removing block artifacts, see [http://home.arcor.de/kassandro/MDeblock/MDeblock.htm homepage.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://home.arcor.de/kassandro/MDeblock/MDeblock.zip Plugin]&lt;br /&gt;
| {{Author/kassandro}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.funknmary.de/bergdichter/projekte/video/SmoothD/ SmoothD]&lt;br /&gt;
| Filter to deblock frames while keeping high frequency detail. See [http://forum.doom9.org/showthread.php?s=&amp;amp;postid=566064 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.funknmary.de/bergdichter/projekte/video/SmoothD Plugin]&lt;br /&gt;
| Tobias Bergmann&lt;br /&gt;
|-&lt;br /&gt;
| [http://sites.google.com/site/jconklin754smoothd2/home SmoothD2]&lt;br /&gt;
| Deblocking filter.  Rewrite of SmoothD. Faster, better detail preservation, optional chroma deblocking. See [http://forum.doom9.org/showthread.php?t=164800 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://sites.google.com/site/jconklin754smoothd2/download Plugin]&lt;br /&gt;
| Jim Conklin&lt;br /&gt;
|-&lt;br /&gt;
| SmoothDeblock3&lt;br /&gt;
| Slow and complex, but produces very good results - especially on severely blocky sources - in a similar manner to TempGaussMC and QTGMC. See [http://forum.doom9.org/showthread.php?t=111526 discussion] and an [http://forum.doom9.org/showthread.php?p=945261#post945261 overall comment].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1553458#post1553458 Script]&lt;br /&gt;
| redfordxx&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Dehaloing ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[abcxyz]]&lt;br /&gt;
| Filter to remove halos. See [http://forum.doom9.org/showthread.php?t=144982 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[Media:abcxyz_MT2.avsi|Script]]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[BlindDeHalo3]]&lt;br /&gt;
| Filter to remove edge enhancement artefacts. See [http://forum.doom9.org/showthread.php?p=622289#post622289 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/attachment.php?attachmentid=5599&amp;amp;d=1143030001 Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DeHalo_alpha]]&lt;br /&gt;
| Very powerful filter to remove edge enhancement artefacts. See [http://forum.doom9.org/showthread.php?p=777956#post777956 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/Dehalo_alpha_mt.avsi Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
|DeHaloHmod&lt;br /&gt;
| Another halo reducer, it includes lots of options to tweak for best performance. See [http://forum.doom9.org/showthread.php?p=1675762#post1675762 discussion]&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
| [http://pastebin.com/raw.php?i=GhVpsids Script]&lt;br /&gt;
|AmjadSONY&lt;br /&gt;
|-&lt;br /&gt;
| Mask_DHA&lt;br /&gt;
| A combination of the best of DeHalo_alpha and BlindDeHalo3, plus a few minor tweaks to the masking. See [http://forum.doom9.org/showthread.php?t=148498 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| 'Orum&lt;br /&gt;
|-&lt;br /&gt;
| [[YAHR]]&lt;br /&gt;
| Basic filter with no variables to remove edge enhancement artefacts. See [http://forum.doom9.org/showthread.php?p=1205653#post1205653]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/YAHR.avsi Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| YAHRmod&lt;br /&gt;
| Basic filter used to reduce halos in modern DVD and other cases.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://pastebin.com/raw.php?i=dNhUDbca Script]&lt;br /&gt;
| AmjadSONY&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Deringing &amp;amp; Mosquito Noise ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[aWarpSharpDering]]&lt;br /&gt;
| Tries to clean up slight ringing around edges by heavily AWarpSharp-ing the image and then applying it only to the areas where the difference is small enough so detail isn't destroyed.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| [http://leak.no-ip.org/AviSynth/ Leak]&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=636297#post636297 BlindDeRing]&lt;br /&gt;
| Deringing filter.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://chaosking.de/wp-content/uploads/avsfilters/Restoration_Filters/Deringing/BlindDeRing___(2005).7z Plugin]&lt;br /&gt;
| krieger2005&lt;br /&gt;
|-&lt;br /&gt;
| [[EdgeCleaner]]&lt;br /&gt;
| A simple edge cleaning and weak dehaloing function. See [http://forum.doom9.org/showthread.php?t=164592 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1568521&amp;amp;postcount=13 Script]&lt;br /&gt;
| [http://forum.doom9.org/member.php?u=80518 canuckerfan]&lt;br /&gt;
|-&lt;br /&gt;
| [[HQDering]]&lt;br /&gt;
| Applies deringing by using a smart smoother near edges (where ringing occurs) only. See [http://forum.doom9.org/showthread.php?p=1043583#post1043583 here] and [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=67532 here] for details.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=793930#post793930 Script]&lt;br /&gt;
| {{Author/mf}}&lt;br /&gt;
|-&lt;br /&gt;
| [[HQDering mod]]&lt;br /&gt;
| Applies deringing by using a smart smoother near edges (where ringing occurs) only.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://nmm.me/y8 Script]&lt;br /&gt;
| [http://www.nmm-hd.org/newbbs/memberlist.php?mode=viewprofile&amp;amp;u=479&amp;amp;sid=ff62d0f6c22fcfdbe97b53c8351429bc mawen1250]&lt;br /&gt;
|-&lt;br /&gt;
| [[LazyDering]]&lt;br /&gt;
| Tries to clean up slight ringing around edges by applying [[aWarpSharp2]] only to areas where the difference is small enough so detail isn't destroyed.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://anime-addict.ani-x.com/files/avisynth/scripts/LazyDering_v0.1.avsi Script]&lt;br /&gt;
| [http://leak.no-ip.org/AviSynth/ Leak], RazorbladeByte&lt;br /&gt;
|-&lt;br /&gt;
| [[MosquitoNR]]&lt;br /&gt;
| A noise reduction filter designed for mosquito noise, which is often caused by lossy compression.&lt;br /&gt;
| [[Y8]], [[YV411]], [[YV12]], [[YV16]], [[YV24]], [[YUY2]]&lt;br /&gt;
| [http://web.archive.org/web/20131028144351/http://www.geocities.jp/w_bean17/files/mosquito_nr_avisynth.zip Plugin]&lt;br /&gt;
| {{Author/b_inary}}&lt;br /&gt;
|-&lt;br /&gt;
|ungibbs&lt;br /&gt;
|ungibbs, a gibbs artifact remover.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=134502 Script]&lt;br /&gt;
|*.mp4 guy&lt;br /&gt;
|-&lt;br /&gt;
|WarpDeRing&lt;br /&gt;
|Uses aWarpSharp2's flattening to clean out ringing/smaller halos, then runs some masks to preserve the edges and avoid the thinning.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://pastebin.com/raw.php?i=ZXdX787H Script]&lt;br /&gt;
|mirkosp&lt;br /&gt;
|-&lt;br /&gt;
|WarpDeRing_faster&lt;br /&gt;
|Same as WarpDeRing but may be a bit faster.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://web.archive.org/web/20131123001006/http://pastebin.com/y5xnHUuv Script]&lt;br /&gt;
|mirkosp&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Deinterlacing ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| Area&lt;br /&gt;
| A port of Gunnar Thalin's VirtualDub filter &amp;quot;Deinterlace - area based&amp;quot; to AviSynth.&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/area_5F25_dll_20030217.zip Plugin]&lt;br /&gt;
| {{Author/Donald Graft}} // {{Author/Gunnar Thalin}}&lt;br /&gt;
|-&lt;br /&gt;
| BlendBob&lt;br /&gt;
| Filter designed for use after a smart bob; blends every other frame with the closest matching neighbouring frame. See [http://forum.doom9.org/showthread.php?threadid=80289 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://leak.no-ip.org/AviSynth/BlendBob/ Plugin]&lt;br /&gt;
| {{Author/Leak}}&lt;br /&gt;
|-&lt;br /&gt;
| DGBob&lt;br /&gt;
| This filter splits each field of the source into its own frame and then adaptively creates the missing lines either by interpolating the current field or by using the previous field's data. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=55598 discussion].&lt;br /&gt;
| [[RGB]], [[YV12]], [[YUY2]]&lt;br /&gt;
| [{{N2Moved}}/dgbob/dgbob.html Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Decomb]]&lt;br /&gt;
| The FieldDeinterlace filter provides functionality similar to the postprocessing function of Telecide. You can use it for pure interlaced streams (that is, those not containing telecined progressive frames). The name refers to the fact that field mode differencing is used.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [{{N2Moved}}/decomb/decombnew.html Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [[EEDI2]]&lt;br /&gt;
| EEDI2 resizes an image by 2x in the vertical direction by copying the existing image to 2*y(n) and interpolating the missing field.  It is intended for edge-directed interpolation for deinterlacing (i.e. not really made for resizing a normal image, but can do that as well).&lt;br /&gt;
| [[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/EEDI2v092.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[eedi3|EEDI3]]&lt;br /&gt;
| Another edge directed interpolation filter. Works by minimizing a cost functional involving every pixel in a scan line. eedi3 is good for deinterlacing and enlarging images by the powers of 2.&lt;br /&gt;
| [[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://ldesoras.free.fr/src/avs/eedi3-0.9.2.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| IBob&lt;br /&gt;
| Interpolating Bob works identically to the Avisynth built-in [[Bob]] filter except that it uses linear interpolation instead of bicubic resizing. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=62142 discussion]. &lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://kevin.atkinson.dhs.org/ibob/ Plugin]&lt;br /&gt;
| {{Author/Kevin Atkinson}}&lt;br /&gt;
|-&lt;br /&gt;
| KernelDeint&lt;br /&gt;
| This filter deinterlaces using a kernel approach. It gives greatly improved vertical resolution in deinterlaced areas compared to simple field discarding. Superceded by [[LeakKernelDeint]], see the description below in this table. &lt;br /&gt;
| [[RGB]], [[YV12]], [[YUY2]]&lt;br /&gt;
| [{{N2Moved}}/kerneldeint/kerneldeint.html Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| LeakKernelBob&lt;br /&gt;
| This filter does a full framerate deinterlacing, i.e. it turn 50 fields per second into 50 frames per second. Adapted from Scharfis_brain's script of the same name.&lt;br /&gt;
| [[RGB32]], [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://leak.no-ip.org/AviSynth/LeakKernelDeint/ Plugin]&lt;br /&gt;
| {{Author/Leak}}&lt;br /&gt;
|-&lt;br /&gt;
| [[LeakKernelDeint]]&lt;br /&gt;
| This filter deinterlaces using a kernel approach. It gives greatly improved vertical resolution in deinterlaced areas compared to simple field discarding. Compared to KernelDeint, it is low-level optimized (for speed) and provides some useful new functionality. As the original author of KernelDeint() states, LeakKernelDeint() is the preferred version to use.&lt;br /&gt;
| [[RGB32]], [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://leak.no-ip.org/AviSynth/LeakKernelDeint/ Plugin]&lt;br /&gt;
| {{Author/Leak}}&lt;br /&gt;
|-&lt;br /&gt;
| [[nnedi3]]&lt;br /&gt;
| nnedi3 is an intra-field only deinterlacer. It takes in a frame, throws away one field, and then interpolates the missing pixels using only information from the kept field. It also has same rate and double rate modes.&lt;br /&gt;
| [[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/nnedi3.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[nnedi3ocl]]&lt;br /&gt;
| OpenCL rewrite of [[nnedi3]]. See [http://forum.doom9.org/showthread.php?t=169766 discussion].&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://dl.dropboxusercontent.com/s/bmemjsu7jqnlk65/nnedi3ocl_20131208.7z Plugin]&lt;br /&gt;
| SEt&lt;br /&gt;
|-&lt;br /&gt;
| [[QTGMC]]&lt;br /&gt;
| by -Vit- [http://forum.doom9.org/showthread.php?t=156028] A new deinterlacer based on TempGaussMC_beta2. It's faster and has a presets system for speed/quality selection. There are also several new features including progressive support and noise/grain processing. The script also contains extensive comments to better describe the settings and the workings of the TGMC algorithm.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/index.php/QTGMC Script]&lt;br /&gt;
| -Vit-&lt;br /&gt;
|-&lt;br /&gt;
| [[SangNom2]]&lt;br /&gt;
| Reimplementation of the old [[SangNom]] plugin. See [http://forum.doom9.org/showthread.php?t=168315 discussion].&lt;br /&gt;
| [[Y8]],[[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://github.com/tp7/SangNom2/releases Plugin]&lt;br /&gt;
| {{Author/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.guthspot.se/video/AVSPorts/SmoothDeinterlacer/ SmoothDeinterlace]&lt;br /&gt;
| This contains an adaptive deinterlacer plugin for (AVISynth). It is based on Gunnar Thalin's [http://www.guthspot.se/video/index.htm#deinterlacesmooth Smooth Deinterlace plugin] for VirtualDub.&lt;br /&gt;
| [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.guthspot.se/video/AVSPorts/SmoothDeinterlacer/AVSSmoothDeinterlacer.zip Plugin]&lt;br /&gt;
| {{Author/Gunnar Thalin}}&lt;br /&gt;
|-&lt;br /&gt;
| TDeint&lt;br /&gt;
| TDeint is a bi-directionally, motion adaptive (sharp) deinterlacer. It can also adaptively choose between using per-field and per-pixel motion adaptivity. It can use cubic interpolation, kernel interpolation (with temporal direction switching), or one of two forms of modified ELA interpolation which help to reduce &amp;quot;jaggy&amp;quot; edges in moving areas where interpolation must be used. TDeint also supports user overrides through an input file, and can act as a smart bobber or same frame rate deinterlacer, as well as an IVTC post-processor. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=82264 discussion].&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/TDeintv11.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| Telecide Hints&lt;br /&gt;
| The filter process the stats file to get the usual progressive matches and identify VFR sections. [http://mod16.org/fansub/Telecidehints11.rar TelecideHints v1.1 with source code] - [http://www.mediafire.com/download/wnemmzntgnh/Telecidehints11.rar x64]&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://ivtc.vapoursynth.com/yatta%20support/TelecideHints.zip Plugin]&lt;br /&gt;
| {{Author/Myrsloik}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TempGaussMC]]&lt;br /&gt;
| Motion-compensated bob deinterlacer, based on temporal gaussian blurring. reduces noise/grain of the source and does NOT leave the original fields unchanged. Output is rich with details and very stable. Is SLOW&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/index.php/TempGaussMC Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Yadif]]&lt;br /&gt;
| Port of YADIF (Yet Another DeInterlacing Filter) from MPlayer by Michael Niedermayer (http://www.mplayerhq.hu). It check pixels of previous, current and next frames to re-create the missed field by some local adaptive method (edge-directed interpolation) and uses spatial check to prevent most artifacts.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://avisynth.org.ru/yadif/yadif.html Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [[yadifmod]]&lt;br /&gt;
| Modified version of Fizick's avisynth filter port of yadif from mplayer. This version doesn't internally generate spatial predictions, but takes them from an external clip. It also is not an Avisynth_C plugin (just a normal one).&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/yadifmod_v1.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Fieldblending and Frameblending removal ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[c_deblend]] superseded by [[srestore]]&lt;br /&gt;
| Cdeblend is a simple blend replacing function like unblend or removeblend.&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| MOmonster&lt;br /&gt;
|-&lt;br /&gt;
| [[Deblend]]&lt;br /&gt;
| See [http://forum.doom9.org/showthread.php?p=760375#post760375 discussion].&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
| actionman133&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=157337 ExBlend]&lt;br /&gt;
| ExBlend is a plugin to repair damage caused by blend deinterlacing of telecined clips, which results in a double blend, every five frames, GGGBBGGGBBGGGBB etc where 'G' is good and 'B' is blend. See [http://forum.doom9.org/showthread.php?t=157337 discussion]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://www.mediafire.com/download/0rxe3675sfr4w9l/ExBlend_25_dll_20100226.zip Plugin]&lt;br /&gt;
| StainlessS&lt;br /&gt;
|-&lt;br /&gt;
| [[mrestore]] superseded by [[srestore]]&lt;br /&gt;
| Uses conditional frame evaluation to undo standard conversions with blends.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| MOmonster&lt;br /&gt;
|-&lt;br /&gt;
| [//web.archive.org/web/20061113201230/http://www.bossanovaguitar.com/video/RemoveBlend-0.3.html RemoveBlend]&lt;br /&gt;
| This filter is used to remove blended fields/frames. See [http://forum.doom9.org/showthread.php?t=75772 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [//web.archive.org/web/20061113201230/http://bossanovaguitar.com/video/removeblend-0.3.zip Plugin]&lt;br /&gt;
| {{Author/violao}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Restore24]]&lt;br /&gt;
| Restore24 is an AviSynth filter that is able to do the nearly impossible: Restore 24fps FILM out of a fieldblended FILM -&amp;gt; Telecine -&amp;gt; NTSC -&amp;gt; Blendconversion -&amp;gt; PAL - Video. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=75432 discussion].&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
| scharfis_brain&lt;br /&gt;
|-&lt;br /&gt;
| [[RestoreFPS]]&lt;br /&gt;
| RestoreFPS reverses the kind of blending generated by [[ConvertFPS]], restoring original framerate. It will work perfectly well on any regular blend pattern.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/restorefps_5F25_dll_20050731.zip Plugin]&lt;br /&gt;
| {{Author/mg262}}&lt;br /&gt;
|-&lt;br /&gt;
| Specials&lt;br /&gt;
| Helps restore video with blended fields/frames using a reference source. See [http://forum.doom9.org/showthread.php?t=165030 discussion] and much more information [http://horman.net/doctorwho/specials.php here] and [http://forum.doom9.org/showthread.php?t=168832 here].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://horman.net/specials.zip Plugin]&lt;br /&gt;
| {{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
| Unblend&lt;br /&gt;
| Unblend is based on warpenterprise's deblend algorithm and neuron2's decimate code, with YV12 support only. The aim is the same of deblend. See [http://forum.doom9.org/showthread.php?t=55019 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/unblend_5F25_dll_2003.zip Plugin]&lt;br /&gt;
| Bach&lt;br /&gt;
|-&lt;br /&gt;
| [[FixBlendIVTC]] superseded by [[srestore]]&lt;br /&gt;
| A blend replacing/frame restoring function for doubleblends caused by blend-deinterlacing of telecined sources.&lt;br /&gt;
| ?&lt;br /&gt;
| Script&lt;br /&gt;
| MOmonster&lt;br /&gt;
|-&lt;br /&gt;
| [[Cdeint]]&lt;br /&gt;
| Restores 24fps FILM out of a fieldblended FILM -&amp;gt; Telecine -&amp;gt; NTSC -&amp;gt; Blendconversion -&amp;gt; PAL - Video (alternative for Restore24).&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Film Damage correction ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| DeScratch&lt;br /&gt;
| DeScratch removes vertical scratches from films. Also it can be used for removing of horizontal noise lines such as drop-outs from analog VHS captures (after image rotation). &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.org.ru/descratch/descratch.html Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| DeSpot&lt;br /&gt;
| This filter is designed to remove temporal noise in the form of dots (spots) and streaks found in some videos. The filter is also useful for restoration (cleaning) of old telecined 8mm (and other) films from spots (from dust) and some stripes (scratches).&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.org.ru/despot/despot.html Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [[deVCR]]&lt;br /&gt;
| deVCR elliminates (to a certain degree) the annoying horizontal lines that keep crawling around your VHS or Beta recorded video. See discussion [http://forum.videohelp.com/threads/323093-How-to-use-DeVCR-for-Avisynth here] and [http://www.digitalfaq.com/forum/video-restore/2607-tracking-lines-video.html here.]&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
| Ricardo Garcia&lt;br /&gt;
|-&lt;br /&gt;
| Film_Restoring_Frame_Blending&lt;br /&gt;
|  &lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
| videoFred&lt;br /&gt;
|-&lt;br /&gt;
| Film_Restoring_Frame_Interpolation&lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
| videoFred&lt;br /&gt;
|-&lt;br /&gt;
| [[RemoveDirt]]&lt;br /&gt;
| RemoveDirt is a temporal cleaner for Avisynth 2.5x. It has now become an AVS script function, which involves RestoreMotionBlocks and various filters from the [[RemoveGrain]] package.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/index.php/RemoveDirt Plugin]&lt;br /&gt;
| {{Author/kassandro}}&lt;br /&gt;
|-&lt;br /&gt;
| UnDot&lt;br /&gt;
| UnDot is a simple median filter for removing dots, that is stray orphan pixels and mosquito noise.  It clips each pixel value to stay within min and max of its eight surrounding neigbors. See [http://forum.doom9.org/showthread.php?s=&amp;amp;postid=205442#post205442 discussion].&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/undot_5F25_dll_20030118.zip Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Frequency Interference removal ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| DeFreq&lt;br /&gt;
| Defreq uses Fast Fourier Transform method for frequency selecting an removing. See [http://forum.doom9.org/showthread.php?t=82978 discussion].&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.org.ru/defreq/defreq.html Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| FanFilter &lt;br /&gt;
| Regular vertical frequency interference is filtered in spatial domain.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB32]], [[RGB24]]&lt;br /&gt;
| [http://avisynth.nl/users/vcmohan/FanFilter/FanFilter.html Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== IVTC &amp;amp; Decimation ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[AnimeIVTC]]&lt;br /&gt;
| What it does:&lt;br /&gt;
* High quality adaptative field matching for hard telecine&lt;br /&gt;
* Bob, remove the blends and decimate back to the desired framerate for DHT/field-blended&lt;br /&gt;
* Creating a VFR clip for hybrid sources&lt;br /&gt;
* Bob the interlaced credits, blend-deinterlacing the background while doing minimal damage on the progressive credits, convert their framerate to match the episode's and splice them with it OR leave them @ 30p to create a VFR clip&lt;br /&gt;
* Very good combing removal and anti-aliasing functions&lt;br /&gt;
See [http://forum.doom9.org/showthread.php?t=138305] and See [http://forum.doom9.org/showthread.php?p=1673928] for mod version.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| thetoof&lt;br /&gt;
|-&lt;br /&gt;
| BruteIVTC&lt;br /&gt;
| Some information [http://web.archive.org/web/20141221181254/http://privatepaste.com/download/77d973422b here]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20091214015625/http://mf.creations.nl/avs/filters/BruteIVTC.dll Plugin]&lt;br /&gt;
| {{Author/Marc FD}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=158230 DOCI]&lt;br /&gt;
| Destruction of Chroma Interlacing fixes a problem where you captured pulleddown video in YV12.  In the combed frames, the chroma from two frames has been blended, leading to a ghosting effect when IVTC'd.  This filter reconstructs the chroma exactly and fixes the problem.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=158230 Script]&lt;br /&gt;
| jmac698&lt;br /&gt;
|-&lt;br /&gt;
| FDecimate&lt;br /&gt;
| The FDecimate() filter provides extended decimation capabilities not available from Decimate(). It can remove frames from a clip to achieve the desired frame rate, while retaining audio/video synchronization. It preferentially removes duplicate frames where possible. (&amp;quot;FDecimate&amp;quot; stands for &amp;quot;Free Decimate&amp;quot;, which implies that the output frame rate may be freely chosen, and is not limited to 1-in-N decimation).&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [{{N2Moved}}/fdecimate/fdecimate.html Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| GreedyHMA&lt;br /&gt;
| GreedyHMA is an Avisynth filter that executes DScaler's Greedy/HM algorithm code to perform pulldown matching, filtering, and video deinterlace. It has pretty much been superseded by Donald Graft's [[DeComb]] package. However there may be occasions where it sometimes gives preferable results, especially with some bad [[PAL]] clips.&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [{{N2Archived}}/trbarry/GreedyHMA.zip Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| IT&lt;br /&gt;
| Inverse Telecine&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/it_5F25_dll_20030712.zip Plugin] - [http://sites.google.com/site/avisynth64bitplugin/download/IT_YV12_0103_width8K.zip?attredirects=0&amp;amp;d=1 Update]&lt;br /&gt;
| {{Author/thejam79}} / {{Author/minamina}}&lt;br /&gt;
|-&lt;br /&gt;
| ivtc_txt60mc&lt;br /&gt;
| Deinterlaces telecined footage with that has been overlayed scrolling text at 60i. More information [http://web.archive.org/web/20140420184542/http://doom10.org/index.php?topic=292.msg5499 here] (last post).&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1466105&amp;amp;postcount=4 Script]&lt;br /&gt;
| {{Author/cretindesalpes}} aka Firesledge&lt;br /&gt;
|-&lt;br /&gt;
| MultiDecimate&lt;br /&gt;
| Removes N out of every M frames, taking the frames most similar to their predecessors. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=51901&amp;amp;perpage=20&amp;amp;pagenumber=2 discussion].&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [{{N2Moved}}/multidecimate/multidecimate.html Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| PFR&lt;br /&gt;
| PFR (Progressive Frame Restorer) is an Avisynth filter that attempts to produce progressive frames from a mixed progressive/interlaced/IVTCed source.&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://web.archive.org/web/20091028073306/http://geocities.com/siwalters_uk/pfravs.html Plugin]&lt;br /&gt;
| {{Author/Simon Walters}}&lt;br /&gt;
|-&lt;br /&gt;
| [[ReMatch]]&lt;br /&gt;
| ReMatch is a field matching plugin, specifically for anime.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/rematch_5F25_dll_20050306.zip Plugin]&lt;br /&gt;
| Dan Donovan&lt;br /&gt;
|-&lt;br /&gt;
| RePal&lt;br /&gt;
|  [http://forum.doom9.org/showthread.php?t=48401 Discussion] / [http://forum.doom9.org/showthread.php?p=1092552#post1092552 repal_29.97Hz_mod]&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/repal_5F25_dll_20030523.zip Plugin] - [http://forum.doom9.org/attachment.php?attachmentid=8028&amp;amp;d=1201414683 Mod]&lt;br /&gt;
| Bach&lt;br /&gt;
|-&lt;br /&gt;
| SmartDecimate&lt;br /&gt;
| Smart Decimate removes telecine by combining telecine fields and decimating at the same time, which is different from the traditional approach of matching telecine frames and then removing duplicates. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=60031 discussion].&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.kevina.org/tel/ Plugin]&lt;br /&gt;
| {{Author/Kevin Atkinson}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Decomb]]&lt;br /&gt;
| The Telecide and Decimate filters can be combined to implement IVTC.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [{{N2Moved}}/decomb/decombnew.html Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TIVTC]]&lt;br /&gt;
| A package containing these 7 filters: TFM, TDecimate, MergeHints, FrameDiff, FieldDiff, ShowCombedTIVTC, and RequestLinear. Also contains these 3 conditional functions: IsCombedTIVTC, CFieldDiff, and CFrameDiff. Designed primarily for IVTC operations. [http://forum.doom9.org/showthread.php?t=82264 Discussion]&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/TIVTCv105.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| TPRIVTC&lt;br /&gt;
| TPRIVTC stands for TMPEG InVerse Telecine, i.e. the process where an 29.97fps interlaced NTSC clip is converted to 23.976fps while removing interlaced frames. [http://web.archive.org/web/20030808191810/http://kurosu.inforezo.org/avs/TPRIVTC/index.html Readme]&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/tprivtc_5F25_dll_20040930.zip Plugin]&lt;br /&gt;
| daxab, {{Author/Kurosu}}&lt;br /&gt;
|-&lt;br /&gt;
| UnComb&lt;br /&gt;
| Filter for matching up even and odd fields of properly telecined NTSC or PAL film source video. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=52333 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [{{N2Archived}}/trbarry/UnComb.zip Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=167875 WeaveMan]&lt;br /&gt;
| Remove arbitrary pulldown patterns manually; meant for perfectionists to undo non-standard 24-&amp;gt;25 fps, 25-&amp;gt;29.97 fps, etc. telecine conversions, along with other weird telecine anomalies created by broadcasters speeding up film-sourced content. See sample case [http://forum.doom9.org/showthread.php?p=1630931&amp;amp;highlight=weaveman#post1630931 here].&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://chidragon.thedessie.com/Doom9/WeaveMan-v0.2.zip Plugin]&lt;br /&gt;
| ChiDragon&lt;br /&gt;
|-&lt;br /&gt;
| [[IvtcBlend]]&lt;br /&gt;
| Waka demonstrated an IvtcBlend function that uses the information in the &amp;quot;extra&amp;quot; fields of a telecined source to help combat temporal noise.&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Ghost Removal ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| FixVHSOversharp&lt;br /&gt;
| FixVHSOversharp attempts to repair the light and dark halos that follow high contrast edges found in VHS sources. See [http://www.videohelp.eu/forum/avisynth/2851-avisynth-fixvhsoversharp-beta.html discussion.] &lt;br /&gt;
| | [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20091026142456/http://www.geocities.com/mrtibsvideo/fixvhsoversharp.html Plugin]&lt;br /&gt;
| [http://web.archive.org/web/20091027001215/http://geocities.com/mrtibsvideo/ MrTibs]&lt;br /&gt;
|-&lt;br /&gt;
| GhostBuster&lt;br /&gt;
| Ghostbuster is an Avisynth filter for removing &amp;quot;ghosts&amp;quot; from a clip. A ghost in this context is a faint copy of the picture offset horizontally. It works by either subtracting or adding the image from itself at the specified offset. With some tweaking the result, while not perfect, can be very pleasing. See discussion [http://forum.doom9.org/showthread.php?t=35339 here] and [http://www.videohelp.eu/forum/avisynth/14691-ghostbuster-filter-avisynth.html here.]&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://forum.doom9.org/attachment.php?attachmentid=12721&amp;amp;d=1330678606 Plugin]&lt;br /&gt;
| [http://www.videohelp.eu/forum/avisynth/14679-sansgrips-avisynth-filters.html SansGrip]&lt;br /&gt;
|-&lt;br /&gt;
| LGhost&lt;br /&gt;
| Plugin intended for ghost removal but can also reduce edge (ringing) artifacts. See [http://forum.doom9.org/showthread.php?p=1176552#post1176552 discussion.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://nullinfo.s21.xrea.com/cgi/counter/count.xcg?down=LGhost0301.zip Plugin]&lt;br /&gt;
| {{Author/minamina}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Logo Removal ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[DeKafka]]&lt;br /&gt;
| This fairly simple filter washes away those annoying bugs from broadcast clips.&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| DeLogo&lt;br /&gt;
| DeLogo Filter for VirtualDub. Removes static elements, e.g. logos or watermarks, from the video stream. It can remove either opaque elements or alpha blended, the latter even without destroying the picture beneath. &lt;br /&gt;
| &lt;br /&gt;
| [{{N2Moved}}/delogo132/delogo.html Plugin] &amp;amp; [http://forum.doom9.org/showthread.php?t=119447 Script]&lt;br /&gt;
| Karel Suhajda&lt;br /&gt;
|-&lt;br /&gt;
| [[InpaintFunc]]&lt;br /&gt;
| Script for logo removal using inpainting. Can remove alpha blended or opaque logos with a basic postprocessing to hide artifacts.&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| Reuf Toc&lt;br /&gt;
|-&lt;br /&gt;
| [[rm_logo]]&lt;br /&gt;
| Combination of deblending and inpainting to remove logos with adjustable postprocessing to further hide artifacts. See [http://forum.doom9.org/showthread.php?t=134919]&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| Spuds &lt;br /&gt;
|-&lt;br /&gt;
| X-Logo&lt;br /&gt;
| X-Logo Avisynth plugin and Virtualdub filter. Removes opaque logos.&lt;br /&gt;
| &lt;br /&gt;
| [http://www.marzocchi.net/Olafsen/pmwiki/pmwiki.php/Software/X-Logo Plugin]&lt;br /&gt;
| Leuf&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Luma Equalization ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[Antiflicker]]&lt;br /&gt;
| &amp;quot;A quick-and-dirty port of my VirtualDub filter (which sucks, by the way; it was one of my first filters).&amp;quot; &lt;br /&gt;
See [http://forum.doom9.org/showthread.php?p=224573#post224573 discussion.]&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/antiflicker_5F25_dll_20030304.zip Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/deflicker/deflicker.html DeFlicker]&lt;br /&gt;
| Can remove old film intensity flicker by temporal mean luma smoothing. Can also correct blinding of automatic gain control after flashes.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.org.ru/deflicker/deflicker04.zip Plugin]&lt;br /&gt;
| Fizick (Alexander G. Balakhnin)&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1326599#post1326599 Dumb Deflicker]&lt;br /&gt;
| Gathers average luma of frames, smoothens that with temporalsoften, and applies the obtained difference to the original input.  It is pretty simple, read &amp;quot;dumb&amp;quot;. See [http://forum.doom9.org/showthread.php?p=1326599#post1326599 discussion]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1326599#post1326599 Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/equlines/equlines.html EquLines]&lt;br /&gt;
| Equalizes total luminosity in pairs of even and odd lines. Useful for removing inter-line differences from telecined films.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.org.ru/equlines/equlines03.zip Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://akuvian.org/src/avisynth/flicker/lmflicker.txt LMFlicker]&lt;br /&gt;
| LMFlicker is intended to reduce flickering in some film/vhs transfers. FieldFade is a similar concept, but applied on a per-field basis, to reduce combing in a video where fades were applied after telecine.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://akuvian.org/src/avisynth/flicker/ Plugin]&lt;br /&gt;
| {{Author/akupenguin}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=159493 Local Deflicker]&lt;br /&gt;
| Deflickers only part of a frame. See [http://forum.doom9.org/showthread.php?t=159493 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=159493 Script]&lt;br /&gt;
| prokhozhijj&lt;br /&gt;
|-&lt;br /&gt;
| [http://home.arcor.de/kassandro/ReduceFlicker/ReduceFlicker.htm ReduceFlicker]&lt;br /&gt;
| Reduces temporal oscillations in clips; should be applied before deinterlacing. Contains ReduceFlicker, ReduceFluctuations, and LockClense. See [http://videoprocessing.11.forumer.com/viewtopic.php?t=24 discussion.] &lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://home.arcor.de/kassandro/ReduceFlicker/ReduceFlicker.zip Plugin]&lt;br /&gt;
| {{Author/kassandro}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.zhitenev.com/avisynth/TimeLapseDF/ TimeLapseDF]&lt;br /&gt;
| Designed to remove luminosity flicker in time lapse photography. Unlike most other flicker removal filters, utilizes cumulative distribution function in addition to average frame luminosity. See [http://timescapes.org/phpBB3/viewtopic.php?f=8&amp;amp;t=2410 discussion.] &lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://www.zhitenev.com/avisynth/TimeLapseDF/TimeLapseDF.dll 32-Bit Plugin]&lt;br /&gt;
[http://www.zhitenev.com/avisynth/TimeLapseDF/x64/TimeLapseDF64.dll 64-Bit Plugin]&lt;br /&gt;
| {{Author/Denis Zhitenev}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Vinverse]]&lt;br /&gt;
| A simple but effective plugin to remove residual combing.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://github.com/tp7/vinverse/releases Plugin]&lt;br /&gt;
| {{Author/Didée}}, {{Author/tritical}}, {{Author/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=106898 wdeflicker]&lt;br /&gt;
| Modifies luma of a source clip by refering to a temporally super-smoothed clip. Heights of source and reference clips must match. &lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://forum.doom9.org/attachment.php?attachmentid=5417&amp;amp;d=1139174468 Plugin]&lt;br /&gt;
| Osmiridium&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Rainbow &amp;amp; Dot Crawl Removal ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[Bifrost]]&lt;br /&gt;
| Bifrost uses temporal blending to remove or at least reduce the effect of rainbows.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://github.com/dubhater/vapoursynth-bifrost/releases/download/v2.0-avs/avisynth-bifrost-v2.0.7z Plugin]&lt;br /&gt;
| {{Author/Myrsloik}}, dubhater&lt;br /&gt;
|-&lt;br /&gt;
| [[CC]]&lt;br /&gt;
| Dot crawl and rainbow removal.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://www.chiyoclone.net/dl/cc_20040522.lzh Plugin]&lt;br /&gt;
| {{Author/chiyo-clone}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Checkmate]]&lt;br /&gt;
| Spatial-temporal dot crawl removal.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20090218093135/http://mf.creations.nl/avs/filters/checkmate.dll Plugin]&lt;br /&gt;
| {{Author/mf}} / prunedtree&lt;br /&gt;
|-&lt;br /&gt;
| [[ChubbyRain]]&lt;br /&gt;
| Spatial-temporal rainbow reducing script.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/ChubbyRain.avsi Script]&lt;br /&gt;
| Mug Funky&lt;br /&gt;
|-&lt;br /&gt;
| [[ChubbyRain2]]&lt;br /&gt;
| Spatial-temporal rainbow reducing script based on [[ChubbyRain]].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/ChubbyRain2.avsi Script]&lt;br /&gt;
| Lothar&lt;br /&gt;
|-&lt;br /&gt;
| [[DeCrawl]]&lt;br /&gt;
| Spatial and temporal dot crawl removal, particularly for animated material.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/decrawl_20060924.zip Plugin]&lt;br /&gt;
| Dan Donovan&lt;br /&gt;
|-&lt;br /&gt;
| [[DeCross]]&lt;br /&gt;
| Cross Color Reduction. Also known as rainbows.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://nullinfo.s21.xrea.com/cgi/counter/count.xcg?down=DeCross0002.zip Plugin]&lt;br /&gt;
| {{Author/minamina}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DeDot]]&lt;br /&gt;
| Removes dot crawl and may also be useful for rainbows.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://nullinfo.s21.xrea.com/cgi/counter/count.xcg?down=DeDot_YV12_0002.zip Plugin]&lt;br /&gt;
| {{Author/thejam79}} / {{Author/minamina}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DeRainbow]]&lt;br /&gt;
| A simple script to reduce rainbows. See [http://forum.doom9.org/showthread.php?p=398106#post398106 discussion.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/images/DeRainbow.avsi Script]&lt;br /&gt;
| sh0dan&lt;br /&gt;
|-&lt;br /&gt;
| [[DFMDeRainbow]]&lt;br /&gt;
| Creates mask to process only edges; rainbows are removed by hitting chroma planes with two passes of FluxSmooth (hence &amp;quot;Double-Flux-Mask&amp;quot;).&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/DFMDeRainbow-20140223.avsi Script]&lt;br /&gt;
| {{Author/Scintilla}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/docs/english/externalfilters/guavacomb.htm GuavaComb]&lt;br /&gt;
| Removes dot crawl, rainbows, and some kinds of shimmering. See [http://forum.doom9.org/showthread.php?t=37456 discussion]&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/guavacomb_5F25_dll_20030801.zip Plugin]&lt;br /&gt;
| {{Author/Lindsey Dubb}}&lt;br /&gt;
|-&lt;br /&gt;
| [[LUTDeCrawl]]&lt;br /&gt;
| Purely spatial; only targets pixels for dot crawl removal if luma is fluctuating and (optionally) chroma is not.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.aquilinestudios.org/scripts/LUTDeCrawl-20081003.avsi Script]&lt;br /&gt;
| {{Author/Scintilla}}&lt;br /&gt;
|-&lt;br /&gt;
| [[LUTDeRainbow]]&lt;br /&gt;
| Purely spatial; only targets pixels for derainbowing if chroma is fluctuating and (optionally) luma is not.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.aquilinestudios.org/scripts/LUTDeRainbow-20081003.avsi Script]&lt;br /&gt;
| {{Author/Scintilla}}&lt;br /&gt;
|-&lt;br /&gt;
| [[mfRainbow]]&lt;br /&gt;
| Derainbows in areas of high Y, U and V frequencies, which fluctuate heavily.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/MfRainbow-v0.32.avsi Script]&lt;br /&gt;
| {{Author/mf}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Rainbow_Smooth]]&lt;br /&gt;
| A small spatial derainbow function. It uses [[SmoothUV]] to smooth out chroma and edge masking to prevent color bleeding.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/Rainbow_smooth.avsi Script]&lt;br /&gt;
| MOmonster&lt;br /&gt;
|-&lt;br /&gt;
| [[SmartSSIQ]]&lt;br /&gt;
| SSIQ can alter the color on the entire picture. So this script first applies SSIQ to the entire picture. Then it locates the edges. Finally, it layers ONLY the de-rainbowed edges onto the original video.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/SmartSSIQ.avsi Script]&lt;br /&gt;
| LB&lt;br /&gt;
|-&lt;br /&gt;
| [[SSIQ]]&lt;br /&gt;
| Rainbow remover. A port of the VirtualDub plugin [http://www.doki.ca/filters/ Smart Smoother IQ.]&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB32]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/ssiq_20070304.zip Plugin]&lt;br /&gt;
| {{Author/Myrsloik}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TComb]]&lt;br /&gt;
| A temporal comb filter (it reduces cross-luminance (rainbowing) and cross-chrominance (dot crawl) artifacts in static areas of the picture).&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://web.missouri.edu/~kes25c/TCombv2B2.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[YARK]]&lt;br /&gt;
| Yet Another Rainbow Killer. Based on mfRainbow v0.31, chubbyrain2, and various other scripts shown [http://forum.doom9.org/showthread.php?t=141165 here].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://pastebin.com/sfDZ00rx Script]&lt;br /&gt;
| jase99&lt;br /&gt;
|-&lt;br /&gt;
| [[ASTDR]]&lt;br /&gt;
| using mt_motion for motion and edge to deal with moving Rainbow and apply mask once more in the opposite way to keep around the lines as they are, it use DeCross and others filter to remove Rainbow.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://pastebin.com/GyzH6gfZ Script]&lt;br /&gt;
| AmjadSONY&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Stabilization ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[DePan]]&lt;br /&gt;
| Tools for estimation and compensation of global motion (pan) .See [http://avisynth.org.ru/depan/depan.html]&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://avisynth.org.ru/depan/depan.html Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=171051 Deshaker3D]&lt;br /&gt;
| Experimental 3D image stabiliser (VDub [http://www.guthspot.se/video/deshaker.htm Deshaker] required).&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=171051 Plugin]&lt;br /&gt;
| {{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Stab]]&lt;br /&gt;
| Simple but powerful script to remove small high frequency jitter that appears often on old/bad transfers. See [http://forum.doom9.org/showthread.php?p=1222830#post1222830]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/Stab.avsi Script]&lt;br /&gt;
| g-force&lt;br /&gt;
|-&lt;br /&gt;
| [http://code.google.com/p/avisynthrestoration/wiki/TBC TBC]&lt;br /&gt;
| Stabilizes horizontal jitter in video from analog VCRs, similar to the function of a Time Base Corrector.(note: will cause SEt's Avisynth 2.6 MT to stop working)&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://code.google.com/p/avisynthrestoration/downloads/list Script]&lt;br /&gt;
| halifaxgeorge&lt;br /&gt;
|-&lt;br /&gt;
| [[CelStabilize]]&lt;br /&gt;
| Script which holds a fixed background steady.  Doesn't work well with pans or fades.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| mg262&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Denoisers ==&lt;br /&gt;
Strength/Quality of Denoisers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
(need subclassification)&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/AdaptiveMedian/AdaptiveMedian.html AdaptiveMedian]&lt;br /&gt;
| This is an adaptive Median Filter for eliminating certain types of noise. It uses local statistics (minimum, maximum and median values) of a moving local grid, and changes grid size depending on local statistics.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/AdaptiveMedian/AdaptiveMedian.zip Plugin]&lt;br /&gt;
|{{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| Atc&lt;br /&gt;
| Alternate Temporal Cleaner; a fast temporal cleaner with some cool stuff.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://ziquash.chez-alice.fr/atc%20beta%201.zip Plugin]&lt;br /&gt;
| {{Author/Marc FD}}&lt;br /&gt;
|-&lt;br /&gt;
| ColourizeSmooth&lt;br /&gt;
| ColourizeSmooth uses a general colourizing algorithm to smooth a given clip. ColourizeSmooth is based on this [http://www.cs.huji.ac.il/~yweiss/Colorization algorithm.] See [http://forum.doom9.org/showthread.php?t=91344 discussion]&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/colourizesmooth_5F25_dll_20050429.zip Plugin]&lt;br /&gt;
| insanedesio&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.kevina.org/temporal_median/ ConditionalTemporalMedian]&lt;br /&gt;
|This filter is designed to remove temporal noise in the form of small dots and streaks found in some videos. A common cause of this is dirty VHS heads but I have also seen small black or white streaks in broadcast material. &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.kevina.org/temporal_median/CondTemporalMedian-0.93.zip Plugin]&lt;br /&gt;
| {{Author/Kevin Atkinson}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/DeNoise/DeNoise.html DeNoise]&lt;br /&gt;
| This is an adaptive local noise reduction filter. It uses global variance of the noise, local mean and local variance in a moving grid of specified size. It tries to preserve edges as closely as possible. The global variance value can be specified or it can be computed from a window. The global variance can have one value for the entire clip or can vary frame to frame linearly or computed from a window with its coordinates linearly moving with frame numbers.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/DeNoise/DeNoise.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20071105084352/http://www.geocities.com/fredthompson6/Kiraru2002/Kiraru2002sROOM.htm#dnr2 DNR2]&lt;br /&gt;
| Dynamic Noise Reduction 2 is based on the VirtualDub [http://www.shdon.com/vid/dnr DNR] filter by Steve Don and Avery Lee. &lt;br /&gt;
| [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/dnr2_5F25_dll_20021225.zip Plugin]&lt;br /&gt;
| {{Author/kiraru2002}}&lt;br /&gt;
|-&lt;br /&gt;
| ExtendedBilateral&lt;br /&gt;
| ExtendedBilateral extends the regular bilateral filtering process by adding an &amp;quot;initial estimation preprocess.&amp;quot; It is similar in operation to [[TBilateral]] and offers many of the same options (though not all) while adding the preprocess. See [http://forum.doom9.org/showthread.php?t=96015 discussion.]&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/extendedbilateral_5F25_dll_20050622.zip Plugin]&lt;br /&gt;
|insanedesio&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=727667#post727667 PixieDustPP] &lt;br /&gt;
| Deprecated! DO NOT USE! Requires 'Dust' an Avisynth 2.0 plugin. [Move to deprecated section]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| SmartSmoother&lt;br /&gt;
| Deprecated; AviSynth 2.0 plugin port of the VirtualDub [{{N2Moved}}/smooth.html SmartSmoother] filter.&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| Plugin&lt;br /&gt;
| Hans-Martin Kreuz&lt;br /&gt;
|-&lt;br /&gt;
| SmootherHiQ&lt;br /&gt;
| VirtualDub's ''Smart Smoother High Quality'' for AviSynth, see archived [http://web.archive.org/web/20040611013235/http://cultact-server.novi.dk/kpo/avisynth/smooth_hiq_as.html documentation].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/smoothhiq_5F25_dll_20030208.zip Plugin]&lt;br /&gt;
| {{Author/Sh0dan}}&lt;br /&gt;
|-&lt;br /&gt;
| TNLMeans&lt;br /&gt;
| TNLMeans is an implementation of the NL-means denoising algorithm. - [http://forum.doom9.org/showthread.php?t=111344 discussion] - [http://forum.doom9.org/showthread.php?t=168090 TNLMeans built with ICL10]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/TNLMeansv103.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Spatial Denoisers ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[_2DCleanYUY2]]&lt;br /&gt;
| Averages pixels in a configurable radius around a source pixel that are within a configurable threshold of the central pixel. A port of the VirtualDub plugin [{{N2Moved}}/2dcleaner.html 2D Cleaner.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://dl.dropboxusercontent.com/s/vh7a5xmdpyj3d8u/_2DCleanYUY2_v0_10_mod_for_smp_YV12.zip Plugin]&lt;br /&gt;
| {{Author/kiraru2002}}, {{Author/xeon533}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DctFilter]]&lt;br /&gt;
| An experimental filter that operates on DCT coefficients. &lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/index.php/DctFilter Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DCTFun]]&lt;br /&gt;
| A fast spatial denoiser that does a hard thresholding of a complete 4x4 ICT transform.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/index.php/DCTFun Plugin]&lt;br /&gt;
| Prunedtree &lt;br /&gt;
|-&lt;br /&gt;
| eDeen&lt;br /&gt;
| eDeen is a ultra powerfull spatial denoiser for very experienced encoders only.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://ziquash.chez-alice.fr/eDeen%20beta%201.zip Plugin]&lt;br /&gt;
| {{Author/Marc FD}}&lt;br /&gt;
|-&lt;br /&gt;
| [[frfun3b]]&lt;br /&gt;
| Fractal denoising. See [http://forum.doom9.org/showthread.php?t=110200 discussion] &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20080905123941/http://soulhunter.chronocrossdev.com/data/frfun3b_rev3.zip Plugin]&lt;br /&gt;
| prunedtree&lt;br /&gt;
|-&lt;br /&gt;
| [[frfun3d]]&lt;br /&gt;
| Fractal denoising; frfun3d is a quality optimized frfun3b. See [http://forum.doom9.org/showthread.php?t=110200 discussion] &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://dl.dropboxusercontent.com/s/xqxfy59pcv3ea1q/frfun3d_r1.zip Plugin]&lt;br /&gt;
| prunedtree&lt;br /&gt;
|-&lt;br /&gt;
| [[frfun7]]&lt;br /&gt;
| Fractal denoising. See [http://forum.doom9.org/showthread.php?t=110200 discussion]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/index.php/Frfun7 Plugin]&lt;br /&gt;
| prunedtree&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20101201051903/http://gpubilateral.sourceforge.net/ GPUBilateral]&lt;br /&gt;
| In short, bilateral filter is a edge-preserving smooth filter. See [http://forum.doom9.org/showthread.php?t=136370 discussion.]&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://sourceforge.net/projects/gpubilateral/files/ Plugin]&lt;br /&gt;
| Sompon Virojanadara    &lt;br /&gt;
|-&lt;br /&gt;
|Kuwahara&lt;br /&gt;
|This filter is an edge preserving spatial noise reduction filter. It applies spatial smoothing while preserving the edges. See [http://forum.doom9.org/showthread.php?p=1689773 discussion]&lt;br /&gt;
|[[RGB24]], [[RGB32]]&lt;br /&gt;
|[http://www.wilbertdijkhof.com/Kuwahara_v11.zip Plugin]&lt;br /&gt;
|{{Author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
| [{{N2Moved}}/msmooth/msmooth.html Msmooth]&lt;br /&gt;
| Masked smoother, designed specifically for anime.&lt;br /&gt;
| [[YV12]], [[RGB32]]&lt;br /&gt;
| [{{N2Moved}}/msmooth/msmooth202.zip Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [[SmoothUV]]&lt;br /&gt;
| A spatial denoising plugin based on [{{N2Moved}}/smooth.html Smart Smoother] and [{{N2Moved}}/hiq/smoothhiq.html Smart Smooth HiQ].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/smoothuv_5F25_dll_20030902.zip Plugin]&lt;br /&gt;
| {{Author/Kurosu}}&lt;br /&gt;
|-&lt;br /&gt;
|[[SPresso]]&lt;br /&gt;
|A fast script to make SD content compress better while keeping the &amp;quot;original look&amp;quot;.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://forum.doom9.org/showpost.php?p=867316&amp;amp;postcount=23 Script]&lt;br /&gt;
|{{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TBilateral]] &lt;br /&gt;
| TBilateral is a spatial smoothing filter that uses the bilateral filtering algorithm.  It does a nice job of smoothing while retaining picture structure.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/TBilateralv0911.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/vague/vaguedenoiser.html VagueDenoiser]&lt;br /&gt;
| This is a Wavelet based Denoiser. Basically, it transforms each frame from the video input into the wavelet domain, using various wavelet filters. Then it applies some filtering to the obtained coefficients. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=56871 discussion.]&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB32]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/vaguedenoiser_5F25_dll_20050926.zip Plugin]&lt;br /&gt;
| {{Author/Lefungus}}, {{Author/Kurosu}}, {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [[VerticalCleaner]]&lt;br /&gt;
| Fast vertical cleaner. Parameter information [http://videoprocessing.fr.yuku.com/sreply/651/Can-use-quantile-like-vertical-median-filter here.] Explanation of mode 2 [http://videoprocessing.fr.yuku.com/sreply/649/Can-use-quantile-like-vertical-median-filter here.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://home.arcor.de/kassandro/prerelease/VerticalCleaner.rar Plugin]&lt;br /&gt;
| {{Author/kassandro}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Temporal Denoisers ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[Cnr2]]&lt;br /&gt;
| A fast chroma denoiser. Very effective against stationary rainbows and huge analogic chroma activity. Useful to filter VHS/TV caps. See [http://forum.doom9.org/showthread.php?t=78905 discussion.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/cnr2_v261.zip Plugin]&lt;br /&gt;
| {{Author/Marc FD}}, {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[FluxSmooth]]&lt;br /&gt;
| Examines each pixel and compares it to the corresponding pixel in the previous and last frame.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/FluxSmooth-1.1b.zip Plugin]&lt;br /&gt;
| {{Author/SansGrip}}, {{Author/Sh0dan}}&lt;br /&gt;
|-&lt;br /&gt;
| GrapeSmoother&lt;br /&gt;
| This filter averages out visual noise between frames.&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/grapesmoother_5F25_dll_20030801.zip Plugin]&lt;br /&gt;
| {{Author/Lindsey Dubb}}&lt;br /&gt;
|-&lt;br /&gt;
| MVDegrain&lt;br /&gt;
| Strong and effective temporal denoiser. Part of the [http://avisynth.org.ru/mvtools/mvtools2.html MVTools] package.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.org.ru/mvtools/mvtools2.html Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.nl/users/fizick/docs/english/externalfilters/temporalcleaner.htm TemporalCleaner]&lt;br /&gt;
| TemporalCleaner is an Avisynth port of the original port of the VirtualDub filter TemporalCleaner made by [http://home.earthlink.net/~casaburi/download/#temporalcleaner Jim Casaburi.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/temporalcleaner_5F25_dll.zip Plugin]&lt;br /&gt;
| vlad59&lt;br /&gt;
|-&lt;br /&gt;
| TTempSmooth &lt;br /&gt;
| TTempSmooth is a motion adaptive (it only works on stationary parts of the picture), temporal smoothing filter.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/TTempSmoothv094.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Temporal Degrain]]&lt;br /&gt;
| SLOW but very effective at removing most grain from video sources.&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Spatio-Temporal Denoisers ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [http://hellninjacommando.com/con3d/ Convolution3D]&lt;br /&gt;
| Convolution3D is a spatio-temporal smoother, it applies a 3D convolution filter to all pixels of consecutive frames. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=38281 discussion].&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://hellninjacommando.com/con3d/ Plugin]&lt;br /&gt;
| {{Author/Vlad59}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Deen]]&lt;br /&gt;
| Deen is a set of assembly-optimised denoisers, like various 3d and 2d convolutions.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/index.php/Deen Plugin]&lt;br /&gt;
| {{Author/Marc FD}}&lt;br /&gt;
|-&lt;br /&gt;
| DenoiseMF&lt;br /&gt;
| A fast and accurate denoiser for a Full HD video from a H.264 camera. See [http://forum.doom9.org/showthread.php?t=162603 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=162603 Script]&lt;br /&gt;
| rean&lt;br /&gt;
|-&lt;br /&gt;
| [[dfttest]]&lt;br /&gt;
| A 2D/3D frequency domain denoiser. See [http://forum.doom9.org/showthread.php?t=132194 discussion.]&lt;br /&gt;
| [[YUY2]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [http://ldesoras.free.fr/src/avs/dfttest-1.9.4.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| dfttestMC&lt;br /&gt;
| A script that motion compensates dfttest. See [http://forum.doom9.org/showthread.php?t=147676 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=147676 Script]&lt;br /&gt;
| thewebchat&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/degrain/degrainmedian.html DeGrainMedian]&lt;br /&gt;
| Two stage Spatio-Temporal Limited Median filter for grain removal. [http://forum.doom9.org/showthread.php?t=80834 See]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.org.ru/degrain/degrainmedian082.zip Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/fft3dfilter/fft3dfilter.html FFT3DFilter]&lt;br /&gt;
| A 3D Frequency Domain filter - gives strong denoising and moderate sharpening&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.org.ru/fft3dfilter/fft3dfilter211.zip Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| FFT3DGPU &lt;br /&gt;
| Similar algorithm to FFT3DFilter, but uses graphics hardware for increased speed. See [http://forum.doom9.org/showthread.php?t=89941 discussion.]&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/users/tsp/ Plugin]&lt;br /&gt;
| {{Author/tsp}}&lt;br /&gt;
|-&lt;br /&gt;
| [[frfun4]]&lt;br /&gt;
| Spatial-temporal fractal denoising.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://dl.dropboxusercontent.com/s/3maloze1ctlwai3/frfun4.zip Plugin]&lt;br /&gt;
| prunedtree&lt;br /&gt;
|-&lt;br /&gt;
| [http://akuvian.org/src/avisynth/hqdn3d/ HQdn3d] &lt;br /&gt;
| High Quality DeNoise 3D is an Avisynth 2.5 port of the MPlayer filter of the same name. It performs a 3-way low-pass filter, which can completely remove high-frequency noise while minimizing blending artifacts. &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://akuvian.org/src/avisynth/hqdn3d/hqdn3d-0.11.zip Plugin]&lt;br /&gt;
| {{Author/akupenguin}}&lt;br /&gt;
|-&lt;br /&gt;
| [[MC_Spuds]]&lt;br /&gt;
| Motion compensated noise removal with sharpening. Extremely slow, but extremely effective.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| Spuds, {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[MCTemporalDenoise]]&lt;br /&gt;
| Another high quality motion compensated noise removal script with an accompanying post-processing component (with loads of excess feature such as MC-Post-sharpening, MC-antialiasing, deblock, edgeclean and much more)&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=139766 Script]&lt;br /&gt;
| {{Author/LaTo}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/docs/english/externalfilters/mipsmooth.htm MipSmooth]&lt;br /&gt;
| MipSmooth is a reinvention of [[SmoothHiQ]] and [[Convolution3D]]. MipSmooth was made to enable smoothing of larger pixel areas than 3x3(x3), to remove blocks and smoothing out low-frequency noise. See [http://forum.doom9.org/showthread.php?t=64940 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/mipsmooth_5F25_dll_20051223.zip Plugin]&lt;br /&gt;
| {{author/Sh0dan}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/docs/english/externalfilters/nomosmooth.htm NoMoSmooth]&lt;br /&gt;
| NoMoSmooth temporally denoises relatively static areas and a spatially denoises moving parts. In addition to this motion-based approach, NoMoSmooth employs another technique to try to retain as much existing detail as possible: only pixels that are &amp;quot;fluctuating&amp;quot; are smoothed. See [http://forum.doom9.org/showthread.php?t=37471 discussion.]&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/nomosmooth_5F25_dll_200309015.zip Plugin]&lt;br /&gt;
| SansGrip&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/docs/english/externalfilters/peachsmoother.htm PeachSmoother]&lt;br /&gt;
| PeachSmoother was designed to cope with the oddities of analog broadcast TV.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/peachsmoother_5F25_dll_20030801.zip Plugin]&lt;br /&gt;
| {{Author/Lindsey Dubb}}&lt;br /&gt;
|-&lt;br /&gt;
| RemoveDirtMC&lt;br /&gt;
| &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1485300#post1485300 Script]&lt;br /&gt;
| Nephilis&lt;br /&gt;
|-&lt;br /&gt;
| [[RemoveGrain]]&lt;br /&gt;
| RemoveGrain is a plugin package containing various plugins for spatial and temporal denoising, repairing, sharpening, deinterlacing, and other utility functions.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/index.php/RemoveGrain Plugin]&lt;br /&gt;
| {{Author/kassandro}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20130412014246/http://www.removegrainhd.de.tf/ RemoveGrainHD]&lt;br /&gt;
| RemoveGrainHD is like RemoveGrain but intended for high definition content. It includes various spatial and temporal functions. See [http://web.archive.org/web/20130412014246/http://www.removegrainhd.de.tf/ documentation.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://chaosking.de/wp-content/uploads/avsfilters/Denoisers/Spatial_Denoisers/RemoveGrainHD___(0.5_-_2011-08-11).7z Plugin]&lt;br /&gt;
| {{Author/kassandro}}&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
| RemoveNoiseMC&lt;br /&gt;
| Motion compensated filter for removing noise, larger spots and other dirt. Written as an alternative to the old Dust. Last update Nov 2006. It uses mvtools v1. Jenyok collected together all RemoveNoise and various filters functions and adapted to MVTools v2.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=110078 Script]&lt;br /&gt;
| Heini011&lt;br /&gt;
|-&lt;br /&gt;
| [[RgTools]]&lt;br /&gt;
| Modern rewrite of &amp;lt;tt&amp;gt;[[RgTools/RemoveGrain|RemoveGrain]]&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;[[RgTools/Repair|Repair]]&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;[[RgTools/BackwardClense|BackwardClense]]&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;[[RgTools/Clense|Clense]]&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;[[RgTools/ForwardClense|ForwardClense]]&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;[[RgTools/VerticalCleaner| VerticalCleaner]]&amp;lt;/tt&amp;gt; all in a single plugin. &lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://github.com/tp7/RgTools/releases Plugin]&lt;br /&gt;
| {{Author/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
|[[STPresso]]&lt;br /&gt;
|A fast script to make SD/720p content compress better without losing detail and original grain structure. See [http://forum.doom9.org/showthread.php?p=1551871#post1551871 discussion.]&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://forum.doom9.org/showpost.php?p=1551871&amp;amp;postcount=2 Script]&lt;br /&gt;
|{{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| zzz_denoise&lt;br /&gt;
| Simple wrapper around a combination of dfttest and MDegrain3. Requires the [[External_filters#Deepcolor_Filters|Dither]] package.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1390594#post1390594 Script]&lt;br /&gt;
| {{Author/cretindesalpes}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Adjustment Filters ==&lt;br /&gt;
&lt;br /&gt;
=== Borders and Cropping ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
|[http://web.archive.org/web/20140709005736/http://www.geocities.com/siwalters_uk/bdrcntrl.html BorderControl]&lt;br /&gt;
| It's designed to allow you to manipulate the regions at the top, bottom and sides of a frame. Set a black border, set a border region to be faded out and you can &amp;quot;smear&amp;quot; the border to save having to crop and resize the whole frame for the sake of a few pixels. Each border (top,bottom.left and right) can be manipulated independently. See [http://forum.doom9.org/showthread.php?t=33479 discussion] and [http://avisynth.org.ru/docs/english/externalfilters/bordercontrol.htm documentation].&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
|[http://web.archive.org/web/20140709005736/http://www.geocities.com/siwalters_uk/bordercontrol14.zip Plugin]&lt;br /&gt;
|{{Author/Simon Walters}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://web.archive.org/web/20050113131714/http://home.comcast.net/~trbarry/Readme_FillMargins.txt FillMargins]&lt;br /&gt;
|FillMargins is a simple AviSynth filter that fills the four margins of a video clip with the outer pixels of the unfilled portion. It takes integer 4 parameters specifying the size of the left, top, right, and bottom margins. These may be any value and do not have to be any particular multiple. See discussion [http://forum.doom9.org/showthread.php?t=50132 here] and [http://forum.doom9.org/showthread.php?t=55881 here], additional [http://avisynth.org.ru/docs/english/externalfilters/fillmargins.htm documentation]&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://web.archive.org/web/20130207143129/http://neuron2.net/trbarry/FillMargins.zip Plugin]&lt;br /&gt;
|{{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| Padding&lt;br /&gt;
| Duplicate edge pixels to the outside with [[PointResize]]. See [http://forum.doom9.org/showthread.php?t=165946 discussion.]&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1596804&amp;amp;postcount=5 Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
|[http://avisynth.org.ru/docs/english/externalfilters/autocrop.htm AutoCrop]&lt;br /&gt;
|Automatically crops black borders ([http://en.wikipedia.org/wiki/Letterbox wikipedia:Letterbox], [http://en.wikipedia.org/wiki/Pillar_box_%28film%29 wikipedia:Pillar box], [http://en.wikipedia.org/wiki/Windowbox_%28film%29 wikipedia:Windowbox]) from a clip. Operates in preview mode (overlays the recommended cropping information) or cropping mode. Can also ensure width and height are multiples of specified numbers. See original [http://forum.doom9.org/showthread.php?t=37204 discussion] and updated AutoCrop [http://forum.doom9.org/showthread.php?t=87602 discussion]&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://len0x.leffe.dnsalias.com/autocrop12.zip Plugin]&lt;br /&gt;
| [http://web.archive.org/web/20050404182221/http://www.videofringe.com/autocrop/ Glenn Bussell], len0x&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=168053 RoboCrop]&lt;br /&gt;
| RoboCrop is an automatic cropping solution to crop black borders from video clips, loosely based on (but using no code from) AutoCrop by Glenn Bussell. See [http://forum.doom9.org/showthread.php?t=168053 discussion.]&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://www.mediafire.com/download/3qwgprgrnw77e2h/RoboCrop_25%2626_dll_v1-03_20131226.zip Plugin]&lt;br /&gt;
| StainlessS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Colourspace Conversion ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [{{N2Moved}}/autoyuy2/autoyuy2.html AutoYUY2]&lt;br /&gt;
| This filter is correctly converts YV12 to YUY2 without color bias.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Plugin&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| ConvertToYCgCo&lt;br /&gt;
| Converts to the YCgCo colorspace. See [http://forum.doom9.org/showthread.php?t=161736 discussion.]&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://forum.doom9.org/attachment.php?attachmentid=12748&amp;amp;d=1331769022 Plugin]&lt;br /&gt;
| xv&lt;br /&gt;
|-&lt;br /&gt;
| InterleavedConversions&lt;br /&gt;
| Tools for interleaving and de-interleaving 2, 3, and 4-channel data.&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| PitifulInsect&lt;br /&gt;
|-&lt;br /&gt;
| YUY2inRGB&lt;br /&gt;
| A quick filter that stuffs YUY2 into RGB24. See [http://forum.doom9.org/showthread.php?p=639948#post639948 discussion.]&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://trevlac.us/YUY2inRGB.zip Plugin]&lt;br /&gt;
| {{Author/Trevlac}}&lt;br /&gt;
|-&lt;br /&gt;
| YUY2toRGB219&lt;br /&gt;
| Converts YUY2 to studioRGB. With this kind of conversion, luma will not change, meaning no quantization error on luma. See [http://forum.doom9.org/showthread.php?p=639432#post639432 discussion.]&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://trevlac.us/colorCorrection/YUY2toRGB219.zip Plugin] &lt;br /&gt;
| {{Author/Trevlac}}&lt;br /&gt;
|-&lt;br /&gt;
| YV12toRGB24HQ&lt;br /&gt;
| YV12 to RGB24 with dithering.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/yv12torgb24hq_20060301.zip Plugin]&lt;br /&gt;
| prunedtree&lt;br /&gt;
|-&lt;br /&gt;
| PlanarConversions&lt;br /&gt;
| Planar conversion functions for AVISynth.&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| PitifulInsect&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Duplicate Frame Detectors ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| Dup &lt;br /&gt;
| a robust duplicate frame detector. a frame that is determined to be close enough to its predecessor to be considered a duplicate will be replaced by a copy of the predecessor. This can significantly reduce the size of encoded clips with virtually no visual effect. provides the capability to replace frames with a blend of all the duplicates, providing a valuable noise reduction. Filter by Donald A. Graft.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [{{N2Moved}}/dup/dupnew.html Plugin] &lt;br /&gt;
[http://forum.doom9.org/showpost.php?p=1698892&amp;amp;postcount=9 Update (v2.32)]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| Dupped&lt;br /&gt;
| Another frame duplication function, similar to Dup, but hopefully more accurate. See [http://forum.doom9.org/showthread.php?t=134930]&lt;br /&gt;
| &lt;br /&gt;
| [http://www.randomdestination.com/members/corran/misc/dupped/dupped.avsi Script]&lt;br /&gt;
| Corran&lt;br /&gt;
|-&lt;br /&gt;
| DeDup &lt;br /&gt;
| Remove (drop) duplicate frames in the interest of compression quality and speed. Resulting clip will have a variable frame rate.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://akuvian.org/src/avisynth/dedup/ Plugin]&lt;br /&gt;
| {{Author/akupenguin}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://tasvideos.org/forum/viewtopic.php?t=12065 ExactDedup]&lt;br /&gt;
| ExactDedup is an AVISynth 2.5 plugin providing a filter intended to remove frames that are exact duplicates of each other, leaving only the first and (optionally) last frames of a run intact, and generates a Matroska v2 timecodes file with timing information for the ensuing stream.&lt;br /&gt;
| [[RGB24]], [[YV12]]&lt;br /&gt;
| [http://www.mediafire.com/download/9x2ax1rb5un02d5/ExactDedup+Version+0.03.zip Plugin]&lt;br /&gt;
|Steve Melenchuk, Arick Chan&lt;br /&gt;
|-&lt;br /&gt;
| GetDups &lt;br /&gt;
| Selecting unique duplicate frames from clip, it return frames which have copies only, by one from the series (group). Made for 8mm films.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.org.ru/getdups/getdups.html Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=164372 MorphDups]&lt;br /&gt;
| Replace duplicate frames by interpolations.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=164372 Script]&lt;br /&gt;
| sven_x&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Effects ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[AddGrainC]]&lt;br /&gt;
| Generates film like grain or other effects (like rain) by adding random noise to clip. Noise can be horizontally or vertically correlated causing streaking. Contains AddGrain &amp;amp; AddGrainC &lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]],&lt;br /&gt;
[[Y8]], [[YV411]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [http://ldesoras.free.fr/src/avs/AddGrainC-1.7.0.7z Plugin]&lt;br /&gt;
|{{Author/Tom Barry}}, {{Author/Foxyshadis}}&amp;lt;br&amp;gt;&lt;br /&gt;
{{Author/LaTo}}, {{Author/cretindesalpes}}&lt;br /&gt;
|-&lt;br /&gt;
| [[AddStaticGrainM]]&lt;br /&gt;
| This function adds static grain in dark areas based on a mask.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://pastebin.com/raw.php?i=wLSpAKHZ Script]&lt;br /&gt;
| [http://canihaziframe.wordpress.com/2011/02/23/addstaticgrainm/ Daiz]&lt;br /&gt;
|-&lt;br /&gt;
| [http://kvcd.net/sansgrip/avisynth/Blockbuster-readme.html AddNoise/Blockbuster]&lt;br /&gt;
| Makes encoder allocate more bits to darker areas, thus eliminating DCT blocks by decreasing the clips compressibility.&lt;br /&gt;
| &lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/blockbuster_5F25_src_20021229.zip Plugin]&lt;br /&gt;
| Ross Thomas&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=87295 AviShader]&lt;br /&gt;
| generic plugin that uses your 3D card's hardware to assist with rendering&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/avishader_5F25_dll_20041228.zip Plugin]&lt;br /&gt;
| Antitorgo&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=97706 ColorLooks]&lt;br /&gt;
| This plugin is based on Trev's VDub filter Colorlooks and Donald Graft's Colorize (well it works a bit similar). I also added some new stuff. The plugin contains the following filters: Technicolor, Colorize, Sepia and Posterize.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://www.geocities.com/wilbertdijkhof/ColorLooks_v13.zip Plugin]&lt;br /&gt;
| {{author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=170732 crt_display]&lt;br /&gt;
| CRT emulation with scanline and phosphor effects. crt_display emulates a CRT display using aperture grille (Trinitron) or Cromaclear technologies. See [http://forum.doom9.org/showthread.php?t=170732 discussion.]&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=170732 Script]&lt;br /&gt;
|{{Author/cretindesalpes}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.nl/users/vcmohan/EffectsMany/EffectsMany_index.html EffectsMany]&lt;br /&gt;
| Creates 34 types of special &amp;quot;animated&amp;quot; effects. Effects act on the input clip in the range of the frame numbers specified. The Audio is not affected.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://avisynth.nl/users/vcmohan/EffectsMany/EffectsMany.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [[f3kgrain]]&lt;br /&gt;
| Another 8/16-bit luma adaptive grain generator.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [http://www.nmm-hd.org/upload/get~ElhZlazJbsQ/f3kgrain_v0.4.avsi Script]&lt;br /&gt;
| {{Author/06_taro}}&lt;br /&gt;
|-&lt;br /&gt;
| [[GNoise]]&lt;br /&gt;
| Adds random noise to a clip. See [http://forum.doom9.org/showthread.php?p=841700#post841700 duscussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20080905123941/http://soulhunter.chronocrossdev.com/data/gnoise_r5.zip Plugin]&lt;br /&gt;
| {{Author/mf}}&lt;br /&gt;
|-&lt;br /&gt;
| [[GrainFactory3]]&lt;br /&gt;
| Noise generator that tries to simulate the behavior of silver grain on film. See [http://forum.doom9.org/showthread.php?t=141303 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1191292#post1191292 Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[GrainFactory3mod]]&lt;br /&gt;
| Luma adaptive grain generating filter in 8-bit precision. Based on Didée's [[GrainFactory3]] script.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.nmm-hd.org/upload/get~kvNvGpuyxfc/GrainFactory3mod_v1.2.avsi Script]&lt;br /&gt;
| {{Author/06_taro}}&lt;br /&gt;
|-&lt;br /&gt;
| [[GrainFactoryLite]]&lt;br /&gt;
| Luma adaptive grain generating filter with stacked 16-bit input/output support. Based on Didée's [[GrainFactory3]] script, processing in 16-bit precision, and some commonly unused parameters removed.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.nmm-hd.org/upload/get~FaqsQaMom9s/GrainFactoryLite_v1.2.avsi Script]&lt;br /&gt;
| {{Author/06_taro}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/HollywoodSq/HollywoodSq.html HollywoodSQ]&lt;br /&gt;
| Creates popup album, akin to Hollywood squares TV show&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://avisynth.nl/users/vcmohan/HollywoodSq/HollywoodSq.html Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| KenBurnsEffect&lt;br /&gt;
| Given clip, zooms, pans &amp;amp; rotates clip. See [http://en.wikipedia.org/wiki/Ken_Burns_Effect wikipedia:Ken Burns Effect]&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=135776 Script]&lt;br /&gt;
| mikeytown2&lt;br /&gt;
|-&lt;br /&gt;
| [[MPlayerNoise]]&lt;br /&gt;
| Noise Generator ported from MPlayer. See [http://forum.doom9.org/showthread.php?t=84181 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/bergfiltercollection_5F25_dll_20041019.zip Plugin]&lt;br /&gt;
| {{Author/bergi}}&lt;br /&gt;
|-&lt;br /&gt;
| [[NoiseGenerator]]&lt;br /&gt;
| Newer function based off of Blockbuster. Adds random noise to clip.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/noisegenerator_5F25_dll_20050616.zip Plugin]&lt;br /&gt;
| Shubin&lt;br /&gt;
|-&lt;br /&gt;
| [[Scanlines]]&lt;br /&gt;
| Add Scanlines (black horizontal bars) to a video. see [http://en.wikipedia.org/wiki/Scan_line wikipedia:Scan Line]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/scanlines_5F25_dll_20031103.zip Plugin]&lt;br /&gt;
| turulo&lt;br /&gt;
|-&lt;br /&gt;
| [[StaticNoiseC]]&lt;br /&gt;
| Generates static grain using the Mersenne Twister random number generator. See [http://www.nmm-hd.org/newbbs/viewtopic.php?f=8&amp;amp;t=118&amp;amp;start=20#p772 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.nmm-hd.org/upload/get~YnWFecZw0Uo/StaticNoiseC20110108b.zip Plugin]&lt;br /&gt;
| histamine&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.gyroshot.com/turnstile.htm TurnsTile]&lt;br /&gt;
| Applies mosaic and/or palette effects to a clip.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=158695 Plugin]&lt;br /&gt;
| {{Author/Robert Martens}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Field Order ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| PFR&lt;br /&gt;
| Tries to restore the original progressive field order of a movie (or any predominantly filmed material transferred to video) where the field order changes at scene changes in a seemingly random fashion! See [http://forum.doom9.org/showthread.php?t=49815 discussion.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://web.archive.org/web/20091028073306/http://geocities.com/siwalters_uk/pfravs.html Plugin]&lt;br /&gt;
| {{Author/Simon Walters}}&lt;br /&gt;
|-&lt;br /&gt;
| ReverseFieldDominance&lt;br /&gt;
| This filter is intended to reverse the field dominance of PAL DV video. See [http://forum.doom9.org/showthread.php?t=46765 discussion.]&lt;br /&gt;
| [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://web.archive.org/web/20091028073306/http://geocities.com/siwalters_uk/reversefielddominance.html Plugin]&lt;br /&gt;
| {{Author/Simon Walters}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Frame Rate Conversion ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[AlterFPS]]&lt;br /&gt;
| AlterFPS can be used to speed up or slow down a video by adding or removing fields. It works like the 3:2 pulldown of NTSC film material, except you can choose your new speed. It can also blend frames for progressive frame results, and blend fields like ConvertFPS.&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[convert60ito24p]]&lt;br /&gt;
| convert60ito24p converts a 60fps interlaced NTSC Video into a 24fps progressive Video using different blending techniques. discussion.&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [http://github.com/arkeet/fpsdown/blob/master/README.md FPSDown]&lt;br /&gt;
| This filter reduces the framerate of a video by 1/2, by blending odd and even frames together. However, it does this in a smart way such that in case of duplicate frames, it will do the smart thing to remove unnecessary blurring in the output video.&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://github.com/arkeet/fpsdown/blob/master/README.md Plugin]&lt;br /&gt;
| [http://github.com/arkeet/ arkeet]&lt;br /&gt;
|-&lt;br /&gt;
| [{{N2Archived}}/trbarry/Readme_FrameDbl.txt FrameDbl]&lt;br /&gt;
| FrameDbl will generate extra frames to double the frame rate. It does this using a motion compensated approach to interpolating between frames. See [http://forum.doom9.org/showthread.php?t=56036 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [{{N2Archived}}/trbarry/FrameDbl.zip Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.spirton.com/uploads/InterFrame/InterFrame2.html InterFrame]&lt;br /&gt;
| Frame rate conversion script. Interframe works very well at converting 24FPS to 60FPS; converts videos to higher frame rates like newer TVs do. Common names are frame doubling, smooth motion, among others. See [http://forum.doom9.org/showthread.php?t=160226 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1486831&amp;amp;postcount=1 Script]&lt;br /&gt;
|{{Author/SubJunk}}&lt;br /&gt;
|-&lt;br /&gt;
| MotionProtectedFPS (Motion)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| MVFlowFPS(2) (MVTools)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| NTSC tools&lt;br /&gt;
| Automatic NTSC to PAL conversion with 24p, 30p, 60i detection. See [http://forum.doom9.org/showthread.php?t=114054]&lt;br /&gt;
| &lt;br /&gt;
| [http://avisynth.nl/images/NTSC_tools.avsi Script]&lt;br /&gt;
| Mug Funky&lt;br /&gt;
|-&lt;br /&gt;
| [[SalFPS3]]&lt;br /&gt;
| &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| Mug Funky, {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.svp-team.com/wiki/Plugins:_SVPflow SVPflow]&lt;br /&gt;
| SVPflow provides fast and high quality GPU accelerated frame rate interpolation. See [http://forum.doom9.org/showthread.php?t=164554 discussion.] &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.svp-team.com/files/gpl/svpflow-1.0.11.zip Plugin]&lt;br /&gt;
| [http://www.svp-team.com/wiki/Credits SVP Team]&lt;br /&gt;
|-&lt;br /&gt;
| [http://github.com/gnaggnoyil/tc2cfr tc2cfr]&lt;br /&gt;
| This plugin that can read a timecode file and convert a given video clip in to one with a constant framerate by adding duplicate frames.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://github.com/gnaggnoyil/tc2cfr/releases Plugin]&lt;br /&gt;
| [http://github.com/gnaggnoyil gnaggnoyil]&lt;br /&gt;
|-&lt;br /&gt;
| [http://tasvideos.org/forum/viewtopic.php?t=12763 TimecodeFPS]&lt;br /&gt;
| Converts clip from VFR to CFR.  Timing information from clip is discarded, and matroska v2 timecodes from the timecodes file are used instead.&lt;br /&gt;
| Any&lt;br /&gt;
| [http://www.mediafire.com/?a51pifo438i7hdb Plugin]&lt;br /&gt;
| natt&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=165045 VFRtoCFR]&lt;br /&gt;
| Converts a variable frame rate (VFR) video to a constant frame rate (CFR) video with the help of Matroska Version 2 Timecodes.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.mediafire.com/download/q6zfgpo5dhh50si/VFRtoCFR20120730.zip Plugin]&lt;br /&gt;
| Aktan&lt;br /&gt;
|-&lt;br /&gt;
| [http://griffeltavla.wordpress.com/2013/01/18/convert-vfr-to-cfr-using-avisynth/ VfrToCfr]&lt;br /&gt;
| This plugin converts variable frame rate clips to constant frame rate by introducing null frames. [http://github.com/jojje/VfrToCfr-the-other-one GitHub repository]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://snarl.zapto.org/files/vfrtocfr-1.0.zip Plugin]&lt;br /&gt;
| joyje&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Levels and Chroma ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=167573 AutoAdjust]&lt;br /&gt;
| A high quality automatic adjustement filter. It calculates statistics of clip, averages them temporally to stabilize data and uses them to adjust luminance gain &amp;amp; color balance. AutoAdjust has a smoothing &amp;amp; dithering algorithm to avoid banding issue. Calculations are made in 32bits float to avoid rounding errors and can also input/output 16-bits. AutoAdjust is internally multithreaded and SSE2 optimized.&lt;br /&gt;
| [[Y8]], [[YV411]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=167573 Plugin]&lt;br /&gt;
| {{Author/LaTo}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.thebattles.net/video/autolevels.html Autolevels]&lt;br /&gt;
| Improvement of the [[ColorYUV]] filter's autogain feature. It stretches the luma histogram to use the entire specified range, averaging the amount of &amp;quot;gain&amp;quot; over consecutive frames to better handle flashes and to avoid flickering. [http://forum.doom9.org/showthread.php?t=128585 Discuss]&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://www.thebattles.net/video/autolevels_0.6_20110109.zip Plugin]&lt;br /&gt;
| {{Author/frustum}} &amp;amp; Theodor Anschütz&lt;br /&gt;
|-&lt;br /&gt;
| AWB&lt;br /&gt;
| Automatic white balance for real world footage, similar to the known function in digital cameras. See [http://forum.doom9.org/showthread.php?t=168062 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=168062 Script]&lt;br /&gt;
| martin53&lt;br /&gt;
|-&lt;br /&gt;
| [[ChanMix]]&lt;br /&gt;
| Creates a grayscale image from an RGB24 source, it has 3 parameters to specify how much of each color-channel is used.&lt;br /&gt;
| [[RGB24]]&lt;br /&gt;
| [{{N2Moved}}/misc/chanmix.zip Plugin]&lt;br /&gt;
| E-Male&lt;br /&gt;
|-&lt;br /&gt;
| [[ChannelMixer]]&lt;br /&gt;
| Very similar to the ChannelMixer function found in Photoshop. 9 Adjustments are possible, 3 for each color channel.&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://forum.videohelp.com/images/guides/p1767998/channelmixer_v1_0.zip Plugin]&lt;br /&gt;
| Gustaf Ullberg&lt;br /&gt;
|-&lt;br /&gt;
| [[ColorBalance]]&lt;br /&gt;
| Same tool that is found in Gimp &amp;amp; Cinepaint. See [http://forum.doom9.org/showthread.php?p=1180090#post1180090 discussion.]&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://dl.dropbox.com/s/ve66ayxfnfet9u0/ColorBalance_0.26.zip Plugin]&lt;br /&gt;
| Gavino &amp;amp; mikeytown2&lt;br /&gt;
|-&lt;br /&gt;
|ColorLooks&lt;br /&gt;
| This plugin is based on Trev's VDub filter [http://www.trevlac.us/FilterDocs/ Colorlooks] and Donald Graft's [http://rationalqm.us/colorize.html Colorize] (well it works a bit similar). I also added some new stuff. The plugin contains the following filters: Technicolor, Colorize, Sepia and Posterize. See [http://forum.doom9.org/showthread.php?t=97706 discussion]&lt;br /&gt;
|[[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
|[http://www.wilbertdijkhof.com/ColorLooks_v13.zip Plugin]&lt;br /&gt;
|{{Author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=96308 ColourLike]&lt;br /&gt;
| Makes a clip look like a 'reference' clip by adjusting each colour mask. Updated [http://forum.doom9.org/showpost.php?p=1582935&amp;amp;postcount=38 documentation]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/colourlike_5F25_dll_20050825.zip Plugin]&lt;br /&gt;
| {{Author/mg262}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=99890 ColourMask]&lt;br /&gt;
| Creates colour masks.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/colourmask_20050911.zip Plugin]&lt;br /&gt;
| {{Author/mg262}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://expsat.sourceforge.net/ ExpLabo]&lt;br /&gt;
| ExpSat apply a non-linear transformation of saturation, Colorize change the image color dominance in a flexible manner, HLSnoise adds a noise to the image separately to the HLS dimensions. See [http://forum.doom9.org/showthread.php?t=97052 discussion.]&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://sourceforge.net/projects/expsat/ Plugin]&lt;br /&gt;
| brabbudu&lt;br /&gt;
|-&lt;br /&gt;
| [[FlimsYlevels]]&lt;br /&gt;
| Luma adjustment function to give a more &amp;quot;film-ish&amp;quot; look. (Based on {{Author/Didée}}'s [[Ylevels]]).&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| FlimsyFeet &lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=605890#post605890 GiCocu]&lt;br /&gt;
| Use GIMP/Photoshop curve files&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/gicocu_5F25_dll_20050620.zip Plugin]&lt;br /&gt;
| E-Male&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20130812061301/http://strony.aster.pl/paviko/hdragc.htm HDRAGC]&lt;br /&gt;
| High Dynamic Range Automatic Gain Control - Increase dynamic range of video clips (enhance shadows). It's &amp;quot;simply&amp;quot; gaining (brightening) dark areas of image without causing blow of highlights. Amount of gain is calculated automatically, but can be influenced by parameters. See [http://forum.doom9.org/showthread.php?t=93571 discussion.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://web.archive.org/web/20120419193005/http://strony.aster.pl/paviko/Hdragc-1.8.7.zip Plugin]&lt;br /&gt;
| {{Author/paviko}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=161986 HighlightLimiter]&lt;br /&gt;
| &amp;quot;Darkening highlight&amp;quot;. Works well on over exposed clips. It can also be combined with ContrastMask to create HDR effect&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1522100#post1522100 Script]&lt;br /&gt;
| javlak&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.nl/users/vcmohan/HistogramAdjust/HistogramAdjust.html HistogramAdjust]&lt;br /&gt;
| Adjusts the histogram of a frame by either equalizing it or by matching with histogram of another image, or with given histogram table of values.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/users/vcmohan/HistogramAdjust/HistogramAdjust.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Histograms in RGB &amp;amp; CMY]]&lt;br /&gt;
| Similar to Histogram(&amp;quot;levels&amp;quot;) but for RGB and CMY instead of YUV. It also includes a RGB parade color scope.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[Y8]], [[YUY2]], [[YV411]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [http://avisynth.nl/images/Histograms_in_RGB_%26_CMY.avsi Script]&lt;br /&gt;
| -Vit-&lt;br /&gt;
|-&lt;br /&gt;
|HSVAdjust&lt;br /&gt;
|HSVAdjust/HSLAdjust/HSIAdjust let's you rotate hues, control the strength of color (saturation), or modify the brightness of a clip. The type of brightness depends on the filter. It's value for HSVAdjust, lightness for HSLAdjust or intensity for HSIAdjust. See [http://forum.doom9.org/showthread.php?t=162022 discussion]&lt;br /&gt;
|[[RGB24]], [[RGB32]]&lt;br /&gt;
|[http://www.wilbertdijkhof.com/HSVAdjust_v01.zip Plugin]&lt;br /&gt;
|{{Author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
|Hue&lt;br /&gt;
|This plugin is a port of Donald Graft's VirtualDub [http://rationalqm.us/hue.html Hue] filter. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=87439&amp;amp;pagenumber=2 discussion]&lt;br /&gt;
|[[RGB24]], [[RGB32]]&lt;br /&gt;
|[http://www.wilbertdijkhof.com/Hue_v10.zip Plugin]&lt;br /&gt;
|{{Author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
| [[OutRange]]&lt;br /&gt;
| A simple function to scan the whole video and output a log file, in which out-of-tv-range frames are logged.&lt;br /&gt;
| [[Y8]], [[YV411]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [http://avisynth.nl/images/OutRange.avsi Script]&lt;br /&gt;
| 06_taro&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=168293 RgbAmplifier]&lt;br /&gt;
|An AviSynth forensic plugin to amplify color shifts.&lt;br /&gt;
|[[RGB24]], [[RGB32]]&lt;br /&gt;
|[http://www.mediafire.com/download/432rxa9ed1lr2in/RgbAmplifier_25_dll_v1.03_20140607.zip Plugin]&lt;br /&gt;
|{{Author/StainlessS}}&lt;br /&gt;
|-&lt;br /&gt;
| [[SGradation]]&lt;br /&gt;
| SGradation is much like a gamma function, but '2nd order'.&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[ShowOverRange]]&lt;br /&gt;
| Shows illegal &amp;quot;TV range&amp;quot; by painting pixels blue for anything less than 16 and red for anything greater than 235.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.nmm-hd.org/newbbs/download/file.php?id=164 Plugin]&lt;br /&gt;
| {{Author/SAPikachu}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=154971 SmoothAdjust]&lt;br /&gt;
| SmoothAdjust is a set of 5 plugins to make YUV adjustements. These 5 plugins have a smoothing &amp;amp; dithering algorithm to avoid banding issue. Calculations are made in 32bits float to avoid rounding errors and artifacts. SmoothAdjust is multithreaded (up to 16 threads) and SSE2 optimized. SmoothAdjust is [[SmoothLevels|SmoothLevels']] successor. &lt;br /&gt;
| [[Y8]], [[YV411]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=154971 Plugin]&lt;br /&gt;
| {{Author/LaTo}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Tint]]&lt;br /&gt;
| Tints the image toward a specified colour.&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=74334 TweakColor]&lt;br /&gt;
| Target specific hue and saturation ranges for hue and saturation adjustments.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/tweakcolor_5F25_dll_20040412.zip Plugin]&lt;br /&gt;
| {{Author/Trevlac}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/docs/english/externalfilters/vscope.htm VideoScope]&lt;br /&gt;
| Similar to Histogram(&amp;quot;classic&amp;quot;) but with additional features. &lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://www.wilbertdijkhof.com/VScope12.zip Plugin]&lt;br /&gt;
| Randy French&lt;br /&gt;
|-&lt;br /&gt;
| [[WhiteBalance]]&lt;br /&gt;
| Correct the white balance of a clip with a large degree of control and accuracy over other methods of correcting white balance. See [http://forum.doom9.org/showthread.php?t=106196 discussion.]&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://www.64k.it/andres/data/avisynth/WhiteBalance100.zip Plugin]&lt;br /&gt;
| SomeJoe&lt;br /&gt;
|-&lt;br /&gt;
| [[Ylevels]]&lt;br /&gt;
| A simple replacement for Avisynth's internal [[Levels]] command, with a few neat differences.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Line Darkening ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| FastLineDarken&lt;br /&gt;
| Line darkening script. See [http://forum.doom9.org/showthread.php?t=82125 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| Vectrangle&lt;br /&gt;
|-&lt;br /&gt;
| FastLineDarkenMOD&lt;br /&gt;
| Line darkening script. See original [http://forum.doom9.org/showthread.php?t=82125 discussion.] Updated [http://forum.doom9.org/showthread.php?p=1060081#post1060081 script.] Additional [http://forum.doom9.org/showthread.php?p=1023638#post1023638 information.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| Vectrangle / {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| LimitedDarken&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[mfToon]]&lt;br /&gt;
| mfToon darkens cartoon edges. In default operation, it performs line darkening, Xsharpening, and warp sharpening. &lt;br /&gt;
See [http://forum.doom9.org/showthread.php?t=53364 discussion.] Additional information [http://forum.doom9.org/showthread.php?t=125128 here] and [http://forum.doom9.org/showthread.php?t=52066 here]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20090212071718/http://mf.creations.nl/avs/functions/mfToon-v0.52.avs Script]&lt;br /&gt;
| {{Author/mf}}&lt;br /&gt;
|-&lt;br /&gt;
| SuperToon&lt;br /&gt;
| An attempt to optimize/speed up the previous versions of mfToon, vmToon, etc. See [http://forum.doom9.org/showthread.php?t=163987 discussion]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=163987 Script]&lt;br /&gt;
| Hadien&lt;br /&gt;
|-&lt;br /&gt;
| [[Toon]]&lt;br /&gt;
| Simple and fast line darkener. &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://dl.dropbox.com/s/guk5plphkthdy2f/Toon-v1.1.7z Plugin]&lt;br /&gt;
| {{Author/mf}}&lt;br /&gt;
|-&lt;br /&gt;
| [[ToonLite]]&lt;br /&gt;
| It's the same as [[Toon]], just without the warpsharp processing..&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20090218093135/http://mf.creations.nl/avs/filters/Toon-v1.0-lite.dll Plugin]&lt;br /&gt;
| {{Author/mf}}&lt;br /&gt;
|-&lt;br /&gt;
| [[vmToon]]&lt;br /&gt;
| The successor to mfToon. Darkens lines, thins lines, and does supersampled sharpening all in one, but slow. &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/Vmtoon-v0.74.avsi Script]&lt;br /&gt;
| Vectrangle&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Resizers ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[AreaResize]]&lt;br /&gt;
| An area-average resizer plugin; only use to downscale.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://www.mediafire.com/download.php?kn56wh7r81vk2rx Plugin]&lt;br /&gt;
| {{Author/Chikuzen}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Debicubic]]&lt;br /&gt;
| This filter is designed to reverse the effects of bicubic upsampling.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20140622040033/http://rgb.chromashift.org/debicubic%20r2.zip Plugin]&lt;br /&gt;
| Prunedtree&lt;br /&gt;
|-&lt;br /&gt;
| [[Debilinear]]&lt;br /&gt;
| This filter is designed to reverse the effects of bilinear upsampling.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20140214021604/http://rgb.chromashift.org/debilinear%20r6.zip Plugin]&lt;br /&gt;
| Prunedtree&lt;br /&gt;
|-&lt;br /&gt;
| EdiUpsizer &lt;br /&gt;
| EDIUpsizer is a resampling filter that upsizes an image by a factor of two both horizontally and vertically using NEDI (new-edge directed interpolation). See [http://web.archive.org/web/20101126091759/http://neuron2.net/library/nedi.pdf nedi.pdf] for more info on the algorithm. EDIUpsizer also uses a few modifications to basic NEDI in order to prevent a lot of the artifacts that NEDI creates in detailed areas. These include condition number testing and adaptive window size ([http://web.archive.org/web/20041221052401/http://www.cs.ucdavis.edu/~bai/ECS231/finaltzeng.pdf finaltzeng.pdf]), as well as capping constraints. All modifications and constraints to NEDI are optional (can be turned on and off) and are user configurable. Just note that this filter is rather slow. &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/EDIUpsizer.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| FastEDIUpsizer &lt;br /&gt;
| FastEDIUpsizer is a slimmed down version of EDIUpsizer that is slightly more tuned for speed. It uses a constant 8x8 window size, only performs NEDI on the luma plane, and only uses either Bicubic or Bilinear interpolation as the fall back interpolation method.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/FastEDIUpsizer.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=330319#post330319 HybridResize]&lt;br /&gt;
| Uses Lanczos (sharp) for edges and Bilinear (soft) on the rest of the image.&lt;br /&gt;
| &lt;br /&gt;
| [http://web.archive.org/web/20090423011809/http://mf.creations.nl/avs/functions/HybridResize-0.2.avs Script]&lt;br /&gt;
| {{Author/mf}}&lt;br /&gt;
|-&lt;br /&gt;
| [[JincResize]]&lt;br /&gt;
| Jinc (EWA Lanczos) Resampler Plugin for Avisynth/Avisynth+. See [http://forum.doom9.org/showthread.php?t=169813 discussion.]&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://github.com/AviSynth/jinc-resize/releases Plugin]&lt;br /&gt;
| innocenat&lt;br /&gt;
|-&lt;br /&gt;
| Lanczosplusv3&lt;br /&gt;
| Very slow, but high quality resizer. See [http://forum.doom9.org/showthread.php?t=136690]&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| *.mp4 guy&lt;br /&gt;
|-&lt;br /&gt;
|[[nnedi3/nnedi3_rpow2|nnedi3_rpow2]]&lt;br /&gt;
| Enlarge images by the powers of 2 using Neural Network New-Edge Directed Interpolation ; nnedi3_rpow2 is a function included in [[nnedi3]].&lt;br /&gt;
|[[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
|[http://avisynth.nl/index.php/Nnedi3 Plugin]&lt;br /&gt;
|{{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
|[[nnedi3ocl/nnedi3x_rpow2|nnedi3x_rpow2]]&lt;br /&gt;
| Enlarge images by the powers of 2 using Neural Network New-Edge Directed Interpolation ; nnedi3x_rpow2 is a script function included in [[nnedi3ocl]].&lt;br /&gt;
|[[RGB24]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[http://avisynth.nl/index.php/nnedi3ocl Script and Plugin]&lt;br /&gt;
|SeT&lt;br /&gt;
|-&lt;br /&gt;
|[[nnedi3_resize16]]&lt;br /&gt;
|An advanced script for high quality image resizing and colorspace conversion. &lt;br /&gt;
|[[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
|[http://avisynth.nl/index.php/Nnedi3_resize16 Script]&lt;br /&gt;
|mawen1250 &lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=154674 PointSize]&lt;br /&gt;
| A set of [http://en.wikipedia.org/wiki/Pixel_art_scaling_algorithms pixel art resizers]: Scale2x, Scale3x, LQ2x, LQ3x, LQ4x, HQ2x, HQ3x, HQ4x.&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://forum.doom9.org/attachment.php?attachmentid=11076&amp;amp;d=1274312419 Plugin]&lt;br /&gt;
| `Orum&lt;br /&gt;
|-&lt;br /&gt;
| [http://svn.int64.org/viewvc/int64/resamplehq/doc/index.html ResampleHQ] &lt;br /&gt;
| ResampleHQ provides gamma-aware resizing and colorspace conversion.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://sourceforge.net/projects/int64/files/ResampleHQ/ResampleHQ-v1.zip/download Plugin]&lt;br /&gt;
| Cory Nelson&lt;br /&gt;
|-&lt;br /&gt;
| [[ResizeARC]]&lt;br /&gt;
| ResizeARC respects AR as possible maintaining MOD32 resolutions, uses bitrate, bpp and the resize function specified as parameters. Usage:&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=135735 Seamer]&lt;br /&gt;
| Seam Carving/Liquid Rescale for Content-Aware Image Resizing. See [http://en.wikipedia.org/wiki/Seam_carving wikipedia:Seam Carving]&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://avisynth.nl/users/vcmohan/Seamer/Seamer.html Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
|SincResize&lt;br /&gt;
|SincResize is an experimental plugin that uses DCT to perform resizing. See [http://forum.doom9.org/showthread.php?p=953002#post953002 discussion], read on for more information.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://cafxx.strayorange.com/files/SincResize4.7z Plugin]&lt;br /&gt;
|[http://cafxx.strayorange.com/ CAFxX]&lt;br /&gt;
|-&lt;br /&gt;
| SimpleResize&lt;br /&gt;
| Very simple and fast two tap linear interpolation.  It is unfiltered which means it will not soften much.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [{{N2Archived}}/trbarry/SimpleResize.zip Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=147117 SplineResize]&lt;br /&gt;
| SplineResize contains two kinds of spline based resizers: The first ones are the (cubic) spline based resizers from Panorama tools: Spline100Resize (using 10 sample points) and Spline144Resize (using 12 sample points) are examples. Other ones are available in AviSynth itself. The second ones are natural cubic splines that use the kernel itself as a spline.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://www.wilbertdijkhof.com/SplineResize_v02.zip Plugin]&lt;br /&gt;
| {{Author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
| YV12InterlacedReduceBy2&lt;br /&gt;
| InterlacedReduceBy2 is a fast Reduce By 2 filter, usefull as a very fast downsize of an interlaced clip. See [http://forum.doom9.org/showthread.php?s=&amp;amp;postid=271863 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [{{N2Archived}}/trbarry/YV12InterlacedReduceBy2.zip Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=49429 Zoom]&lt;br /&gt;
| Zoom, Pan &amp;amp; Rotate Clip. Adds alpha layer to clip.&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/zoom_5F25_dll_20050122.zip Plugin]&lt;br /&gt;
| {{Author/WarpEnterprises}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1111789#post1111789 ZoomBox]&lt;br /&gt;
| Replacement for ResizeKAR. Resizes clip Keeping the Aspect Ratio. Can set Source/Target PAR/DAR, option to zoom in/out in order to hide/show black borders.&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| mikeytown2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sharpeners ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [http://avisynth.org.ru/docs/english/externalfilters/asharp.htm aSharp] &lt;br /&gt;
| Adaptive sharpening filter. You can use it for high quality sharpening of soft sources. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=38436 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/asharp_5F25_dll_20030118.zip Plugin]&lt;br /&gt;
| {{Author/Marc FD}}&lt;br /&gt;
|-&lt;br /&gt;
| [[aWarpSharp]] &lt;br /&gt;
| A warp sharpening filter.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/awarpsharp_5F25_dll_20030203.zip Plugin]&lt;br /&gt;
| {{Author/Marc FD}}&lt;br /&gt;
|-&lt;br /&gt;
| [[aWarpSharp2]]&lt;br /&gt;
| A modern rewrite of aWarpSharp with several bugfixes and optimizations. See [http://forum.doom9.org/showthread.php?t=147285 discussion]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.mediafire.com/?7bu46ab33dwex0o Plugin]&lt;br /&gt;
| {{Author/SEt}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=155030 blah] &lt;br /&gt;
| Sharpening. See [http://forum.doom9.org/showthread.php?t=155030 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1406843 Script]&lt;br /&gt;
| *.mp4 guy&lt;br /&gt;
|-&lt;br /&gt;
| [[FineSharp]]&lt;br /&gt;
| Small and relatively fast realtime-sharpening function, designed for 1080p, or after scaling 720p -&amp;gt; 1080p during playback (to make 720p look more being like 1080p). See [http://forum.doom9.org/showthread.php?p=1569035#post1569035 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1569035#post1569035 Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[LimitedSharpen]]&lt;br /&gt;
| LimitedSharpen can be used like a traditional sharpener, but producing much less artefacts. It can be used as a replacement for the common &amp;quot;resize(x4)-XSharpen-resize(x1)&amp;quot; combo, with very similar results (perhaps even better) - but at least 2 times faster, since it requires much less oversampling.&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[LSFmod]]&lt;br /&gt;
| A LimitedSharpenFaster mod with a lot of new features and optimizations. &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=142706 Script]&lt;br /&gt;
| {{Author/LaTo}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/docs/english/externalfilters/msharpen.htm MSharpen]&lt;br /&gt;
| This filter implements an unusual concept in spatial sharpening to sharpen important edges without amplifying noise. Although designed specifically for anime, it also works quite well on normal video. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=42839 discussion].&lt;br /&gt;
| [[RGB]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [{{N2Moved}}/msharpen/msharpen.html Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [[NonlinUSM]]&lt;br /&gt;
| Non-linear Unsharp Masking.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://pastebin.com/bYCeusjT SharpenComplex2]&lt;br /&gt;
| Port of MPC-HC's Sharpen Complex 2 to Avisynth. Despite the name, this script is very simple, see [http://forum.doom9.org/showthread.php?t=158385 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://pastebin.com/raw.php?i=bYCeusjT Script]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20100120201434/http://mf.creations.nl/avs/functions/SharpTools-v0.3.avs SSXSharpen]&lt;br /&gt;
| Included in SharpTools. Sharpens the picture using [[supersampling]] techniques.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=132330 Super Slow Sharpen]&lt;br /&gt;
| Very slow, but high quality sharpener. See [http://forum.doom9.org/showthread.php?t=132330]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1071731 Script]&lt;br /&gt;
| *.mp4 guy&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/docs/english/externalfilters/tunsharp.htm TUnsharp]&lt;br /&gt;
| TUnsharp is a basic sharpening filter that uses a couple different variations of unsharpmasking and allows for controlled sharpening based on edge magnitude and min/max neighborhood value clipping. The real reason for its existence is that it sports a gui with real time preview. See [http://forum.doom9.org/showthread.php?t=84344 discussion].&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/TUnsharpv093.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[UnFilter]]&lt;br /&gt;
| This filter softens/sharpens a clip. It implements horizontal and vertical filters designed to (slightly) reverse previous efforts at softening or edge enhancement that are common (but ugly) in DVD mastering. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=28197&amp;amp;pagenumber=3 discussion].&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/unfilter_5F25_dll_20030116.zip Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| [[UnsharpHQ]]&lt;br /&gt;
| A strong and fast unsharp mask with some new features. See [http://forum.doom9.org/showthread.php?t=159637 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://download909.mediafire.com/ukdxeana28ag/1v31aoia38fr06x/UnsharpHQ_v05.zip Plugin]&lt;br /&gt;
| list&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| [http://wayback.archive.org/web/20081229042741/http://niiyan.net/?WarpSharpPackage WarpSharp]&lt;br /&gt;
| Also known as WarpSharp Package because it included multiple filters for various different tasks. WarpSharp contains these sharpeners: Unsharpmask, WarpSharp, Xsharpen. See [http://wayback.archive.org/web/20081229042741/http://niiyan.net/?WarpSharpPackage description.]&lt;br /&gt;
&lt;br /&gt;
[http://avisynth.nl/users/warpenterprises/files/warpsharppackage_5F25_dll_20031103.zip 2003 Version]&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20070504134119/http://seraphy.fam.cx/~seraphy/program/WarpSharp/index.html 2006 Version]&lt;br /&gt;
&lt;br /&gt;
[http://web.archive.org/web/20120212062428/http://vfrmaniac.fushizen.eu/seraphy_mirror/warpsharp/bin/warpsharp_20080325.7z 2008 Version]&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| Plugin&lt;br /&gt;
| {{Author/seraphy}}&lt;br /&gt;
|-&lt;br /&gt;
| [[WarpSharp YV12]] &lt;br /&gt;
| Directly ported from ffdshow; it contains WarpSharp &amp;amp; XSharpen.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/warpsharp_5F25_dll_20030103.zip Plugin]&lt;br /&gt;
| {{Author/Sh0dan}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Blurring ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[BucketMedian]]&lt;br /&gt;
| BucketMedian is an implementation of spatial median filter adapting bucket (counting) sort algorithm.&lt;br /&gt;
| [[Y8]], [[YV411]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [http://dl.dropboxusercontent.com/s/bczippngoqy6xbw/BucketMedian-0.3.1.7z Plugin]&lt;br /&gt;
| {{Author/Chikuzen}}&lt;br /&gt;
|-&lt;br /&gt;
|[[MedianBlur]]&lt;br /&gt;
| A plugin with 5 different types of median blur filters. See [http://forum.doom9.org/showthread.php?t=84636 discussion.] &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/tsp/medianblur084.zip Plugin]&lt;br /&gt;
| {{Author/tsp}}&lt;br /&gt;
|-&lt;br /&gt;
|[[MedianBlur2]]&lt;br /&gt;
| Implementation of [http://nomis80.org/ctmf.html constant time median filter] for AviSynth 2.6, similar to MedianBlur.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://github.com/tp7/MedianBlur2/releases Plugin]&lt;br /&gt;
| {{Author/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
| [[VariableBlur]]&lt;br /&gt;
| VariableBlur is a Gaussian, binomial or average blur filter with a variable radius (variance).&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]],&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/variableblur.zip Plugin]&lt;br /&gt;
| {{Author/tsp}}, {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[VariableMedian]]&lt;br /&gt;
| A simple median filter. See [http://forum.doom9.org/showthread.php?t=83985 discussion]&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://web.archive.org/web/20091027134543/http://www.geocities.com/siwalters_uk/variablemedian.zip Plugin]&lt;br /&gt;
| {{Author/Simon Walters}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Rotation ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[FTurn]]&lt;br /&gt;
| Fast implementation of [[TurnLeft]](), [[TurnRight]]() and [[Turn180]]() AviSynth functions. See [http://forum.doom9.org/showthread.php?t=168315 discussion.]&lt;br /&gt;
| [[Y8]], [[YV12]],[[YV24]]&lt;br /&gt;
| [http://github.com/tp7/fturn/releases Plugin]&lt;br /&gt;
| {{Authot/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/rotate/rotate.html Rotate]&lt;br /&gt;
| Rotate or shear on any given angle. See [http://forum.doom9.org/showthread.php?t=131307 discussion.]&lt;br /&gt;
| [[RGB32]], [[YV12]]&lt;br /&gt;
| [http://avisynth.org.ru/rotate/rotate134.zip Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/Spinner/Spinner.html Spinner]&lt;br /&gt;
| Spinner plugin rotates a frame or selected part of it about the given axis coordinates in floating point precision.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/Spinner/Spinner.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Subtitling ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| AssRender&lt;br /&gt;
| Libass-based subtitle renderer. See [http://forum.doom9.org/showthread.php?t=148926 discussion].&lt;br /&gt;
| RGB32, RGB24, YV24, YV12, Y8&lt;br /&gt;
| [http://encodan.srsfckn.biz/assrender/ C Plugin]&lt;br /&gt;
| lachs0r, TheFluff&lt;br /&gt;
|-&lt;br /&gt;
| SubAA&lt;br /&gt;
| Single Subtitle with Anti-aliasing. &lt;br /&gt;
| &lt;br /&gt;
| [http://soulhunter.chronocrossdev.com/data/SSubAA.avs Script]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20071025023938/http://mvideo.ddpp.net/eng/subtitleex_plugin.htm SubtitleEx]&lt;br /&gt;
| Similar to the original [[Subtitle]] function but can do more: apply text to range; effects - bold, underline, italic, center, fading, motion, blur, emboss, etc...; alpha channel. [http://hosiken.jp/dev/win/subtitleex.html Plugin update (Japanese)]&lt;br /&gt;
| &lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/subtitleex_5F25_dll_20040819.zip Plugin] / [http://avisynth.nl/users/warpenterprises/files/dvutilities_20050717.zip .chm (help)]&lt;br /&gt;
|[http://web.archive.org/web/20070821222318/http://mvideo.ddpp.net/eng/index.htm basilik]&lt;br /&gt;
|-&lt;br /&gt;
| SubtitleMulti&lt;br /&gt;
| A parameter-compatible Subtitle function which allows the usage of line breaks. (Wilbert: I can't find the script ...)&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
| JLennox&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.zachsaw.com/?pg=suptitle_pgs_avisynth_plugin SupTitle]&lt;br /&gt;
| Blu-ray PGS .SUP Subtitle Renderer Plugin for AviSynth. See [http://forum.doom9.org/showthread.php?t=148167 discussion] &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.zachsaw.com/?pg=suptitle_pgs_avisynth_plugin Plugin]&lt;br /&gt;
| {{Author/ZachSaw}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/docs/english/externalfilters/vsfilter.htm TextSub] (VSFilter)&lt;br /&gt;
| Supported Subtitle Formats: VOBsub (.sub/.idx), SubStation Alpha/Advanced SubStation Alpha (.ssa/.ass), SubRip (.srt), MicroDVD (.sub), SAMI (.smi), PowerDivX (.psb), Universal Subtitle Format (.usf), Structured Subtitle Format (.ssf). See [http://en.wikipedia.org/wiki/VSFilter]&lt;br /&gt;
| &lt;br /&gt;
| [http://sourceforge.net/project/showfiles.php?group_id=205650&amp;amp;package_id=246121&amp;amp;release_id=541232 Plugin]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| VSFilterMod&lt;br /&gt;
| A new VSFilter with more ass tags.&lt;br /&gt;
|&lt;br /&gt;
| [http://code.google.com/p/vsfiltermod/ Plugin]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Transitions ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| DissolveAGG&lt;br /&gt;
| Wipe Transition with a soft edge. See [http://forum.doom9.org/showthread.php?t=118016 discussion]. &lt;br /&gt;
'''Note:''' There exist multiple variants of the script as the result of the interaction between authors in that discussion.&lt;br /&gt;
| &lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=900674#post900674 Script (v1)] &lt;br /&gt;
[http://forum.doom9.org/showthread.php?p=1152440#post1152440 Script (v2)] &lt;br /&gt;
[http://forum.doom9.org/showthread.php?p=1152632#post1152632 Script (v3)] &lt;br /&gt;
| {{Author/zemog}}, {{Author/mikeytown2}}, {{Author/Gavino}} and others&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=62277 JDL_MaskTransition]&lt;br /&gt;
| Combines two clips using the specified mask clip.  The audio tracks are blended during the transition. About any transition can be made with this function.&lt;br /&gt;
| &lt;br /&gt;
| [http://avisynth.nl/users/stickboy/jdl-effects.avsi Script]&lt;br /&gt;
| {{Author/stickboy}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.nl/users/vcmohan/TransAll/docs/index.html TransAll]&lt;br /&gt;
| Around 150 distinct transitions can be created with this plugin. &lt;br /&gt;
| [[RGB]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/users/vcmohan/TransAll/TransAll.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| Transition (Albert Gasset)&lt;br /&gt;
| Various Wipe and Random Block modes. Has 19 built in patterns or it can use an external file.&lt;br /&gt;
| &lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/#transition Plugin]&lt;br /&gt;
| {{Author/Albert Gasset}}&lt;br /&gt;
|-&lt;br /&gt;
| Transition (shubin)&lt;br /&gt;
| Contains 2 modes: circle and line. In circle mode the area has radius R and center xCenter,yCenter. In line mode the line passes through xCenter,yCenter with slope R.&lt;br /&gt;
| &lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/#transition Plugin]&lt;br /&gt;
| {{Author/shubin}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Other Filters ==&lt;br /&gt;
&lt;br /&gt;
=== Debugging/Diagnostic Filters ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| AVInfo&lt;br /&gt;
| AVIInfo gives information about the streams in the clip without loading any frames. filename can be a WAV file or an AVI file with several audio streams (it won't open AVI files with embedded subtitles though). It will return the info as a string. &lt;br /&gt;
| &lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/avinfo_5F25_dll_20050417.zip Plugin]&lt;br /&gt;
| trevlac, wilbert &lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=170647 Avisynth Info Tool]&lt;br /&gt;
|This program gathers all available info about the installed Avisynth version. It should be useful for troubleshooting since especially novice users don't always know which Avisynth version they have installed, what DLLs/DLL-versions reside in their plugin directory, etc. The tool also helps resolve problems with plugin DLL dependencies like missing Microsoft runtime libraries.&lt;br /&gt;
&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Groucho2004&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=165528 AVSMeter]&lt;br /&gt;
| AVSMeter is a CLI (command line interface) tool that &amp;quot;runs&amp;quot; an Avisynth script with virtually no overhead, displays clip info, CPU and memory usage and the minimum, maximum and average frames processed per second. It measures how fast Avisynth can serve frames to a client application (x264, for example) and comes in handy when testing filters/plugins to evaluate their performance and memory requirements.&lt;br /&gt;
|&lt;br /&gt;
| Command line executable&lt;br /&gt;
| Groucho2004&lt;br /&gt;
|-&lt;br /&gt;
| [[DumpPixelValues]]&lt;br /&gt;
| Samples the colors from selected pixels for every frame in a video source and outputs the data to a text or binary file. See [http://www.theneitherworld.com/mcpoodle/Tools/DumpPixelValues.html homepage.]&lt;br /&gt;
| [[RGB32]], [[YUY2]]&lt;br /&gt;
| [http://www.theneitherworld.com/mcpoodle/Tools/DumpPixelValues.zip Plugin]&lt;br /&gt;
| [http://www.theneitherworld.com/mcpoodle/Tools/index.html McPoodle]&lt;br /&gt;
|-&lt;br /&gt;
| Framenumber&lt;br /&gt;
| Framenumber inserts the framenumber of the current frame (+ offset).&lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[GrainEvaluate]]&lt;br /&gt;
| A script to analyze and log the strength of grain for each frame. See [http://forum.doom9.org/showthread.php?t=167455 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
|[http://www.nmm-hd.org/upload/get~-eJfUjEXJY4/GrainEvaluate.avsi Script]&lt;br /&gt;
|{{Author/06_taro}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1462931&amp;amp;postcount=81 Glitch Analyzer]&lt;br /&gt;
| Glitch Analyzer generates a diagnostic video, then analyzes the recorded version of it, to detect swapped, dropped, or repeated fields.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1467907#post1467907 Script]&lt;br /&gt;
| jmac698&lt;br /&gt;
|-&lt;br /&gt;
| Grid&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[HDColorBars]]&lt;br /&gt;
| A script to create an HD test pattern based on ARIB STD-B28 Rev1.  Can easily be adapted to an SMPTE version.  [http://avisynthrestoration.googlecode.com/files/ARIB-STD-B28.png Image]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[HDColorBars]]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [http://code.google.com/p/avisynthrestoration/wiki/Measure Measure]&lt;br /&gt;
| Measures luminence of greyscale bars and prints results on-screen.  Can be used to set brightness/contrast in capture settings accurately.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://code.google.com/p/avisynthrestoration/downloads/list Script]&lt;br /&gt;
| halifaxgeorge&lt;br /&gt;
|-&lt;br /&gt;
|[http://github.com/lcferrum/segment-display-ocr SegmentDisplayOCR]&lt;br /&gt;
|SegmentDisplayOCR is a seven-segment display recognition filter for AviSynth. It has built in logging functionality (it will log frame recognition results) and also can be used in AviSynth conditional filters. The main purpose of this filter is to process readings of various digital instruments (e.g. digital multimeters) captured on video. So if your favourite instrument lacks interface for connecting it to PC you can capture it's readings on cam and convert them to computer readable format with SegmentDisplayOCR filter.&lt;br /&gt;
| [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[http://sourceforge.net/projects/segmentdisplayocr/files/SegmentDisplayOCR/ Plugin]&lt;br /&gt;
|[http://github.com/lcferrum lcferrum]&lt;br /&gt;
|-&lt;br /&gt;
| [[ShowPixelValues]]&lt;br /&gt;
| This filter displays the actual Y U and V (or R G and B) values from pixels within a frame. See [http://forum.doom9.org/showthread.php?t=64192 discussion] and [http://web.archive.org/web/20091028073306/http://geocities.com/siwalters_uk/showpixelvalues.html homepage.]&lt;br /&gt;
| [[RGB32]], [[YUY2]]&lt;br /&gt;
| [http://web.archive.org/web/20091028122947/http://geocities.com/siwalters_uk/showpixelvalues1.4c.zip Plugin]&lt;br /&gt;
| {{Author/Simon Walters}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://code.google.com/p/avisynthrestoration/wiki/Testpatterns Testpatterns]&lt;br /&gt;
| This filter creates a sinewave frequency sweep directly in YV12, useful to measuring video response.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://code.google.com/p/avisynthrestoration/downloads/list Script]&lt;br /&gt;
| halifaxgeorge&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/docs/english/externalfilters/tmonitor.htm TMonitor]&lt;br /&gt;
| TMonitor is a filter very similar to AVSMon. It enables monitoring of an Avisynth clip via previewing the video, viewing clip information (such as video width, height, colorspace, number of frames, audio samples, sample rate, number of audio channels, and more), and adjusting the audio delay. It also supports multiple instances per script, allowing viewing of differences between different parts of a processing chain.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/TMonitorv094.zip Plugin]&lt;br /&gt;
|{{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=53238 ViewFields/UnViewFields]&lt;br /&gt;
| [http://web.archive.org/web/20140709004333/http://www.geocities.com/siwalters_uk/unviewfields.html UnViewFields], [http://web.archive.org/web/20140708181324/http://www.geocities.com/siwalters_uk/viewfields.html ViewFields]&lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
| {{Author/Simon Walters}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Comptest]]&lt;br /&gt;
| The script Compressibility test can be used for a compressibility test on a clip.&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[SeeTheDifference]]&lt;br /&gt;
| SeeTheDifference just makes the difference visible between an encoded and an original videoclip. So you can see what you really &amp;quot;lose&amp;quot; when encoding a video.&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| BoxCompare&lt;br /&gt;
| BoxCompare will let you compare up to 4 clips with simple annotations. It's basically a wrapper for StackHorizontal/StackVertical.&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Edge Detection ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[aWarpsharp2/aSobel|aSobel]]&lt;br /&gt;
| Sobel edge dectecion filter included in [[aWarpSharp2]]. &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [[aWarpSharp2| Plugin]]&lt;br /&gt;
| {{Author/SEt}}&lt;br /&gt;
|-&lt;br /&gt;
|[[MaskTools2/Mt edge| mt_edge]]&lt;br /&gt;
| Edge detection filter included in [[MaskTools2]].&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [[MaskTools2|Plugin]]&lt;br /&gt;
| {{Author/Manao}}&lt;br /&gt;
|-&lt;br /&gt;
| [[tcanny]]&lt;br /&gt;
| Contains a canny edge detection filter and distance transform filter.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/tcanny.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TCannyMod]]&lt;br /&gt;
| Canny edge detection filter for Avisynth 2.6. Reimplementation of tcanny. See [http://forum.doom9.org/showthread.php?t=168449  discussion]&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://www.mediafire.com/download/47owuwpg5mgn6z2/tcannymod-0.1.1.zip Plugin]&lt;br /&gt;
| {{Author/Chikuzen}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TEdgeMask]]&lt;br /&gt;
| TEdgeMask creates an edge mask based off gradient vector magnitude.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/TEdgeMaskv09.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TEMmod]]&lt;br /&gt;
| TEdgeMask modified for Avisynth 2.6. It creates an edge mask using gradient vector magnitude. See [http://forum.doom9.org/showthread.php?t=168390  discussion]&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://www.mediafire.com/download/wvtc1mpelav54wl/TEMmod-0.2.0.zip Plugin]&lt;br /&gt;
| {{Author/Chikuzen}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Export Filters ===&lt;br /&gt;
&lt;br /&gt;
These filters are used to export things from an avs file.&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=135928 Immaavs]&lt;br /&gt;
| ImmaWrite uses the ImageMagick libraries to write images. Many formats are supported including animations and multipage files.&lt;br /&gt;
| &lt;br /&gt;
| [http://www.geocities.com/wilbertdijkhof/ Plugin]&lt;br /&gt;
| {{author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1073371#post1073371 twriteavi]&lt;br /&gt;
| Serve AVI file to program requesting it as well as write an avi file. Useful for speeding up 2 pass encodes at the cost of hard drive space.&lt;br /&gt;
| &lt;br /&gt;
| [http://members.optusnet.com.au/squid_80/twriteavi.zip Plugin]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1403600 Sashimi]&lt;br /&gt;
(function &amp;quot;RawWriter&amp;quot;)&lt;br /&gt;
| Sashimi writes (and reads) almost any regular raw uncompressed data format you can define.  You'll find a fuller description above.&lt;br /&gt;
| [[RGB]], [[YUY2]], and [[YV12]].&lt;br /&gt;
| [http://sites.google.com/site/ourenthusiasmsasham/soft Plugin with scripts]&lt;br /&gt;
| [http://sites.google.com/site/ourenthusiasmsasham/ PitifulInsect]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Import Filters ===&lt;br /&gt;
&lt;br /&gt;
These filters are used to import filters written for other audio and video packages.&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?threadid=92174 FreeFrame]&lt;br /&gt;
| Allows [http://freeframe.sourceforge.net/ freeframe] filters (mostly effects) to be used directly in AviSynth.&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/freeframe_5F25_dll_20050426.zip Plugin]&lt;br /&gt;
| {{Author/Myrsloik}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Meta-Filters ===&lt;br /&gt;
&lt;br /&gt;
These filters are primarily designed to be used with other filters, to restrict or augment their effect.&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| Motion &lt;br /&gt;
| &lt;br /&gt;
|&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/motion_5F25_dll_20051212.zip Plugin]&lt;br /&gt;
| mg262&lt;br /&gt;
|-&lt;br /&gt;
| [[MT]]&lt;br /&gt;
| MT is a filter that enables other filters to run multithreaded. This should hopefully speed up processing on hyperthreaded/multicore processors or multiprocessor systems. See [http://forum.doom9.org/showthread.php?t=94996]&lt;br /&gt;
| Any&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/mt_20070301.zip Plugin]&lt;br /&gt;
| tsp&lt;br /&gt;
|-&lt;br /&gt;
| [[MVTools]] &lt;br /&gt;
| MVTools provides filters for estimation and compensation of objects' motion in video clips. Motion compensation may be used for strong temporal denoising, advanced framerate conversions, image restoration and other tasks. See [http://forum.doom9.org/showthread.php?t=131033]&lt;br /&gt;
| &lt;br /&gt;
| [http://avisynth.org.ru/mvtools/mvtools2.html Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Multipurpose Filters ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| Camembert&lt;br /&gt;
| Camembert provides [[HQDering]]'s functionality with additional background enhancement.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=146632 HybridFuPP]&lt;br /&gt;
| An adaptive processor, allowing picture cleaning and compressibility gain.&lt;br /&gt;
| &lt;br /&gt;
| [http://avisynth.nl/images/HybridFuPP.avsi Script]&lt;br /&gt;
| Fupp&lt;br /&gt;
|-&lt;br /&gt;
| iiP&lt;br /&gt;
| Integrated Image Processor performs basic denoising and sharpening excluding already hard edges to avoid oversharpening; this should give the best relative compressibility for any level of detail enhancement. Its main purpose is upconversion from DVD resolutions to (pseudo-) HDTV resolutions. It aims at natural sources only. For animated/cartoon content, one is probably better of with [[mfToon]] and SharpResize.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [[SeeSaw]]&lt;br /&gt;
| SeeSaw uses a balance of denoising and sharpening to enhance a clip. The aim is to enhance weak detail without oversharpening or creating jaggies on strong detail, and produce a result that is temporally stable without detail shimmering.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Scene Change Detection ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=145143 EDLmaker]&lt;br /&gt;
| Simple scenechange detector that writes to EDL file.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=145143 Script]&lt;br /&gt;
| Mug Funky&lt;br /&gt;
|-&lt;br /&gt;
| [[MVTools2/MSCDetection|MSCDetection]]&lt;br /&gt;
| Part of MVTools2. MSCDetection creates scene detection mask clip from motion vectors data. &lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [[MVTools|Plugin]]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| SCDetect&lt;br /&gt;
| Detect scene change and output scene change frames to a file.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.nmm-hd.org/upload/get~TfPm2QO4jbk/SCDetect_v0.3.rar Script]&lt;br /&gt;
| {{Author/06_taro}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://akuvian.org/src/avisynth/sclavc/readme.txt SceneChangeLavc]&lt;br /&gt;
| SClavc is an Avisynth 2.5 plugin, intended to allow access to libavcodec's scene-change metrics. See [http://akuvian.org/src/avisynth/sclavc/ homepage.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/scenechangelavc_5F25_dll_20041201.zip Plugin]&lt;br /&gt;
| {{Author/akupenguin}}&lt;br /&gt;
|-&lt;br /&gt;
| [[SCXvid]]&lt;br /&gt;
| SCXvid produces first pass xvid logs from avisynth at the equuivalent of the default vfw preset. These logs are primaliy intended to get scenechange information from but may have other uses.&lt;br /&gt;
|  [[YV12]]&lt;br /&gt;
| [http://dl.dropbox.com/s/402hlckyn669p9n/SCXvid-1.1.rar Plugin]&lt;br /&gt;
| {{Author/Myrsloik}}&lt;br /&gt;
|-&lt;br /&gt;
| [[SCXvidMask]]&lt;br /&gt;
| A tiny avisynth plugin that reads an SCXvid log and creates a binary mask based on it.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://github.com/tp7/SCXvidMask/releases Plugin]&lt;br /&gt;
| {{Author/tp7}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Support filters ===&lt;br /&gt;
&lt;br /&gt;
These filters are primarily designed to augment the creation of custom script-based filters.&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[ApplyInterlacedFilter]]&lt;br /&gt;
| ApplyInterlacedFilter safely processes interlaced video with spatial and temporal filters.&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[http://github.com/tp7/AvsMotion#avsmotion AvsMotion]&lt;br /&gt;
|AviSynth plugin for animating clips with AAE motion tracking data.&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
|[http://github.com/tp7/AvsMotion/releases Plugin]&lt;br /&gt;
|{{Author/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
| CheckMask&lt;br /&gt;
| A YV12 spatial dot finding filter for AVISynth.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/checkmask_5F25_dll_20050310.zip Plugin]&lt;br /&gt;
| [http://www.antialiased.net/programs.html Dan Donovan]&lt;br /&gt;
|-&lt;br /&gt;
| FrameCache&lt;br /&gt;
| Frame cache plugin. It helps greatly increase performance, especially in combination with another plugins, like SmoothDeinterlace. Usage FrameCache( [number of frames to remember], (path to log file) ). &lt;br /&gt;
| any&lt;br /&gt;
| johny5 dot coder via gmail&lt;br /&gt;
| {{Author/Evgeny}} &lt;br /&gt;
|-&lt;br /&gt;
| GRunT&lt;br /&gt;
| Extends Avisynth's [[Runtime_environment|Runtime Environment]], making it easier to use, especially inside script functions.&lt;br /&gt;
| Any&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=139337 Plugin]&lt;br /&gt;
| {{Author/Gavino}}&lt;br /&gt;
|-&lt;br /&gt;
| GScript&lt;br /&gt;
| Extends the Avisynth scripting language to provide additional control-flow constructs: multi-line conditionals (if-then-else blocks), 'while' loops and 'for' loops.&lt;br /&gt;
| Any&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=147846 Plugin]&lt;br /&gt;
| {{Author/Gavino}}&lt;br /&gt;
|-&lt;br /&gt;
| [[MaskTools2]]&lt;br /&gt;
| This plugin provides tools for the creation, enhancement and manipulation of masks for each component (Y, U, V) of the YV12 [[Color_spaces|color space]].&lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]]&lt;br /&gt;
| [http://avisynth.nl/index.php/MaskTools2#Download Plugin]&lt;br /&gt;
| {{Author/Manao}}, {{Author/tp7}}&lt;br /&gt;
|-&lt;br /&gt;
| [[MVTools]]&lt;br /&gt;
| This plugin provides a collection of functions for motion estimation and compensation.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.org.ru/mvtools/mvtools2.html Plugin]&lt;br /&gt;
| Various&lt;br /&gt;
|-&lt;br /&gt;
| PlaneMinMax&lt;br /&gt;
| Frame-based YV12 plane Min/Max/Avg functions without [[ConditionalFilter]].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/planeminmax_5F25_dll_20050727.zip Plugin]&lt;br /&gt;
| Bart Silverstein&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=165479 Rt_Stats]&lt;br /&gt;
| Compile-time/Runtime Functions.&lt;br /&gt;
| &lt;br /&gt;
| [http://www.mediafire.com/folder/hb26mthbjz7z6/StainlessS Plugin] [http://www.sendspace.com/folder/2mwrco mirror]&lt;br /&gt;
| StainlessS&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Deepcolor Filters ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| Dither&lt;br /&gt;
| Generates video with up to 16 bits per component after denoising and dithers back to 8 bits for storage. Primarily written to smooth fine gradients to remove color banding during/after denoising. Can also recover high bitdepth data potentially contained in a noisy clip; dither a high bitdepth picture into a standard YV12; and perform basic operations (masking, curves...) on high bitdepth pictures, as they cannot be manipulated safely with conventional AviSynth filters.&lt;br /&gt;
| [[Planar]] colorspaces&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=1386559&amp;amp;postcount=3 Plugin + scripts]&lt;br /&gt;
| {{Author/cretindesalpes}} &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 3D Filters ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=162616 2D to 3D stereo]&lt;br /&gt;
| Convert 2d to 3d stereo with bidirectional pulfrich effect + add depth to stationary objects.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1539121#post1539121 Plugin]&lt;br /&gt;
| Mcmount&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20110809073332/http://arenafilm.hu/alsog/anaglyph/ Analglyph]&lt;br /&gt;
| This filter produces analglyph video from a stereo pair.  Analglyph is a 3d viewing method which uses colored glasses.  The plugin supports the advanced [http://web.archive.org/web/20130706165544/www.site.uottawa.ca/~edubois/anaglyph/ Dubois] algorithm, which is able to reduce the ghosting effect that is possible in the conversion.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://chaosking.de/wp-content/uploads/avsfilters/Unclassified/Anaglyph___(0.85_-_2010-08-29).7z Plugin] / [http://web.archive.org/web/20140412062911/http://chaosking.de/wp-content/uploads/avsfilters/Unclassified/Anaglyph___(0.85_-_2010-08-29).7z mirror]&lt;br /&gt;
| {{Author/Kertai Gábor}}&lt;br /&gt;
|-&lt;br /&gt;
| Anaglypher &lt;br /&gt;
| A plugin for combining stereopairs into single anaglyph image.&lt;br /&gt;
| [[RGB32]], [[RGB24]]&lt;br /&gt;
| [http://shura.luberetsky.ru/anaglypher/Anaglypher.zip Plugin]&lt;br /&gt;
| [http://shura.luberetsky.ru/ Shura Luberetsky]&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.pantarheon.org/AviSynth3DToolbox/ Pantarheon 3D AviSynth Toolbox]&lt;br /&gt;
| he Toolbox contains a number of basic functions which allow you to multiplex the left and right views found in two separate videos into one video, using several of the common methods currently in use.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.pantarheon.org/AviSynth3DToolbox/zip/ Script]&lt;br /&gt;
| [http://www.pantarheon.org/ G. Adam Stanislav]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
|[http://avslib.sourceforge.net/ AVSLib]&lt;br /&gt;
|General purpose toolkit/extension library enhancing AviSynths ability to perform complex linear and non-linear video editing tasks. Includes support for Array containers &amp;amp; operators, debugging tools, math &amp;amp; string functions, filters and many more.&lt;br /&gt;
|&lt;br /&gt;
|[http://sourceforge.net/projects/avslib/ AVSLib]&lt;br /&gt;
|[http://gzarkadas.users.sourceforge.net/ gzarkadas]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Audio Filters ==&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[AddAudio]]&lt;br /&gt;
| An AddAudio function that adds silent audio to a clip. Needed for CCE 2.50 users.&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/docs/english/externalfilters/audiograph.htm AudioGraph]&lt;br /&gt;
| Displays the audio waveform superimposed on the video. Intended to help with editing rather than for final output. Useful for finding specific dialog or sound, and for checking A/V sync. [http://sourceforge.net/projects/audiograph/ Source code repository]&lt;br /&gt;
| [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/audgraph_5F25_dll_20040318.zip Plugin]&lt;br /&gt;
| Richard Ling&lt;br /&gt;
{{author/Sh0dan}}&lt;br /&gt;
|-&lt;br /&gt;
| BeFa &lt;br /&gt;
| Band Eliminate Filter for Audio&lt;br /&gt;
| N/A&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/befa_5F25_dll_20030924.zip Plugin]&lt;br /&gt;
| kiraru&lt;br /&gt;
|-&lt;br /&gt;
| [[FindAudioSyncScript]]&lt;br /&gt;
| FindAudioSyncScript helps you to find the appropriate audio delays, if you have desync'ed audio.&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
| IanB&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1043099#post1043099 MinMaxAudio]&lt;br /&gt;
| Computes the root mean square, maximal or minimal value over all samples in all channels,or just over all samples in channel, and outputs the value (in decibels) as a string. It's a conditional audio filter, so the computation is done framewise.&lt;br /&gt;
| N/A&lt;br /&gt;
| [http://www.geocities.com/wilbertdijkhof/MinMaxAudio_v02.zip Plugin]&lt;br /&gt;
| {{author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=104792 Sox Audio Effect Filter]&lt;br /&gt;
| Use [http://sox.sourceforge.net/ SOX] effects within AviSynth. Most effects are supported, and multiple effects can be stacked after each other.&lt;br /&gt;
| N/A&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=761154#post761154 Plugin]&lt;br /&gt;
| {{author/Sh0dan}}&lt;br /&gt;
|-&lt;br /&gt;
| ViewAudio &lt;br /&gt;
| includes two filters: ViewAudio and AudioCache. &lt;br /&gt;
| &lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/viewaudio_5F25_dll_20031103.zip Plugin] [http://web.archive.org/web/20130619010729/http://yo4kazu.110mb.com/ x64]&lt;br /&gt;
| {{Author/minamina}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=165703 waveform]&lt;br /&gt;
| Displays audio waveforms superimposed on the video, similar to AudioGraph below but with multi-channel support and consistent support for all colourspaces.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://horman.net/waveform0.2.zip Plugin]&lt;br /&gt;
| {{Author/David Horman}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== As Yet Unclassified ==&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[AdaptiveMedian]]&lt;br /&gt;
| Median filter with an adaptive size, preserving edges.&lt;br /&gt;
| Any&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/AdaptiveMedian/AdaptiveMedian.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=397426#post397426 Adjust]&lt;br /&gt;
| Generic Y-Channel mapping. Can define a function for the Y Channel. See [http://forum.doom9.org/showthread.php?p=397426 discussion.]&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/adjust_5F25_dll_20031110.zip Plugin]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/ WarpEnterprises]&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showpost.php?p=1703332&amp;amp;postcount=172 amp]&lt;br /&gt;
|Inspired by [http://forum.doom9.org/showthread.php?t=168293 RgbAmplifier], it performs temporal smoothing, then (optionally) enhances the difference between the windowed average and the current frame.&lt;br /&gt;
| [[RGB24]], [[RGB32]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://horman.net/avisynth/amp.zip Plugin]&lt;br /&gt;
| {{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Average]]&lt;br /&gt;
| A simple plugin that calculates weighted average of multiple clips. &lt;br /&gt;
| [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]]&lt;br /&gt;
| [http://avisynth.nl/index.php/Average Plugin]&lt;br /&gt;
| {{Author/tp7}}, {{Author/mg262}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://sourceforge.net/projects/avisynthgmplyr/files/ AviSynthGimpLayer]&lt;br /&gt;
|AviSynth Gimp-style Layer merge plugin.&lt;br /&gt;
|[[RGB24]], [[RGB32]]&lt;br /&gt;
|[http://iweb.dl.sourceforge.net/project/avisynthgmplyr/AvisynthGimpLayer.zip Plugin]&lt;br /&gt;
| [http://sourceforge.net/u/panzerboy66/profile/ panzerboy66]&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=675275#post675275 BeforeAfter]&lt;br /&gt;
| See the difference before and after; similar discussion [http://forum.doom9.org/showthread.php?t=98876 here]. (missing [http://www.animemusicvideos.org/forum/viewtopic.php?f=11&amp;amp;t=45223 BeforeAfterDiff] and BeforeAfterLine scripts.)&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| Corran&lt;br /&gt;
|-&lt;br /&gt;
| BlockAverage&lt;br /&gt;
| A simple filter that just averages the Y values of each 2x2 pixel block in a YV12 image – U and V values are left alone as they already common to each 2x2 block in a progressive YV12 image. Just made to see if it satifies the requirements in [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=91580&amp;amp;perpage=10&amp;amp;pagenumber=1 this thread].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20091028073306/http://geocities.com/siwalters_uk/blockaverage01.zip Plugin]&lt;br /&gt;
| {{Author/Simon Walters}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=46506 Call]&lt;br /&gt;
| Call an external program from the script.&lt;br /&gt;
| &lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/call_5F25_dll_20030310.zip Plugin]&lt;br /&gt;
| Nic, DDogg&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=158696 ccc]&lt;br /&gt;
|A plugin specifically designed for Cross-Conversion Correction.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://japland.org/ccc/ccc_v0.4a_avs.zip Plugin]&lt;br /&gt;
|Daemon404&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/ColorIt/ColorIt.html Colorit]&lt;br /&gt;
| Color a black and white image or recolor a color image. See [http://forum.doom9.org/showthread.php?t=93990 discussion.]&lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/ColorIt/Colorit.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| CutFrames&lt;br /&gt;
| Cut a range of frames from a single a/v clip. Opposite of Trim with extras.&lt;br /&gt;
| &lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=135423 Script]&lt;br /&gt;
| mikeytown2&lt;br /&gt;
|-&lt;br /&gt;
| DCT&lt;br /&gt;
| Plugin with the following functions: IDCT, IDCT2, FDCT, FDCT2. See [http://forum.doom9.org/showthread.php?p=667382#post667382 discussion]&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [http://alainmuchembled.free.fr/DCT.zip Plugin]&lt;br /&gt;
| lcld&lt;br /&gt;
|-&lt;br /&gt;
| [[DeBarrel]]&lt;br /&gt;
| Remove barrel and pincushion distortion, where straight lines appear curved.&lt;br /&gt;
| Any&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/DeBarrel/DeBarrel.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DeNoise]]&lt;br /&gt;
| Denoise based on neighbor variance, preserving edges.&lt;br /&gt;
| Any&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/DeNoise/DeNoise.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1444027#post1444027 DDigit]&lt;br /&gt;
| DDigit Plugin Text Rendering Pack for Plugin writers. See [http://forum.doom9.org/showthread.php?t=156888 discussion.]&lt;br /&gt;
|&lt;br /&gt;
| [http://www.mediafire.com/download/v9kv0ha895y53v1/DDigitTest_25%2626_v1-06_dll_20130710.zip Source]&lt;br /&gt;
| {{Author/StainlessS}}&lt;br /&gt;
|- &lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=80419 DeBlot]&lt;br /&gt;
| Color Blot Reduction. &lt;br /&gt;
| [[YUY2]],[[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/deblot_5F25_dll_20030628.zip Plugin]&lt;br /&gt;
| {{Author/minamina}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=152860 Defish]&lt;br /&gt;
|Barrel and pincushion distortion correction filter. [http://forum.doom9.org/showthread.php?t=127432 Old discussion]&lt;br /&gt;
|[[RGB32]]&lt;br /&gt;
|[http://horman.net/defish.zip Plugin]&lt;br /&gt;
|{{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=95193 DeJump]&lt;br /&gt;
| This is a specific filter which might be used to stabilize some &amp;quot;jumpy&amp;quot; video sources captured from VHS. &lt;br /&gt;
|[[YUY2]]&lt;br /&gt;
| [http://forum.doom9.org/attachment.php?attachmentid=3988&amp;amp;d=1117479069 Plugin]&lt;br /&gt;
| dinstun&lt;br /&gt;
|-&lt;br /&gt;
| [[DeSaltPepper]]&lt;br /&gt;
| Remove white and black noise.&lt;br /&gt;
| Any&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/DeSaltPepper/DeSaltPepper.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [[EffectsMany]]&lt;br /&gt;
| Overlay artistic effects like rain, fire, water ripples, fireworks and more.&lt;br /&gt;
| Any&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/EffetsMany/EffetsMany.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://avisynth.org.ru/exinpaint/exinpaint.html ExInpaint]&lt;br /&gt;
| Exemplar-Based Image Inpainting - removing large objects from images.. &lt;br /&gt;
| &lt;br /&gt;
| [http://avisynth.org.ru/exinpaint/exinpaint0200.zip Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [[FFTQuiver]]&lt;br /&gt;
| Remove periodic noise. Useful for analog interference.&lt;br /&gt;
| Any&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/FFTQuiver/FFTQuiver.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=150291 FritzPhoto]&lt;br /&gt;
| Use Avisynth to process still images.&lt;br /&gt;
| &lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=150291 FritzPhoto]&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?p=1600151#post1600151 FSubstitute]&lt;br /&gt;
|Tries to automate the task of replacing bad frames using adjacent or close-by frames.&lt;br /&gt;
|[[YV12]]&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?p=1600151#post1600151 Script]&lt;br /&gt;
|martin53&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=152109 Fusion]&lt;br /&gt;
|Pyramidal image processing for video, it uses image pyramids to blend clips together (more commonly used in the creation of HDR images and image stitching).&lt;br /&gt;
|[[RGB32]]&lt;br /&gt;
|[http://horman.net/fusion.zip Plugin] -- [http://horman.net/fusionx64.zip Plugin (x64)]&lt;br /&gt;
|{{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
| [[GBlur]]&lt;br /&gt;
| Gaussian blur.&lt;br /&gt;
| Any&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/GBlur/GBlur.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| GetSystemEnv&lt;br /&gt;
| An AviSynth plug-in to retrieve information from the system. &lt;br /&gt;
| &lt;br /&gt;
| [http://www.avisynth.nl/users/stickboy/GetSystemEnv.zip Plugin]&lt;br /&gt;
| {{Author/stickboy}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=598958#post598958 GraMaMa]&lt;br /&gt;
| Gradient Mask Maker: Creates a mask (either a gradient or black/white) given a prescribed shape (such as circle, ellipse, line, square or rectangle).&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.wilbertdijkhof.com/GraMaMa_v02.zip Plugin]&lt;br /&gt;
| {{author/E-Male}}, &lt;br /&gt;
{{author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Grid]]&lt;br /&gt;
| Overlays a grid, useful for pixel counting.&lt;br /&gt;
| Any&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/Grid/Grid.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [[HistogramAdjust]]&lt;br /&gt;
| Equalize the histogram, or match with another image's or a given table.&lt;br /&gt;
| Any YUV&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/HistogramAdjust/HistogramAdjust.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=165978 Quad]&lt;br /&gt;
|An Avisynth plugin to perform quadrilateral transformations.&lt;br /&gt;
|[[RGB32]]&lt;br /&gt;
|[http://horman.net/quad.zip Plugin] -- [http://forum.doom9.org/showpost.php?p=1602709&amp;amp;postcount=22 no SSE]&lt;br /&gt;
|{{Author/David Horman}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=170216 Median]&lt;br /&gt;
|A filter plugin for AviSynth which generates a pixel-by-pixel median of several clips. This is particularly useful for filtering out noise and glitches from multiple VHS/SVHS/8mm/Hi8 tape captures, but can be used for other purposes also. [http://forum.videohelp.com/threads/362361-Median%28%29-plugin-for-AviSynth VideoHelp discussion]&lt;br /&gt;
|[[RGB32]], [[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=170216 Plugin]&lt;br /&gt;
|{{Author/ajk}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/NeuralNet/NeuralNet.html NeuralNet]&lt;br /&gt;
| Neural networks through back propagation learn and filter some types of noise. Classification and linear type networks are included.&lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/NeuralNet/NeuralNet.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| ParameterisedBlend&lt;br /&gt;
| ParameterisedBlend allows you to blend any number of frames within a clip, or blend any number of different clips together.  You can use it as an extended, gamma-aware replacement for Merge().&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://sites.google.com/site/ourenthusiasmsasham/soft Plugin]&lt;br /&gt;
| [http://sites.google.com/site/ourenthusiasmsasham/ PitifulInsect]&lt;br /&gt;
|-&lt;br /&gt;
| PseudoColor &lt;br /&gt;
| This filter first converts clip to b/w, then colors it to pseudorandom colors according to brightness. See [http://forum.doom9.org/showthread.php?t=61570 discussion.]&lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/pseudocolor_5F25_dll_20030919.zip Plugin]&lt;br /&gt;
| Shubin&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/Reform/Reform.html Reform]&lt;br /&gt;
| Skewed images are corrected or vice versa, useful if video is recorded with slightly incorrectly located camera. Sometimes refered to as perspective correction.&lt;br /&gt;
| [[RGB32]], [[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/Reform/Reform.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Reformer]]&lt;br /&gt;
| Perspective correction and warping.&lt;br /&gt;
| Any&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/Reformer/Reformer.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [[SegmentedAmp]] &lt;br /&gt;
| Image is segmented with watershed algorithm for smoothing and/or sharpening.&lt;br /&gt;
| Any&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/SegmentedAmp/SegmentedAmp.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=680658#post680658 SlopeBend]&lt;br /&gt;
| See [http://forum.doom9.org/showthread.php?p=680712#post680712 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://home.arcor.de/dhanselmann/_stuff/SlopeBend_v01a_avs.rar Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Soothe]]&lt;br /&gt;
| Lessens the temporal instability and aliasing caused by sharpening, by comparing the original and sharpened clip, leaving a smoother and slightly softer output. See [http://forum.doom9.org/showthread.php?t=99679 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=99679 Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Spinner]] &lt;br /&gt;
| Image is rotated by given angle.&lt;br /&gt;
| Any&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/Spinner/Spinner.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| TMM &lt;br /&gt;
| TMM builds a motion-mask for TDeint, which TDeint uses via its 'emask' parameter. See [http://forum.doom9.org/showthread.php?p=980353#post980353 discussion.]&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/TMMv1.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://sourceforge.net/projects/avisynthtrackin/ Tracking]&lt;br /&gt;
| demo at [http://www.youtube.com/watch?v=SQ-JtJs7US0 Youtube]. Use computer vision to track objects in the video, and produce ConditionalReader input.&lt;br /&gt;
| [[RGB24]]&lt;br /&gt;
| [http://sourceforge.net/projects/avisynthtrackin/files/1.1/AvisynthTrackin.1.1.binary.zip/download Plugin]&lt;br /&gt;
| [http://avisynthtrackin.sourceforge.net/ Shlomo Matichin]&lt;br /&gt;
|-&lt;br /&gt;
| [[TransAll]] &lt;br /&gt;
| Add transitions to scene changes and splices.&lt;br /&gt;
| Any&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/TransAll/TransAll.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| Unpremultiply &lt;br /&gt;
| This plugin convert the input RGBA clip from premultiplied alpha to straight matted alpha. See [http://forum.doom9.org/showthread.php?t=166730 discussion.]&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://forum.doom9.org/attachment.php?attachmentid=13207&amp;amp;d=1356994426 Plugin]&lt;br /&gt;
| [http://code.google.com/p/avisynth-unpremultiply/ Josh Sutinen]&lt;br /&gt;
|-&lt;br /&gt;
| UnSmooth&lt;br /&gt;
| What does it do. It amplifies noise, small detail, and artifacts. Doesn't sound very attractive, but there can still be some detail left in over smoothed encodes. See [http://forum.doom9.org/showthread.php?t=63361 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20090821183550/http://mf.creations.nl/avs/functions/UnSmooth-v0.1.avs Script]&lt;br /&gt;
| {{Author/mf}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/WaterShed/Watershed.html WaterShed] &lt;br /&gt;
| Assuming image grey values to be elevations, it is segmented into basins and watershed lines. Useful in certain medical image analysis and recoloring work.&lt;br /&gt;
| | [[RGB32]], [[RGB24]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/vcmohan/WaterShed/Watershed.zip Plugin]&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
|[http://forum.doom9.org/showthread.php?t=166087 xyremap]&lt;br /&gt;
|Reverse Polish pixel remapper (experimental).&lt;br /&gt;
|[[RGB32]]&lt;br /&gt;
|[http://horman.net/xyremap.zip Plugin]&lt;br /&gt;
|{{Author/David Horman}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Deprecated ==&lt;br /&gt;
A section for the old and outdated. &lt;br /&gt;
&lt;br /&gt;
===Source Filters===&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| MPEG2Dec&lt;br /&gt;
| Mpeg2dec is a plugin which lets AviSynth import MPEG2 files. (deprecated)&lt;br /&gt;
| [[RGB]], [[YUY2]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/ Plugin]&lt;br /&gt;
| {{Author/Dividee}} and others&lt;br /&gt;
|-&lt;br /&gt;
| MPEG2Dec3&lt;br /&gt;
| A MPEG2Dec2.dll modification with deblocking and deringing. Note that the colorspace information of dvd2avi is ignored when using mpeg2dec. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=53164 discussion]. (deprecated)&lt;br /&gt;
| [[RGB]], [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/ Plugin]&lt;br /&gt;
| {{Author/Marc FD}}, {{Author/Nic}}, {{Author/Tom Barry}}, {{Author/Sh0dan}} and others &lt;br /&gt;
|-&lt;br /&gt;
| MPEGDecoder&lt;br /&gt;
| Load VOB/MPEG-2 ES,PS,TS/MPEG-1 files directly. (deprecated)&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Plugin&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Deinterlace===&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| GreedyHMA&lt;br /&gt;
| GreedyHMA is an Avisynth filter that executes DScaler's Greedy/HM algorithm code to perform pulldown matching, filtering, and video deinterlace. It has pretty much been superceded by Donald Graft's [[Decomb]] package. However there may be occasions where it sometimes gives preferable results, especially with some bad [[PAL]] clips.&lt;br /&gt;
| [[YUY2]]&lt;br /&gt;
| [{{N2Archived}}/trbarry/GreedyHMA.zip Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| [[MCBob]]&lt;br /&gt;
| Another approach to motion compensated bobbing. No residual combing, Motion Masking adaptive to local complexity, self adaptive error correction for temporal interpolation, Motion Search between fields of same parity, and spatial Interpolation overweights spatio-temporal interpolation. Is SLOW.&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[MVBob]]&lt;br /&gt;
| by scharfis_brain [http://forum.doom9.org/showthread.php?t=84725] [http://web.archive.org/web/20080924163957/http://home.arcor.de/scharfis_brain/mvbob/]&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| scharfis_brain&lt;br /&gt;
|-&lt;br /&gt;
| [[SangNom]]&lt;br /&gt;
| A single field deinterlacer, can also be used for anti-aliasing. See [http://forum.doom9.org/showthread.php?t=69052 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://manao4.free.fr/SangNom.zip Plugin]&lt;br /&gt;
| {{Author/Marc FD}}&lt;br /&gt;
|-&lt;br /&gt;
| [[TomsMoComp]]&lt;br /&gt;
| This filter uses motion compensation and adaptive processing to deinterlace video source (not for NTSC film). See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=37915 discussion].&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [{{N2Archived}}/trbarry/TomsMoComp.zip Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Others===&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| Chikitown&lt;br /&gt;
| A simple script to do overlay to a video RGBA in AviSynth.&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| Chikitown&lt;br /&gt;
|-&lt;br /&gt;
| LBkiller&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/lbkiller_20050117.zip LBkiller.exe] &lt;br /&gt;
| [http://esby.free.fr/ esby]&lt;br /&gt;
|-&lt;br /&gt;
| LTSMC&lt;br /&gt;
| Requires the old MaskTools (v1); see [http://forum.doom9.org/showthread.php?p=690048#post690048 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://home.arcor.de/dhanselmann/_stuff/LTSMC.rar Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showpost.php?p=752196&amp;amp;postcount=19 MCNR_simple2]&lt;br /&gt;
| Requires the old MaskTools (v1); see [http://forum.doom9.org/showthread.php?p=752196#post752196 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://home.arcor.de/dhanselmann/_stuff/MCNR_simple2.rar Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| RGBManipulate &lt;br /&gt;
| RGBmanipulate mirrors the function utoy vtoy mergeLuma/chroma for the [[RGB]] colorspace.&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/rgbmanipulate_20051011.zip Plugin]&lt;br /&gt;
| {{Author/tsp}}&lt;br /&gt;
|-&lt;br /&gt;
| Tweak3 &lt;br /&gt;
| '''Deprecated'''; same as [[Tweak]] but with dithering. This plugin is considered deprecated, [[Tweak]] in AviSynth 2.6 added dithering. &lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://web.archive.org/web/20080905123941/http://soulhunter.chronocrossdev.com/data/tweak3.zip Plugin]&lt;br /&gt;
| {{Author/soulhunter}}&lt;br /&gt;
|-&lt;br /&gt;
| UberSmooth (Bloated)&lt;br /&gt;
| Requires the old MaskTools (v1); outdated not recommended.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20071101004437id_/http://soulhunter.chronocrossdev.com/data/UberSmooth%20v.0.4c%20%5bBloated%5d.avs Script]&lt;br /&gt;
| {{Author/Soulhunter}}&lt;br /&gt;
|-&lt;br /&gt;
| UberSmooth (DCTFun)&lt;br /&gt;
| Requires the old MaskTools (v1); outdated not recommended.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20071101004437id_/http://soulhunter.chronocrossdev.com/data/UberSmooth%20v.0.4c%20%5bDCTFun%5d.avs Script]&lt;br /&gt;
| {{Author/Soulhunter}}&lt;br /&gt;
|-&lt;br /&gt;
| UberSmooth (Deen) &lt;br /&gt;
| Requires the old MaskTools (v1); outdated not recommended.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20071101004437id_/http://soulhunter.chronocrossdev.com/data/UberSmooth%20v.0.4c%20%5bDeen%5d.avs Script]&lt;br /&gt;
| {{Author/Soulhunter}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Debugging/Diagnostic Filters===&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [http://avisynth.org.ru/docs/english/externalfilters/avsmon.htm Avisynth-Monitor]&lt;br /&gt;
| [DEPRECATED] MonitorFilter, see [http://forum.doom9.org/showthread.php?t=32125 discussion]&lt;br /&gt;
| &lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/avsmon25a_5F25_dll_20030125.zip Plugin]&lt;br /&gt;
| [http://web.archive.org/web/20041115184551/http://members.nextra.at/johann.langhofer/avisynth/ johann.Langhofer]&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20120721024353/http://avstimer.de.tf/ AvsTimer]&lt;br /&gt;
| [DEPRECATED] An Avisynth 2.5x plugin for measuring speed and performance of Avisynth plugins. See [http://forum.doom9.org/showthread.php?t=56090 discussion] and continued [http://videoprocessing.fr.yuku.com/topic/20/AvsTimer-081-released discussion.]&lt;br /&gt;
| &lt;br /&gt;
| [http://web.archive.org/web/20120820101135/http://home.pages.at/kassandro/AvsTimer/AvsTimer.zip Plugin]&lt;br /&gt;
| Kassandro&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20030808210108/http://kurosu.inforezo.org/avs/Kronos/index.html Kronos]&lt;br /&gt;
| [DEPRECATED] A filter  that provides a simple and easy way to benchmark or profile filter chains. Usage [http://forum.doom9.org/showthread.php?t=58928 information.]&lt;br /&gt;
| &lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/kronos_5F25_dll_20030703.zip Plugin]&lt;br /&gt;
| {{Author/Kurosu}}&lt;br /&gt;
|-&lt;br /&gt;
| PixelInfo&lt;br /&gt;
| A GUI-based filter that lets you pick a pixel and gives you color information. See [http://forum.doom9.org/showthread.php?t=108602 discussion] and [http://forum.doom9.org/showthread.php?t=141179 update.] (DOES NOT WORK CORRECTLY)&lt;br /&gt;
| RGB32, YUY2&lt;br /&gt;
| Plugin&lt;br /&gt;
| hanfrunz&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Support Filters===&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[MaskTools]]&lt;br /&gt;
| This plugin provides tools for the creation, enhancement and manipulation of masks for each component (Y, U, V) of the YV12 [[Color_spaces|color space]]. See [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=67232 discussion]. &lt;br /&gt;
'''This version is now deprecated, use [[MaskTools2]] instead for new scripts.'''&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://manao4.free.fr/ Plugin]&lt;br /&gt;
| {{Author/Kurosu}}, {{Author/Manao}}&lt;br /&gt;
|-&lt;br /&gt;
| MergeClips&lt;br /&gt;
| Use [[Overlay]] instead! Merge 2 RGB clips, [http://web.archive.org/web/20041110045514/http://www.di.unito.it/~rabser/avisynth/ see homepage]&lt;br /&gt;
| [[RGB32]]&lt;br /&gt;
| Plugin&lt;br /&gt;
| Sergio Rabellino&lt;br /&gt;
|}&lt;br /&gt;
===Deepcolor Filters===&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| Deep Color Tools&lt;br /&gt;
| This Script provides basic functions to import 10bit video, do color adjustments, and export to 8bit&lt;br /&gt;
| [http://developer.apple.com/quicktime/icefloe/dispatch019.html#v210 V210]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1467907#post1467907 Script]&lt;br /&gt;
| jmac698&lt;br /&gt;
|}&lt;br /&gt;
[[Category:AviSynth_Usage]]&lt;br /&gt;
[[Category:External_filters]]&lt;/div&gt;</summary>
		<author><name>SilverbackNet</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/DctFilter</id>
		<title>DctFilter</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/DctFilter"/>
				<updated>2014-12-21T23:54:30Z</updated>
		
		<summary type="html">&lt;p&gt;SilverbackNet: newer version&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FilterCat|External_filters|Plugins|Other_filters}}&lt;br /&gt;
{{Filter3&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
| v0.0.1.5 &lt;br /&gt;
|[https://dl.dropboxusercontent.com/u/54412753/doom9/DctFilter_015.zip DctFilter.zip]&lt;br /&gt;
| &lt;br /&gt;
| [http://www.gnu.org/licenses/gpl-2.0.txt GPLv2]&lt;br /&gt;
|}}&lt;br /&gt;
== Description ==&lt;br /&gt;
An experimental filter that, for each 8x8 block, will do a Discrete Cosine Transform (DCT), scale down the selected frequency values, and then reverse the process with an Inverse Discrete Cosine Transform (IDCT).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* AviSynth 2.5.8 or [http://forum.doom9.org/showthread.php?t=168764 greater]&lt;br /&gt;
* Supported color formats: [[YUY2]], [[YV12]]&lt;br /&gt;
* Width and height need to be a multiple of 16 (mod16)&lt;br /&gt;
&lt;br /&gt;
* [[MMX]], [[ISSE]] or [[SSE2]] capable CPU&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Known Issues ==&lt;br /&gt;
* [http://forum.doom9.org/showthread.php?p=1191185#post1191185 Stripe bug] - both variants are buggy at calculating DC, additional information [http://forum.doom9.org/showthread.php?p=1346201#post1346201 here] and [http://forum.doom9.org/showthread.php?p=1051452#post1051452 here].&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== [[Script variables|Syntax and Parameters]] ==&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== DctFilter ===&lt;br /&gt;
There are 8 positional floating point parameters, all of which must be specified as in the range (0.0 &amp;lt;= x &amp;lt;= 1.0). These correspond to scaling factors for the 8 rows and columns of the 8x8 DCT blocks.&amp;lt;br&amp;gt;&lt;br /&gt;
The leftmost parameter corresponds to the top row, left column. This would be the DC component of the transform and should always be left as 1.0.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:{{Template:FuncDef|DctFilter (clip, float, float, float, float, float, float, float, float, bool &amp;quot;chroma&amp;quot;)}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
In the following example the highest frequency components in each row and column will be zeroed while the 2nd highest would be cut in half.&lt;br /&gt;
 [[AviSource]](&amp;quot;Blah.avi&amp;quot;)&lt;br /&gt;
 DctFilter(1,1,1,1,1,1,.5,0)&lt;br /&gt;
The row &amp;amp;amp; column parms are multiplied together to get the scale factor for each of the 64 values in a block. So if the top left value was V[0,0] then in the example above the we would scale row 6, col 6 (V[6,6]) by .5 * .5 = .25.&amp;lt;br/&amp;gt;&lt;br /&gt;
Note that while they look like floating point parms above they really now only&lt;br /&gt;
have 3 bit accuracy so the only actual values used are 0, {{Frac|1|8}}, {{Frac|1|4}}, {{Frac|3|8}} ... 1.0. But you can specify any value and it will be rounded to the nearest one.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-------------&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== DctFilterD ===&lt;br /&gt;
DctFilterD works similar to DctFilter but will zero out DiagCt number of the lower right diagonals of the DCT, leaving other values unchanged. &amp;lt;br/&amp;gt;&lt;br /&gt;
In an 8x8 DCT result matrix there are 15 possible diagonals (visualize a chess board), so if you specify &amp;lt;code&amp;gt;DctFilterD(4)&amp;lt;/code&amp;gt; then the 4 diagonals in the lower right corner of the DCT result will be set to 0. &amp;lt;br/&amp;gt;I haven't tested this much but, like my results with custom quant tables, it appears if you set DiagCt very large you will start to get edge noise, something like ringing.[http://forum.doom9.org/showpost.php?p=266216&amp;amp;postcount=145]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
:{{Template:FuncDef|DctFilterD (clip, int)}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
::{{Par2| |clip| }}&lt;br /&gt;
:::Input clip.&lt;br /&gt;
&lt;br /&gt;
::{{Par2| |int| }}&lt;br /&gt;
:::&amp;quot;DiagCt&amp;quot; must be an integer from 1-14 saying how many of these diagonals must be zeroed, starting from the lower right hand corner.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-------------&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== DctAddConstant ===&lt;br /&gt;
Not much is known about this filter...&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
:{{Template:FuncDef|DctAddConstant (clip, float, float, float, float)}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Examples == &lt;br /&gt;
====DctFilter====&lt;br /&gt;
The following example should effectively do nothing, due to a possible bug that's not the case.[http://forum.doom9.org/showthread.php?p=1191208#post1191208]&lt;br /&gt;
 [[AviSource]](&amp;quot;blah.avi&amp;quot;)&lt;br /&gt;
 DctFilter(1,1,1,1,1,1,1,1)&lt;br /&gt;
&amp;lt;br&amp;gt; &lt;br /&gt;
Subtle softening:&lt;br /&gt;
 DctFilter(1,1,1,1,1,0.75,0.25,0) &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Remove high frequency components:[http://forum.doom9.org/showpost.php?p=298519&amp;amp;postcount=31]&lt;br /&gt;
 DctFilter(1,1,1,.8,.4,0,0,0) #these settings may be prone to slight blocking&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Measure luma variance within block (e.g. 8x8) of pixels?[http://forum.doom9.org/showthread.php?p=1689130#post1689130]&amp;lt;br/&amp;gt;&lt;br /&gt;
The easiest somewhat correct &amp;quot;amount of variation for each block&amp;quot; you can get is using STD for each pixel and applying DctFilter to it (adjust the radius of STD calculation area for possibly better results).&lt;br /&gt;
 mt_luts(last, &amp;quot;std&amp;quot;, mt_square(1), &amp;quot;y&amp;quot;).mt_lut(&amp;quot;x 15 *&amp;quot;)&lt;br /&gt;
 DctFilter(1,0,0,0,0,0,0,0).[[GreyScale|Greyscale]]()&lt;br /&gt;
A reasonably close approximation with a lot better performance is an edge mask:&lt;br /&gt;
 mt_edge(&amp;quot;min/max&amp;quot;, 0, 255, 0, 255).mt_lut(&amp;quot;x 5 *&amp;quot;)&lt;br /&gt;
 DctFilter(1,0,0,0,0,0,0,0).[[GreyScale|Greyscale]]()&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====DctFilterD====&lt;br /&gt;
DctFilterD can be used as a fast way to average 8x8 blocks:[http://forum.doom9.org/showthread.php?p=1051452#post1051452]&lt;br /&gt;
 DCTFilterD(14)&amp;lt;br/&amp;gt;&lt;br /&gt;
 #DctFilter(1,0,0,0,0,0,0,0)  #keeps the topmost line and leftmost row.[http://forum.doom9.org/showthread.php?p=626365#post626365]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Very easy way to get the normalized SAD over 8x8 blocks:[http://forum.doom9.org/showthread.php?t=150923]&lt;br /&gt;
 mt_lutxy(clip1,clip2,&amp;quot;x y - abs&amp;quot;)&lt;br /&gt;
 DctFilterD(14)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Changelog ==&lt;br /&gt;
 Version      Date            Developer       Changes&amp;lt;br&amp;gt;&lt;br /&gt;
 v0.0.1.5     2007/02/09      foxyshadis      - Better memory management in DctFilter, chroma=0 to disable chroma.&lt;br /&gt;
 v0.0.1.4     2003/02/21      Tom Barry       - Add DctFilterD, diagonal support&lt;br /&gt;
 v0.0.1.3     2003/01/30      Tom Barry       - Avisynth 2.5 beta, plugininit2, vs6&lt;br /&gt;
 v0.0.1.2     2002/11/2?      SansGrip        - YUY2 support&lt;br /&gt;
 v ?          2002/11/25      Tom Barry       - Initial test release for Avisynth 2.5 alpha only&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Archived Downloads ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;; width=&amp;quot;600px&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
!!width=&amp;quot;100px&amp;quot;| Version&lt;br /&gt;
!!width=&amp;quot;150px&amp;quot;| Download&lt;br /&gt;
!!width=&amp;quot;150px&amp;quot;| Mirror&lt;br /&gt;
!!width=&amp;quot;150px&amp;quot;| Mirror 2&lt;br /&gt;
|-&lt;br /&gt;
!v0.0.1.4&lt;br /&gt;
|[http://web.archive.org/web/20130207143129/http://neuron2.net/trbarry/DctFilter.zip DctFilter.zip]&lt;br /&gt;
|[http://www.avisynth.nl/users/warpenterprises/files/dctfilter_5F25_dll_20030221.zip dctfilter_dll_20030221.zip]&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
*[http://www.aquilinestudios.org/avsfilters/spatial.html#dct AquilineStudios] - Additional information on usage.&lt;br /&gt;
*[http://forum.doom9.org/showthread.php?p=763059#post763059 Doom9Forum] - Another advanced usage example.&lt;br /&gt;
*[http://forum.doom9.org/showthread.php?t=121939 Doom9 Forum] - Possible update to DctFilter (v0.0.1.5).&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
-----------------------------------------------&lt;br /&gt;
'''Back to [[External_filters#Edge_Detection|External Filters]] &amp;amp;larr;'''&lt;/div&gt;</summary>
		<author><name>SilverbackNet</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/SalFPS3</id>
		<title>SalFPS3</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/SalFPS3"/>
				<updated>2014-07-07T18:42:49Z</updated>
		
		<summary type="html">&lt;p&gt;SilverbackNet: correct download link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Filter|Mug Funky, Didee|3.0|[[Media:salFPS3.avs|salFPS3.avs]]|Frame Rate Converters|&lt;br /&gt;
* YV12&lt;br /&gt;
|}}&lt;br /&gt;
{{Template:FuncDef|salFPS3(clip input, float FPS, int &amp;quot;mode&amp;quot;, int &amp;quot;protection&amp;quot;, int &amp;quot;protection2&amp;quot;, int &amp;quot;iterate&amp;quot;, int &amp;quot;reset&amp;quot;, int &amp;quot;initialise&amp;quot;) }}&lt;br /&gt;
&lt;br /&gt;
== Abstract == &lt;br /&gt;
A modded version of MotionProtectedFPS for super protection. Originally created by Mug Funky, modded by Didee.&lt;br /&gt;
&lt;br /&gt;
== Requires Filters ==&lt;br /&gt;
* [[MaskTools2]]&lt;br /&gt;
* [[Motion]] download at [http://www.64k.it/andres/data/avisynth/Motion_12Dec05.zip 64k.it]&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
A high quality frame rate convertion filter.&lt;br /&gt;
&lt;br /&gt;
{{Par|input|clip|last}}&lt;br /&gt;
Clip to be converted.&lt;br /&gt;
&lt;br /&gt;
{{Par|FPS|float|null}}&lt;br /&gt;
The FPS to be converted to.&lt;br /&gt;
&lt;br /&gt;
{{Par|mode|int|warp}}&lt;br /&gt;
See MotionFPS documentation for details.&lt;br /&gt;
&lt;br /&gt;
{{Par|protection|int|80}}&lt;br /&gt;
Protection value for SumStretchFPSMask.&lt;br /&gt;
&lt;br /&gt;
{{Par|protection2|int|20}}&lt;br /&gt;
Protection value for mt_edge.&lt;br /&gt;
&lt;br /&gt;
{{Par|interate|int|2}}&lt;br /&gt;
Iterate value for FindMotion.&lt;br /&gt;
&lt;br /&gt;
{{Par|reset|int|50}}&lt;br /&gt;
Reset value for FindMotion.&lt;br /&gt;
&lt;br /&gt;
{{Par|initialise|int|6}}&lt;br /&gt;
Initialise value for FindMotion.&lt;br /&gt;
&lt;br /&gt;
== Note ==&lt;br /&gt;
&lt;br /&gt;
You may need these functions to make this script work.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function Mod16 (clip c, bool &amp;quot;mirror&amp;quot;)&lt;br /&gt;
{&lt;br /&gt;
	mirror = default(mirror,false)&lt;br /&gt;
	&lt;br /&gt;
	modwidth = ceil(c.width/16 + 0.5)*16&lt;br /&gt;
	modheight = ceil(c.height/16 + 0.5)*16&lt;br /&gt;
&lt;br /&gt;
	out = c.addborders(0,0,modwidth - c.width,modheight - c.height)&lt;br /&gt;
	out2 = stackvertical(stackhorizontal(c,c.fliphorizontal()),stackhorizontal(c.flipvertical(),c.turn180())).crop(0,0,modwidth,modheight,align=true)&lt;br /&gt;
	global gl_diff_width = int(out.width - c.width)&lt;br /&gt;
	global gl_diff_height = int(out.height - c.height)&lt;br /&gt;
	mirror==false? out : out2&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function unMod16 (clip c)&lt;br /&gt;
{&lt;br /&gt;
	c.crop(0,0,-gl_diff_width,-gl_diff_height)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Links ==&lt;br /&gt;
Download [[Media: salFPS3.avs|salFPS3.avs]] : Current Version (recommended). &amp;lt;br&amp;gt;&lt;br /&gt;
Download [[Media: salFPS.avs|salFPS.avs]] : Original Version.&lt;br /&gt;
&lt;br /&gt;
[[Category:External filters]]&lt;/div&gt;</summary>
		<author><name>SilverbackNet</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/QTGMC</id>
		<title>QTGMC</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/QTGMC"/>
				<updated>2014-05-29T21:54:40Z</updated>
		
		<summary type="html">&lt;p&gt;SilverbackNet: add some defaults&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Filter|Vit|3.32|3=[http://www.mediafire.com/?su7l5jtcobabksk Download (3.32), with English instructions]&amp;lt;br/&amp;gt;[http://www.mediafire.com/?nm188lh2oam487m Plugin Package with all Requirements]&amp;lt;br/&amp;gt;[http://www.mediafire.com/?mfs7bp2rprbhp22 Plugin Package for multithreading]&amp;lt;br/&amp;gt;[[Media:QTGMC-3.32.avsi| QTGMC-3.32.avsi]]|4=Deinterlacers|5=[[YV12]] • [[YUY2]]|7=[https://forum.doom9.org/showthread.php?t=156028 Doom9 Thread]}}&lt;br /&gt;
A very high quality deinterlacer with a range of features for both quality and convenience. These include a simple presets system, extensive noise processing capabilities, support for repair of progressive material, precision source matching, shutter speed simulation, etc. Originally based on [[TempGaussMC]] by Didée.&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
&lt;br /&gt;
Requires the latest version of the following plugins:&lt;br /&gt;
&lt;br /&gt;
* [[MVTools]]&lt;br /&gt;
* [[MaskTools2]]&lt;br /&gt;
* [[nnedi3]]&lt;br /&gt;
* [[RemoveGrain]] (Both RemoveGrainSSE2 and RepairSSE2, do not use SSE3 versions)&lt;br /&gt;
&lt;br /&gt;
Optional plugins:&lt;br /&gt;
&lt;br /&gt;
* [[SSE2Tools]] for YUY2 support (SSE2Tools from RemoveGrain package)&lt;br /&gt;
* [[nnedi2]], [[nnedi]], [[eedi3]], [[eedi2]], [[TDeint]] - if selected manually or via a source-match preset&lt;br /&gt;
* [[Yadif]] - Required for preset=&amp;quot;Ultra Fast&amp;quot; or if selected manually (autoloads only in [[Avisynth+]])&lt;br /&gt;
* [[VerticalCleaner]] - Required for SVThin or Lossless modes&lt;br /&gt;
* [[AddGrainC]] - Required for NoiseDeint=&amp;quot;Generate&amp;quot;&lt;br /&gt;
* [[FFT3DFilter]] or [[dfttest]] - For enabling noise processing&lt;br /&gt;
&lt;br /&gt;
FFT3DFilter and ddftest both need the [http://www.fftw.org/ FFTW3 library] ([http://www.fftw.org/install/windows.html windows builds]). On Windows extract libfftw3f-3.dll, and copy the file to fftw3.dll as well (for FFT3DFilter). Place them in the path, typically System32 or SysWow64 folder (depending on your OS and version of AviSynth).&lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&lt;br /&gt;
Install AviSynth and copy the plugins from the plugin package to the correct locations. Then to use QTGMC, write a script like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
YourSource(&amp;quot;yourfile&amp;quot;)    # DGDecode_mpeg2source, FFVideoSource, AviSource, whatever your source requires&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slow&amp;quot; )&lt;br /&gt;
SelectEven()              # Add this line to keep original frame rate, leave it out for smoother doubled frame rate&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save this script with an &amp;quot;.avs&amp;quot; extension. You can now use it as an AVI source for encoding.&lt;br /&gt;
&lt;br /&gt;
''Most users should only use presets.'' The &amp;quot;Preset&amp;quot; used selects sensible settings for a given speed. Choose from:&lt;br /&gt;
&lt;br /&gt;
* '''&amp;quot;Placebo&amp;quot; • &amp;quot;Very Slow&amp;quot; • &amp;quot;Slower&amp;quot; • &amp;quot;Slow&amp;quot; • &amp;quot;Medium&amp;quot; • &amp;quot;Fast&amp;quot; • &amp;quot;Faster&amp;quot; • &amp;quot;Very Fast&amp;quot; • &amp;quot;Super Fast&amp;quot; • &amp;quot;Ultra Fast&amp;quot; • &amp;quot;Draft&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
The default preset is '''&amp;quot;Slower&amp;quot;'''. Don't be obsessed with using the slowest settings, the differences can be very small for a huge increase in time. In particular HD material benefits less from extreme settings. HD is 6-8 times as slow as SD.&lt;br /&gt;
&lt;br /&gt;
There are many settings for tweaking this script, full details are provided in this documentation. The settings have been divided into categories, which each having key points, a detailed description, settings specifications/defaults, and several examples. The key points and examples should get you going. You can display settings currently being used with ''ShowSettings'':&lt;br /&gt;
&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Slow&amp;quot;, ShowSettings=true )&lt;br /&gt;
&lt;br /&gt;
===Multi-Threaded Usage===&lt;br /&gt;
&lt;br /&gt;
QTGMC is very demanding on your system. For best performance try using it multi-threaded. You will need one of the &amp;quot;MT&amp;quot; versions of Avisynth from the [[Main Page]], only [http://forum.doom9.org/showthread.php?t=148782 2.6.0 MT by SEt] is supported. Use the multithreaded plugin pack in this case.&lt;br /&gt;
&lt;br /&gt;
You need to tweak multi-threaded scripts to suit your system. Here is a basic template - read and follow the comments carefully and provide the values noted (you cannot use this code just as it is):&lt;br /&gt;
&lt;br /&gt;
 SetMTMode(5, ''X'')        # See ''X'' below&lt;br /&gt;
 SetMemoryMax(''M'')        # Optional line. Leave it out at first. See ''M'' below&lt;br /&gt;
 YourSource(&amp;quot;yourfile&amp;quot;) # DGDecode_mpeg2source, FFVideoSource, AviSource, whatever your source requires&lt;br /&gt;
 SetMTMode(2)&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Slow&amp;quot;, EdiThreads=''Y'' ) # Choose preset based on overall speed/quality you want. See ''Y'' below&lt;br /&gt;
 Distributor()          # This line may or may not be necessary, try removing it and see if you get more speed&lt;br /&gt;
&lt;br /&gt;
====SetMTMode ''X''====&lt;br /&gt;
* Start at the number of logical cores in your machine (note: with HyperThreading enabled, logical cores = 2x physical cores)&lt;br /&gt;
* If it crashes, decrease 1 at a time&lt;br /&gt;
* Otherwise increase 1 at a time until CPU usage just reaches 100%, don't go too far or it will slow down&lt;br /&gt;
&lt;br /&gt;
====EdiThreads ''Y''====&lt;br /&gt;
* Start at about half number of cores and tweak upwards or downwards (but don't choose 0)&lt;br /&gt;
* Reducing this value may help stability, and might allow you to increase X for an overall speedup&lt;br /&gt;
&lt;br /&gt;
====SetMemoryMax ''M''====&lt;br /&gt;
* First try without the SetMemoryMax line&lt;br /&gt;
* However, selecting a good SetMemoryMax value might better utilise memory and increase stability. Particularly important for slower settings&lt;br /&gt;
* Try values 400,600,800,1000 etc. Sometimes reducing this value can allow you to increase X for a speedup&lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
* '''Do not use MT()'''.&lt;br /&gt;
* There are occasional instabilities with multi-threading, because AviSynth and plugins are not quite thread-safe. These instabilities affect different users in different ways: some report no issues, others can barely get multi-threading to work at all. But do try it as the speed increase can be considerable.&lt;br /&gt;
&lt;br /&gt;
==Features / Settings==&lt;br /&gt;
&lt;br /&gt;
'''Key Points''': For basic usage, ''select a preset and leave the core settings alone''.&lt;br /&gt;
&lt;br /&gt;
===Core Settings===&lt;br /&gt;
&lt;br /&gt;
'''Key Points''': Most useful setting is TR2, which controls smoothing of output.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| TR0&lt;br /&gt;
| (1,2)&lt;br /&gt;
| Temporal binomial smoothing radius used to create motion search clip. In general 2=quality, 1=speed&lt;br /&gt;
|-&lt;br /&gt;
| TR1&lt;br /&gt;
| (1,2)&lt;br /&gt;
| Temporal binomial smoothing radius used on interpolated clip for inital output. In general 2=quality, 1=speed&lt;br /&gt;
|-&lt;br /&gt;
| TR2&lt;br /&gt;
| (0,1,2,3)&lt;br /&gt;
| Temporal linear smoothing radius used for final stablization / denoising. Increase for smoother output&lt;br /&gt;
|-&lt;br /&gt;
| Rep0&lt;br /&gt;
| (int)&lt;br /&gt;
| Repair motion search clip (0 = off): repair unwanted blur after temporal smooth TR0&lt;br /&gt;
|-&lt;br /&gt;
| Rep1&lt;br /&gt;
| (int)&lt;br /&gt;
| Repair initial output clip (0 = off): repair unwanted blur after temporal smooth TR1&lt;br /&gt;
|-&lt;br /&gt;
| Rep2&lt;br /&gt;
| (int)&lt;br /&gt;
| Repair final output clip (0 = off): unwanted blur after temporal smooth TR2 (will also repair TR1 blur if Rep1 not used)&lt;br /&gt;
|-&lt;br /&gt;
| RepChroma&lt;br /&gt;
| (bool)&lt;br /&gt;
| Whether the repair modes affect chroma. Default: '''True'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
RepX syntax: first digit (0-5): how wide thin shimmering lines can be and still get removed, from 1px to ~3px; second digit (0-3): to restore a bit beyond the detected lines. A single digit counts as the first digit.&lt;br /&gt;
&lt;br /&gt;
====Examples====&lt;br /&gt;
&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Slow&amp;quot;, TR2=3 )  # Strong final smooth (e.g. noisy / shimmery source)&lt;br /&gt;
&lt;br /&gt;
====Algorithm Details====&lt;br /&gt;
&lt;br /&gt;
The core algorithm is this:&lt;br /&gt;
&amp;lt;ol start=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Bob the source clip. Temporally smooth the bob to remove shimmer then analyse its motion&lt;br /&gt;
&amp;lt;li&amp;gt; More accurately interpolate the source clip (e.g. NNEDI3). Use the motion analysis from previous step to temporally smooth this interpolate with motion compensation. This removes shimmer whilst retaining detail. Resharpen the result to counteract any blurring&lt;br /&gt;
&amp;lt;li&amp;gt; A final light temporal smooth to clean the result&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Stages 0 &amp;amp; 1 use a binomial smooth (similar to a Gaussian) to remove deinterlacing shimmer. Stage 2 uses a simple linear smoothing. Each stage's temporal radius (the number of frames out from the current) is given in the settings '''TR0''', '''TR1''' and '''TR2'''.&lt;br /&gt;
&lt;br /&gt;
The shimmer reduction is critical for the algorithm so TR0 and TR1 should be at least 1. TR0 only affects the motion analysis and is only indirectly visible, increasing it to 2 will generally give a better motion match. Increasing TR1 and TR2 will create a smoother and more stable output and more strongly denoise; the downside is increased blurring and possibly lost detail, and potentially can cause stronger artifacts where motion analysis is inaccurate. The blur is partially counteracted by the sharpening settings.&lt;br /&gt;
&lt;br /&gt;
The deinterlacer primarily tries to reduce &amp;quot;bob shimmer&amp;quot;: horizontal lines of shimmer created when interpolating an interlaced stream. Consequently any changes made to the initial interpolation (e.g. NNEDI3) are expected to be horizontal lines of change only. The repair stages '''Rep0''', '''Rep1''' and '''Rep2''' occur after each temporal smooth. They only allow such horizontal lines of change - shimmer fixes, discarding other changes. This prevents the motion blur&lt;br /&gt;
that temporal smoothing could generate. The repX settings control the size of areas to allow through. (See the ''QTGMC_KeepOnlyBobShimmerFixes'' function comments for more detail.)&lt;br /&gt;
&lt;br /&gt;
===Motion Analysis===&lt;br /&gt;
&lt;br /&gt;
'''Key Points''': The presets make sensible choices for motion analysis. Some sources or requirements may require tweaks, but read these and MVTools2 docs first.&lt;br /&gt;
&lt;br /&gt;
The bobbed source clip is sent to the MVTools2 plugin to perform motion analysis. Almost all these settings are used directly in MVTools2 functions. Read the MVTools2 documentation for more details on their purpose. Some settings can be altered for a speed / accuracy tradeoff. Less accurate motion search can result in blurring and/or oversharpening (in different circumstances) as well as slight distortions of visual elements. The faster presets gain speed by simplifying the motion search parameters, use the &amp;quot;ShowSettings&amp;quot; parameter or look at the table a short way into the script to see how.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| SrchClipPP&lt;br /&gt;
| (0,1,2,3)&lt;br /&gt;
| Pre-filtering for motion search clip, 0 = none, 1 = simple blur, 2 = Gauss blur, 3 = Gauss blur + edge soften&lt;br /&gt;
|-&lt;br /&gt;
| SubPel&lt;br /&gt;
| (1,2,4)&lt;br /&gt;
| Sub-pixel accuracy for motion analysis (1 = 1 pixel, 2 = 1/2 pixel, 4 = 1/4 pixel)&lt;br /&gt;
|-&lt;br /&gt;
| SubPelInterp&lt;br /&gt;
| (0,1,2)&lt;br /&gt;
| Interpolation used for sub-pixel motion analysis: 0 = bilinear (soft), 1 = bicubic (sharper), 2 = Weiner (sharpest) Default: '''2'''&lt;br /&gt;
|-&lt;br /&gt;
| Blocksize&lt;br /&gt;
| (4,8,16,32)&lt;br /&gt;
| Size of blocks that are matched during motion analysis&lt;br /&gt;
|-&lt;br /&gt;
| Overlap&lt;br /&gt;
| (0-Blocksize/2)&lt;br /&gt;
| How much to overlap motion analysis blocks (requires more blocks, but essential to smooth block edges in motion compenstion)&lt;br /&gt;
|-&lt;br /&gt;
| Search&lt;br /&gt;
| (0...5)&lt;br /&gt;
| Search method used for matching motion blocks - see MVTools2 documentation for available algorithms&lt;br /&gt;
|-&lt;br /&gt;
| SearchParam&lt;br /&gt;
| (0...)&lt;br /&gt;
| Parameter for search method chosen. For default search method (hexagon search) it is the search range&lt;br /&gt;
|-&lt;br /&gt;
| PelSearch&lt;br /&gt;
| (0...)&lt;br /&gt;
| Search parameter (as above) for the finest sub-pixel level (see SubPel)&lt;br /&gt;
|-&lt;br /&gt;
| ChromaMotion&lt;br /&gt;
| (bool)&lt;br /&gt;
| Whether to consider chroma when analyzing motion. Setting to false gives good speed-up, but may very occasionally make incorrect motion decision.&lt;br /&gt;
|-&lt;br /&gt;
| TrueMotion&lt;br /&gt;
| (bool)&lt;br /&gt;
| Whether to use the 'truemotion' defaults from MAnalyse (see MVTools2 documentation) Default: '''False'''&lt;br /&gt;
|-&lt;br /&gt;
| Lambda&lt;br /&gt;
| (0...)&lt;br /&gt;
| Motion vector field coherence - how much the motion analysis favors similar motion vectors for neighboring blocks. Should be scaled by BlockSize*BlockSize/64&lt;br /&gt;
|-&lt;br /&gt;
| LSAD&lt;br /&gt;
| (0...)&lt;br /&gt;
| How much to reduce need for vector coherence (i.e. Lambda above) if prediction of motion vector from neighbors is poor, typically in areas of complex motion. This value is scaled in MVTools (unlike Lambda)&lt;br /&gt;
|-&lt;br /&gt;
| PNew&lt;br /&gt;
| (0...)&lt;br /&gt;
| Penalty for choosing a new motion vector for a block over an existing one - avoids chosing new vectors for minor gain&lt;br /&gt;
|-&lt;br /&gt;
| PLevel&lt;br /&gt;
| (0,1,2)&lt;br /&gt;
| Mode for scaling lambda across different sub-pixel levels - see MVTools2 documentation for choices&lt;br /&gt;
|-&lt;br /&gt;
| GlobalMotion&lt;br /&gt;
| (bool)&lt;br /&gt;
| Whether to estimate camera motion to assist in selecting block motion vectors. Default: '''True'''&lt;br /&gt;
|-&lt;br /&gt;
| DCT&lt;br /&gt;
| (0...10)&lt;br /&gt;
| Modes to use DCT (frequency analysis) or SATD as part of the block matching process - see MVTools2 documentation for choices.  Default: '''0'''&lt;br /&gt;
|-&lt;br /&gt;
| ThSAD1&lt;br /&gt;
| (0...)&lt;br /&gt;
| SAD threshold for block match on shimmer-removing temporal smooth (''TR1''). Increase to reduce bob-shimmer more (may smear/blur) Default: '''640'''&lt;br /&gt;
|-&lt;br /&gt;
| ThSAD2&lt;br /&gt;
| (0...)&lt;br /&gt;
| SAD threshold for block match on final denoising temporal smooth (''TR2''). Increase to strengthen final smooth (may smear/blur) Default: '''256'''&lt;br /&gt;
|-&lt;br /&gt;
| ThSCD1&lt;br /&gt;
| (0...)&lt;br /&gt;
| Scene change detection parameter 1 - see MVTools documentation. Default: '''180'''&lt;br /&gt;
|-&lt;br /&gt;
| ThSCD2&lt;br /&gt;
| (0...)&lt;br /&gt;
| Scene change detection parameter 2 - see MVTools documentation. Default: '''98'''&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
Defaults: &lt;br /&gt;
&lt;br /&gt;
TrueMotion is false : Lambda = '''(1000 * BlockSize2)/64''', LSAD='''400''',  PNew='''25''', PLevel='''0'''&lt;br /&gt;
&lt;br /&gt;
TrueMotion is true  : Lambda = '''(100  * BlockSize2)/64''', LSAD='''1200''', PNew='''50''', PLevel='''1'''&lt;br /&gt;
&lt;br /&gt;
Other settings defaults are determined by preset.&lt;br /&gt;
&lt;br /&gt;
===Interpolation===&lt;br /&gt;
&lt;br /&gt;
'''Key Points''': Interpolation affects quality and speed. The presets can be relied on to provide sensible defaults mostly using NNEDI3.&lt;br /&gt;
&lt;br /&gt;
The first step to create the deinterlaced output is to spatially interpolate a single half-height field into a full-height frame. A variety of interpolators are supported, with various settings to control the quality/speed of the output.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| EdiMode&lt;br /&gt;
| (string)&lt;br /&gt;
| Interpolation method, from &amp;quot;NNEDI3&amp;quot;, &amp;quot;NNEDI2&amp;quot;, &amp;quot;NNEDI&amp;quot;, &amp;quot;EEDI3+NNEDI3&amp;quot; (EEDI3 with sclip from NNEDI3), &amp;quot;EEDI3&amp;quot;, &amp;quot;EEDI2&amp;quot;, &amp;quot;Yadif&amp;quot;, &amp;quot;TDeint&amp;quot; or &amp;quot;RepYadif&amp;quot; (&amp;quot;repaired&amp;quot; Yadif), anything else uses &amp;quot;Bob&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ChromaEdi&lt;br /&gt;
| (string)&lt;br /&gt;
| Interpolation method used for chroma. Set to &amp;quot;&amp;quot; to use EdiMode above (default). Otherwise choose from &amp;quot;NNEDI3&amp;quot;, &amp;quot;Yadif&amp;quot; or &amp;quot;Bob&amp;quot; - all high speed variants. This can give a minor speed-up if using a very slow EdiMode (i.e. one of the EEDIx modes) Default: '''&amp;quot;&amp;quot;'''&lt;br /&gt;
|-&lt;br /&gt;
| NNSize&lt;br /&gt;
| (0...6)&lt;br /&gt;
| Area around each pixel used as predictor for NNEDI3. A larger area is slower with better quality, read the NNEDI3 docs to see the area choices. Note: area sizes are not in increasing order (i.e. increased value doesn't always mean increased quality)&lt;br /&gt;
|-&lt;br /&gt;
| NNeurons&lt;br /&gt;
| (0...4)&lt;br /&gt;
| Controls number of neurons in NNEDI2 (0-2) &amp;amp; NNEDI3 (0-4), larger = slower and better quality but improvements are small&lt;br /&gt;
|-&lt;br /&gt;
| EdiQual&lt;br /&gt;
| (1,2,3)&lt;br /&gt;
| Quality setting for NNEDI2 (1,2,3) &amp;amp; NNEDI3 (1,2 only). Higher values for better quality - but improvements are marginal&lt;br /&gt;
|-&lt;br /&gt;
| EdiMaxD&lt;br /&gt;
| (1...)&lt;br /&gt;
| Spatial search distance for finding connecting edges in EEDI2 and EEDI3&lt;br /&gt;
|-&lt;br /&gt;
| EdiThreads&lt;br /&gt;
| (0...)&lt;br /&gt;
| Number of threads to use in EEDI3 &amp;amp; NNEDI2/3, 0 = default = number of logical processors on system. Also affects source-match interpolations. Source-match can add 2 further interpolations per frame, adjusting this setting can help balance system load. Default: '''0'''&lt;br /&gt;
|-&lt;br /&gt;
| EdiExt&lt;br /&gt;
| (clip)&lt;br /&gt;
| Provide externally created interpolated clip rather than use one of the above modes. Default: '''undefined'''&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
Other settings defaults are determined by preset.&lt;br /&gt;
&lt;br /&gt;
====Examples====&lt;br /&gt;
&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Slow&amp;quot;, EdiMode=&amp;quot;EEDI3&amp;quot;, EdiMaxD=16 ) # Use EEDI3 with an explicit search radius&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Very Slow&amp;quot;, EdiThreads=2 )           # Specify number of threads (with default NNEDI3) useful to tweak if using SetMTMode or source-match&lt;br /&gt;
&lt;br /&gt;
===Sharpness===&lt;br /&gt;
&lt;br /&gt;
Key Points: Always consider adjusting the Sharpness setting to taste. The default 1.0 is fairly sharp. If using source-match the default is 0.2&lt;br /&gt;
&lt;br /&gt;
The core of the algorithm involves a binomial smooth to remove shimmer. So the result needs to be resharpened to counteract this blur. The main setting Sharpness defaults to 1.0, which is a level designed to retain the sharpness of stable areas. However, this level can cause moving areas to be oversharpened so you may wish to reduce the value depending on source. Sharpness when using source-match behaves differently, see that section. The sharpness processing for a given setting is tweaked to remain roughly similar regardless of other settings. However, there will be minor differences, so always consider adjusting sharpness if you tweak other major settings.&lt;br /&gt;
&lt;br /&gt;
Oversharpening is limited either spatially (SLMode = 1,3) or temporally (SLMode = 2,4). Temporal limiting is more &amp;quot;correct&amp;quot; but also more aggressive in preventing sharpening. It's also slower. You can set a small value in the overshoot setting (SOvs) to give the temporal limiting a bit of &amp;quot;headroom&amp;quot;. You can also perform sharpness limiting later in the algorithm (SLMode = 3,4) for more sharpness, but with the potential for minor artefacts.&lt;br /&gt;
Settings 	  	 &lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Sharpness&lt;br /&gt;
| (0.0...)&lt;br /&gt;
| How much to resharpen the temporally blurred clip (default is always 1.0 unlike original TGMC)&lt;br /&gt;
|-&lt;br /&gt;
| SMode&lt;br /&gt;
| (0,1,2)&lt;br /&gt;
| Resharpening mode:  0 = none, 1 = difference from 3x3 blur kernel, 2 = vertical max/min average + 3x3 kernel&lt;br /&gt;
|-&lt;br /&gt;
| SLMode&lt;br /&gt;
| (0,1,2,3,4)&lt;br /&gt;
| Sharpness limiting: 0 = off, [1 = spatial, 2 = temporal] : before final temporal smooth, [3 = spatial, 4 = temporal] : after final temporal smooth&lt;br /&gt;
|-&lt;br /&gt;
| SLRad&lt;br /&gt;
| (0...)&lt;br /&gt;
| Temporal or spatial radius used with sharpness limiting (depends on SLMode). Temporal radius can only be 0,1 or 3&lt;br /&gt;
|-&lt;br /&gt;
| SOvs&lt;br /&gt;
| (0...255)&lt;br /&gt;
| Amount of overshoot allowed with temporal sharpness limiting (SLMode = 2,4), i.e. allow some oversharpening. Default: '''0'''&lt;br /&gt;
|-&lt;br /&gt;
| SVThin&lt;br /&gt;
| (0.0...)&lt;br /&gt;
| How much to thin down 1-pixel wide lines that have been widened due to interpolation into neighboring field lines. Default: '''0.0'''&lt;br /&gt;
|-&lt;br /&gt;
| Sbb&lt;br /&gt;
| (0,1,2,3)&lt;br /&gt;
| Back blend (blurred) difference between pre &amp;amp; post sharpened clip (minor fidelity improvement): 0 = Off, 1 = before (1st) sharpness limiting, 2 = after (1st) sharpness limiting, 3 = both. Default: '''0'''&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
Other settings defaults are determined by preset.&lt;br /&gt;
&lt;br /&gt;
====Examples====&lt;br /&gt;
&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Slow&amp;quot;, Sharpness=0.4 )           # Reduce oversharpening&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Slow&amp;quot;, Sharpness=1.2, SLMode=1 ) # Increase sharpness, use spatial sharpness limiting (which typically allows more sharpening)&lt;br /&gt;
&lt;br /&gt;
===Source Match / Lossless===&lt;br /&gt;
&lt;br /&gt;
Very detailed section for new feature [documentation likely to be thinned as feature matures]&lt;br /&gt;
Note: the effects of this feature are both subtle and precise, intended only for exacting detail. Make sure you can see exacting detail first.&lt;br /&gt;
&lt;br /&gt;
Key Points: Source-match creates higher fidelity output with extra processing. Enable with SourceMatch = 1,2 or 3. Higher values are slower and more accurate. Can combine with Lossless setting (especially Lossless=2) for more detail again. Tweak speed with MatchPreset (like Preset). Will honor artefacts in source, so best used with quality sources. By default Sharpness becomes 0.2 &amp;amp; sharpness limiting (SLMode) is switched off, so adjust sharpness carefully.&lt;br /&gt;
&lt;br /&gt;
Quickstart: The templates below increase in both quality and slowness. Choose a preset as required, the very fastest presets are not suitable though. The default Sharpness=0.2 but you may wish to increase it slightly. Set TR2=1 for clean source, set TR2=2 or TR2=3 (slower) if more denoising required or use noise processing&lt;br /&gt;
&lt;br /&gt;
 QTGMC( Preset=XXXX, SourceMatch=1, Sharpness=XXX, TR2=X )             # Basic mode, fastest&lt;br /&gt;
 QTGMC( Preset=XXXX, SourceMatch=1, Sharpness=XXX, TR2=X, Lossless=2 ) # Good quality, efficient, minor residual combing&lt;br /&gt;
 QTGMC( Preset=XXXX, SourceMatch=2, Sharpness=XXX, TR2=X )             # Good quality, slower, no combing&lt;br /&gt;
 QTGMC( Preset=XXXX, SourceMatch=3, Sharpness=XXX, TR2=X, Lossless=2 ) # Best quality, slowest, very minor residual combing&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Intuitively, a deinterlacer should just inject new fields into the source, leaving the original pixels untouched. The temporal blur/resharpen in this script means that doesn't happen - the source pixels are changed in the output. The (optional) source-match steps attempt to fix this and make the result closer to the source. They work by looking at the difference between output and source at different points in the algorithm and correcting for that difference.&lt;br /&gt;
&lt;br /&gt;
Matching to the source will capture more source detail and reduce oversharpening / haloing. Caveat: the default algorithm temporally smooths but with source-matching much less so (by necessity / design). Source-matching may faithfully recreate artefacts in the source (e.g blocking, banding &amp;amp; some noise) so it's better for quality sources. The SourceMatch setting sets the mode: 0=off (standard [Q]TGMC algorithm), 1,2,3 for progressively more accurate but slower processing. Modes 2 &amp;amp; 3 restore almost exact source detail but are sensitive to noise &amp;amp; introduce occasional aliasing (mode 3 is less affected). Mode 1 is a more conservative halfway stage that rarely introduces artefacts.&lt;br /&gt;
&lt;br /&gt;
Since source-matching recovers sharpness, the Sharpness default is reduced to 0.2. Source-matching may initially appear less sharp than standard processing because it will not oversharpen. However, be careful if raising the sharpness, because sharpness limiting is switched off by default. This is because sharpness limiting reduces the the accuracy of these modes. Use the MatchEnhance setting to exaggerate additional detail found by modes 2 &amp;amp; 3. This gives a sharpening / detail enhancing effect and works well at sensible levels - but it's a slight cheat that should be used with care as it can easily enhance noise. Since source-match is sensitive to source noise you may want to set TR2 to 2 or 3 and/or use some noise processing (see below).&lt;br /&gt;
&lt;br /&gt;
The additional Lossless modes are designed to take source-match to its logical conclusion: Lossless mode 1 restores the *exact* pixels of the source into the output (provided NoiseRestore=0). This recovers a liitle more source detail but can introduce shimmering, minor combing, noise etc. Note the Sharpness and MatchEnhance settings have little effect in lossless mode 1. Lossless mode 2 makes the clip lossless before the sharpening &amp;amp; final temporal smooth. This removes most of the lossless artefacts and also allows sharpness control. This mode will not give an exactly lossless output but it will gain a little more detail.&lt;br /&gt;
&lt;br /&gt;
The source-match settings introduce further processing. SourceMatch mode 1 requires a second interpolation (e.g. NNEDI3), but it can use a lower quality settings than the main stage. SourceMatch mode 2 requires yet another interpolation, but works effectively with just a bob (but using a better interpolator can reduce occasional aliasing). Mode 3 adds just a little more processing and is usually worth it as it reduces artefacts. There is no exact control over the interpolations used (too many settings required), instead there are MatchPresets that work in a similar way to the main Preset. The extra processing suggests much slower speeds, but actually using higher speed presets (both MatchPreset and Preset) with source-matching can give results comparable to slower presets without it. Having said that, the extra detail from source-matching is too subtle to significantly affect very high speed main presets.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| SourceMatch&lt;br /&gt;
| (0,1,2,3)&lt;br /&gt;
| 0 = Source-matching off (standard algorithm), 1 = basic source-match, 2 = refined match, 3 = twice refined match&lt;br /&gt;
|-&lt;br /&gt;
| Lossless&lt;br /&gt;
| (0,1,2)&lt;br /&gt;
| Puts exact source fields into result &amp;amp; cleans any artefacts. 0=off, 1=after final temporal smooth, 2=before resharpening. Adds some extra detail but: mode 1 gets shimmer / minor combing, mode 2 is more stable/tweakable but not exactly lossless. Default: '''0'''&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|colspan=2| &amp;lt;small&amp;gt;for SourceMatch=1,2,3&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| MatchPreset&lt;br /&gt;
| (string)&lt;br /&gt;
| Speed/quality for basic source-match processing, select from &amp;quot;Placebo&amp;quot;, &amp;quot;Very Slow&amp;quot;, &amp;quot;Slower&amp;quot;, &amp;quot;Slow&amp;quot;, &amp;quot;Medium&amp;quot;, &amp;quot;Fast&amp;quot;, &amp;quot;Faster&amp;quot;, &amp;quot;Very Fast&amp;quot;, &amp;quot;Super Fast&amp;quot;, &amp;quot;Ultra Fast&amp;quot; (no &amp;quot;Draft&amp;quot;). Ideal choice is the same as main preset, but can choose a faster setting (but not slower). Default: '''3 steps faster than MatchPreset'''&lt;br /&gt;
|-&lt;br /&gt;
| MatchEdi&lt;br /&gt;
| (string)&lt;br /&gt;
| Override default interpolation method for basic source-match. Default method is same as main EdiMode setting (usually NNEDI3). Only need to override if using slow method for main interpolation (e.g. EEDI3) and want a faster method for source-match. Default: '''EdiMode'''&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|colspan=2| &amp;lt;small&amp;gt;for SourceMatch=2,3&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| MatchPreset2&lt;br /&gt;
| (string)&lt;br /&gt;
| Speed/quality for refined source-match processing, select from &amp;quot;Placebo&amp;quot;, &amp;quot;Very Slow&amp;quot;, &amp;quot;Slower&amp;quot;, &amp;quot;Slow&amp;quot;, &amp;quot;Medium&amp;quot;, &amp;quot;Fast&amp;quot;, &amp;quot;Faster&amp;quot;, &amp;quot;Very Fast&amp;quot;, &amp;quot;Super Fast&amp;quot;, &amp;quot;Ultra Fast&amp;quot; (no &amp;quot;Draft&amp;quot;). Faster settings are usually sufficient, but slower settings are useful if you get extra aliasing. Default: '''2 steps faster than MatchPreset'''&lt;br /&gt;
|-&lt;br /&gt;
| MatchEdi2&lt;br /&gt;
| (string)&lt;br /&gt;
| Override interpolation method for refined source-match. Can be a good idea to pick MatchEdi2=&amp;quot;Bob&amp;quot; for speed. Default: '''NNEDI3'''&lt;br /&gt;
|-&lt;br /&gt;
| MatchTR2&lt;br /&gt;
| (0,1,2)&lt;br /&gt;
| Temporal radius for refined source-matching. 2=smoothness, 1=speed/sharper, 0=not recommended. Differences are very marginal. Basic source-match doesn't need this setting as its temporal radius must match TR1 core setting (i.e. there is no MatchTR1). Default: '''1'''&lt;br /&gt;
|-&lt;br /&gt;
| MatchEnhance&lt;br /&gt;
| (0.0...)&lt;br /&gt;
| Enhance the detail found by source-match modes 2 &amp;amp; 3. A slight cheat - will enhance noise if set too strong. Best set &amp;lt; 1.0. Default: '''0.5'''&lt;br /&gt;
|}&lt;br /&gt;
  	  	 &lt;br /&gt;
Defaults changes:&lt;br /&gt;
* MatchEdi is &amp;quot;Yadif&amp;quot; when MatchPreset=&amp;quot;Ultra Fast&amp;quot;&lt;br /&gt;
* MatchEdi2 is &amp;quot;TDeint&amp;quot; when MatchPreset=&amp;quot;Super Fast&amp;quot;, or &amp;quot;Bob&amp;quot; when MatchPreset=&amp;quot;Ultra Fast&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====Examples====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slow&amp;quot;, SourceMatch=1 )                # Enable basic source-match. Result somewhat closer to source.&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slow&amp;quot;, SourceMatch=1, Sharpness=0.4 ) # Basic source-match but sharper (up from 0.2). Be careful as sharpness limiting defaults to off&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slow&amp;quot;, SourceMatch=1, Lossless=2 )    # Basic source-match with &amp;quot;fake&amp;quot; lossless. Efficient setting for quality, may bring minor combing&lt;br /&gt;
 &lt;br /&gt;
QTGMC( Preset=&amp;quot;Medium&amp;quot;, SourceMatch=2, TR2=2 )       # Refined source-match, closer to source with no combing, slower. Increased TR2 reduces noise&lt;br /&gt;
 &lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, SourceMatch=3 )              # Twice refined source-match, higher quality than mode 2, but a little bit slower again&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, SourceMatch=3, Lossless=2 )  # Twice refined source-match with fake lossless. Almost perfect fidelity mode with few artefacts&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, SourceMatch=3, Lossless=1 )  # Twice refined source-match with true lossless. Exact detail, but likely combing and shimmer&lt;br /&gt;
 &lt;br /&gt;
QTGMC( Preset=&amp;quot;Slow&amp;quot;, SourceMatch=3, Lossless=2, MatchEnhance=0.75 ) # Further enhance detail found by refined match, a little sharper, may be noisier&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slow&amp;quot;, SourceMatch=3, Lossless=2, MatchEnhance=0.75, NoiseProcess=1, NoiseRestore=0.7, Sigma=1.5 ) # As above, denoise a little to help&lt;br /&gt;
 &lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, MatchPreset=&amp;quot;Very Fast&amp;quot;, SourceMatch=1 ) # Faster basic source-match preset (defaults to 3 steps faster than main Preset)&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, MatchPreset=&amp;quot;Faster&amp;quot;, MatchPreset2=&amp;quot;Ultra Fast&amp;quot;, SourceMatch=3 ) # Faster refined source-match preset as well&lt;br /&gt;
                                                                                         # (defaults to 2 steps faster than basic match Preset)&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, MatchPreset=&amp;quot;Slow&amp;quot;, MatchPreset2=&amp;quot;Slow&amp;quot;, SourceMatch=3 ) # Or use slower source-match presets (usually unnecessary)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Noise Bypass / Denoising===&lt;br /&gt;
&lt;br /&gt;
Key Points: QTGMC can remove, retain or strengthen noise and very fine detail. Has automatic &amp;quot;EZ&amp;quot; settings for simple operation. Refer to examples below&lt;br /&gt;
&lt;br /&gt;
The use of multiple temporal smooths means that this script denoises by default. QTGMC can extract some noise/grain from the source at the start, then optionally restore some of it back in again at the end. This allows either denoising, or for the grain/noise from the source to be retained. For simplest operation use one of the two automatic &amp;quot;EZ&amp;quot; modes, EZDenoise or EZKeepGrain (can only use one at once) and select a NoisePreset. For manual operation there are two modes: NoiseProcess=1 actually denoises at the start, whereas NoiseProcess=2 just identifies the noise in the source without removing it. NoiseProcess=1 is typically used for stronger denoising of the output, and NoiseProcess=2 is used to retain grain or for a very light denoise.&lt;br /&gt;
&lt;br /&gt;
Manual operation: after selecting a mode, set a Sigma value to estimate the level of source noise. Use the ShowNoise setting to help in this choice. Then decide how much of that noise to restore after the deinterlace. There are two restore points called GrainRestore/NoiseRestore, the amount of noise restored depends on their sum. For full denoising set them both to 0. For grain retention, a good starting point is 0.7/0.3 for NoiseProcess=1, and 0.3/0.1 for NoiseProcess=2. GrainRestore restores more stable &amp;quot;grain-like&amp;quot; detail. NoiseRestore restores finer more fluctuating noise. Usually best if GrainRestore is greater than NoiseRestore unless you want a very noisy look. Too high restoral values will give grain exaggeration and even luma changes.&lt;br /&gt;
&lt;br /&gt;
Important: You must use a non-zero value in one of EZDenoise, EZKeepGrain or NoiseProcess or no noise processing will occur&lt;br /&gt;
{|&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|colspan=2| &amp;lt;small&amp;gt;Quick Settings&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| EZDenoise&lt;br /&gt;
| (0.0...)&lt;br /&gt;
| Automatic setting to denoise source. Set &amp;gt; 0.0 to enable. Higher values denoise more. Can use ShowNoise to help choose value. Default: '''0.0'''&lt;br /&gt;
|-&lt;br /&gt;
| EZKeepGrain&lt;br /&gt;
| (0.0...)&lt;br /&gt;
| Automatic setting to retain source grain/detail. Set &amp;gt; 0.0 to enable. Higher values retain more grain. A good starting point = 1.0. Default: '''0.0'''&lt;br /&gt;
|-&lt;br /&gt;
| NoisePreset&lt;br /&gt;
| (string)&lt;br /&gt;
| Automatic setting for quality of noise processing. Choices: &amp;quot;Slower&amp;quot;, &amp;quot;Slow&amp;quot;, &amp;quot;Medium&amp;quot;, &amp;quot;Fast&amp;quot;, and &amp;quot;Faster&amp;quot;. Default: '''&amp;quot;Fast&amp;quot;'''&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|colspan=2| &amp;lt;small&amp;gt;Full Settings&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| NoiseProcess&lt;br /&gt;
| (0,1,2)&lt;br /&gt;
| Bypass mode: 0 = disable, 1 = denoise source &amp;amp; optionally restore some noise back at end of script [use for stronger denoising], 2 = identify noise only &amp;amp; optionally restore some after QTGMC smoothing [for grain retention / light denoising]. Default: '''0''' (Very Slow: '''2''')&lt;br /&gt;
|-&lt;br /&gt;
| ChromaNoise&lt;br /&gt;
| (bool)&lt;br /&gt;
| When processing noise (NoiseProcess &amp;gt; 0), whether to process chroma noise or not (luma noise is always processed). Default: '''False'''&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|colspan=2| &amp;lt;small&amp;gt;Removing Noise&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Denoiser&lt;br /&gt;
| (string)&lt;br /&gt;
| Select denoiser to use for noise bypass / denoising. Select from &amp;quot;dfttest&amp;quot; or &amp;quot;fft3dfilter&amp;quot;. dfttest is better, but slower. Unknown value selects &amp;quot;fft3dfilter&amp;quot;. Default: '''fft3dfilter'''&lt;br /&gt;
|-&lt;br /&gt;
| DftThreads&lt;br /&gt;
| (0...)&lt;br /&gt;
| Number of threads to use if using &amp;quot;dfttest&amp;quot; for Denoiser, 0 = number of logical processors on system. Default: '''EdiThreads'''&lt;br /&gt;
|-&lt;br /&gt;
| DenoiseMC&lt;br /&gt;
| (bool)&lt;br /&gt;
| Whether to provide a motion-compensated clip to the denoiser for better noise vs detail detection (will be a little slower). Default: '''False'''&lt;br /&gt;
|-&lt;br /&gt;
| NoiseTR&lt;br /&gt;
| (0,1,2)&lt;br /&gt;
| Temporal radius used when analyzing clip for noise extraction. Higher values better identify noise vs detail but are slower. Default: '''1'''&lt;br /&gt;
|-&lt;br /&gt;
| Sigma&lt;br /&gt;
| (0.0...)&lt;br /&gt;
| Amount of noise known to be in the source, sensible values vary by source and denoiser, so experiment. Use ShowNoise to help. Default: '''2.0'''&lt;br /&gt;
|-&lt;br /&gt;
| ShowNoise&lt;br /&gt;
| (bool / 0.0...)&lt;br /&gt;
| Display extracted and &amp;quot;deinterlaced&amp;quot; noise rather than normal output. Set to true or false, or set a value (around 4 to 16) to specify contrast for displayed noise. Visualising noise helps to determine suitable value for Sigma or EZDenoise - want to see noise and noisy detail, but not too much clean structure or edges - fairly subjective. Pause the video when checking this. Default: '''False'''&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|colspan=2| &amp;lt;small&amp;gt;Restoring Noise&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| GrainRestore&lt;br /&gt;
| (0.0...1.0...)&lt;br /&gt;
| How much removed noise/grain to restore before final temporal smooth. Retain &amp;quot;stable&amp;quot; grain and some detail (effect depends on TR2). Default: '''0.0''' (Very Slow: '''0.3''')&lt;br /&gt;
|-&lt;br /&gt;
| NoiseRestore&lt;br /&gt;
| (0.0...1.0...)&lt;br /&gt;
| How much removed noise/grain to restore after final temporal smooth. Retains any kind of noise. Default: '''0.0''' (Very Slow: '''0.1''')&lt;br /&gt;
|-&lt;br /&gt;
| NoiseDeint&lt;br /&gt;
| (string)&lt;br /&gt;
| When noise is taken from interlaced source, how to 'deinterlace' it before restoring. &amp;quot;Bob&amp;quot; &amp;amp; &amp;quot;DoubleWeave&amp;quot; are fast but with minor issues: &amp;quot;Bob&amp;quot; is coarse and &amp;quot;Doubleweave&amp;quot; lags by one frame. &amp;quot;Generate&amp;quot; is a high quality mode that generates fresh noise lines, but it is slower. Unknown value selects &amp;quot;DoubleWeave&amp;quot;. Default: '''&amp;quot;&amp;quot;'''&lt;br /&gt;
|-&lt;br /&gt;
| StabilizeNoise&lt;br /&gt;
| (bool)&lt;br /&gt;
| Use motion compensation to limit shimmering and strengthen detail within the restored noise. Recommended for &amp;quot;Generate&amp;quot; mode. Default: '''False'''&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
* EZDenoise and EZKeepGrain set automatic values for NoiseProcess, NoiseRestore/GrainRestore and Sigma&lt;br /&gt;
* Denoiser, DenoiseMC, NoiseTR, NoiseDeint and StabilizeNoise settings are determined by NoisePreset&lt;br /&gt;
* If using manual settings be sure to override *all* the values you are interested in&lt;br /&gt;
&lt;br /&gt;
====Examples====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Automatic Settings&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, EZDenoise=2.5,   NoisePreset=&amp;quot;Slow&amp;quot;   ) # Automatic denoising, value is denoising strength, preset is quality/speed tradeoff&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, EZKeepGrain=1.0, NoisePreset=&amp;quot;Faster&amp;quot; ) # Automatic grain retention - retain all source grain&lt;br /&gt;
&lt;br /&gt;
# Denoising&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, NoiseProcess=1, NoiseRestore=0.0, Sigma=4.0 ) # Fully denoise, strength of denoising depends on Sigma setting&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, NoiseProcess=1, NoiseRestore=0.0, Denoiser=&amp;quot;dfttest&amp;quot;, DenoiseMC=true, NoiseTR=2, Sigma=4.0 ) # More &amp;quot;accurate&amp;quot; denoising (slower)&lt;br /&gt;
&lt;br /&gt;
# Retain Noise / Grain&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, NoiseProcess=1, NoiseRestore=1.0, Sigma=2.0 ) # Retain *all* the noise / fine detail of a less noisy source&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, NoiseProcess=1, GrainRestore=1.0, Sigma=2.0 ) # Similar to above but only keep the more &amp;quot;stable&amp;quot; noise elements (depends on TR2)&lt;br /&gt;
 &lt;br /&gt;
# Strong Detail / Grain&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, NoiseProcess=2, GrainRestore=0.5, NoiseRestore=0.1, Sigma=2.5 ) # Using stronger mode 2, retains noise and sharpens slightly&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, NoiseProcess=2, GrainRestore=0.4, NoiseRestore=0.2, Sigma=1.8, \&lt;br /&gt;
       NoiseDeint=&amp;quot;Generate&amp;quot;, StabilizeNoise=true )  # As above with better quality, more stable detail and grain&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Progressive Input===&lt;br /&gt;
&lt;br /&gt;
Key Points: Can remove horizontal shimmering effects from progressive sources. Experiment with InputType=1, 2 or 3 for best results. FPS will not be doubled&lt;br /&gt;
&lt;br /&gt;
This script is designed for deinterlacing and so by default expects an interlaced clip. However, much of its operation concerns the reduction of horizontal shimmering. It is possible to use the script to remove similar shimmer from a progressive clip by using the InputType setting. InputType=1 is used for general progressive material that contains less severe problems. InputType=2,3 are designed for badly deinterlaced material with considerable horizontal artefacts. These modes drop half the fields and recreate an interlaced stream from the others, which is then treated in the normal way. Mode 3 differs from mode 2 only in that it complements field parity of the input. Generally mode 1 will retain more detail, but repair less artefacts than modes 2,3. You may consider setting TR2 to a higher value (e.g. 2 or 3) when repairing progressive material.&lt;br /&gt;
&lt;br /&gt;
SourceMatch and Lossless modes are supported for progressive material. It works well for InputType=2,3, where the input is converted to an interlaced stream, and helps in detail retention. Source-match is much less useful for InputType=1&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| InputType&lt;br /&gt;
| (0,1,2,3)&lt;br /&gt;
| Default = 0 for interlaced input. Settings 1,2 &amp;amp; 3 accept progressive input for deshimmer or repair. Frame rate of progressive source is not doubled. Mode 1 is for general progressive material. Modes 2 &amp;amp; 3 are designed for badly deinterlaced material. Default: '''0'''&lt;br /&gt;
|-&lt;br /&gt;
| ProgSADMask&lt;br /&gt;
| (0.0...)&lt;br /&gt;
| Only applies to InputType=2,3. If ProgSADMask &amp;gt; 0.0 then blend InputType modes 1 and 2/3 based on block motion SAD. Higher values help recover more detail, but repair less artefacts. Reasonable range about 2.0 to 20.0, or 0.0 for no blending. Default: '''10.0''' ('''0.0''' for &amp;quot;Fast&amp;quot; and faster.)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Examples====&lt;br /&gt;
&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Slower&amp;quot;, InputType=1 )                   # Process progressive source, it will be temporally smoothed / deshimmered&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Slower&amp;quot;, InputType=2, ProgSADMask=12.0 ) # Process progressive source with major artefacts, slightly favoring detail over repairs&lt;br /&gt;
&lt;br /&gt;
===Shutter Speed Motion Blur / Frame Rate===&lt;br /&gt;
&lt;br /&gt;
Key Points: Can output video at single or double-frame rate. For smoother playback of single-rate output there are settings to add light motion blur to simulate different shutter angles (shutter speeds)&lt;br /&gt;
&lt;br /&gt;
By default QTGMC outputs video at &amp;quot;double-rate&amp;quot;, twice the frame rate of the source. This is because there are two separate images (fields) in every frame, which the deinterlacing process restores in full. By setting FPSDivisor to 2, every second frame is dropped and the output frame rate is the same as the source (&amp;quot;single-rate&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Single-rate output may look a little stuttery, depending on how the source was filmed/created. Adding motion blur to each frame can help with this, smoothing the feel of the slower rate playback. This is done by setting ShutterBlur to 1,2 or 3, then specifying the shutter angle that you wish the output to simulate. However, as there may be some motion blur already in the source you also need to specify/estimate the shutter angle used in the source. Shutter angles range from 0 to 360, with 0 being perfectly sharp and 360 being fully blurred from one frame to next (artificial output shutter angles &amp;gt; 360 are supported to a very limited degree). Motion-blur can also be applied to double-rate output, but the effect is less noticable.&lt;br /&gt;
&lt;br /&gt;
As motion analysis is block-based, motion blur of an object can &amp;quot;bleed&amp;quot; into surrounding, more static areas. This can be reduced using the slower ShutterBlur modes or by increasing the SBlurLimit setting (which is enabled and set to 4 by default). Both repair methods may reduce the level of motion blur a little though. In situations of complex motion the motion analysis can be incorrect, which can lead to inappropriate blurring.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| FPSDivisor&lt;br /&gt;
| (1,2...)&lt;br /&gt;
| 1 = Double-rate output, 2 = Single-rate output. Higher values can be used too (e.g. 60fps &amp;amp; FPSDivisor=3 gives 20fps output). '''Important:''' You do not need SelectEven() in the calling script if you use FPSDivisor=2. Default: '''1'''&lt;br /&gt;
|-&lt;br /&gt;
| ShutterBlur&lt;br /&gt;
| (0,1,2,3)&lt;br /&gt;
| 0 = Off, 1 = Enable, 2,3 = Higher precisions (slower). Higher precisions reduce blur &amp;quot;bleeding&amp;quot; into static areas a little. Default: '''0'''&lt;br /&gt;
|-&lt;br /&gt;
| ShutterAngleSrc&lt;br /&gt;
| (0...360)&lt;br /&gt;
| Shutter angle used in source. If necessary, estimate from motion blur seen in a single frame: 0=pin-sharp, 360=fully blurred from frame to frame. Default: '''180'''&lt;br /&gt;
|-&lt;br /&gt;
| ShutterAngleOut&lt;br /&gt;
| (0...360)&lt;br /&gt;
| Shutter angle to simulate in output. Extreme values may be rejected (depends on other settings). Cannot reduce motion blur already in the source. Default: '''180'''&lt;br /&gt;
|-&lt;br /&gt;
| SBlurLimit&lt;br /&gt;
| (0...)&lt;br /&gt;
| Limit motion blur where motion lower than given value. Increase to reduce blur &amp;quot;bleeding&amp;quot;. 0=Off. Sensible range around 2-12. Default: '''4'''&lt;br /&gt;
|} &lt;br /&gt;
&lt;br /&gt;
====Examples====&lt;br /&gt;
&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Slower&amp;quot;, FPSDivisor=2, ShutterBlur=1, ShutterAngleSrc=30,  ShutterAngleOut=180 ) # Smooth single-rate output, when input has little blur&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Slower&amp;quot;, FPSDivisor=2, ShutterBlur=1, ShutterAngleSrc=180, ShutterAngleOut=180 ) # Keep &amp;quot;film&amp;quot; look on single-rate output, &amp;quot;film&amp;quot; input&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Slower&amp;quot;, FPSDivisor=2, ShutterBlur=2, ShutterAngleSrc=180, ShutterAngleOut=180, SBlurLimit=8 ) # Same but srongly reduce blur &amp;quot;bleeding&amp;quot;&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Slower&amp;quot;, FPSDivisor=1, ShutterBlur=1, ShutterAngleSrc=0,   ShutterAngleOut=720 ) # Blur some high shutter-speed footage, keep double rate&lt;br /&gt;
                                                                                                # [Use of artificially high shutter angles is limited]&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous Settings===&lt;br /&gt;
&lt;br /&gt;
Settings not covered above. Note that Border is false by default, which differs from TempGaussMC&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Border&lt;br /&gt;
| (bool)&lt;br /&gt;
| Pad a little vertically while processing (doesn't affect output size) - set true you see flickering on the very top or bottom line of the output. If you have wider edge effects than that, you should crop afterwards instead. Be wary of this setting if reusing QTGMC motion vectors in the calling script. Default: '''False'''&lt;br /&gt;
|-&lt;br /&gt;
| Precise&lt;br /&gt;
| (bool)&lt;br /&gt;
| Set to false to use faster algorithms with *very* slight imprecision in places&lt;br /&gt;
|-&lt;br /&gt;
| Preset&lt;br /&gt;
| (string)&lt;br /&gt;
| Sets a range of defaults for different encoding speeds. Select from &amp;quot;Placebo&amp;quot;, &amp;quot;Very Slow&amp;quot;, &amp;quot;Slower&amp;quot;, &amp;quot;Slow&amp;quot;, &amp;quot;Medium&amp;quot;, &amp;quot;Fast&amp;quot;, &amp;quot;Faster&amp;quot;, &amp;quot;Very Fast&amp;quot;, &amp;quot;Super Fast&amp;quot;, &amp;quot;Ultra Fast&amp;quot; &amp;amp; &amp;quot;Draft&amp;quot;. Default: '''&amp;quot;Slower&amp;quot;'''&lt;br /&gt;
|-&lt;br /&gt;
| Tuning&lt;br /&gt;
| (string)&lt;br /&gt;
| Tweaks the defaults for different source types. Choose from &amp;quot;None&amp;quot;, &amp;quot;DV-SD&amp;quot;, &amp;quot;DV-HD&amp;quot;. Default: '''&amp;quot;None&amp;quot;''' [An idea for development based on the x264 approach, but as I don't work with many source types it has seen little development]&lt;br /&gt;
|-&lt;br /&gt;
| ShowSettings&lt;br /&gt;
| (bool)&lt;br /&gt;
| Display all the current parameter values - useful to find preset defaults. Default: '''False'''&lt;br /&gt;
|-&lt;br /&gt;
| GlobalNames&lt;br /&gt;
| (string)&lt;br /&gt;
| The name used to expose intermediate clips to calling script. See External Linkage section. Default: '''QTGMC'''&lt;br /&gt;
|-&lt;br /&gt;
| PrevGlobals&lt;br /&gt;
| (string)&lt;br /&gt;
| What to do with global variables from earlier QTGMC call that match above name. Either &amp;quot;Replace&amp;quot;, or &amp;quot;Reuse&amp;quot; (for a speed-up). Default: '''Undefined'''&lt;br /&gt;
|-&lt;br /&gt;
| ForceTR&lt;br /&gt;
| (0,1,2,3)&lt;br /&gt;
| Ensure globally exposed motion vectors are calculated to this radius even if not needed by QTGMC. 0 = disabled. Default: '''0'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Default for Precise depends on Preset.&lt;br /&gt;
&lt;br /&gt;
==External Linkage==&lt;br /&gt;
===Accessing QTGMC Motion Vectors===&lt;br /&gt;
QTGMC now exposes its motion vectors and other intermediate clips to the calling script through global variables. These globals are uniquely named. By default they begin with the prefix &amp;quot;QTGMC_&amp;quot;. The available clips are:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Backward motion vectors&lt;br /&gt;
| bVec1, bVec2, bVec3 (temporal radius 1 to 3)&lt;br /&gt;
|-&lt;br /&gt;
| Forward motion vectors&lt;br /&gt;
| fVec1, fVec2, fVec3&lt;br /&gt;
|-&lt;br /&gt;
| Filtered clip used for motion analysis&lt;br /&gt;
| srchClip&lt;br /&gt;
|-&lt;br /&gt;
| MVTools &amp;quot;super&amp;quot; clip for filtered clip&lt;br /&gt;
| srchSuper&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Not all these clips are necessarily created - it depends on your QTGMC settings. To ensure motion vector creation to radius X, set ForceTR=X&lt;br /&gt;
&lt;br /&gt;
====Example====&lt;br /&gt;
&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Medium&amp;quot;, ForceTR=2, SubPel=2 )  # Ensure we get temporal radius of at least 2, read note below regarding SubPel&lt;br /&gt;
 super = MSuper( pel=2, levels=1 )              # Faster to use levels=1, don't usually need more levels once you have the vectors&lt;br /&gt;
 MDegrain2( super, QTGMC_bVec1,QTGMC_fVec1, QTGMC_bVec2,QTGMC_fVec2 )  # Use QTGMC-created motion vectors&lt;br /&gt;
&lt;br /&gt;
====Important Notes====&lt;br /&gt;
&lt;br /&gt;
* The SubPel setting to QTGMC must match the pel setting in MVTools or you will get visual errors or crashes. Default SubPel in QTGMC varies depending on Preset, &amp;quot;Medium&amp;quot; and quicker settings get SubPel=1, slower settings get SubPel=2. Default pel in MVTools is 2&lt;br /&gt;
* Do not use Border=true if using motion vectors in this way, or the clips exposed will have an 8 pixel border top and bottom (i.e. they won't match your source)&lt;br /&gt;
&lt;br /&gt;
===Multiple QTGMC Calls===&lt;br /&gt;
The section above showed how global variables are used to expose the workings of QTGMC. However, if there are multiple calls to QTGMC in your script then you should consider whether they should work together with their exposed globals. By default the globals for each call to QTGMC will overwrite the globals from previous calls. However there are actually three options in this case:&lt;br /&gt;
&lt;br /&gt;
* Use the setting GlobalNames to make unique global names for each call. E.g. if you set GlobalNames=&amp;quot;TestA&amp;quot; you will receive a global called TestA_bVec1.&lt;br /&gt;
* Set PrevGlobals=&amp;quot;Reuse&amp;quot; to reuse existing similar named globals for this run &amp;amp; not recalculate motion vectors etc. This will improve performance.&lt;br /&gt;
* Set PrevGlobals=&amp;quot;Replace&amp;quot; to overwrite similar named globals from a previous run. This is the default and easiest option for most use cases.&lt;br /&gt;
&lt;br /&gt;
Here's an artifical example of multiple calls in a script to show the options:&lt;br /&gt;
&lt;br /&gt;
 q1 = c.QTGMC( Preset=&amp;quot;Medium&amp;quot; )  # QTGMC_bVec1 and similar variables are created&lt;br /&gt;
 q2 = c.QTGMC( Preset=&amp;quot;Medium&amp;quot; )  # Recalculates and replaces variables QTGMC_bVec1 and similar with new values (same as setting PrevGlobals=&amp;quot;Replace&amp;quot;)&lt;br /&gt;
 q3 = c.QTGMC( Preset=&amp;quot;Medium&amp;quot;, PrevGlobals=&amp;quot;Reuse&amp;quot;   )  # Reuses QTGMC_bVec1 motion vectors from q2 above. Doesn't recalculate, improving performance&lt;br /&gt;
 q4 = c.QTGMC( Preset=&amp;quot;Medium&amp;quot;, GlobalNames=&amp;quot;TestA&amp;quot;   )  # Creates new variables called TestA_bVec1...&lt;br /&gt;
 q5 = c.QTGMC( Preset=&amp;quot;Medium&amp;quot;, GlobalNames=&amp;quot;TestA&amp;quot;, PrevGlobals=&amp;quot;Reuse&amp;quot; ) # Reuses the TestA_bVec1 motion vectors&lt;br /&gt;
&lt;br /&gt;
Here's a realistic example. This simple script repairs progressive material with very bad deinterlacing artefacts. It needs two calls to QTGMC:&lt;br /&gt;
&lt;br /&gt;
 t = QTGMC( Preset=&amp;quot;Slower&amp;quot;, InputType=2 )&lt;br /&gt;
 b = QTGMC( Preset=&amp;quot;Slower&amp;quot;, InputType=3, PrevGlobals=&amp;quot;Reuse&amp;quot; ) # Reuse motion vectors from first call for a good speed-up&lt;br /&gt;
 Repair( t, b, 1 )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TempGaussMC Notes==&lt;br /&gt;
In its default setup this script is very similar in operation to TempGaussMC_beta2. The call QTGMC() is very similar to:&lt;br /&gt;
&lt;br /&gt;
 TempGaussMC_beta2( 2,2,1, Border=false, SVthin=0.0 )&lt;br /&gt;
&lt;br /&gt;
There are a few key differences:&lt;br /&gt;
&lt;br /&gt;
* QTGMC typically uses &amp;quot;NNEDI3&amp;quot; for interpolation (TempGaussMC_beta2 uses &amp;quot;EEDI2&amp;quot; by default)&lt;br /&gt;
* Sharpness default in QTGMC is always 1.0 (or 0.2 if using source-match) - adjusted internally to give very roughly the same sharpness across settings / presets&lt;br /&gt;
* In QTGMC, SVThin defaults to 0, Border defaults to false&lt;br /&gt;
* Lossless and Draft modes are supported but in a different way&lt;br /&gt;
* The parameter order is the same up to EdiMode, a couple of 'lesser' parameters have had name changes for consistency&lt;br /&gt;
&lt;br /&gt;
==Acknowledgements==&lt;br /&gt;
Thanks go to Didée for the script from where this began.&lt;br /&gt;
&lt;br /&gt;
Also thanks to the plugin coders: Manao, Fizick, Tritical, Kassandro, Tsp, SEt, Tom Barry, Foxyshadis, TSchniede, Kurosu, mg262 and any others...&lt;br /&gt;
&lt;br /&gt;
And to the many people who have given feedback, reported bugs and offered suggestions to help improve the script&lt;br /&gt;
&lt;br /&gt;
==External Links:==&lt;br /&gt;
[http://www.mediafire.com/?1h1r5tf2t9t8rq1 Spanish Instructions (3.32)] by Overdrive80&lt;br /&gt;
&lt;br /&gt;
[[Category:External filters]]&lt;br /&gt;
[[Category:Deinterlacers]]&lt;/div&gt;</summary>
		<author><name>SilverbackNet</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/QTGMC</id>
		<title>QTGMC</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/QTGMC"/>
				<updated>2014-05-29T02:50:11Z</updated>
		
		<summary type="html">&lt;p&gt;SilverbackNet: Partial rewrite based on the full help. Not terribly pretty.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Filter|Vit|3.32|3=[http://www.mediafire.com/?su7l5jtcobabksk Download (3.32), with English instructions]&amp;lt;br/&amp;gt;[http://www.mediafire.com/?nm188lh2oam487m Plugin Package with all Requirements]&amp;lt;br/&amp;gt;[http://www.mediafire.com/?mfs7bp2rprbhp22 Plugin Package for multithreading]&amp;lt;br/&amp;gt;[[Media:QTGMC-3.32.avsi| QTGMC-3.32.avsi]]|4=Deinterlacers|5=[[YV12]] • [[YUY2]]|7=[https://forum.doom9.org/showthread.php?t=156028 Doom9 Thread]}}&lt;br /&gt;
A very high quality deinterlacer with a range of features for both quality and convenience. These include a simple presets system, extensive noise processing capabilities, support for repair of progressive material, precision source matching, shutter speed simulation, etc. Originally based on [[TempGaussMC]] by Didée.&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
&lt;br /&gt;
Requires the latest version of the following plugins:&lt;br /&gt;
&lt;br /&gt;
* [[MVTools]]&lt;br /&gt;
* [[MaskTools2]]&lt;br /&gt;
* [[nnedi3]]&lt;br /&gt;
* [[RemoveGrain]] (Both RemoveGrainSSE2 and RepairSSE2, do not use SSE3 versions)&lt;br /&gt;
&lt;br /&gt;
Optional plugins:&lt;br /&gt;
&lt;br /&gt;
* [[SSE2Tools]] for YUY2 support (SSE2Tools from RemoveGrain package)&lt;br /&gt;
* [[nnedi2]], [[nnedi]], [[eedi3]], [[eedi2]], [[TDeint]] - if selected manually or via a source-match preset&lt;br /&gt;
* [[Yadif]] - Required for preset=&amp;quot;Ultra Fast&amp;quot; or if selected manually (autoloads only in [[Avisynth+]])&lt;br /&gt;
* [[VerticalCleaner]] - Required for SVThin or Lossless modes&lt;br /&gt;
* [[AddGrainC]] - Required for NoiseDeint=&amp;quot;Generate&amp;quot;&lt;br /&gt;
* [[FFT3DFilter]] or [[dfttest]] - For enabling noise processing&lt;br /&gt;
&lt;br /&gt;
FFT3DFilter and ddftest both need the [http://www.fftw.org/ FFTW3 library] ([http://www.fftw.org/install/windows.html windows builds]). On Windows extract libfftw3f-3.dll, and copy the file to fftw3.dll as well (for FFT3DFilter). Place them in the path, typically System32 or SysWow64 folder (depending on your OS and version of AviSynth).&lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&lt;br /&gt;
Install AviSynth and copy the plugins from the plugin package to the correct locations. Then to use QTGMC, write a script like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
YourSource(&amp;quot;yourfile&amp;quot;)    # DGDecode_mpeg2source, FFVideoSource, AviSource, whatever your source requires&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slow&amp;quot; )&lt;br /&gt;
SelectEven()              # Add this line to keep original frame rate, leave it out for smoother doubled frame rate&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Save this script with an &amp;quot;.avs&amp;quot; extension. You can now use it as an AVI source for encoding.&lt;br /&gt;
&lt;br /&gt;
''Most users should only use presets.'' The &amp;quot;Preset&amp;quot; used selects sensible settings for a given speed. Choose from:&lt;br /&gt;
&lt;br /&gt;
* '''&amp;quot;Placebo&amp;quot; • &amp;quot;Very Slow&amp;quot; • &amp;quot;Slower&amp;quot; • &amp;quot;Slow&amp;quot; • &amp;quot;Medium&amp;quot; • &amp;quot;Fast&amp;quot; • &amp;quot;Faster&amp;quot; • &amp;quot;Very Fast&amp;quot; • &amp;quot;Super Fast&amp;quot; • &amp;quot;Ultra Fast&amp;quot; • &amp;quot;Draft&amp;quot;'''&lt;br /&gt;
&lt;br /&gt;
The default preset is '''&amp;quot;Slower&amp;quot;'''. Don't be obsessed with using the slowest settings, the differences can be very small for a huge increase in time. In particular HD material benefits less from extreme settings. HD is 6-8 times as slow as SD.&lt;br /&gt;
&lt;br /&gt;
There are many settings for tweaking this script, full details are provided in this documentation. The settings have been divided into categories, which each having key points, a detailed description, settings specifications/defaults, and several examples. The key points and examples should get you going. You can display settings currently being used with ''ShowSettings'':&lt;br /&gt;
&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Slow&amp;quot;, ShowSettings=true )&lt;br /&gt;
&lt;br /&gt;
===Multi-Threaded Usage===&lt;br /&gt;
&lt;br /&gt;
QTGMC is very demanding on your system. For best performance try using it multi-threaded. You will need one of the &amp;quot;MT&amp;quot; versions of Avisynth from the [[Main Page]], only [http://forum.doom9.org/showthread.php?t=148782 2.6.0 MT by SEt] is supported. Use the multithreaded plugin pack in this case.&lt;br /&gt;
&lt;br /&gt;
You need to tweak multi-threaded scripts to suit your system. Here is a basic template - read and follow the comments carefully and provide the values noted (you cannot use this code just as it is):&lt;br /&gt;
&lt;br /&gt;
 SetMTMode(5, ''X'')        # See ''X'' below&lt;br /&gt;
 SetMemoryMax(''M'')        # Optional line. Leave it out at first. See ''M'' below&lt;br /&gt;
 YourSource(&amp;quot;yourfile&amp;quot;) # DGDecode_mpeg2source, FFVideoSource, AviSource, whatever your source requires&lt;br /&gt;
 SetMTMode(2)&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Slow&amp;quot;, EdiThreads=''Y'' ) # Choose preset based on overall speed/quality you want. See ''Y'' below&lt;br /&gt;
 Distributor()          # This line may or may not be necessary, try removing it and see if you get more speed&lt;br /&gt;
&lt;br /&gt;
====SetMTMode ''X''====&lt;br /&gt;
* Start at the number of logical cores in your machine (note: with HyperThreading enabled, logical cores = 2x physical cores)&lt;br /&gt;
* If it crashes, decrease 1 at a time&lt;br /&gt;
* Otherwise increase 1 at a time until CPU usage just reaches 100%, don't go too far or it will slow down&lt;br /&gt;
&lt;br /&gt;
====EdiThreads ''Y''====&lt;br /&gt;
* Start at about half number of cores and tweak upwards or downwards (but don't choose 0)&lt;br /&gt;
* Reducing this value may help stability, and might allow you to increase X for an overall speedup&lt;br /&gt;
&lt;br /&gt;
====SetMemoryMax ''M''====&lt;br /&gt;
* First try without the SetMemoryMax line&lt;br /&gt;
* However, selecting a good SetMemoryMax value might better utilise memory and increase stability. Particularly important for slower settings&lt;br /&gt;
* Try values 400,600,800,1000 etc. Sometimes reducing this value can allow you to increase X for a speedup&lt;br /&gt;
&lt;br /&gt;
====Notes====&lt;br /&gt;
* '''Do not use MT()'''.&lt;br /&gt;
* There are occasional instabilities with multi-threading, because AviSynth and plugins are not quite thread-safe. These instabilities affect different users in different ways: some report no issues, others can barely get multi-threading to work at all. But do try it as the speed increase can be considerable.&lt;br /&gt;
&lt;br /&gt;
==Features / Settings==&lt;br /&gt;
&lt;br /&gt;
'''Key Points''': For basic usage, ''select a preset and leave the core settings alone''.&lt;br /&gt;
&lt;br /&gt;
===Core Settings===&lt;br /&gt;
&lt;br /&gt;
'''Key Points''': Most useful setting is TR2, which controls smoothing of output.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| TR0&lt;br /&gt;
| (1,2)&lt;br /&gt;
| Temporal binomial smoothing radius used to create motion search clip. In general 2=quality, 1=speed&lt;br /&gt;
|-&lt;br /&gt;
| TR1&lt;br /&gt;
| (1,2)&lt;br /&gt;
| Temporal binomial smoothing radius used on interpolated clip for inital output. In general 2=quality, 1=speed&lt;br /&gt;
|-&lt;br /&gt;
| TR2&lt;br /&gt;
| (0,1,2,3)&lt;br /&gt;
| Temporal linear smoothing radius used for final stablization / denoising. Increase for smoother output&lt;br /&gt;
|-&lt;br /&gt;
| Rep0&lt;br /&gt;
| (int)&lt;br /&gt;
| Repair motion search clip (0 = off): repair unwanted blur after temporal smooth TR0&lt;br /&gt;
|-&lt;br /&gt;
| Rep1&lt;br /&gt;
| (int)&lt;br /&gt;
| Repair initial output clip (0 = off): repair unwanted blur after temporal smooth TR1&lt;br /&gt;
|-&lt;br /&gt;
| Rep2&lt;br /&gt;
| (int)&lt;br /&gt;
| Repair final output clip (0 = off): unwanted blur after temporal smooth TR2 (will also repair TR1 blur if Rep1 not used)&lt;br /&gt;
|-&lt;br /&gt;
| RepChroma&lt;br /&gt;
| (bool)&lt;br /&gt;
| Whether the repair modes affect chroma. Default: '''True'''&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
RepX syntax: first digit (0-5): how wide thin shimmering lines can be and still get removed, from 1px to ~3px; second digit (0-3): to restore a bit beyond the detected lines. A single digit counts as the first digit.&lt;br /&gt;
&lt;br /&gt;
====Examples====&lt;br /&gt;
&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Slow&amp;quot;, TR2=3 )  # Strong final smooth (e.g. noisy / shimmery source)&lt;br /&gt;
&lt;br /&gt;
====Algorithm Details====&lt;br /&gt;
&lt;br /&gt;
The core algorithm is this:&lt;br /&gt;
&amp;lt;ol start=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; Bob the source clip. Temporally smooth the bob to remove shimmer then analyse its motion&lt;br /&gt;
&amp;lt;li&amp;gt; More accurately interpolate the source clip (e.g. NNEDI3). Use the motion analysis from previous step to temporally smooth this interpolate with motion compensation. This removes shimmer whilst retaining detail. Resharpen the result to counteract any blurring&lt;br /&gt;
&amp;lt;li&amp;gt; A final light temporal smooth to clean the result&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Stages 0 &amp;amp; 1 use a binomial smooth (similar to a Gaussian) to remove deinterlacing shimmer. Stage 2 uses a simple linear smoothing. Each stage's temporal radius (the number of frames out from the current) is given in the settings '''TR0''', '''TR1''' and '''TR2'''.&lt;br /&gt;
&lt;br /&gt;
The shimmer reduction is critical for the algorithm so TR0 and TR1 should be at least 1. TR0 only affects the motion analysis and is only indirectly visible, increasing it to 2 will generally give a better motion match. Increasing TR1 and TR2 will create a smoother and more stable output and more strongly denoise; the downside is increased blurring and possibly lost detail, and potentially can cause stronger artifacts where motion analysis is inaccurate. The blur is partially counteracted by the sharpening settings.&lt;br /&gt;
&lt;br /&gt;
The deinterlacer primarily tries to reduce &amp;quot;bob shimmer&amp;quot;: horizontal lines of shimmer created when interpolating an interlaced stream. Consequently any changes made to the initial interpolation (e.g. NNEDI3) are expected to be horizontal lines of change only. The repair stages '''Rep0''', '''Rep1''' and '''Rep2''' occur after each temporal smooth. They only allow such horizontal lines of change - shimmer fixes, discarding other changes. This prevents the motion blur&lt;br /&gt;
that temporal smoothing could generate. The repX settings control the size of areas to allow through. (See the ''QTGMC_KeepOnlyBobShimmerFixes'' function comments for more detail.)&lt;br /&gt;
&lt;br /&gt;
===Motion Analysis===&lt;br /&gt;
&lt;br /&gt;
'''Key Points''': The presets make sensible choices for motion analysis. Some sources or requirements may require tweaks, but read these and MVTools2 docs first.&lt;br /&gt;
&lt;br /&gt;
The bobbed source clip is sent to the MVTools2 plugin to perform motion analysis. Almost all these settings are used directly in MVTools2 functions. Read the MVTools2 documentation for more details on their purpose. Some settings can be altered for a speed / accuracy tradeoff. Less accurate motion search can result in blurring and/or oversharpening (in different circumstances) as well as slight distortions of visual elements. The faster presets gain speed by simplifying the motion search parameters, use the &amp;quot;ShowSettings&amp;quot; parameter or look at the table a short way into the script to see how.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| SrchClipPP&lt;br /&gt;
| (0,1,2,3)&lt;br /&gt;
| Pre-filtering for motion search clip, 0 = none, 1 = simple blur, 2 = Gauss blur, 3 = Gauss blur + edge soften&lt;br /&gt;
|-&lt;br /&gt;
| SubPel&lt;br /&gt;
| (1,2,4)&lt;br /&gt;
| Sub-pixel accuracy for motion analysis (1 = 1 pixel, 2 = 1/2 pixel, 4 = 1/4 pixel)&lt;br /&gt;
|-&lt;br /&gt;
| SubPelInterp&lt;br /&gt;
| (0,1,2)&lt;br /&gt;
| Interpolation used for sub-pixel motion analysis: 0 = bilinear (soft), 1 = bicubic (sharper), 2 = Weiner (sharpest) Default: '''2'''&lt;br /&gt;
|-&lt;br /&gt;
| Blocksize&lt;br /&gt;
| (4,8,16,32)&lt;br /&gt;
| Size of blocks that are matched during motion analysis&lt;br /&gt;
|-&lt;br /&gt;
| Overlap&lt;br /&gt;
| (0-Blocksize/2)&lt;br /&gt;
| How much to overlap motion analysis blocks (requires more blocks, but essential to smooth block edges in motion compenstion)&lt;br /&gt;
|-&lt;br /&gt;
| Search&lt;br /&gt;
| (0...5)&lt;br /&gt;
| Search method used for matching motion blocks - see MVTools2 documentation for available algorithms&lt;br /&gt;
|-&lt;br /&gt;
| SearchParam&lt;br /&gt;
| (0...)&lt;br /&gt;
| Parameter for search method chosen. For default search method (hexagon search) it is the search range&lt;br /&gt;
|-&lt;br /&gt;
| PelSearch&lt;br /&gt;
| (0...)&lt;br /&gt;
| Search parameter (as above) for the finest sub-pixel level (see SubPel)&lt;br /&gt;
|-&lt;br /&gt;
| ChromaMotion&lt;br /&gt;
| (bool)&lt;br /&gt;
| Whether to consider chroma when analyzing motion. Setting to false gives good speed-up, but may very occasionally make incorrect motion decision.&lt;br /&gt;
|-&lt;br /&gt;
| TrueMotion&lt;br /&gt;
| (bool)&lt;br /&gt;
| Whether to use the 'truemotion' defaults from MAnalyse (see MVTools2 documentation) Default: '''False'''&lt;br /&gt;
|-&lt;br /&gt;
| Lambda&lt;br /&gt;
| (0...)&lt;br /&gt;
| Motion vector field coherence - how much the motion analysis favors similar motion vectors for neighboring blocks. Should be scaled by BlockSize*BlockSize/64&lt;br /&gt;
|-&lt;br /&gt;
| LSAD&lt;br /&gt;
| (0...)&lt;br /&gt;
| How much to reduce need for vector coherence (i.e. Lambda above) if prediction of motion vector from neighbors is poor, typically in areas of complex motion. This value is scaled in MVTools (unlike Lambda)&lt;br /&gt;
|-&lt;br /&gt;
| PNew&lt;br /&gt;
| (0...)&lt;br /&gt;
| Penalty for choosing a new motion vector for a block over an existing one - avoids chosing new vectors for minor gain&lt;br /&gt;
|-&lt;br /&gt;
| PLevel&lt;br /&gt;
| (0,1,2)&lt;br /&gt;
| Mode for scaling lambda across different sub-pixel levels - see MVTools2 documentation for choices&lt;br /&gt;
|-&lt;br /&gt;
| GlobalMotion&lt;br /&gt;
| (bool)&lt;br /&gt;
| Whether to estimate camera motion to assist in selecting block motion vectors. Default: '''True'''&lt;br /&gt;
|-&lt;br /&gt;
| DCT&lt;br /&gt;
| (0...10)&lt;br /&gt;
| Modes to use DCT (frequency analysis) or SATD as part of the block matching process - see MVTools2 documentation for choices.  Default: '''0'''&lt;br /&gt;
|-&lt;br /&gt;
| ThSAD1&lt;br /&gt;
| (0...)&lt;br /&gt;
| SAD threshold for block match on shimmer-removing temporal smooth (''TR1''). Increase to reduce bob-shimmer more (may smear/blur) Default: '''640'''&lt;br /&gt;
|-&lt;br /&gt;
| ThSAD2&lt;br /&gt;
| (0...)&lt;br /&gt;
| SAD threshold for block match on final denoising temporal smooth (''TR2''). Increase to strengthen final smooth (may smear/blur) Default: '''256'''&lt;br /&gt;
|-&lt;br /&gt;
| ThSCD1&lt;br /&gt;
| (0...)&lt;br /&gt;
| Scene change detection parameter 1 - see MVTools documentation. Default: '''180'''&lt;br /&gt;
|-&lt;br /&gt;
| ThSCD2&lt;br /&gt;
| (0...)&lt;br /&gt;
| Scene change detection parameter 2 - see MVTools documentation. Default: '''98'''&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
Defaults: &lt;br /&gt;
&lt;br /&gt;
TrueMotion is false : Lambda = '''(1000 * BlockSize2)/64''', LSAD='''400''',  PNew='''25''', PLevel='''0'''&lt;br /&gt;
&lt;br /&gt;
TrueMotion is true  : Lambda = '''(100  * BlockSize2)/64''', LSAD='''1200''', PNew='''50''', PLevel='''1'''&lt;br /&gt;
&lt;br /&gt;
Other settings defaults are determined by preset.&lt;br /&gt;
&lt;br /&gt;
===Interpolation===&lt;br /&gt;
&lt;br /&gt;
'''Key Points''': Interpolation affects quality and speed. The presets can be relied on to provide sensible defaults mostly using NNEDI3.&lt;br /&gt;
&lt;br /&gt;
The first step to create the deinterlaced output is to spatially interpolate a single half-height field into a full-height frame. A variety of interpolators are supported, with various settings to control the quality/speed of the output.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| EdiMode&lt;br /&gt;
| (string)&lt;br /&gt;
| Interpolation method, from &amp;quot;NNEDI3&amp;quot;, &amp;quot;NNEDI2&amp;quot;, &amp;quot;NNEDI&amp;quot;, &amp;quot;EEDI3+NNEDI3&amp;quot; (EEDI3 with sclip from NNEDI3), &amp;quot;EEDI3&amp;quot;, &amp;quot;EEDI2&amp;quot;, &amp;quot;Yadif&amp;quot;, &amp;quot;TDeint&amp;quot; or &amp;quot;RepYadif&amp;quot; (&amp;quot;repaired&amp;quot; Yadif), anything else uses &amp;quot;Bob&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| ChromaEdi&lt;br /&gt;
| (string)&lt;br /&gt;
| Interpolation method used for chroma. Set to &amp;quot;&amp;quot; to use EdiMode above (default). Otherwise choose from &amp;quot;NNEDI3&amp;quot;, &amp;quot;Yadif&amp;quot; or &amp;quot;Bob&amp;quot; - all high speed variants. This can give a minor speed-up if using a very slow EdiMode (i.e. one of the EEDIx modes) Default: '''&amp;quot;&amp;quot;'''&lt;br /&gt;
|-&lt;br /&gt;
| NNSize&lt;br /&gt;
| (0...6)&lt;br /&gt;
| Area around each pixel used as predictor for NNEDI3. A larger area is slower with better quality, read the NNEDI3 docs to see the area choices. Note: area sizes are not in increasing order (i.e. increased value doesn't always mean increased quality)&lt;br /&gt;
|-&lt;br /&gt;
| NNeurons&lt;br /&gt;
| (0...4)&lt;br /&gt;
| Controls number of neurons in NNEDI2 (0-2) &amp;amp; NNEDI3 (0-4), larger = slower and better quality but improvements are small&lt;br /&gt;
|-&lt;br /&gt;
| EdiQual&lt;br /&gt;
| (1,2,3)&lt;br /&gt;
| Quality setting for NNEDI2 (1,2,3) &amp;amp; NNEDI3 (1,2 only). Higher values for better quality - but improvements are marginal&lt;br /&gt;
|-&lt;br /&gt;
| EdiMaxD&lt;br /&gt;
| (1...)&lt;br /&gt;
| Spatial search distance for finding connecting edges in EEDI2 and EEDI3&lt;br /&gt;
|-&lt;br /&gt;
| EdiThreads&lt;br /&gt;
| (0...)&lt;br /&gt;
| Number of threads to use in EEDI3 &amp;amp; NNEDI2/3, 0 = default = number of logical processors on system. Also affects source-match interpolations. Source-match can add 2 further interpolations per frame, adjusting this setting can help balance system load. Default: '''0'''&lt;br /&gt;
|-&lt;br /&gt;
| EdiExt&lt;br /&gt;
| (clip)&lt;br /&gt;
| Provide externally created interpolated clip rather than use one of the above modes. Default: '''undefined'''&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
Other settings defaults are determined by preset.&lt;br /&gt;
&lt;br /&gt;
====Examples====&lt;br /&gt;
&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Slow&amp;quot;, EdiMode=&amp;quot;EEDI3&amp;quot;, EdiMaxD=16 ) # Use EEDI3 with an explicit search radius&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Very Slow&amp;quot;, EdiThreads=2 )           # Specify number of threads (with default NNEDI3) useful to tweak if using SetMTMode or source-match&lt;br /&gt;
&lt;br /&gt;
===Sharpness===&lt;br /&gt;
&lt;br /&gt;
Key Points: Always consider adjusting the Sharpness setting to taste. The default 1.0 is fairly sharp. If using source-match the default is 0.2&lt;br /&gt;
&lt;br /&gt;
The core of the algorithm involves a binomial smooth to remove shimmer. So the result needs to be resharpened to counteract this blur. The main setting Sharpness defaults to 1.0, which is a level designed to retain the sharpness of stable areas. However, this level can cause moving areas to be oversharpened so you may wish to reduce the value depending on source. Sharpness when using source-match behaves differently, see that section. The sharpness processing for a given setting is tweaked to remain roughly similar regardless of other settings. However, there will be minor differences, so always consider adjusting sharpness if you tweak other major settings.&lt;br /&gt;
&lt;br /&gt;
Oversharpening is limited either spatially (SLMode = 1,3) or temporally (SLMode = 2,4). Temporal limiting is more &amp;quot;correct&amp;quot; but also more aggressive in preventing sharpening. It's also slower. You can set a small value in the overshoot setting (SOvs) to give the temporal limiting a bit of &amp;quot;headroom&amp;quot;. You can also perform sharpness limiting later in the algorithm (SLMode = 3,4) for more sharpness, but with the potential for minor artefacts.&lt;br /&gt;
Settings 	  	 &lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Sharpness&lt;br /&gt;
| (0.0...)&lt;br /&gt;
| How much to resharpen the temporally blurred clip (default is always 1.0 unlike original TGMC)&lt;br /&gt;
|-&lt;br /&gt;
| SMode&lt;br /&gt;
| (0,1,2)&lt;br /&gt;
| Resharpening mode:  0 = none, 1 = difference from 3x3 blur kernel, 2 = vertical max/min average + 3x3 kernel&lt;br /&gt;
|-&lt;br /&gt;
| SLMode&lt;br /&gt;
| (0,1,2,3,4)&lt;br /&gt;
| Sharpness limiting: 0 = off, [1 = spatial, 2 = temporal] : before final temporal smooth, [3 = spatial, 4 = temporal] : after final temporal smooth&lt;br /&gt;
|-&lt;br /&gt;
| SLRad&lt;br /&gt;
| (0...)&lt;br /&gt;
| Temporal or spatial radius used with sharpness limiting (depends on SLMode). Temporal radius can only be 0,1 or 3&lt;br /&gt;
|-&lt;br /&gt;
| SOvs&lt;br /&gt;
| (0...255)&lt;br /&gt;
| Amount of overshoot allowed with temporal sharpness limiting (SLMode = 2,4), i.e. allow some oversharpening. Default: '''0'''&lt;br /&gt;
|-&lt;br /&gt;
| SVThin&lt;br /&gt;
| (0.0...)&lt;br /&gt;
| How much to thin down 1-pixel wide lines that have been widened due to interpolation into neighboring field lines. Default: '''0.0'''&lt;br /&gt;
|-&lt;br /&gt;
| Sbb&lt;br /&gt;
| (0,1,2,3)&lt;br /&gt;
| Back blend (blurred) difference between pre &amp;amp; post sharpened clip (minor fidelity improvement): 0 = Off, 1 = before (1st) sharpness limiting, 2 = after (1st) sharpness limiting, 3 = both. Default: '''0'''&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
Other settings defaults are determined by preset.&lt;br /&gt;
&lt;br /&gt;
====Examples====&lt;br /&gt;
&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Slow&amp;quot;, Sharpness=0.4 )           # Reduce oversharpening&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Slow&amp;quot;, Sharpness=1.2, SLMode=1 ) # Increase sharpness, use spatial sharpness limiting (which typically allows more sharpening)&lt;br /&gt;
&lt;br /&gt;
===Source Match / Lossless===&lt;br /&gt;
&lt;br /&gt;
Very detailed section for new feature [documentation likely to be thinned as feature matures]&lt;br /&gt;
Note: the effects of this feature are both subtle and precise, intended only for exacting detail. Make sure you can see exacting detail first.&lt;br /&gt;
&lt;br /&gt;
Key Points: Source-match creates higher fidelity output with extra processing. Enable with SourceMatch = 1,2 or 3. Higher values are slower and more accurate. Can combine with Lossless setting (especially Lossless=2) for more detail again. Tweak speed with MatchPreset (like Preset). Will honor artefacts in source, so best used with quality sources. By default Sharpness becomes 0.2 &amp;amp; sharpness limiting (SLMode) is switched off, so adjust sharpness carefully.&lt;br /&gt;
&lt;br /&gt;
Quickstart: The templates below increase in both quality and slowness. Choose a preset as required, the very fastest presets are not suitable though. The default Sharpness=0.2 but you may wish to increase it slightly. Set TR2=1 for clean source, set TR2=2 or TR2=3 (slower) if more denoising required or use noise processing&lt;br /&gt;
&lt;br /&gt;
 QTGMC( Preset=XXXX, SourceMatch=1, Sharpness=XXX, TR2=X )             # Basic mode, fastest&lt;br /&gt;
 QTGMC( Preset=XXXX, SourceMatch=1, Sharpness=XXX, TR2=X, Lossless=2 ) # Good quality, efficient, minor residual combing&lt;br /&gt;
 QTGMC( Preset=XXXX, SourceMatch=2, Sharpness=XXX, TR2=X )             # Good quality, slower, no combing&lt;br /&gt;
 QTGMC( Preset=XXXX, SourceMatch=3, Sharpness=XXX, TR2=X, Lossless=2 ) # Best quality, slowest, very minor residual combing&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Intuitively, a deinterlacer should just inject new fields into the source, leaving the original pixels untouched. The temporal blur/resharpen in this script means that doesn't happen - the source pixels are changed in the output. The (optional) source-match steps attempt to fix this and make the result closer to the source. They work by looking at the difference between output and source at different points in the algorithm and correcting for that difference.&lt;br /&gt;
&lt;br /&gt;
Matching to the source will capture more source detail and reduce oversharpening / haloing. Caveat: the default algorithm temporally smooths but with source-matching much less so (by necessity / design). Source-matching may faithfully recreate artefacts in the source (e.g blocking, banding &amp;amp; some noise) so it's better for quality sources. The SourceMatch setting sets the mode: 0=off (standard [Q]TGMC algorithm), 1,2,3 for progressively more accurate but slower processing. Modes 2 &amp;amp; 3 restore almost exact source detail but are sensitive to noise &amp;amp; introduce occasional aliasing (mode 3 is less affected). Mode 1 is a more conservative halfway stage that rarely introduces artefacts.&lt;br /&gt;
&lt;br /&gt;
Since source-matching recovers sharpness, the Sharpness default is reduced to 0.2. Source-matching may initially appear less sharp than standard processing because it will not oversharpen. However, be careful if raising the sharpness, because sharpness limiting is switched off by default. This is because sharpness limiting reduces the the accuracy of these modes. Use the MatchEnhance setting to exaggerate additional detail found by modes 2 &amp;amp; 3. This gives a sharpening / detail enhancing effect and works well at sensible levels - but it's a slight cheat that should be used with care as it can easily enhance noise. Since source-match is sensitive to source noise you may want to set TR2 to 2 or 3 and/or use some noise processing (see below).&lt;br /&gt;
&lt;br /&gt;
The additional Lossless modes are designed to take source-match to its logical conclusion: Lossless mode 1 restores the *exact* pixels of the source into the output (provided NoiseRestore=0). This recovers a liitle more source detail but can introduce shimmering, minor combing, noise etc. Note the Sharpness and MatchEnhance settings have little effect in lossless mode 1. Lossless mode 2 makes the clip lossless before the sharpening &amp;amp; final temporal smooth. This removes most of the lossless artefacts and also allows sharpness control. This mode will not give an exactly lossless output but it will gain a little more detail.&lt;br /&gt;
&lt;br /&gt;
The source-match settings introduce further processing. SourceMatch mode 1 requires a second interpolation (e.g. NNEDI3), but it can use a lower quality settings than the main stage. SourceMatch mode 2 requires yet another interpolation, but works effectively with just a bob (but using a better interpolator can reduce occasional aliasing). Mode 3 adds just a little more processing and is usually worth it as it reduces artefacts. There is no exact control over the interpolations used (too many settings required), instead there are MatchPresets that work in a similar way to the main Preset. The extra processing suggests much slower speeds, but actually using higher speed presets (both MatchPreset and Preset) with source-matching can give results comparable to slower presets without it. Having said that, the extra detail from source-matching is too subtle to significantly affect very high speed main presets.&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| SourceMatch&lt;br /&gt;
| (0,1,2,3)&lt;br /&gt;
| 0 = Source-matching off (standard algorithm), 1 = basic source-match, 2 = refined match, 3 = twice refined match&lt;br /&gt;
|-&lt;br /&gt;
| Lossless&lt;br /&gt;
| (0,1,2)&lt;br /&gt;
| Puts exact source fields into result &amp;amp; cleans any artefacts. 0=off, 1=after final temporal smooth, 2=before resharpening. Adds some extra detail but: mode 1 gets shimmer / minor combing, mode 2 is more stable/tweakable but not exactly lossless. Default: '''0'''&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|colspan=2| &amp;lt;small&amp;gt;for SourceMatch=1,2,3&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| MatchPreset&lt;br /&gt;
| (string)&lt;br /&gt;
| Speed/quality for basic source-match processing, select from &amp;quot;Placebo&amp;quot;, &amp;quot;Very Slow&amp;quot;, &amp;quot;Slower&amp;quot;, &amp;quot;Slow&amp;quot;, &amp;quot;Medium&amp;quot;, &amp;quot;Fast&amp;quot;, &amp;quot;Faster&amp;quot;, &amp;quot;Very Fast&amp;quot;, &amp;quot;Super Fast&amp;quot;, &amp;quot;Ultra Fast&amp;quot; (no &amp;quot;Draft&amp;quot;). Ideal choice is the same as main preset, but can choose a faster setting (but not slower). Default: '''3 steps faster than MatchPreset'''&lt;br /&gt;
|-&lt;br /&gt;
| MatchEdi&lt;br /&gt;
| (string)&lt;br /&gt;
| Override default interpolation method for basic source-match. Default method is same as main EdiMode setting (usually NNEDI3). Only need to override if using slow method for main interpolation (e.g. EEDI3) and want a faster method for source-match. Default: '''EdiMode'''&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|colspan=2| &amp;lt;small&amp;gt;for SourceMatch=2,3&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| MatchPreset2&lt;br /&gt;
| (string)&lt;br /&gt;
| Speed/quality for refined source-match processing, select from &amp;quot;Placebo&amp;quot;, &amp;quot;Very Slow&amp;quot;, &amp;quot;Slower&amp;quot;, &amp;quot;Slow&amp;quot;, &amp;quot;Medium&amp;quot;, &amp;quot;Fast&amp;quot;, &amp;quot;Faster&amp;quot;, &amp;quot;Very Fast&amp;quot;, &amp;quot;Super Fast&amp;quot;, &amp;quot;Ultra Fast&amp;quot; (no &amp;quot;Draft&amp;quot;). Faster settings are usually sufficient, but slower settings are useful if you get extra aliasing. Default: '''2 steps faster than MatchPreset'''&lt;br /&gt;
|-&lt;br /&gt;
| MatchEdi2&lt;br /&gt;
| (string)&lt;br /&gt;
| Override interpolation method for refined source-match. Can be a good idea to pick MatchEdi2=&amp;quot;Bob&amp;quot; for speed. Default: '''NNEDI3'''&lt;br /&gt;
|-&lt;br /&gt;
| MatchTR2&lt;br /&gt;
| (0,1,2)&lt;br /&gt;
| Temporal radius for refined source-matching. 2=smoothness, 1=speed/sharper, 0=not recommended. Differences are very marginal. Basic source-match doesn't need this setting as its temporal radius must match TR1 core setting (i.e. there is no MatchTR1). Default: '''1'''&lt;br /&gt;
|-&lt;br /&gt;
| MatchEnhance&lt;br /&gt;
| (0.0...)&lt;br /&gt;
| Enhance the detail found by source-match modes 2 &amp;amp; 3. A slight cheat - will enhance noise if set too strong. Best set &amp;lt; 1.0. Default: '''0.5'''&lt;br /&gt;
|}&lt;br /&gt;
  	  	 &lt;br /&gt;
Defaults changes:&lt;br /&gt;
* MatchEdi is &amp;quot;Yadif&amp;quot; when MatchPreset=&amp;quot;Ultra Fast&amp;quot;&lt;br /&gt;
* MatchEdi2 is &amp;quot;TDeint&amp;quot; when MatchPreset=&amp;quot;Super Fast&amp;quot;, or &amp;quot;Bob&amp;quot; when MatchPreset=&amp;quot;Ultra Fast&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====Examples====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slow&amp;quot;, SourceMatch=1 )                # Enable basic source-match. Result somewhat closer to source.&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slow&amp;quot;, SourceMatch=1, Sharpness=0.4 ) # Basic source-match but sharper (up from 0.2). Be careful as sharpness limiting defaults to off&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slow&amp;quot;, SourceMatch=1, Lossless=2 )    # Basic source-match with &amp;quot;fake&amp;quot; lossless. Efficient setting for quality, may bring minor combing&lt;br /&gt;
 &lt;br /&gt;
QTGMC( Preset=&amp;quot;Medium&amp;quot;, SourceMatch=2, TR2=2 )       # Refined source-match, closer to source with no combing, slower. Increased TR2 reduces noise&lt;br /&gt;
 &lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, SourceMatch=3 )              # Twice refined source-match, higher quality than mode 2, but a little bit slower again&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, SourceMatch=3, Lossless=2 )  # Twice refined source-match with fake lossless. Almost perfect fidelity mode with few artefacts&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, SourceMatch=3, Lossless=1 )  # Twice refined source-match with true lossless. Exact detail, but likely combing and shimmer&lt;br /&gt;
 &lt;br /&gt;
QTGMC( Preset=&amp;quot;Slow&amp;quot;, SourceMatch=3, Lossless=2, MatchEnhance=0.75 ) # Further enhance detail found by refined match, a little sharper, may be noisier&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slow&amp;quot;, SourceMatch=3, Lossless=2, MatchEnhance=0.75, NoiseProcess=1, NoiseRestore=0.7, Sigma=1.5 ) # As above, denoise a little to help&lt;br /&gt;
 &lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, MatchPreset=&amp;quot;Very Fast&amp;quot;, SourceMatch=1 ) # Faster basic source-match preset (defaults to 3 steps faster than main Preset)&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, MatchPreset=&amp;quot;Faster&amp;quot;, MatchPreset2=&amp;quot;Ultra Fast&amp;quot;, SourceMatch=3 ) # Faster refined source-match preset as well&lt;br /&gt;
                                                                                         # (defaults to 2 steps faster than basic match Preset)&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, MatchPreset=&amp;quot;Slow&amp;quot;, MatchPreset2=&amp;quot;Slow&amp;quot;, SourceMatch=3 ) # Or use slower source-match presets (usually unnecessary)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Noise Bypass / Denoising===&lt;br /&gt;
&lt;br /&gt;
Key Points: QTGMC can remove, retain or strengthen noise and very fine detail. Has automatic &amp;quot;EZ&amp;quot; settings for simple operation. Refer to examples below&lt;br /&gt;
&lt;br /&gt;
The use of multiple temporal smooths means that this script denoises by default. QTGMC can extract some noise/grain from the source at the start, then optionally restore some of it back in again at the end. This allows either denoising, or for the grain/noise from the source to be retained. For simplest operation use one of the two automatic &amp;quot;EZ&amp;quot; modes, EZDenoise or EZKeepGrain (can only use one at once) and select a NoisePreset. For manual operation there are two modes: NoiseProcess=1 actually denoises at the start, whereas NoiseProcess=2 just identifies the noise in the source without removing it. NoiseProcess=1 is typically used for stronger denoising of the output, and NoiseProcess=2 is used to retain grain or for a very light denoise.&lt;br /&gt;
&lt;br /&gt;
Manual operation: after selecting a mode, set a Sigma value to estimate the level of source noise. Use the ShowNoise setting to help in this choice. Then decide how much of that noise to restore after the deinterlace. There are two restore points called GrainRestore/NoiseRestore, the amount of noise restored depends on their sum. For full denoising set them both to 0. For grain retention, a good starting point is 0.7/0.3 for NoiseProcess=1, and 0.3/0.1 for NoiseProcess=2. GrainRestore restores more stable &amp;quot;grain-like&amp;quot; detail. NoiseRestore restores finer more fluctuating noise. Usually best if GrainRestore is greater than NoiseRestore unless you want a very noisy look. Too high restoral values will give grain exaggeration and even luma changes.&lt;br /&gt;
&lt;br /&gt;
Important: You must use a non-zero value in one of EZDenoise, EZKeepGrain or NoiseProcess or no noise processing will occur&lt;br /&gt;
{|&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|colspan=2| &amp;lt;small&amp;gt;Quick Settings&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| EZDenoise&lt;br /&gt;
| (0.0...)&lt;br /&gt;
| Automatic setting to denoise source. Set &amp;gt; 0.0 to enable. Higher values denoise more. Can use ShowNoise to help choose value&lt;br /&gt;
|-&lt;br /&gt;
| EZKeepGrain&lt;br /&gt;
| (0.0...)&lt;br /&gt;
| Automatic setting to retain source grain/detail. Set &amp;gt; 0.0 to enable. Higher values retain more grain. A good starting point = 1.0&lt;br /&gt;
|-&lt;br /&gt;
| NoisePreset&lt;br /&gt;
| (string)&lt;br /&gt;
| Automatic setting for quality of noise processing. Choices: &amp;quot;Slower&amp;quot;, &amp;quot;Slow&amp;quot;, &amp;quot;Medium&amp;quot;, &amp;quot;Fast&amp;quot;, and &amp;quot;Faster&amp;quot;, Default is &amp;quot;Fast&amp;quot;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|colspan=2| &amp;lt;small&amp;gt;Full Settings&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| NoiseProcess&lt;br /&gt;
| (0,1,2)&lt;br /&gt;
| Bypass mode: 0 = disable, 1 = denoise source &amp;amp; optionally restore some noise back at end of script [use for stronger denoising], 2 = identify noise only &amp;amp; optionally restore some after QTGMC smoothing [for grain retention / light denoising]&lt;br /&gt;
|-&lt;br /&gt;
| ChromaNoise&lt;br /&gt;
| (bool)&lt;br /&gt;
| When processing noise (NoiseProcess &amp;gt; 0), whether to process chroma noise or not (luma noise is always processed)&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|colspan=2| &amp;lt;small&amp;gt;Removing Noise&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Denoiser&lt;br /&gt;
| (string)&lt;br /&gt;
| Select denoiser to use for noise bypass / denoising. Select from &amp;quot;dfttest&amp;quot; or &amp;quot;fft3dfilter&amp;quot;. dfttest is better, but slower. Unknown value selects &amp;quot;fft3dfilter&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| DftThreads&lt;br /&gt;
| (0...)&lt;br /&gt;
| Number of threads to use if using &amp;quot;dfttest&amp;quot; for Denoiser, 0 = number of logical processors on system. Default = EdiThreads&lt;br /&gt;
|-&lt;br /&gt;
| DenoiseMC&lt;br /&gt;
| (bool)&lt;br /&gt;
| Whether to provide a motion-compensated clip to the denoiser for better noise vs detail detection (will be a little slower)&lt;br /&gt;
|-&lt;br /&gt;
| NoiseTR&lt;br /&gt;
| (0,1,2)&lt;br /&gt;
| Temporal radius used when analyzing clip for noise extraction. Higher values better identify noise vs detail but are slower&lt;br /&gt;
|-&lt;br /&gt;
| Sigma&lt;br /&gt;
| (0.0...)&lt;br /&gt;
| Amount of noise known to be in the source, sensible values vary by source and denoiser, so experiment. Use ShowNoise to help&lt;br /&gt;
|-&lt;br /&gt;
| ShowNoise&lt;br /&gt;
| (bool / 0.0...)&lt;br /&gt;
| Display extracted and &amp;quot;deinterlaced&amp;quot; noise rather than normal output. Set to true or false, or set a value (around 4 to 16) to specify contrast for displayed noise. Visualising noise helps to determine suitable value for Sigma or EZDenoise - want to see noise and noisy detail, but not too much clean structure or edges - fairly subjective. Pause the video when checking this&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
|colspan=2| &amp;lt;small&amp;gt;Restoring Noise&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| GrainRestore&lt;br /&gt;
| (0.0...1.0...)&lt;br /&gt;
| How much removed noise/grain to restore before final temporal smooth. Retain &amp;quot;stable&amp;quot; grain and some detail (effect depends on TR2)&lt;br /&gt;
|-&lt;br /&gt;
| NoiseRestore&lt;br /&gt;
| (0.0...1.0...)&lt;br /&gt;
| How much removed noise/grain to restore after final temporal smooth. Retains any kind of noise&lt;br /&gt;
|-&lt;br /&gt;
| NoiseDeint&lt;br /&gt;
| (string)&lt;br /&gt;
| When noise is taken from interlaced source, how to 'deinterlace' it before restoring. &amp;quot;Bob&amp;quot; &amp;amp; &amp;quot;DoubleWeave&amp;quot; are fast but with minor issues: &amp;quot;Bob&amp;quot; is coarse and &amp;quot;Doubleweave&amp;quot; lags by one frame. &amp;quot;Generate&amp;quot; is a high quality mode that generates fresh noise lines, but it is slower. Unknown value selects &amp;quot;DoubleWeave&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| StabilizeNoise&lt;br /&gt;
| (bool)&lt;br /&gt;
| Use motion compensation to limit shimmering and strengthen detail within the restored noise. Recommended for &amp;quot;Generate&amp;quot; mode&lt;br /&gt;
|} &lt;br /&gt;
For most presets the defaults are: NoiseProcess=0, Sigma=2.0, NoiseRestore/GrainRestore=0.0, ChromaNoise=false, DftThreads=EdiThreads, ShowNoise=false&lt;br /&gt;
In &amp;quot;Placebo&amp;quot;, &amp;quot;Very Slow&amp;quot; some defaults change: NoiseProcess=2, GrainRestore=0.3, NoiseRestore=0.1&lt;br /&gt;
EZDenoise and EZKeepGrain set automatic values for NoiseProcess, NoiseRestore/GrainRestore and Sigma&lt;br /&gt;
Denoiser, DenoiseMC, NoiseTR, NoiseDeint and StabilizeNoise settings are determined by NoisePreset&lt;br /&gt;
If using manual settings be sure to override *all* the values you are interested in&lt;br /&gt;
&lt;br /&gt;
====Examples====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Automatic Settings&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, EZDenoise=2.5,   NoisePreset=&amp;quot;Slow&amp;quot;   ) # Automatic denoising, value is denoising strength, preset is quality/speed tradeoff&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, EZKeepGrain=1.0, NoisePreset=&amp;quot;Faster&amp;quot; ) # Automatic grain retention - retain all source grain&lt;br /&gt;
&lt;br /&gt;
# Denoising&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, NoiseProcess=1, NoiseRestore=0.0, Sigma=4.0 ) # Fully denoise, strength of denoising depends on Sigma setting&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, NoiseProcess=1, NoiseRestore=0.0, Denoiser=&amp;quot;dfttest&amp;quot;, DenoiseMC=true, NoiseTR=2, Sigma=4.0 ) # More &amp;quot;accurate&amp;quot; denoising (slower)&lt;br /&gt;
&lt;br /&gt;
# Retain Noise / Grain&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, NoiseProcess=1, NoiseRestore=1.0, Sigma=2.0 ) # Retain *all* the noise / fine detail of a less noisy source&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, NoiseProcess=1, GrainRestore=1.0, Sigma=2.0 ) # Similar to above but only keep the more &amp;quot;stable&amp;quot; noise elements (depends on TR2)&lt;br /&gt;
 &lt;br /&gt;
# Strong Detail / Grain&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, NoiseProcess=2, GrainRestore=0.5, NoiseRestore=0.1, Sigma=2.5 ) # Using stronger mode 2, retains noise and sharpens slightly&lt;br /&gt;
QTGMC( Preset=&amp;quot;Slower&amp;quot;, NoiseProcess=2, GrainRestore=0.4, NoiseRestore=0.2, Sigma=1.8, \&lt;br /&gt;
       NoiseDeint=&amp;quot;Generate&amp;quot;, StabilizeNoise=true )  # As above with better quality, more stable detail and grain&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Progressive Input===&lt;br /&gt;
&lt;br /&gt;
Key Points: Can remove horizontal shimmering effects from progressive sources. Experiment with InputType=1, 2 or 3 for best results. FPS will not be doubled&lt;br /&gt;
&lt;br /&gt;
This script is designed for deinterlacing and so by default expects an interlaced clip. However, much of its operation concerns the reduction of horizontal shimmering. It is possible to use the script to remove similar shimmer from a progressive clip by using the InputType setting. InputType=1 is used for general progressive material that contains less severe problems. InputType=2,3 are designed for badly deinterlaced material with considerable horizontal artefacts. These modes drop half the fields and recreate an interlaced stream from the others, which is then treated in the normal way. Mode 3 differs from mode 2 only in that it complements field parity of the input. Generally mode 1 will retain more detail, but repair less artefacts than modes 2,3. You may consider setting TR2 to a higher value (e.g. 2 or 3) when repairing progressive material.&lt;br /&gt;
&lt;br /&gt;
SourceMatch and Lossless modes are supported for progressive material. It works well for InputType=2,3, where the input is converted to an interlaced stream, and helps in detail retention. Source-match is much less useful for InputType=1&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| InputType&lt;br /&gt;
| (0,1,2,3)&lt;br /&gt;
| Default = 0 for interlaced input. Settings 1,2 &amp;amp; 3 accept progressive input for deshimmer or repair. Frame rate of progressive source is not doubled. Mode 1 is for general progressive material. Modes 2 &amp;amp; 3 are designed for badly deinterlaced material&lt;br /&gt;
|-&lt;br /&gt;
| ProgSADMask&lt;br /&gt;
| (0.0...)&lt;br /&gt;
| Only applies to InputType=2,3. If ProgSADMask &amp;gt; 0.0 then blend InputType modes 1 and 2/3 based on block motion SAD. Higher values help recover more detail, but repair less artefacts. Reasonable range about 2.0 to 20.0, or 0.0 for no blending&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
Defaults: InputType=0, ProgSADMask = 10.0 (slower presets) or 0.0 (faster presets)&lt;br /&gt;
&lt;br /&gt;
====Examples====&lt;br /&gt;
&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Slower&amp;quot;, InputType=1 )                   # Process progressive source, it will be temporally smoothed / deshimmered&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Slower&amp;quot;, InputType=2, ProgSADMask=12.0 ) # Process progressive source with major artefacts, slightly favoring detail over repairs&lt;br /&gt;
&lt;br /&gt;
===Shutter Speed Motion Blur / Frame Rate===&lt;br /&gt;
&lt;br /&gt;
Key Points: Can output video at single or double-frame rate. For smoother playback of single-rate output there are settings to add light motion blur to simulate different shutter angles (shutter speeds)&lt;br /&gt;
&lt;br /&gt;
By default QTGMC outputs video at &amp;quot;double-rate&amp;quot;, twice the frame rate of the source. This is because there are two separate images (fields) in every frame, which the deinterlacing process restores in full. By setting FPSDivisor to 2, every second frame is dropped and the output frame rate is the same as the source (&amp;quot;single-rate&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
Single-rate output may look a little stuttery, depending on how the source was filmed/created. Adding motion blur to each frame can help with this, smoothing the feel of the slower rate playback. This is done by setting ShutterBlur to 1,2 or 3, then specifying the shutter angle that you wish the output to simulate. However, as there may be some motion blur already in the source you also need to specify/estimate the shutter angle used in the source. Shutter angles range from 0 to 360, with 0 being perfectly sharp and 360 being fully blurred from one frame to next (artificial output shutter angles &amp;gt; 360 are supported to a very limited degree). Motion-blur can also be applied to double-rate output, but the effect is less noticable.&lt;br /&gt;
&lt;br /&gt;
As motion analysis is block-based, motion blur of an object can &amp;quot;bleed&amp;quot; into surrounding, more static areas. This can be reduced using the slower ShutterBlur modes or by increasing the SBlurLimit setting (which is enabled and set to 4 by default). Both repair methods may reduce the level of motion blur a little though. In situations of complex motion the motion analysis can be incorrect, which can lead to inappropriate blurring.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| FPSDivisor&lt;br /&gt;
| (1,2...)&lt;br /&gt;
| 1 = Double-rate output, 2 = Single-rate output. Higher values can be used too (e.g. 60fps &amp;amp; FPSDivisor=3 gives 20fps output). '''Important:''' You do not need SelectEven() in the calling script if you use FPSDivisor=2&lt;br /&gt;
|-&lt;br /&gt;
| ShutterBlur&lt;br /&gt;
| (0,1,2,3)&lt;br /&gt;
| 0 = Off, 1 = Enable, 2,3 = Higher precisions (slower). Higher precisions reduce blur &amp;quot;bleeding&amp;quot; into static areas a little&lt;br /&gt;
|-&lt;br /&gt;
| ShutterAngleSrc&lt;br /&gt;
| (0...360)&lt;br /&gt;
| Shutter angle used in source. If necessary, estimate from motion blur seen in a single frame: 0=pin-sharp, 360=fully blurred from frame to frame&lt;br /&gt;
|-&lt;br /&gt;
| ShutterAngleOut&lt;br /&gt;
| (0...360)&lt;br /&gt;
| Shutter angle to simulate in output. Extreme values may be rejected (depends on other settings). Cannot reduce motion blur already in the source&lt;br /&gt;
|-&lt;br /&gt;
| SBlurLimit&lt;br /&gt;
| (0...)&lt;br /&gt;
| Limit motion blur where motion lower than given value. Increase to reduce blur &amp;quot;bleeding&amp;quot;. 0=Off. Sensible range around 2-12&lt;br /&gt;
|} &lt;br /&gt;
Defaults: FPSDivisor=1, ShutterBlur=0, ShutterAngleSrc=180, ShutterAngleOut=180, SBlurLimit=4&lt;br /&gt;
&lt;br /&gt;
====Examples====&lt;br /&gt;
&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Slower&amp;quot;, FPSDivisor=2, ShutterBlur=1, ShutterAngleSrc=30,  ShutterAngleOut=180 ) # Smooth single-rate output, when input has little blur&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Slower&amp;quot;, FPSDivisor=2, ShutterBlur=1, ShutterAngleSrc=180, ShutterAngleOut=180 ) # Keep &amp;quot;film&amp;quot; look on single-rate output, &amp;quot;film&amp;quot; input&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Slower&amp;quot;, FPSDivisor=2, ShutterBlur=2, ShutterAngleSrc=180, ShutterAngleOut=180, SBlurLimit=8 ) # Same but srongly reduce blur &amp;quot;bleeding&amp;quot;&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Slower&amp;quot;, FPSDivisor=1, ShutterBlur=1, ShutterAngleSrc=0,   ShutterAngleOut=720 ) # Blur some high shutter-speed footage, keep double rate&lt;br /&gt;
                                                                                                # [Use of artificially high shutter angles is limited]&lt;br /&gt;
&lt;br /&gt;
===Miscellaneous Settings===&lt;br /&gt;
&lt;br /&gt;
Settings not covered above. Note that Border is false by default, which differs from TempGaussMC&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Border&lt;br /&gt;
| (bool)&lt;br /&gt;
| Pad a little vertically while processing (doesn't affect output size) - set true you see flickering on the very top or bottom line of the output. If you have wider edge effects than that, you should crop afterwards instead. Be wary of this setting if reusing QTGMC motion vectors in the calling script.&lt;br /&gt;
|-&lt;br /&gt;
| Precise&lt;br /&gt;
| (bool)&lt;br /&gt;
| Set to false to use faster algorithms with *very* slight imprecision in places&lt;br /&gt;
|-&lt;br /&gt;
| Preset&lt;br /&gt;
| (string)&lt;br /&gt;
| Sets a range of defaults for different encoding speeds. Select from &amp;quot;Placebo&amp;quot;, &amp;quot;Very Slow&amp;quot;, &amp;quot;Slower&amp;quot;, &amp;quot;Slow&amp;quot;, &amp;quot;Medium&amp;quot;, &amp;quot;Fast&amp;quot;, &amp;quot;Faster&amp;quot;, &amp;quot;Very Fast&amp;quot;, &amp;quot;Super Fast&amp;quot;, &amp;quot;Ultra Fast&amp;quot; &amp;amp; &amp;quot;Draft&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Tuning&lt;br /&gt;
| (string)&lt;br /&gt;
| Tweaks the defaults for different source types. Choose from &amp;quot;None&amp;quot;, &amp;quot;DV-SD&amp;quot;, &amp;quot;DV-HD&amp;quot;. Default is &amp;quot;None&amp;quot;. [An idea for development based on the x264 approach, but as I don't work with many source types it has seen little development]&lt;br /&gt;
|-&lt;br /&gt;
| ShowSettings&lt;br /&gt;
| (bool)&lt;br /&gt;
| Display all the current parameter values - useful to find preset defaults&lt;br /&gt;
|-&lt;br /&gt;
| GlobalNames&lt;br /&gt;
| (string)&lt;br /&gt;
| The name used to expose intermediate clips to calling script. See External Linkage section. Defaults to &amp;quot;QTGMC&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
| PrevGlobals&lt;br /&gt;
| (string)&lt;br /&gt;
| What to do with global variables from earlier QTGMC call that match above name. Either &amp;quot;Replace&amp;quot;, or &amp;quot;Reuse&amp;quot; (for a speed-up)&lt;br /&gt;
|-&lt;br /&gt;
| ForceTR&lt;br /&gt;
| (0,1,2,3)&lt;br /&gt;
| Ensure globally exposed motion vectors are calculated to this radius even if not needed by QTGMC. 0 = disabled (default)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Defaults: Border=false, Preset=&amp;quot;Slower&amp;quot;, Tuning=&amp;quot;None&amp;quot;, ShowSettings=false, GlobalNames=&amp;quot;QTGMC&amp;quot;, PrevGlobals=undefined, ForceTR=0. Default for Precise depends on Preset&lt;br /&gt;
&lt;br /&gt;
==External Linkage==&lt;br /&gt;
===Accessing QTGMC Motion Vectors===&lt;br /&gt;
QTGMC now exposes its motion vectors and other intermediate clips to the calling script through global variables. These globals are uniquely named. By default they begin with the prefix &amp;quot;QTGMC_&amp;quot;. The available clips are:&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| Backward motion vectors&lt;br /&gt;
| bVec1, bVec2, bVec3 (temporal radius 1 to 3)&lt;br /&gt;
|-&lt;br /&gt;
| Forward motion vectors&lt;br /&gt;
| fVec1, fVec2, fVec3&lt;br /&gt;
|-&lt;br /&gt;
| Filtered clip used for motion analysis&lt;br /&gt;
| srchClip&lt;br /&gt;
|-&lt;br /&gt;
| MVTools &amp;quot;super&amp;quot; clip for filtered clip&lt;br /&gt;
| srchSuper&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Not all these clips are necessarily created - it depends on your QTGMC settings. To ensure motion vector creation to radius X, set ForceTR=X&lt;br /&gt;
&lt;br /&gt;
====Example====&lt;br /&gt;
&lt;br /&gt;
 QTGMC( Preset=&amp;quot;Medium&amp;quot;, ForceTR=2, SubPel=2 )  # Ensure we get temporal radius of at least 2, read note below regarding SubPel&lt;br /&gt;
 super = MSuper( pel=2, levels=1 )              # Faster to use levels=1, don't usually need more levels once you have the vectors&lt;br /&gt;
 MDegrain2( super, QTGMC_bVec1,QTGMC_fVec1, QTGMC_bVec2,QTGMC_fVec2 )  # Use QTGMC-created motion vectors&lt;br /&gt;
&lt;br /&gt;
====Important Notes====&lt;br /&gt;
&lt;br /&gt;
* The SubPel setting to QTGMC must match the pel setting in MVTools or you will get visual errors or crashes. Default SubPel in QTGMC varies depending on Preset, &amp;quot;Medium&amp;quot; and quicker settings get SubPel=1, slower settings get SubPel=2. Default pel in MVTools is 2&lt;br /&gt;
* Do not use Border=true if using motion vectors in this way, or the clips exposed will have an 8 pixel border top and bottom (i.e. they won't match your source)&lt;br /&gt;
&lt;br /&gt;
===Multiple QTGMC Calls===&lt;br /&gt;
The section above showed how global variables are used to expose the workings of QTGMC. However, if there are multiple calls to QTGMC in your script then you should consider whether they should work together with their exposed globals. By default the globals for each call to QTGMC will overwrite the globals from previous calls. However there are actually three options in this case:&lt;br /&gt;
&lt;br /&gt;
* Use the setting GlobalNames to make unique global names for each call. E.g. if you set GlobalNames=&amp;quot;TestA&amp;quot; you will receive a global called TestA_bVec1.&lt;br /&gt;
* Set PrevGlobals=&amp;quot;Reuse&amp;quot; to reuse existing similar named globals for this run &amp;amp; not recalculate motion vectors etc. This will improve performance.&lt;br /&gt;
* Set PrevGlobals=&amp;quot;Replace&amp;quot; to overwrite similar named globals from a previous run. This is the default and easiest option for most use cases.&lt;br /&gt;
&lt;br /&gt;
Here's an artifical example of multiple calls in a script to show the options:&lt;br /&gt;
&lt;br /&gt;
 q1 = c.QTGMC( Preset=&amp;quot;Medium&amp;quot; )  # QTGMC_bVec1 and similar variables are created&lt;br /&gt;
 q2 = c.QTGMC( Preset=&amp;quot;Medium&amp;quot; )  # Recalculates and replaces variables QTGMC_bVec1 and similar with new values (same as setting PrevGlobals=&amp;quot;Replace&amp;quot;)&lt;br /&gt;
 q3 = c.QTGMC( Preset=&amp;quot;Medium&amp;quot;, PrevGlobals=&amp;quot;Reuse&amp;quot;   )  # Reuses QTGMC_bVec1 motion vectors from q2 above. Doesn't recalculate, improving performance&lt;br /&gt;
 q4 = c.QTGMC( Preset=&amp;quot;Medium&amp;quot;, GlobalNames=&amp;quot;TestA&amp;quot;   )  # Creates new variables called TestA_bVec1...&lt;br /&gt;
 q5 = c.QTGMC( Preset=&amp;quot;Medium&amp;quot;, GlobalNames=&amp;quot;TestA&amp;quot;, PrevGlobals=&amp;quot;Reuse&amp;quot; ) # Reuses the TestA_bVec1 motion vectors&lt;br /&gt;
&lt;br /&gt;
Here's a realistic example. This simple script repairs progressive material with very bad deinterlacing artefacts. It needs two calls to QTGMC:&lt;br /&gt;
&lt;br /&gt;
 t = QTGMC( Preset=&amp;quot;Slower&amp;quot;, InputType=2 )&lt;br /&gt;
 b = QTGMC( Preset=&amp;quot;Slower&amp;quot;, InputType=3, PrevGlobals=&amp;quot;Reuse&amp;quot; ) # Reuse motion vectors from first call for a good speed-up&lt;br /&gt;
 Repair( t, b, 1 )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==TempGaussMC Notes==&lt;br /&gt;
In its default setup this script is very similar in operation to TempGaussMC_beta2. The call QTGMC() is very similar to:&lt;br /&gt;
&lt;br /&gt;
 TempGaussMC_beta2( 2,2,1, Border=false, SVthin=0.0 )&lt;br /&gt;
&lt;br /&gt;
There are a few key differences:&lt;br /&gt;
&lt;br /&gt;
* QTGMC typically uses &amp;quot;NNEDI3&amp;quot; for interpolation (TempGaussMC_beta2 uses &amp;quot;EEDI2&amp;quot; by default)&lt;br /&gt;
* Sharpness default in QTGMC is always 1.0 (or 0.2 if using source-match) - adjusted internally to give very roughly the same sharpness across settings / presets&lt;br /&gt;
* In QTGMC, SVThin defaults to 0, Border defaults to false&lt;br /&gt;
* Lossless and Draft modes are supported but in a different way&lt;br /&gt;
* The parameter order is the same up to EdiMode, a couple of 'lesser' parameters have had name changes for consistency&lt;br /&gt;
&lt;br /&gt;
==Acknowledgements==&lt;br /&gt;
Thanks go to Didée for the script from where this began.&lt;br /&gt;
&lt;br /&gt;
Also thanks to the plugin coders: Manao, Fizick, Tritical, Kassandro, Tsp, SEt, Tom Barry, Foxyshadis, TSchniede, Kurosu, mg262 and any others...&lt;br /&gt;
&lt;br /&gt;
And to the many people who have given feedback, reported bugs and offered suggestions to help improve the script&lt;br /&gt;
&lt;br /&gt;
==External Links:==&lt;br /&gt;
[http://www.mediafire.com/?1h1r5tf2t9t8rq1 Spanish Instructions (3.32)] by Overdrive80&lt;br /&gt;
&lt;br /&gt;
[[Category:External filters]]&lt;br /&gt;
[[Category:Deinterlacers]]&lt;/div&gt;</summary>
		<author><name>SilverbackNet</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Template:Filter</id>
		<title>Template:Filter</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Template:Filter"/>
				<updated>2014-05-29T00:31:43Z</updated>
		
		<summary type="html">&lt;p&gt;SilverbackNet: Add default blanks&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| rules=&amp;quot;all&amp;quot; style=&amp;quot;border: 1px solid #000;margin: 0.5em 0 1em 1em;&amp;quot; cellpadding=&amp;quot;3&amp;quot; align=&amp;quot;right&amp;quot; width=&amp;quot;300px&amp;quot;&lt;br /&gt;
! colspan=2 style=&amp;quot;background: lavender&amp;quot; | Abstract&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;30%&amp;quot;| '''Author''' &lt;br /&gt;
| {{{1|}}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;30%&amp;quot;| '''Version''' &lt;br /&gt;
| {{{2|}}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;30%&amp;quot;| '''Download''' &lt;br /&gt;
| {{{3|}}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;30%&amp;quot;| '''Category''' &lt;br /&gt;
| {{{4|}}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;30%&amp;quot;| '''Requirements''' &lt;br /&gt;
| {{{5|}}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;30%&amp;quot;| '''License''' &lt;br /&gt;
| {{{6|}}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;30%&amp;quot;| '''Discussion''' &lt;br /&gt;
| {{{7|}}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>SilverbackNet</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Template:Filter</id>
		<title>Template:Filter</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Template:Filter"/>
				<updated>2014-05-29T00:30:59Z</updated>
		
		<summary type="html">&lt;p&gt;SilverbackNet: Extend with Discussion&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| rules=&amp;quot;all&amp;quot; style=&amp;quot;border: 1px solid #000;margin: 0.5em 0 1em 1em;&amp;quot; cellpadding=&amp;quot;3&amp;quot; align=&amp;quot;right&amp;quot; width=&amp;quot;300px&amp;quot;&lt;br /&gt;
! colspan=2 style=&amp;quot;background: lavender&amp;quot; | Abstract&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;30%&amp;quot;| '''Author''' &lt;br /&gt;
| {{{1}}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;30%&amp;quot;| '''Version''' &lt;br /&gt;
| {{{2}}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;30%&amp;quot;| '''Download''' &lt;br /&gt;
| {{{3}}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;30%&amp;quot;| '''Category''' &lt;br /&gt;
| {{{4}}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;30%&amp;quot;| '''Requirements''' &lt;br /&gt;
| {{{5}}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;30%&amp;quot;| '''License''' &lt;br /&gt;
| {{{6}}}&lt;br /&gt;
|-&lt;br /&gt;
|width=&amp;quot;30%&amp;quot;| '''Discussion''' &lt;br /&gt;
| {{{7}}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>SilverbackNet</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Syntax_Highlighting</id>
		<title>Syntax Highlighting</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Syntax_Highlighting"/>
				<updated>2014-05-28T22:50:56Z</updated>
		
		<summary type="html">&lt;p&gt;SilverbackNet: /* Notepad++ Avisynth Syntax Highlighting, by smokeslikeapoet */ newer, more complete syntax file&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Syntax highlighting in UltraEdit (by Sh0dan) ==&lt;br /&gt;
&lt;br /&gt;
I've created settings for syntax highlighting in [http://www.ultraedit.com/ UltraEdit]. To use it just append it to your WORDFILE.TXT in your UltraEdit directory and change the Language ID (here 20) if necessary. &lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Plugin filters&amp;quot; sections contains just a few of the available filter functions. &lt;br /&gt;
&lt;br /&gt;
It probably should be extended with all the commonly used ones.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/L20&amp;quot;AVISynth&amp;quot; Line Comment = # Nocase Escape Char = \ String Chars = &amp;quot; File Extensions = avs avsi&lt;br /&gt;
/Delimiters = !@%^&amp;amp;*()-+|\/{}[]:;&amp;quot;'&amp;lt;&amp;gt; ,.	?&lt;br /&gt;
/C1&amp;quot;Keywords&amp;quot;&lt;br /&gt;
$&lt;br /&gt;
bool&lt;br /&gt;
clip&lt;br /&gt;
function float&lt;br /&gt;
global&lt;br /&gt;
int&lt;br /&gt;
string&lt;br /&gt;
val&lt;br /&gt;
/C2&amp;quot;Builtin functions&amp;quot;&lt;br /&gt;
abs apply assert asserteval&lt;br /&gt;
ceil cos catch&lt;br /&gt;
defined default&lt;br /&gt;
exp exist eval&lt;br /&gt;
floor frac float findstr&lt;br /&gt;
hexvalue&lt;br /&gt;
int isbool isint isfloat isstring isclip import&lt;br /&gt;
log lcase leftstr&lt;br /&gt;
midstr&lt;br /&gt;
nop&lt;br /&gt;
round rand revstr rightstr&lt;br /&gt;
sin sqrt sign strlen string setmemorymax setworkingdir select&lt;br /&gt;
try&lt;br /&gt;
pi pow&lt;br /&gt;
ucase&lt;br /&gt;
value versionnumber versionstring&lt;br /&gt;
/C3&amp;quot;Builtin filters&amp;quot;&lt;br /&gt;
AviSource AviFileSource AddBorders AlignedSplice AssumeFPS AssumeFrameBased AssumeFieldBased &lt;br /&gt;
AssumeBFF AssumeTFF Amplify AmplifydB AssumeSampleRate AudioDub Animate&lt;br /&gt;
BlankClip Blackness Blur BicubicResize BilinearResize Bob&lt;br /&gt;
ColorYUV ConvertBackToYUY2 ConvertToRGB ConvertToRGB24 ConvertToRGB32 ConvertToYUY2 ConvertToYV12 Crop &lt;br /&gt;
CropBottom ColorKeyMask ChangeFPS ConvertFPS ComplementParity ConvertAudioTo8bit ConvertAudioTo16bit &lt;br /&gt;
ConvertAudioTo24bit ConvertAudioTo32bit ConvertAudioToFloat ConvertToMono ColorBars Compare&lt;br /&gt;
DirectShowSource DeleteFrame Dissolve DuplicateFrame DoubleWeave DelayAudio&lt;br /&gt;
EnsureVBRMP3Sync&lt;br /&gt;
FadeIn FadeIn2 FadeOut FadeOut2 FreezeFrame FixBrokenChromaUpsampling FixLuminance FlipHorizontalFlipVertical&lt;br /&gt;
GeneralConvolution GreyScale GetChannel GetLeftChannel GetRightChannel&lt;br /&gt;
HSIAdjust HorizontalReduceBy2 HighPassAudio Histogram&lt;br /&gt;
IPCSource Interleave Info&lt;br /&gt;
KillAudio&lt;br /&gt;
Layer Letterbox Levels Limiter LanczosResize Loop LowPassAudio&lt;br /&gt;
Mask MergeChroma MergeLuma MergeChannels MixAudio MonoToStereo MessageClip&lt;br /&gt;
Normalize&lt;br /&gt;
OpenDMLSource&lt;br /&gt;
PointResize Pulldown PeculiarBlend&lt;br /&gt;
ResetMask ReduceBy2 RGBAdjust ResampleAudio Reverse&lt;br /&gt;
SegmentedAviSource SegmentedDirectShowSource Sharpen SpatialSoften SwapUV SelectEven&lt;br /&gt;
SelectOdd SelectEvery SelectRangeEvery SeparateFields SwapFields Subtitle ShowFiveVersions&lt;br /&gt;
ShowFrameNumber ShowSMPTE StackHorizontal StackVertical Subtract&lt;br /&gt;
TemporalSoften Tweak Trim&lt;br /&gt;
UToY UnalignedSplice&lt;br /&gt;
VerticalReduceBy2 VToY Version&lt;br /&gt;
WavSource Weave&lt;br /&gt;
YToUV&lt;br /&gt;
/C4&amp;quot;Plugin filters&amp;quot;&lt;br /&gt;
AC3source aWarpSharp&lt;br /&gt;
Cnr2 Convolution3d&lt;br /&gt;
Decimate&lt;br /&gt;
FieldDeinterlace&lt;br /&gt;
MPASource mpeg2source&lt;br /&gt;
Telecide&lt;br /&gt;
/C5&amp;quot;Operators&amp;quot;&lt;br /&gt;
=&lt;br /&gt;
==&lt;br /&gt;
!=&lt;br /&gt;
&amp;lt;&amp;gt;&lt;br /&gt;
||&lt;br /&gt;
&amp;amp;&amp;amp;&lt;br /&gt;
+&lt;br /&gt;
++&lt;br /&gt;
-&lt;br /&gt;
*&lt;br /&gt;
/&lt;br /&gt;
%&lt;br /&gt;
&amp;gt;=&lt;br /&gt;
&amp;lt;=&lt;br /&gt;
&amp;lt;&lt;br /&gt;
&amp;gt;&lt;br /&gt;
?&lt;br /&gt;
:&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Another UltraEdit syntax highlight file, by BatGnat ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/L20&amp;quot;AVISynth Script&amp;quot; Line Comment = # String Chars = &amp;quot;'` Nocase File Extensions = AVS&lt;br /&gt;
/Delimiters = ~!@%^&amp;amp;*()-+=|\/{}[]:;&amp;quot;'&amp;lt;&amp;gt; ,       .?&lt;br /&gt;
/C1&amp;quot;Source Filters&amp;quot;&lt;br /&gt;
AddBorders AddBorders  AlignedSplice Amplify AmplifydB Animate AssumeBFF AssumeFieldBased AssumeFPS AssumeFrameBased AssumeSampleRate AssumeTFF AudioDub AVIFileSource AVISource&lt;br /&gt;
BicubicResize BilinearResize Blackness BlankClip Blur Bob&lt;br /&gt;
ChangeFPS ColorBars ColorKeyMask ColorYUV Compare ComplementParity ConvertAudioTo16bit ConvertAudioTo24bit ConvertAudioTo32bit ConvertAudioTo8bit ConvertAudioToFloat ConvertBackToYUY2 ConvertFPS ConvertToBackYUY2 ConvertToMono ConvertToRGB ConvertToRGB24 ConvertToRGB32 ConvertToYUY2 ConvertToYV12 Crop CropBottom&lt;br /&gt;
DelayAudio DeleteFrame DirectShowSource Dissolve DoubleWeave DuplicateFrame&lt;br /&gt;
EnsureVBRMP3Sync&lt;br /&gt;
FadeIn FadeIn2 FadeIO FadeIO2 FadeOut FadeOut2 FixBrokenChromaUpsampling FixLuminance FlipHorizontal FlipVertical FreezeFrame&lt;br /&gt;
GeneralConvolution GetChannel Greyscale&lt;br /&gt;
Histogram HorizontalReduceBy2&lt;br /&gt;
Info Interleave&lt;br /&gt;
KillAudio&lt;br /&gt;
LanczosResize Layer Letterbox Levels Limiter Loop&lt;br /&gt;
Mask MergeChannels MergeChroma MergeLuma MessageClip MixAudio MPEG2Source MPEGSource&lt;br /&gt;
Normalize&lt;br /&gt;
OpenDMLSource&lt;br /&gt;
PeculiarBlend PointResize Pulldown&lt;br /&gt;
ReduceBy2 ResampleAudio ResetMask Reverse RGBAdjust&lt;br /&gt;
SegmentedAVISource SegmentedDirectShowSource SelectEven SelectEvery SelectOdd SelectRangeEvery SeparateFields Sharpen ShowFiveVersions ShowFrameNumber ShowSMPTE SpatialSoften StackHorizontal StackVertical Subtitle Subtract SwapFields SwapUV&lt;br /&gt;
TemporalSoften Trim Tweak&lt;br /&gt;
UnalignedSplice UToY&lt;br /&gt;
Version VerticalReduceBy2 VToY&lt;br /&gt;
WAVSource Weave&lt;br /&gt;
YToUV&lt;br /&gt;
 &lt;br /&gt;
/C2&amp;quot;Functions&amp;quot;&lt;br /&gt;
Abs Apply Assert AssertEval&lt;br /&gt;
catch Ceil Cos&lt;br /&gt;
Default Defined&lt;br /&gt;
Eval Exist Exp&lt;br /&gt;
Findstr Float Floor Frac Function&lt;br /&gt;
HexValue&lt;br /&gt;
Import Int IsBool IsClip IsFloat IsInt IsString&lt;br /&gt;
LCase LeftStr Log LoadPlugin LoadVirtualDubPlugin LoadVFAPIPlugin &lt;br /&gt;
MidStr&lt;br /&gt;
NOP&lt;br /&gt;
Pi Pow&lt;br /&gt;
Rand Round RevStr&lt;br /&gt;
Select SetMemoryMax SetWorkingDir Sign Sin Sqrt StrLen String&lt;br /&gt;
Try&lt;br /&gt;
UCase&lt;br /&gt;
Value VersionNumber VersionString&lt;br /&gt;
 &lt;br /&gt;
/C3&amp;quot;Properties&amp;quot;&lt;br /&gt;
Audiobits&lt;br /&gt;
Audiochannels&lt;br /&gt;
Audiolength&lt;br /&gt;
Audiorate&lt;br /&gt;
Framecount&lt;br /&gt;
Framerate&lt;br /&gt;
GetParity&lt;br /&gt;
Height&lt;br /&gt;
IsFieldBased&lt;br /&gt;
IsFrameBased&lt;br /&gt;
IsRGB&lt;br /&gt;
IsRGB24&lt;br /&gt;
IsRGB32&lt;br /&gt;
IsYUY2&lt;br /&gt;
Width&lt;br /&gt;
 &lt;br /&gt;
/C4&amp;quot;Operators&amp;quot;&lt;br /&gt;
!=&lt;br /&gt;
%&lt;br /&gt;
&amp;amp;&amp;amp;&lt;br /&gt;
*&lt;br /&gt;
+&lt;br /&gt;
++&lt;br /&gt;
-&lt;br /&gt;
/&lt;br /&gt;
&amp;lt;&lt;br /&gt;
&amp;lt;=&lt;br /&gt;
==&lt;br /&gt;
&amp;gt;&lt;br /&gt;
&amp;gt;=&lt;br /&gt;
?:&lt;br /&gt;
||&lt;br /&gt;
 &lt;br /&gt;
/C5&amp;quot;Separs&amp;quot;&lt;br /&gt;
\&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TextPad syntax definition file, by stickboy ==&lt;br /&gt;
&lt;br /&gt;
http://www.avisynth.org/stickboy/avisynth.syn&lt;br /&gt;
&lt;br /&gt;
== ConTEXTsyntax definition file, by LigH ==&lt;br /&gt;
&lt;br /&gt;
http://www.avisynth.org/stickboy/etc/AviSynth.chl.zip&lt;br /&gt;
&lt;br /&gt;
== Crimson Editor Syntax, by Zonk ==&lt;br /&gt;
&lt;br /&gt;
http://avisynth.org/oldwiki/index.php?page=Crimson+Editor+Syntax&lt;br /&gt;
&lt;br /&gt;
== [http://sourceforge.net/projects/notepad-plus/ Notepad++] Avisynth Syntax Highlighting ==&lt;br /&gt;
&lt;br /&gt;
https://code.google.com/p/feos-tas/downloads/detail?name=userDefineLang.xml&lt;br /&gt;
&lt;br /&gt;
== For [http://colorer.sourceforge.net/ Colorer-take5 plugin] for [http://www.farmanager.com/ FAR Manager] text editor, by SweetLow &amp;amp; Fizick ==&lt;br /&gt;
&lt;br /&gt;
http://avisynth.org.ru/highlight/highlight.html&lt;br /&gt;
&lt;br /&gt;
== Avisynth AVS syntax higlight for [http://akelpad.sf.net/ AkelPad] text editor, by Fizick ==&lt;br /&gt;
&lt;br /&gt;
http://avisynth.org.ru/highlight/highlight.html&lt;br /&gt;
&lt;br /&gt;
http://akelpad.sourceforge.net/files/plugs/Coder/avs.coder (for latest version of Akelpad, modified by Lenchik)&lt;br /&gt;
&lt;br /&gt;
[[Category:Utilities]]&lt;/div&gt;</summary>
		<author><name>SilverbackNet</name></author>	</entry>

	</feed>