<?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=Unreal666</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=Unreal666"/>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Special:Contributions/Unreal666"/>
		<updated>2026-04-08T01:42:14Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.19.24</generator>

	<entry>
		<id>http://avisynth.nl/index.php/Filter_SDK/avs2yuv</id>
		<title>Filter SDK/avs2yuv</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Filter_SDK/avs2yuv"/>
				<updated>2014-01-05T08:47:59Z</updated>
		
		<summary type="html">&lt;p&gt;Unreal666: Added 'FilterSDK' Category&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;avs2yuv reads a script and outputs raw video (YUV or RGB). It's a stripped down version of the famous avs2yuv.&lt;br /&gt;
&lt;br /&gt;
Here's avs2yuv.cpp:&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;Windows.h&amp;gt;&lt;br /&gt;
 #include &amp;quot;avisynth.h&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 #define MY_VERSION &amp;quot;Avs2YUV 0.24&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 const AVS_Linkage *AVS_linkage = 0;&lt;br /&gt;
 &lt;br /&gt;
 int __cdecl main(int argc, const char* argv[])&lt;br /&gt;
 {&lt;br /&gt;
 const char* infile = NULL;&lt;br /&gt;
 const char* outfile = NULL;&lt;br /&gt;
 FILE* out_fh;&lt;br /&gt;
 	&lt;br /&gt;
 if (!strcmp(argv[1], &amp;quot;-h&amp;quot;)) {&lt;br /&gt;
    fprintf(stderr, MY_VERSION &amp;quot;\n&amp;quot;&lt;br /&gt;
            &amp;quot;Usage: avs2yuv.exe in.avs out.raw\n&amp;quot;);&lt;br /&gt;
    return 2;&lt;br /&gt;
 } else {&lt;br /&gt;
    infile = argv[1];&lt;br /&gt;
    outfile = argv[2];&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 try {&lt;br /&gt;
    char* colorformat;&lt;br /&gt;
    typedef IScriptEnvironment* (__stdcall *DLLFUNC)(int);&lt;br /&gt;
    IScriptEnvironment* env;&lt;br /&gt;
    HMODULE avsdll = LoadLibrary(&amp;quot;avisynth.dll&amp;quot;);&lt;br /&gt;
    if (!avsdll) {&lt;br /&gt;
       fprintf(stderr, &amp;quot;failed to load avisynth.dll\n&amp;quot;);&lt;br /&gt;
       return 2;&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    DLLFUNC CreateEnv = (DLLFUNC)GetProcAddress(avsdll, &amp;quot;CreateScriptEnvironment&amp;quot;);&lt;br /&gt;
    if (!CreateEnv) {&lt;br /&gt;
       fprintf(stderr, &amp;quot;failed to load CreateScriptEnvironment()\n&amp;quot;);&lt;br /&gt;
       FreeLibrary(avsdll);&lt;br /&gt;
       return 1;&lt;br /&gt;
    }&lt;br /&gt;
 	&lt;br /&gt;
    env = CreateEnv(AVISYNTH_INTERFACE_VERSION);&lt;br /&gt;
    env-&amp;gt;CheckVersion(5); // todo - only useful for plugins - find another way to check AviSynth version&lt;br /&gt;
    AVS_linkage = env-&amp;gt;GetAVSLinkage();&lt;br /&gt;
    AVSValue arg(infile);&lt;br /&gt;
    AVSValue res = env-&amp;gt;Invoke(&amp;quot;Import&amp;quot;, AVSValue(&amp;amp;arg, 1));&lt;br /&gt;
    if (!res.IsClip()) {&lt;br /&gt;
       fprintf(stderr, &amp;quot;Error: '%s' didn't return a video clip.\n&amp;quot;, infile);&lt;br /&gt;
       FreeLibrary(avsdll);&lt;br /&gt;
       return 1;&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    PClip clip = res.AsClip();&lt;br /&gt;
    VideoInfo vi = clip-&amp;gt;GetVideoInfo();&lt;br /&gt;
 	&lt;br /&gt;
    fprintf(stderr, &amp;quot; %s:\n&amp;quot;, infile);&lt;br /&gt;
    fprintf(stderr, &amp;quot; %dx%d,\n&amp;quot;, vi.width, vi.height);&lt;br /&gt;
    fprintf(stderr, &amp;quot; %d/%d fps,\n&amp;quot;, vi.fps_numerator, vi.fps_denominator);&lt;br /&gt;
    fprintf(stderr, &amp;quot; %d frames,\n&amp;quot;, vi.num_frames);&lt;br /&gt;
    if (vi.IsYUV()) {&lt;br /&gt;
       colorformat = &amp;quot;YUV&amp;quot;;&lt;br /&gt;
    } else {&lt;br /&gt;
       colorformat = &amp;quot;RGB&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    fprintf(stderr, &amp;quot; %s color format&amp;quot;, colorformat);&lt;br /&gt;
 &lt;br /&gt;
    out_fh = fopen(outfile, &amp;quot;wb&amp;quot;);&lt;br /&gt;
    if (!out_fh) {&lt;br /&gt;
       fprintf(stderr, &amp;quot;fopen(\&amp;quot;%s\&amp;quot;) failed&amp;quot;, outfile);&lt;br /&gt;
       FreeLibrary(avsdll);&lt;br /&gt;
       return 1;&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    static const int planes[] = {PLANAR_Y, PLANAR_U, PLANAR_V};&lt;br /&gt;
 &lt;br /&gt;
    for (int frm = 0; frm &amp;lt; vi.num_frames; ++frm) {&lt;br /&gt;
       PVideoFrame f = clip-&amp;gt;GetFrame(frm, env);&lt;br /&gt;
 &lt;br /&gt;
       int wrote = 0;&lt;br /&gt;
 &lt;br /&gt;
       for (int p=0; p&amp;lt;3; p++) { // for interleaved formats only the first plane (being the whole frame) is written&lt;br /&gt;
          int height = f-&amp;gt;GetHeight(planes[p]);&lt;br /&gt;
          int rowsize = f-&amp;gt;GetRowSize(planes[p]);&lt;br /&gt;
          int pitch = f-&amp;gt;GetPitch(planes[p]);&lt;br /&gt;
          const BYTE* data = f-&amp;gt;GetReadPtr(planes[p]);&lt;br /&gt;
          for (int y=0; y&amp;lt;height; y++) {&lt;br /&gt;
             wrote += fwrite(data, 1, rowsize, out_fh);&lt;br /&gt;
             data += pitch;&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    env-&amp;gt;DeleteScriptEnvironment();&lt;br /&gt;
    FreeLibrary(avsdll);&lt;br /&gt;
 &lt;br /&gt;
 } catch(AvisynthError err) {&lt;br /&gt;
    fprintf(stderr, &amp;quot;\nAvisynth error:\n%s\n&amp;quot;, err.msg);&lt;br /&gt;
    return 1;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 AVS_linkage = 0;&lt;br /&gt;
 fclose(out_fh);&lt;br /&gt;
 return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Compile this file into an EXE named avs2yuv.exe. See [[Filter_SDK/Compiling_instructions|compiling instructions]]. Now open the command line and go to the folder where avs2yuv.exe and your script (called example.avs here) are located. Our script:&lt;br /&gt;
&lt;br /&gt;
 ColorBars()&lt;br /&gt;
 ConvertToYV12()&lt;br /&gt;
 Trim(0,4)&lt;br /&gt;
 Showframenumber()&lt;br /&gt;
&lt;br /&gt;
Type the following on the command line (the name of the output clip can be arbitrary in our application):&lt;br /&gt;
&lt;br /&gt;
 avs2yuv.exe example.avs output.raw&lt;br /&gt;
&lt;br /&gt;
So the output file will contain five frames of YV12 data (640x480). The raw stream can be played with [http://www.yuvtoolkit.com/ YUVtoolkit] for example. You can also import it in AviSynth using the plugin RawSource.&lt;br /&gt;
&lt;br /&gt;
=== Line by line breakdown ===&lt;br /&gt;
&lt;br /&gt;
Here's a line-by-line breakdown of avs2yuv.cpp.&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The header stdio.h contains objects like [http://www.cplusplus.com/reference/cstdio/stderr/ stderr] (a pointer to a FILE object) and functions like [http://www.cplusplus.com/reference/cstdio/fprintf/ fprintf] and [http://www.cplusplus.com/reference/cstdio/fopen/ fopen]. Those will be used later on.&lt;br /&gt;
&lt;br /&gt;
The standard error stream (''stderr'') is the default destination for error messages and other diagnostic warnings. Like stdout, it is usually also directed by default to the text console (generally, on the screen).&lt;br /&gt;
&lt;br /&gt;
''fprintf'' writes formatted data to stream.&lt;br /&gt;
&lt;br /&gt;
''fopen'' opens the file whose name is specified in the parameter filename and associates it with a stream that can be identified in future operations by the FILE pointer returned.&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;Windows.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 #include &amp;quot;avisynth.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This header declares all the classes and miscellaneous constants that you might need when accessing avisynth.dll.&lt;br /&gt;
&lt;br /&gt;
 #define MY_VERSION &amp;quot;Avs2YUV 0.24&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Defines the version number which will be printed (using the &amp;quot;-h&amp;quot; option) later on.&lt;br /&gt;
&lt;br /&gt;
 const AVS_Linkage *AVS_linkage = 0;&lt;br /&gt;
&lt;br /&gt;
This declares and initializes the server pointers static storage [[Filter_SDK/AVS_Linkage|AVS_Linkage]].&lt;br /&gt;
&lt;br /&gt;
 int __cdecl main(int argc, const char* argv[])&lt;br /&gt;
&lt;br /&gt;
argv and argc are how command line arguments are passed to main() in C and C++ (you can name them the way you want to). argc will be the number of strings pointed to by the array argv. This will be one plus the number of arguments, with the first one being the name of the application. Thus when using the command line &amp;quot;avs2yuv.exe in.avs out.raw&amp;quot; we have argv[0]=&amp;quot;avs2yuv.exe&amp;quot;, argv[1]=&amp;quot;in.avs&amp;quot;, argv[2]=&amp;quot;out.raw&amp;quot; and argc=2.&lt;br /&gt;
&lt;br /&gt;
 const char* infile = NULL;&lt;br /&gt;
 const char* outfile = NULL;&lt;br /&gt;
&lt;br /&gt;
initialize infile and outfile as null pointers by setting them to [http://www.cplusplus.com/reference/cstddef/NULL/ NULL]. We could have set them to 0 too since that's the same in C/C++.&lt;br /&gt;
&lt;br /&gt;
 FILE* out_fh;&lt;br /&gt;
&lt;br /&gt;
out_fh is declared as a pointer to a [http://www.cplusplus.com/reference/cstdio/FILE/ FILE object].&lt;br /&gt;
 	&lt;br /&gt;
 if (!strcmp(argv[1], &amp;quot;-h&amp;quot;)) {&lt;br /&gt;
    fprintf(stderr, MY_VERSION &amp;quot;\n&amp;quot;&lt;br /&gt;
            &amp;quot;Usage: avs2yuv.exe in.avs out.raw\n&amp;quot;);&lt;br /&gt;
    return 2;&lt;br /&gt;
&lt;br /&gt;
When using the command line &amp;quot;avs2yuv.exe -h&amp;quot; it will print to the console how the application should be used ('h' from help). The [http://www.cplusplus.com/doc/tutorial/functions/ return] terminates the function main() (and thus the application). returning 0 means that your program executed without errors and returning a different int means it executed with errors.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Avs2YUV 0.24&amp;quot; (followed by an enter)&lt;br /&gt;
&amp;quot;Usage: avs2yuv.exe in.avs out.raw&amp;quot; (followed by an enter)&lt;br /&gt;
&lt;br /&gt;
 } else {&lt;br /&gt;
    infile = argv[1];&lt;br /&gt;
    outfile = argv[2];&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
When the second argument (argv[1]) is not '-h' it will set infile to the name of the input file (being argv[1]) and outfile to the name of the output file (being argv[2]).&lt;br /&gt;
&lt;br /&gt;
 try {&lt;br /&gt;
    char* colorformat;&lt;br /&gt;
    IScriptEnvironment* env;&lt;br /&gt;
&lt;br /&gt;
env returns a pointer to the [[Cplusplus_API#IScriptEnvironment|IScriptEnvironment]] interface.&lt;br /&gt;
&lt;br /&gt;
    HMODULE avsdll = LoadLibrary(&amp;quot;avisynth.dll&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
[http://msdn.microsoft.com/en-us/library/windows/desktop/ms684175%28v=vs.85%29.aspx LoadLibrary] loads the specified module (which is avisynth.dll here) into the address space of the process (the process being avs2yuv.exe here). When successful avsdll will be the handle to the module, else it will be NULL.&lt;br /&gt;
&lt;br /&gt;
    if (!avsdll) {&lt;br /&gt;
       fprintf(stderr, &amp;quot;failed to load avisynth.dll\n&amp;quot;);&lt;br /&gt;
       return 2;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
When avsdll is NULL (thus 0), !avsdll evaluates to one, and the error &amp;quot;failed to load avisynth.dll&amp;quot; is printed to the console.&lt;br /&gt;
&lt;br /&gt;
    typedef IScriptEnvironment* (__stdcall *DLLFUNC)(int);&lt;br /&gt;
    DLLFUNC CreateEnv = (DLLFUNC)GetProcAddress(avsdll, &amp;quot;CreateScriptEnvironment&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
[[Cplusplus_API#CreateScriptEnvironment|CreateScriptEnvironment]] is exported by avisynth.dll and it is a pointer to the [[Cplusplus_API#IScriptEnvironment|IScriptEnvironment]] interface. [http://msdn.microsoft.com/en-us/library/windows/desktop/ms683212%28v=vs.85%29.aspx GetProcAddress] will retrieve the address of the exported function (when failing it will return NULL).&lt;br /&gt;
&lt;br /&gt;
In order to do so you must declare a function pointer (called 'DLLFUNC' here) with *exactly* the same prototype as the function it is supposed to represent. This is done in the first line (note that [[Cplusplus_API#CreateScriptEnvironment|CreateScriptEnvironment]] has one parameter of type 'int')&lt;br /&gt;
&lt;br /&gt;
    typedef IScriptEnvironment* (__stdcall *DLLFUNC)(int);&lt;br /&gt;
&lt;br /&gt;
The [http://www.cplusplus.com/doc/tutorial/other_data_types/ typedef declaration] is used to construct shorter or more meaningful names (like 'DLLFUNC' here) for types that are already defined (like 'IScriptEnvironment*' here).&lt;br /&gt;
&lt;br /&gt;
In the second line the value of GetProcAddress is cast to the correct function pointer type.&lt;br /&gt;
&lt;br /&gt;
    ... = (DLLFUNC)GetProcAddress(...);&lt;br /&gt;
&lt;br /&gt;
We could also have used&lt;br /&gt;
&lt;br /&gt;
    IScriptEnvironment* (__stdcall *CreateEnv)(int) = NULL;&lt;br /&gt;
    CreateEnv = (IScriptEnvironment* (__stdcall *)(int))GetProcAddress(avsdll, &amp;quot;CreateScriptEnvironment&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
or shorter and less readable&lt;br /&gt;
&lt;br /&gt;
    IScriptEnvironment* (__stdcall *CreateEnv)(int) = (IScriptEnvironment* (__stdcall *)(int))GetProcAddress(avsdll, &amp;quot;CreateScriptEnvironment&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
    if (!CreateEnv) {&lt;br /&gt;
       fprintf(stderr, &amp;quot;failed to load CreateScriptEnvironment()\n&amp;quot;);&lt;br /&gt;
       FreeLibrary(avsdll);&lt;br /&gt;
       return 1;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
When CreateEnv is NULL (so GetProcAddress failed to retrieve the exported function) an error is written to the console. [http://msdn.microsoft.com/en-us/library/windows/desktop/ms683152%28v=vs.85%29.aspx FreeLibrary] frees the module from your memory.&lt;br /&gt;
&lt;br /&gt;
    env = CreateEnv(AVISYNTH_INTERFACE_VERSION);&lt;br /&gt;
&lt;br /&gt;
This creates the script environment. Its members can be accessed by [[Cplusplus_API#IScriptEnvironment|env-&amp;gt;...]].&lt;br /&gt;
&lt;br /&gt;
    env-&amp;gt;CheckVersion(5);&lt;br /&gt;
&lt;br /&gt;
// todo - only useful for plugins - find another way to check AviSynth version (it now simply quits when an old avisynth.dll is loaded)&lt;br /&gt;
&lt;br /&gt;
    AVS_linkage = env-&amp;gt;GetAVSLinkage();&lt;br /&gt;
&lt;br /&gt;
This gets the server pointers static storage [[Filter_SDK/AVS_Linkage|AVS_Linkage]].&lt;br /&gt;
&lt;br /&gt;
    AVSValue arg(infile);&lt;br /&gt;
    AVSValue res = env-&amp;gt;Invoke(&amp;quot;Import&amp;quot;, AVSValue(&amp;amp;arg, 1));&lt;br /&gt;
&lt;br /&gt;
This calls the [[Import]] function on the input file infile. So the script is loaded.&lt;br /&gt;
&lt;br /&gt;
    if (!res.IsClip()) {&lt;br /&gt;
       fprintf(stderr, &amp;quot;Error: '%s' didn't return a video clip.\n&amp;quot;, infile);&lt;br /&gt;
       FreeLibrary(avsdll);&lt;br /&gt;
       return 1;&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
If the return value of the script is not a clip an error is written to the console.&lt;br /&gt;
&lt;br /&gt;
    PClip clip = res.AsClip();&lt;br /&gt;
&lt;br /&gt;
todo - check whether it has video (it can be an audio only clip) - clip.HasVideo() ???&lt;br /&gt;
&lt;br /&gt;
    VideoInfo vi = clip-&amp;gt;GetVideoInfo();&lt;br /&gt;
 &lt;br /&gt;
[[Cplusplus_API#GetVideoInfo|GetVideoInfo]] returns a [[Cplusplus_API/VideoInfo|VideoInfo]] structure of the clip.&lt;br /&gt;
&lt;br /&gt;
    fprintf(stderr, &amp;quot; %s:\n&amp;quot;, infile);&lt;br /&gt;
    fprintf(stderr, &amp;quot; %dx%d,\n&amp;quot;, vi.width, vi.height);&lt;br /&gt;
    fprintf(stderr, &amp;quot; %d/%d fps,\n&amp;quot;, vi.fps_numerator, vi.fps_denominator);&lt;br /&gt;
    fprintf(stderr, &amp;quot; %d frames,\n&amp;quot;, vi.num_frames);&lt;br /&gt;
    if (vi.IsYUV()) {&lt;br /&gt;
       colorformat = &amp;quot;YUV&amp;quot;;&lt;br /&gt;
    } else {&lt;br /&gt;
       colorformat = &amp;quot;RGB&amp;quot;;&lt;br /&gt;
    }&lt;br /&gt;
    fprintf(stderr, &amp;quot; %s color format&amp;quot;, colorformat);&lt;br /&gt;
 &lt;br /&gt;
Some information about the clip is written to the console.&lt;br /&gt;
&lt;br /&gt;
    out_fh = fopen(outfile, &amp;quot;wb&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
Creates an empty binary file and opens it for writing.&lt;br /&gt;
&lt;br /&gt;
    if (!out_fh) {&lt;br /&gt;
       fprintf(stderr, &amp;quot;fopen(\&amp;quot;%s\&amp;quot;) failed&amp;quot;, outfile);&lt;br /&gt;
       FreeLibrary(avsdll);&lt;br /&gt;
       return 1;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
When failing (thus when out_fh is NULL) an error is written to the console.&lt;br /&gt;
&lt;br /&gt;
    static const int planes[] = {PLANAR_Y, PLANAR_U, PLANAR_V};&lt;br /&gt;
&lt;br /&gt;
x&lt;br /&gt;
&lt;br /&gt;
    for (int frm = 0; frm &amp;lt; vi.num_frames; ++frm) {&lt;br /&gt;
&lt;br /&gt;
Start with frame zero (and run through all of them).&lt;br /&gt;
&lt;br /&gt;
       PVideoFrame f = clip-&amp;gt;GetFrame(frm, env);&lt;br /&gt;
  	&lt;br /&gt;
       int wrote = 0;&lt;br /&gt;
 &lt;br /&gt;
       for (int p=0; p&amp;lt;3; p++) { // for interleaved formats only the first plane (being the whole frame) is written&lt;br /&gt;
          int height = f-&amp;gt;GetHeight(planes[p]);&lt;br /&gt;
          int rowsize = f-&amp;gt;GetRowSize(planes[p]);&lt;br /&gt;
          int pitch = f-&amp;gt;GetPitch(planes[p]);&lt;br /&gt;
          const BYTE* data = f-&amp;gt;GetReadPtr(planes[p]);&lt;br /&gt;
          for (int y=0; y&amp;lt;height; y++) {&lt;br /&gt;
             wrote += fwrite(data, 1, rowsize, out_fh);&lt;br /&gt;
             data += pitch;&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
 &lt;br /&gt;
    env-&amp;gt;DeleteScriptEnvironment();&lt;br /&gt;
    FreeLibrary(avsdll);&lt;br /&gt;
 &lt;br /&gt;
 } catch(AvisynthError err) {&lt;br /&gt;
    fprintf(stderr, &amp;quot;\nAvisynth error:\n%s\n&amp;quot;, err.msg);&lt;br /&gt;
    return 1;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 AVS_linkage = 0;&lt;br /&gt;
 fclose(out_fh);&lt;br /&gt;
 return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
todo - static and dynamic linking (see above) - http://msdn.microsoft.com/en-us/library/windows/desktop/ms685090%28v=vs.85%29.aspx&lt;br /&gt;
http://msdn.microsoft.com/en-us/library/d14wsce5.aspx&lt;br /&gt;
&lt;br /&gt;
[[Category:FilterSDK]]&lt;/div&gt;</summary>
		<author><name>Unreal666</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Internal_functions/Numeric_functions</id>
		<title>Internal functions/Numeric functions</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Internal_functions/Numeric_functions"/>
				<updated>2014-01-05T02:10:53Z</updated>
		
		<summary type="html">&lt;p&gt;Unreal666: /* Numeric functions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Numeric functions ==&lt;br /&gt;
&lt;br /&gt;
They provide common mathematical operations on numeric variables.&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Max|v2.58|Max(float, float [, ...])}}&lt;br /&gt;
: Returns the maximum value of a set of numbers.&lt;br /&gt;
: If all the values are of type Int, the result is an Int. If any of the values are of type Float, the result is a Float.&lt;br /&gt;
: This may cause an unexpected result when an Int value greater than 16777216 is mixed with Float values.&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Max (1, 2) = 2&lt;br /&gt;
 Max (5, 3.0, 2) = 5.0&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Min|v2.58|Min(float, float [, ...])}}&lt;br /&gt;
: Returns the minimum value of a set of numbers.&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Min (1, 2) = 1&lt;br /&gt;
 Min (5, 3.0, 2) = 2.0&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|MulDiv|v2.56|MulDiv(int, int, int)}}&lt;br /&gt;
: Multiplies two ints (m, n) and divides the product by a third (d) in a single operation, with 64 bit intermediate result. The actual equation used is &amp;lt;tt&amp;gt; (m * n + d / 2) / d &amp;lt;/tt&amp;gt;.&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 MulDiv (1, 1, 2) = 1&lt;br /&gt;
 MulDiv (2, 3, 2) = 3&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Floor||Floor(float)}}&lt;br /&gt;
: Converts from single-precision, [http://en.wikipedia.org/wiki/Floating_point floating-point] value to int (round down on any fractional amount).&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Floor(1.2) = 1&lt;br /&gt;
 Floor(1.6) = 1&lt;br /&gt;
 Floor(-1.2) = -2&lt;br /&gt;
 Floor(-1.6) = -2&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Ceil||Ceil(float)}}&lt;br /&gt;
: Converts from single-precision, [http://en.wikipedia.org/wiki/Floating_point floating-point] value to int (round up on any fractional amount).&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Ceil(1.2) = 2&lt;br /&gt;
 Ceil(1.6) = 2&lt;br /&gt;
 Ceil(-1.2) = -1&lt;br /&gt;
 Ceil(-1.6) = -1&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Round||Round(float)}}&lt;br /&gt;
: Converts from single-precision, [http://en.wikipedia.org/wiki/Floating_point floating-point] value to int (round off to nearest integer).&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Round(1.2) = 1&lt;br /&gt;
 Round(1.6) = 2&lt;br /&gt;
 Round(-1.2) = -1&lt;br /&gt;
 Round(-1.6) = -2&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Int|v2.07|Int(float)}}&lt;br /&gt;
: Converts from single-precision, [http://en.wikipedia.org/wiki/Floating_point floating-point] value to int (round towards zero).&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Int(1.2) = 1&lt;br /&gt;
 Int(1.6) = 1&lt;br /&gt;
 Int(-1.2) = -1&lt;br /&gt;
 Int(-1.6) = -1&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Float|v2.07|Float(int)}}&lt;br /&gt;
: Converts int to single-precision, [http://en.wikipedia.org/wiki/Floating_point floating-point] value. Integer values that require more than 24-bits to be represented will have their lower 8-bits truncated yielding unexpected values.&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Float(4) = 4.0&lt;br /&gt;
 Float(4) / 3 = 1.333 (while 4 / 3 = 1 , due to integer division)&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Sin|v2|Sin(float)}}&lt;br /&gt;
: Returns the sine of the argument (assumes it is radians).&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Sin(Pi()/4) = 0.707&lt;br /&gt;
 Sin(Pi()/2) = 1.0&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Cos|v2|Cos(float)}}&lt;br /&gt;
: Returns the cosine of the argument (assumes it is radians).&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Cos(Pi()/4) = 0.707&lt;br /&gt;
 Cos(Pi()/2) = 0.0&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Tan|v2.60|Tan(float)}}&lt;br /&gt;
: Returns the tangent of the argument (assumes it is radians).&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Tan(Pi()/4) = 1.0&lt;br /&gt;
 Tan(Pi()/2) = not defined&lt;br /&gt;
: 32 bit ieee floats do not have sufficient resolution to exactly represent&lt;br /&gt;
: pi/2 so AviSynth returns a large positive number for the value slightly less&lt;br /&gt;
: than pi/2 and a large negative value for the next possible value which is&lt;br /&gt;
: slightly greater than pi/2.&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Asin|v2.60|Asin(float)}}&lt;br /&gt;
: Returns the inverse of the sine of the argument (output is radians).&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Asin(0.707) = 0.7852471634 (~ Pi/4)&lt;br /&gt;
 Asin(1.0) = 1.570796327 (~ Pi/2)&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Acos|v2.60|Acos(float)}}&lt;br /&gt;
: Returns the inverse of the cosine of the argument (output is in radians).&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Acos(0.707) = 0.7852471634 (~ Pi/4)&lt;br /&gt;
 Acos(0.0) = 1.570796327 (~ Pi/2)&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Atan|v2.60|Atan(float)}}&lt;br /&gt;
: Returns the inverse of the tangent of the argument (output is in radians).&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Atan(0.707) = 0.6154085176&lt;br /&gt;
 Atan(1.0) = 0.7853981634 (~ Pi/4)&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Atan2|v2.60|Atan2(float, float)}}&lt;br /&gt;
: Returns the angle between the positive x-axis of a plane and the point given by the coordinates (x, y) on it (output is in radians). See [http://en.wikipedia.org/wiki/Atan2 wikipedia] for more information.&lt;br /&gt;
: y is the first argument and x is the second argument.&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Atan2(1.0, 0) = 1.570796327 (~ Pi/2)&lt;br /&gt;
 Atan2(1.0, 1.0) = 0.7852471634 (~ Pi/4)&lt;br /&gt;
 Atan2(−1.0, −1.0) = -2.356194490 (~ −3Pi/4)&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Sinh|v2.60|Sinh(float)}}&lt;br /&gt;
: Returns the hyperbolic sine of the argument. See [http://en.wikipedia.org/wiki/Hyperbolic_function wikipedia] for more information.&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Sinh(2.0) = 3.626860408&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Cosh|v2.60|Cosh(float)}}&lt;br /&gt;
: Returns the hyperbolic cosine of the argument.&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Cosh(2.0) = 3.762195691&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Tanh|v2.60|Tanh(float)}}&lt;br /&gt;
: Returns the hyperbolic tangent of the argument.&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Tanh(2.0) = 0.9640275801&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Fmod|v2.60|Fmod(float, float)}}&lt;br /&gt;
: Returns the modulo of the argument. Output is float.&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Fmod(3.5, 0.5) = 0 (since 3.5 - 7*0.5 = 0)&lt;br /&gt;
 Fmod(3.5, 1.0) = 0.5 (since 3.5 - 3*1.0 = 0.5)&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Pi|v2|Pi()}}&lt;br /&gt;
: Returns the value of the &amp;quot;pi&amp;quot; constant (the ratio of a circle's circumference to its diameter).&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 d = Pi()    # d == 3.141592653&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Tau|v2.60|Tau()}}&lt;br /&gt;
: Returns the value of the &amp;quot;tau&amp;quot; constant (the ratio of a circle's circumference to its radius). See [http://en.wikipedia.org/wiki/Tau_(2π) Tau_(2Π)] for more information.&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 d = Tau()   # d == 6.283186&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Exp|v2|Exp(float)}}&lt;br /&gt;
: Returns the natural (base-e) exponent of the argument.&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Exp(1) = 2.7182818&lt;br /&gt;
 Exp(0) = 1.0&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Log|v2|Log(float)}}&lt;br /&gt;
: Returns the natural (base-e) logarithm of the argument.&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Log(1) = 0.0&lt;br /&gt;
 Log(10) = 2.30259&lt;br /&gt;
 Log(Exp(1)) = 1.0&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Log10|v2.60|Log10(float)}}&lt;br /&gt;
: Returns the common logarithm of the argument.&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Log10(1.0) = 0&lt;br /&gt;
 Log10(10.0) = 1.0&lt;br /&gt;
 Log10(2.0) = 0.3010299957&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Pow|v2|Pow(float base, float power)}}&lt;br /&gt;
: Returns &amp;quot;base&amp;quot; raised to the power indicated by the second argument.&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Pow(2, 3) = 8&lt;br /&gt;
 Pow(3, 2) = 9&lt;br /&gt;
 Pow(3.45, 1.75) = 8.7334&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Sqrt|v2|Sqrt(float)}}&lt;br /&gt;
: Returns the square root of the argument.&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Sqrt(1) = 1.0&lt;br /&gt;
 Sqrt(2) = 1.4142&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Abs|v2.07|Abs(float or int)}}&lt;br /&gt;
: Returns the absolute value of its argument (returns float for float, integer for integer).&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Abs(-3.8) = 3.8&lt;br /&gt;
 Abs(-4) = 4&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Sign|v2.07|Sign(float)}}&lt;br /&gt;
: Returns the sign of the value passed as argument (1, 0 or -1).&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Sign(-3.5) = -1&lt;br /&gt;
 Sign(3.5) = 1&lt;br /&gt;
 Sign(0) = 0&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Frac|v2.07|Frac(float)}}&lt;br /&gt;
: Returns the fractional portion of the value provided.&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Frac(3.7) = 0.7&lt;br /&gt;
 Frac(-1.8) = -0.8&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Rand|v2.07|Rand([int max] [, bool scale] [, bool seed])}}&lt;br /&gt;
: Returns a random integer value. All parameters are optional. &lt;br /&gt;
:* ''max'' sets the maximum value+1 (default 32768) and can be set negative for negative results. It operates either in scaled or modulus mode (default ''scale''=true only if abs(max) &amp;gt; 32768, false otherwise). &lt;br /&gt;
:* Scaled mode (''scale''=true) scales the internal random number generator value to the maximum value, while modulus mode (''scale''=false) uses the remainder from an integer divide of the random generator value by the maximum. I found modulus mode is best for smaller maximums. &lt;br /&gt;
:* Using ''seed=true'' seeds the random number generator with the current time. ''seed'' defaults to false and probably isn't necessary, although it's there just in case. &lt;br /&gt;
: Typically, this function would be used with the Select function for random clips. &lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Select(Rand(5), clip1, clip2, clip3, clip4, clip5)&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|Spline|v2.51|Spline(float X, x1, y1, x2, y2, .... [, bool cubic])}}&lt;br /&gt;
: Interpolates the Y value at point X using the control points x1/y1, ... There have to be at least 2 x/y-pairs. The interpolation can be cubic (the result is a spline) or linear (the result is a polygon). Default is cubic.&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Spline(5, 0, 0, 10, 10, 20, 0, false) = 5&lt;br /&gt;
 Spline(5, 0, 0, 10, 10, 20, 0, true) = 7&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|ContinuedNumerator|v2.60|ContinuedNumerator(float, int limit)}}&lt;br /&gt;
* {{ScriptFunction|ContinuedNumerator|v2.60|ContinuedNumerator(int, int, int limit)}}&lt;br /&gt;
* {{ScriptFunction|ContinuedDenominator|v2.60|ContinuedDenominator(float, int limit)}}&lt;br /&gt;
* {{ScriptFunction|ContinuedDenominator|v2.60|ContinuedDenominator(int, int, int limit)}}&lt;br /&gt;
: The rational pair (ContinuedNumerator,ContinuedDenominator) returned has the smallest possible denominator such that the absolute error is less than 1/limit. More information can be found on [http://en.wikipedia.org/wiki/Continued_fraction wikipedia].&lt;br /&gt;
: If ''limit'' is not specified in the Float case the rational pair returned is to the limit of the single precision floating point value. Thus (float)((double)Num/(double)Den) == V.&lt;br /&gt;
: In the Int case if ''limit'' is not specified then the normalized original values will be returned, i.e. reduced by the GCD.&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 ContinuedNumerator(PI(), limit=5000]) = 355&lt;br /&gt;
 ContinuedDenominator(PI(), limit=5000) = 113&lt;br /&gt;
 &lt;br /&gt;
 ContinuedNumerator(PI(), limit=50]) = 22&lt;br /&gt;
 ContinuedDenominator(PI(), limit=50) = 7&lt;br /&gt;
 &lt;br /&gt;
 ContinuedNumerator(355, 113, limit=50]) = 22&lt;br /&gt;
 ContinuedDenominator(355, 113, limit=50) = 7 &lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|BitAnd|v2.60|BitAnd(int, int)}}&lt;br /&gt;
: The functions: BitAnd, BitNot, BitOr and BitXor, etc, are bitwise operators. This means that their arguments (being integers) are converted to binary numbers, the operation is performed on their bits, and the resulting binary number is converted back again.&lt;br /&gt;
: BitAnd returns the bitwise AND (sets bit to 1 if both bits are 1 and sets bit to 0 otherwise).&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 BitAnd(5, 6) = 4 # since 5 = 101, 6 = 110, and 101&amp;amp;110 = 100&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|BitNot|v2.60|BitNot(int)}}&lt;br /&gt;
: Returns the bit-inversion (sets bit to 1 if bit is 0 and vice-versa).&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 BitNOT(5) = -6 # since 5 = 101, and ~101 = 1111 1111 1111 1111 1111 1111 1111 1010 = -6&lt;br /&gt;
: Note: 1111 1111 1111 1111 1111 1111 1111 1010 = (2^32-1)-2^0-2^2 = 2^32-(1+2^0+2^2) =(signed) -(1+2^0+2^2) = -6&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|BitOr|v2.60|BitOr(int, int)}}&lt;br /&gt;
: Returns the bitwise inclusive OR (sets bit to 1 if one of the bits (or both) is 1 and sets bit to 0 otherwise).&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 BitOr(5, 6) = 7 # since 5 = 101, 6 = 110, and 101|110 = 111&lt;br /&gt;
 BitOr(4, 2) = 6 # since 4 = 100, 2 = 010, and 100|010 = 110&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|BitXor|v2.60|BitXor(int, int)}}&lt;br /&gt;
: Returns the bitwise exclusive OR (sets bit to 1 if exactly one of the bits is 1 and sets bit to 0 otherwise).&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 BitXor(5, 6) = 3 # since 5 = 101, 6 = 110, and 101^110 = 011&lt;br /&gt;
 BitXor(4, 2) = 6 # since 4 = 100, 2 = 010, and 100^010 = 110&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|BitLShift|v2.60|BitLShift(int, int)}}&lt;br /&gt;
* {{ScriptFunction|BitShl|v2.60|BitShl(int, int)}}&lt;br /&gt;
* {{ScriptFunction|BitSal|v2.60|BitSal(int, int)}}&lt;br /&gt;
: Shift the bits of a number to the left.&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Shifts the bits of the number 5 two bits to the left:&lt;br /&gt;
 BitLShift(5, 2) = 20 (since 101 &amp;lt;&amp;lt; 2 = 10100)&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|BitRShiftL|v2.60|BitRShiftL(int, int)}}&lt;br /&gt;
* {{ScriptFunction|BitRShiftU|v2.60|BitRShiftU(int, int)}}&lt;br /&gt;
* {{ScriptFunction|BitShr|v2.60|BitShr(int, int)}}&lt;br /&gt;
: Shift the bits of an unsigned integer to the right. (Logical, zero fill, Right Shift)&lt;br /&gt;
: ''Examples:''&lt;br /&gt;
 Shifts the bits of the number -42 one bit to the right, treating it as unsigned:&lt;br /&gt;
 BitRShiftL(-42, 1) = 2147483627 (since 1111 1111 1111 1111 1111 1111 1101 0110 &amp;gt;&amp;gt; 1 = 0111 1111 1111 1111 1111 1111 1110 1011)&lt;br /&gt;
: Note: -42 = -(1+2^0+2^3+2^5) = (unsigned) (2^32-1)-(2^0+2^3+2^5) = 1111 1111 1111 1111 1111 1111 1101 0110&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|BitRShiftA|v2.60|BitRShiftA(int, int)}}&lt;br /&gt;
* {{ScriptFunction|BitRShiftS|v2.60|BitRShiftS(int, int)}}&lt;br /&gt;
* {{ScriptFunction|BitSar|v2.60|BitSar(int, int)}}&lt;br /&gt;
: Shift the bits of an integer to the right. (Arithmetic, Sign bit fill, Right Shift)&lt;br /&gt;
: Examples:&lt;br /&gt;
 Shifts the bits of the number -42 one bit to the right, treating it as signed:&lt;br /&gt;
 BitRShiftA(-42, 1) = -21 (since 1111 1111 1111 1111 1111 1111 1101 0110 &amp;gt;&amp;gt; 1 = 1111 1111 1111 1111 1111 1111 1110 1011)&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|BitLRotate|v2.60|BitLRotate(int, int)}}&lt;br /&gt;
* {{ScriptFunction|BitRol|v2.60|BitRol(int, int)}}&lt;br /&gt;
: Rotates the bits of an integer to the left by the number of bits specified in the second operand. For each rotation specified, the high order bit that exits from the left of the operand returns at the right to become the new low order bit.&lt;br /&gt;
: Examples:&lt;br /&gt;
 Rotates the bits of the number -2147483642 one bit to the left:&lt;br /&gt;
 BitLRotate(-2147483642, 1) = 13 (since 10000000000000000000000000000110 ROL 1 = 00000000000000000000000000001101)&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|BitRRotate|v2.60|BitRRotateL(int, int)}}&lt;br /&gt;
* {{ScriptFunction|BitRor|v2.60|BitRor(int, int)}}&lt;br /&gt;
: Rotates the bits of an integer to the right by the number of bits specified in the second operand. For each rotation specified, the low order bit that exits from the right of the operand returns at the left to become the new high order bit.&lt;br /&gt;
: Examples:&lt;br /&gt;
 Rotates the bits of the number 13 one bit to the right:&lt;br /&gt;
 BitRRotate(13, 1) = -2147483642 (since 00000000000000000000000000001101 ROR 1 = 10000000000000000000000000000110)&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|BitTest|v2.60|BitTest(int, int)}}&lt;br /&gt;
* {{ScriptFunction|BitTst|v2.60|BitTst(int, int)}}&lt;br /&gt;
: Tests a single bit (that is, it returns true if its state is one, else it returns false). The second operand denotes the location of the bit which is specified as an offset from the low order end of the operand (starting at zero).&lt;br /&gt;
: Examples:&lt;br /&gt;
 Check the state of the fourth bit:&lt;br /&gt;
 BitTest(3, 4) = False&lt;br /&gt;
 BitTest(19, 4) = True&lt;br /&gt;
 &lt;br /&gt;
 Check the state of the sign bit:&lt;br /&gt;
 BitTest(-1, 31) = True&lt;br /&gt;
 BitTest(2147483647, 31) = False&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|BitSet|v2.60|BitSet(int, int)}}&lt;br /&gt;
: Sets a single bit to one (so it sets its state to one). The second operand denotes the location of the bit which is specified as an offset from the low order end of the operand (starting at zero).&lt;br /&gt;
: Examples:&lt;br /&gt;
 Set the state of the fourth bit to one:&lt;br /&gt;
 BitSet(3, 4) = 19&lt;br /&gt;
 BitSet(19, 4) = 19&lt;br /&gt;
&lt;br /&gt;
 Set the state of the sign bit to one:&lt;br /&gt;
 BitSet(-1, 31) = -1&lt;br /&gt;
 BitSet(2147483647, 31) = -1&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|BitClear|v2.60|BitClear(int, int)}}&lt;br /&gt;
* {{ScriptFunction|BitClr|v2.60|BitClr(int, int)}}&lt;br /&gt;
: Sets a single bit to zero (so it sets its state to zero). The second operand denotes the location of the bit which is specified as an offset from the low order end of the operand (starting at zero).&lt;br /&gt;
: Examples:&lt;br /&gt;
 Clear the bits of the number 5&lt;br /&gt;
 BitClear(5, 0) = 4 (first bit is set to zero)&lt;br /&gt;
 BitClear(5, 1) = 5 (second bit is already zero)&lt;br /&gt;
 BitClear(5, 2) = 1 (third bit is set to zero)&lt;br /&gt;
 BitClear(5, 3) = 5 (fourth bit is already zero)&lt;br /&gt;
 &lt;br /&gt;
 Clear the state of the sign bit:&lt;br /&gt;
 BitClear(-1, 31) = 2147483647&lt;br /&gt;
&lt;br /&gt;
* {{ScriptFunction|BitChange|v2.60|BitChange(int, int)}}&lt;br /&gt;
* {{ScriptFunction|BitChg|v2.60|BitChg(int, int)}}&lt;br /&gt;
: Sets a single bit to its complement (so it changes the state of a single bit; 1 becomes 0 and vice versa). The second operand denotes the location of the bit which is specified as an offset from the low order end of the operand (starting at zero). The sign bit is bit 31.&lt;br /&gt;
: Examples:&lt;br /&gt;
 Change the state of the a bit of the number 5:&lt;br /&gt;
 BitChange(5, 0) = 4 (first bit is set to zero)&lt;br /&gt;
 BitChange(5, 1) = 7 (second bit is set to one)&lt;br /&gt;
 BitChange(5, 2) = 1 (third bit is set to zero)&lt;br /&gt;
 BitChange(5, 3) = 13 (fourth bit is set to one)&lt;br /&gt;
 &lt;br /&gt;
 Change the state of the sign bit:&lt;br /&gt;
 BitChange(-1, 31) = 2147483647&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Back to [[Internal functions]].&lt;br /&gt;
&lt;br /&gt;
[[Category:AviSynth_Syntax]]&lt;br /&gt;
[[Category:Scripting_Basics]]&lt;/div&gt;</summary>
		<author><name>Unreal666</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Changelist_26</id>
		<title>Changelist 26</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Changelist_26"/>
				<updated>2014-01-04T17:58:03Z</updated>
		
		<summary type="html">&lt;p&gt;Unreal666: /* Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Changes from 2.6.0 Alpha 2 to 2.6.0 CVS ==&lt;br /&gt;
&lt;br /&gt;
=== Additions ===&lt;br /&gt;
* Added Eval(clip, string name, string) alias for oop processing of argument.&lt;br /&gt;
* DirectShowSource support non-standard pixel types &amp;quot;YV24&amp;quot; and &amp;quot;YV16&amp;quot;.&lt;br /&gt;
* Info: Audio only clip now creates its own canvas video.&lt;br /&gt;
* AviSource: Include packed/padded processing and -ve biHeight logic for compressed input.&lt;br /&gt;
* Add Script Functions :- BitLRotate, BitRRotate, BitChange, BitClear, BitSet, BitTest and their asm aliases.&lt;br /&gt;
* Add WeaveRows (blit cost) and WeaveColumns (slow) frame combining filters.&lt;br /&gt;
* Add AudioDuration() [as float seconds], IsY8(), IsYV411() &amp;amp; PixelType() [as a string] script functions.&lt;br /&gt;
* Add Echo and Preroll filters.&lt;br /&gt;
* Add IScriptEnvironment::GetAVSLinkage() and DLLExport AVS_linkage for host usage of avisynth.dll.&lt;br /&gt;
* DirectShowSource, 2.6 plugin, support pixel types &amp;quot;AYUV&amp;quot; as YV24, &amp;quot;Y41P&amp;quot; and &amp;quot;Y411&amp;quot; as YV411.&lt;br /&gt;
* AviSource: Add Full and Auto pseudo pixel_types. Full is all supported. Auto is YV12, YUY2, RGB32, RGB24 &amp;amp; Y8.&lt;br /&gt;
* Add &amp;quot;AudioLengthS&amp;quot;, &amp;quot;Ord&amp;quot; &amp;amp; &amp;quot;FillStr&amp;quot; script functions.&lt;br /&gt;
* Add AudioTrim(clip, float, float) audio priority trimming, args in fractional seconds.&lt;br /&gt;
* Add Trim(M, Length=N[, Pad=False]) and Trim(M, End=N[, Pad=False]) function overloads for explicit Trimming. Length=0 means zero frame clip. End=0 means end at frame 0.&lt;br /&gt;
* Add SeparateRows (zero cost) and SeparateColumns (slow) frame slashing filters.&lt;br /&gt;
* Add Script Functions :- Acos, Asin, Atan, Atan2, Cosh, Sinh, Tanh, Fmod, Log10, BitLShift, BitRShiftS, BitRShiftU and Hex.&lt;br /&gt;
* Add &amp;quot;ConditionalSelect&amp;quot;,&amp;quot;csc+[show]b&amp;quot; runtime filter.&lt;br /&gt;
* Add dither option to Levels, RGBAdjust &amp;amp; Tweak.&lt;br /&gt;
* Add BitAnd(), BitNot(), BitOr() &amp;amp; BitXor() script functions.&lt;br /&gt;
* Add StrCmp() &amp;amp; StrCmpI() script functions.&lt;br /&gt;
* Add YV24 support for Limiter show option.&lt;br /&gt;
* Add &amp;quot;Global OPT_dwChannelMask={int}&amp;quot;&lt;br /&gt;
* Add 0x0063F speaker mask for 7.1 WAVE_FORMAT_EXTENSIBLE.&lt;br /&gt;
* Add .dll DelayLoad exception texts to crash message formatter.&lt;br /&gt;
* ImageWriter, add support for printf formating of filename string, default is (&amp;quot;%06d.%s&amp;quot;, n, ext);&lt;br /&gt;
* Add avs_get_error(AVS_ScriptEnvironment*); to avisynth_c interface.&lt;br /&gt;
* Catch and save AvisynthError text in more avisynth_c entry points, for kemuri-_9.&lt;br /&gt;
* Add ScriptName(), ScriptFile(), ScriptDir() functions (WarpEnterprises).&lt;br /&gt;
* Add SkewRows filter.&lt;br /&gt;
* Histogram, Levels mode, Improve colour of chroma legends.&lt;br /&gt;
* ConditionalFilter, teach about string results.&lt;br /&gt;
* Add some more &amp;quot;Add/Remove Software&amp;quot; registry keys to the Installer (XhmikosR).&lt;br /&gt;
* AviSource: Support both packed and DWORD padded raw planar input like with DSS.&lt;br /&gt;
* Add IScriptEnvironment::ApplyMessage()&lt;br /&gt;
* Add ImageSourceAnim (Wilbert)&lt;br /&gt;
* Support user upgrade to 178 DevIL.dll (They need to manage CRT dependancies).&lt;br /&gt;
* ImageSource: palette and compressed bmp images load correctly now (issue 894702) [need 178 DevIL.dll]&lt;br /&gt;
* ImageSource: support for other formats like: gif, exr, jp2, psd, hdr [need 178 DevIL.dll]&lt;br /&gt;
* Add YV24 mode to ColorBars.&lt;br /&gt;
* Add ColorBarsHD based on arib_std_b28.&lt;br /&gt;
* C-api usability enhancements from kemuri9 [Work in progress!]&lt;br /&gt;
* Add Undefined(), AudioLengthLo(), AudioLengthHi(), IsYV16() &amp;amp; IsYV24() script functions&lt;br /&gt;
* Allow newlines (and hence comments) before '{' -- Gavino&lt;br /&gt;
* Added IScriptEnvironment::DeleteScriptEnvironment()&lt;br /&gt;
* Added Histogram, population clamp % factor for &amp;quot;Levels&amp;quot; mode,&lt;br /&gt;
* Histogram, revert &amp;quot;Stereo&amp;quot; mode to YV12, Add &amp;quot;StereoY8&amp;quot; mode,&lt;br /&gt;
* AviSource: Support fourcc &amp;quot;GREY&amp;quot; as Y8&lt;br /&gt;
* Add &amp;quot;Global OPT_AVIPadScanlines=True&amp;quot; option for DWORD aligned planar padding&lt;br /&gt;
&lt;br /&gt;
=== Bugfixes ===&lt;br /&gt;
* Fixed frame range clamping in ComparePlane (ultim).&lt;br /&gt;
* Fixed posible leak with realloc in ConditionalReader (ultim).&lt;br /&gt;
* Fixed posible double free in text-overlay (ultim).&lt;br /&gt;
* Fixed RGB32 to Y8 pixel right shift from 4th pixel on (Robert Martens).&lt;br /&gt;
* Fixed Overlay YV24 Image444 leak.&lt;br /&gt;
* Fixed AVISource &amp;quot;AUTO&amp;quot; and &amp;quot;FULL&amp;quot; handling.&lt;br /&gt;
* Fixed ImageSource handling of missing ebmp files.&lt;br /&gt;
* Fixed DirectShowSource incorrect byte order for unpacking of pixel type &amp;quot;AYUV&amp;quot;.&lt;br /&gt;
* Fixed HexValue parsing values greater than 7FFFFFFF, now as unsigned hex.&lt;br /&gt;
* Fixed ConditionalReader memory overrun parsing bools.&lt;br /&gt;
* Fixed ResampleAudio NOP test to compare vi.num_audio_samples, not sample rate.&lt;br /&gt;
* Fixed YV24 -&amp;gt; RGB24 overrun cleanup for widths%16 == 5.&lt;br /&gt;
* Fixed RGB24 AddBorders with right=0.&lt;br /&gt;
* Fixed conditional_functions error message names (Wilbert).&lt;br /&gt;
* Fixed Audio cache ac_expected_next regression.&lt;br /&gt;
* Fixed ImageSource deal with add 1 to IL_NUM_IMAGES bug (Wilbert)&lt;br /&gt;
* Fixed Overlay YV24 V plane conversion.&lt;br /&gt;
* Fixed Overlay YV24 mode with shared input clip, needed a MakeWritable.&lt;br /&gt;
* Fixed ImageReader upside down TIFF in 178 DevIL. (Wilbert)&lt;br /&gt;
* Fixed SaveString 'string+string' bug when total length is 4096*K-1, K is +int.&lt;br /&gt;
* Fixed SincResize misuse of &amp;quot;int abs(int)&amp;quot; (Gavino). Fix Lanczos and Blackman sinc use of float == 0.0, use small limit &amp;quot;&amp;gt; 0.000001&amp;quot;.&lt;br /&gt;
* Fixed Classic mode legend drawing for planar right limit and yuy2 centre line.&lt;br /&gt;
* Fixed possible MT race. Use &amp;quot;env-&amp;gt;ManageCache(MC_IncVFBRefcount, ...)&amp;quot; in ProtectVFB.&lt;br /&gt;
* Fixed SwapYToUV output image size bug for 3 clip case.&lt;br /&gt;
* Fixed Crop limit tests for RGB.&lt;br /&gt;
* Fixed Overlay yellow tint on rec601 RGB import conversion.&lt;br /&gt;
* Fixed YtoUV() output image size bug for 3 clip case.&lt;br /&gt;
* Fixed ConvertToPlanar chroma alignment.&lt;br /&gt;
* Fixed Levels (RGB) change use of PixelClip(x) to min(max(x, 0), 255).&lt;br /&gt;
* Fixed SwapYtoUV yuy2 crash (StainlessS).&lt;br /&gt;
* Fixed Overlay saturate UV in add and subtract mode.&lt;br /&gt;
* Fixed Info.h range protect display characters (StainlessS).&lt;br /&gt;
* Fixed AviSource packed planar import chroma offsets.&lt;br /&gt;
* Fixed AviSource NULL GetWritePtr() failure due to premature setting of last_frame.&lt;br /&gt;
* Fixed Mask rounding in greyscale calcs (Wilbert), minor refactor.&lt;br /&gt;
* Fixed SelectRangeEvery audio snafu (Gavino).&lt;br /&gt;
* Fixed LoadPlugin, SaveString of result string.&lt;br /&gt;
* Fixed LoadPlugin, use _vsnprintf.&lt;br /&gt;
* Fixed LoadVirtualdubPlugin, don't add vdub filter to chain on load failure.&lt;br /&gt;
* Fixed rounding in RGB HResize (JoshyD) (affects all resizers)&lt;br /&gt;
* Fixed error message name in the filter VerticalReduceBy2&lt;br /&gt;
* Fixed SeparateFields() with variable parity input clip (Wilbert)&lt;br /&gt;
* Fixed AviSource, cannot cast__int64* to long*, it does not work!&lt;br /&gt;
* Fixed ConditionalReader: Don't allow out of range &amp;quot;Range&amp;quot; to overwrite edge values&lt;br /&gt;
&lt;br /&gt;
=== Optimizations ===&lt;br /&gt;
* Cache auto increase span on sparse misses.&lt;br /&gt;
* Cache prevent inactive instances returning VFB early and spoiling active instances hit rate (LaTo).&lt;br /&gt;
* ConvertToPlanarGeneric explicit add Cache before chroma rescaler.&lt;br /&gt;
* Overlay minor refactor YV12 -&amp;gt; 444 chroma&lt;br /&gt;
* Speedup ConvertToMono(), minor refactor MixAudio().&lt;br /&gt;
* Change StackVertical/Horizontal to interative instead of recursive, 2^N performace increase for 3 and more clips, i.e. 1 blit total instead of blit(blit(blit(...&lt;br /&gt;
* RGBtoY8 Dynamic ASM code, suport for RGB24.&lt;br /&gt;
* YV24backtoYUY2 Dynamic ASM code.&lt;br /&gt;
* UtoY8, VtoY8 abuse subframe, zero cost.&lt;br /&gt;
* YV24&amp;lt;-&amp;gt;RGB Add SSE2 and SSSE3 code paths, get rid of wide_enough.&lt;br /&gt;
* ConvertToYUY2 Add SSE2, MMX restore full speed on platforms with poor ooox.&lt;br /&gt;
* ConvertAudio, manage tempbuffer and floatbuffer independently.&lt;br /&gt;
* ConvertAudio, prefer SSE2 over 3DNow for super AMD cores.&lt;br /&gt;
* Info.h, full refactor, a good example of &amp;quot;Never look down&amp;quot;, thx StainlessS&lt;br /&gt;
* DoubleWeaveFrames, If A not writable, try to write to B, else make new frame&lt;br /&gt;
* Histogram, fix GetFrame/NewVideoFrame call order&lt;br /&gt;
* HResizer, interleave code +4% faster&lt;br /&gt;
* YtoUV() Abuse Subframe to snatch the Y plane / UV planes, Derestrict destination colorformat autogeneration.&lt;br /&gt;
* ImageSource: Improve thread interlock code&lt;br /&gt;
* ConditionalReader/WriteFile: Full refactor.&lt;br /&gt;
* Replace _strdup with SaveString in AddFunction (Thanks Gavino)&lt;br /&gt;
&lt;br /&gt;
=== Changes ===&lt;br /&gt;
* Import: Increase full path buffer to MAX_PATH*4 for multi char code pages like CP932 (Chikuzen).&lt;br /&gt;
* Throw error when output number of frames will exceed MAXINT.&lt;br /&gt;
* BlankClip: Supply useful defaults for new Audio/Video when using a Video/Audio only template clip.&lt;br /&gt;
* BlankClip: Use duration from Audio only template as default length for new clip.&lt;br /&gt;
* Define new IClip::SetCacheHints cachehint constants.&lt;br /&gt;
* Force int call arguments to user script function float params to be explicit floats.&lt;br /&gt;
* Splice pass CacheHints through to both children in + and ++ mode.&lt;br /&gt;
* WriteFileStart/End save current_frame and set Last.&lt;br /&gt;
* ConditionalReader do not ignore syntax errors in input file.&lt;br /&gt;
* ImageSourceAnim Pad/Crop images to match first frame (Wilbert)&lt;br /&gt;
* ImageSource Add version to messages (Wilbert)&lt;br /&gt;
* Initial 2.6 API entry point linkage.&lt;br /&gt;
* Use Invoke for graph tail, enhance non-clip output error reporting.&lt;br /&gt;
* PopContext when inner block Asserts/throws (maxxon).&lt;br /&gt;
* Remove duplicate definitions (Wilbert)&lt;br /&gt;
* Enhance non-clip output error reporting.&lt;br /&gt;
* Explicitly specify calling sequence as __cdecl for Avisynth softwire routines, (was the compiler default)&lt;br /&gt;
* Use env-&amp;gt;Invoke(&amp;quot;Cache&amp;quot;, ...) everywhere instead of Cache::Create_Cache(), allows for Cache to be overloaded by a plugin.&lt;br /&gt;
* ConvertToYUY2 Change from 0-1-1 kernel to 1-2-1 kernel.&lt;br /&gt;
* Tweak make Interp same units as minSat and maxSat.&lt;br /&gt;
* Check HKEY_CURRENT_USER for PluginDir first. (henktiggelaar)&lt;br /&gt;
* Make forced, -ve, planar alignment of chroma planes match subsampling.&lt;br /&gt;
* Enforce planar alignment restrictions.&lt;br /&gt;
* C-api: Remove func sub-struct from AVS_Library struct&lt;br /&gt;
* Add error code to plugin load failure message&lt;br /&gt;
* Make default planar AVI output packed.&lt;br /&gt;
* WriteFile() now supports unlimited number of unlimited strings. (was 16 by 254 byte strings).&lt;br /&gt;
* ConvertToRGB*, make C++ code sample chroma the same as the MMX code i.e. use both pixels.&lt;br /&gt;
* ConvertToRGB*, use YV24 path for planar, complain when options are present for YUY2.&lt;br /&gt;
* ConvertToYUY2, use YV16 path for planar, complain when options are present for RGB&lt;br /&gt;
** see: http://forum.doom9.org/showthread.php?p=1378381#post1378381&lt;br /&gt;
* Thread safe code, part 2.&lt;br /&gt;
* Correct IClip baked documentation&lt;br /&gt;
* Fix at_exit executon order&lt;br /&gt;
* Passify compilation error/warnings (XhmikosR)&lt;br /&gt;
* for, const, extern and ansi patches for VC2008 (SEt)&lt;br /&gt;
* Disable OPT_RELS_LOGGING option&lt;br /&gt;
* Change implicit Last parsing for argless, bracketless calls to match bracketed cases. (Gavino) [not documented yet ???]&lt;br /&gt;
* DirectShowSource: Support last minute format renegotiation thru IPin::QueryAccept() &amp;amp; Validate the size of the provided directshow buffer.&lt;br /&gt;
* Remove non ascii chars from comments.&lt;br /&gt;
* Add core stubs for DirectShowSource, TCPServer &amp;amp; TCPSource, report when plugins are missing.&lt;br /&gt;
* Add note for original source downloads - SoundTouch&lt;br /&gt;
* Add more lineage history to Info()&lt;br /&gt;
* Move convertaudio, alignplanar, fillborder &amp;amp; MIN/MAX_INT definitions.&lt;br /&gt;
* Run AtExit before dismantling world.&lt;br /&gt;
* Change setcachehints definition from void to int. Test IClip version &amp;gt;= 5.&lt;br /&gt;
* Move PixelClip definition to avisynth.cpp&lt;br /&gt;
* SubTitle, etc, make X &amp;amp; Y options float (0.125 pixel granularity).&lt;br /&gt;
* ShowSMPTE() supports all integer FPS and multiplies of drop frame FPS.&lt;br /&gt;
* SubTitle, stop overwriting string constants (Gavino).&lt;br /&gt;
* SubTitle, improve pixel registration (Gavino).&lt;br /&gt;
* Make Info() CPU display hierarchical.&lt;br /&gt;
* Thread safe code, part 1.&lt;br /&gt;
&lt;br /&gt;
== Changes from 2.5 series to 2.6.0 Alpha 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Additions ===&lt;br /&gt;
* Added support for argument passing and EAX return value to SoftwireHelper.&lt;br /&gt;
* Added &amp;quot;Global OPT_VDubPlanarHack=True&amp;quot; to flip YV24 and YV16 chroma planes for old VDub's.&lt;br /&gt;
* Added ContinuedDenominator/ContinuedNumerator(f[]i[limit]i) script functions.&lt;br /&gt;
* Tweak: fix MaskPointResizing + put back Dividee ISSE code (use sse=true, can't use all settings in that case).&lt;br /&gt;
* Added ChromaInPlacement, ChromaOutPlacement and ChromaResample options to planar colour conversions.&lt;br /&gt;
* Added MaskHS.&lt;br /&gt;
* Minor tweaks to get ready for VC8.&lt;br /&gt;
* Add Y8 for DevIL, planarize EBMP.&lt;br /&gt;
* Planar support for many filters.&lt;br /&gt;
* Added Info() time indicator on audio length and video (current frame &amp;amp; total). (2.5.8)&lt;br /&gt;
* Added UtoY8 and VtoY8.&lt;br /&gt;
* Added more info to Info(). (2.5.8)&lt;br /&gt;
* ColorYUV: Added all adjustment parameters as conditional variables &amp;quot;coloryuv_SETTING&amp;quot;. Enable by setting conditional=true.&lt;br /&gt;
* ConditionalReader: Added support for type String.&lt;br /&gt;
* ConditionalReader: Added offset keyword to offset all frame numbers after the keyword.&lt;br /&gt;
* Added SincResize() with optional taps parameter (default is 4).&lt;br /&gt;
* Added Custom band setting to SuperEQ to allow all 16 bands to be set from script. Usage: SuperEQ(clip,band1, band2, band3....) values are dB in float.&lt;br /&gt;
* Added fast 0-1-0 kernel for YV24 to ConvertBacktoYUY2().&lt;br /&gt;
* Added formats: YV24, YV16, Y8, YV411.&lt;br /&gt;
&lt;br /&gt;
=== Bugfixes ===&lt;br /&gt;
* Fixed MonoToStereo with stereo sources.&lt;br /&gt;
* Fixed MergeChannels with only 1 input clip.&lt;br /&gt;
* Fixed support for negative height DIB format AVI's. (Oops still not quite right yet)&lt;br /&gt;
* Fixed Audio cache crashes.&lt;br /&gt;
* Fixed resize with YV411 missing code.&lt;br /&gt;
* Fixed ConditionalReader rounding with integer Interpolation.&lt;br /&gt;
* Fixed Softwire SSE2 bugs.&lt;br /&gt;
* Fixed SSSE3 CPU detection.&lt;br /&gt;
* Fixed SSSE3, SSE4.1 &amp;amp; SSE4.2 detection.&lt;br /&gt;
* Fixed Fastwire encoding of instructions that are &amp;gt;2 opcodes (SSSE3+4).&lt;br /&gt;
* Fixed _RPT5() macro for debug builds&lt;br /&gt;
&lt;br /&gt;
=== Optimizations ===&lt;br /&gt;
* SuperEQ: Improve channel unpacking/packing code.&lt;br /&gt;
* H-Resize: Use SSE4.1 (movntdqa) loads for use once memory access.&lt;br /&gt;
* H-Resize: Added SSE2 horizontal unpacker.&lt;br /&gt;
* Resize: Use SSE3 (lddqu) loads for unaligned memory access.&lt;br /&gt;
* Added ultra fast vertical PointResizer (64 pixel/cycle).&lt;br /&gt;
* Added dynamic SSSE3 vertical resizer (16 pixel/cycle) ~ twice as fast as old MMX.&lt;br /&gt;
* Added dynamic SSE2 vertical resizer (16 pixel/cycle).&lt;br /&gt;
* Added dynamic MMX vertical resizer (8 pixel/cycle).&lt;br /&gt;
* Added SSSE3 version for RGB&amp;lt;-&amp;gt;YV24 conversions.&lt;br /&gt;
* Added dynamic compiled MMX/iSSE for RGB&amp;lt;-&amp;gt;YV24 conversions. Speed is approx 200% of C-code.&lt;br /&gt;
&lt;br /&gt;
=== Changes ===&lt;br /&gt;
* ConditionalReader/WriteFile: Full refactor.&lt;br /&gt;
* SoftwireHelper: explicit hardware exception handling.&lt;br /&gt;
* Resize: Moved GetResampleFunction into Resamplefunction, to allow overrides.&lt;br /&gt;
* Resampler: Removed dead stlf code.&lt;br /&gt;
* Updated Soundtouch to 1.31 (2.5.8)&lt;br /&gt;
* Put dynamic matrix conversion into separate file.&lt;br /&gt;
* Moved chroma subsampling to image_type section.&lt;br /&gt;
* Added specific error reporting when requesting chromasubsampling with Y8.&lt;br /&gt;
* Split up merge and plane Swappers.&lt;br /&gt;
* Split up Plane transfers into separate classes.&lt;br /&gt;
* Added automatic destination colorspace detection on planar YtoUV.&lt;br /&gt;
* Took out greyscale and RGB32&amp;lt;-&amp;gt;RGB24 from convert.cpp and placed them in separate files.&lt;br /&gt;
* All code assuming UVwidth = Ywidth/2 and similar should be gone.&lt;br /&gt;
&lt;br /&gt;
[[Category:Changelist]]&lt;/div&gt;</summary>
		<author><name>Unreal666</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Changelist_26</id>
		<title>Changelist 26</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Changelist_26"/>
				<updated>2014-01-04T17:57:36Z</updated>
		
		<summary type="html">&lt;p&gt;Unreal666: /* Optimizations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Changes from 2.6.0 Alpha 2 to 2.6.0 CVS ==&lt;br /&gt;
&lt;br /&gt;
=== Additions ===&lt;br /&gt;
* Added Eval(clip, string name, string) alias for oop processing of argument.&lt;br /&gt;
* DirectShowSource support non-standard pixel types &amp;quot;YV24&amp;quot; and &amp;quot;YV16&amp;quot;.&lt;br /&gt;
* Info: Audio only clip now creates its own canvas video.&lt;br /&gt;
* AviSource: Include packed/padded processing and -ve biHeight logic for compressed input.&lt;br /&gt;
* Add Script Functions :- BitLRotate, BitRRotate, BitChange, BitClear, BitSet, BitTest and their asm aliases.&lt;br /&gt;
* Add WeaveRows (blit cost) and WeaveColumns (slow) frame combining filters.&lt;br /&gt;
* Add AudioDuration() [as float seconds], IsY8(), IsYV411() &amp;amp; PixelType() [as a string] script functions.&lt;br /&gt;
* Add Echo and Preroll filters.&lt;br /&gt;
* Add IScriptEnvironment::GetAVSLinkage() and DLLExport AVS_linkage for host usage of avisynth.dll.&lt;br /&gt;
* DirectShowSource, 2.6 plugin, support pixel types &amp;quot;AYUV&amp;quot; as YV24, &amp;quot;Y41P&amp;quot; and &amp;quot;Y411&amp;quot; as YV411.&lt;br /&gt;
* AviSource: Add Full and Auto pseudo pixel_types. Full is all supported. Auto is YV12, YUY2, RGB32, RGB24 &amp;amp; Y8.&lt;br /&gt;
* Add &amp;quot;AudioLengthS&amp;quot;, &amp;quot;Ord&amp;quot; &amp;amp; &amp;quot;FillStr&amp;quot; script functions.&lt;br /&gt;
* Add AudioTrim(clip, float, float) audio priority trimming, args in fractional seconds.&lt;br /&gt;
* Add Trim(M, Length=N[, Pad=False]) and Trim(M, End=N[, Pad=False]) function overloads for explicit Trimming. Length=0 means zero frame clip. End=0 means end at frame 0.&lt;br /&gt;
* Add SeparateRows (zero cost) and SeparateColumns (slow) frame slashing filters.&lt;br /&gt;
* Add Script Functions :- Acos, Asin, Atan, Atan2, Cosh, Sinh, Tanh, Fmod, Log10, BitLShift, BitRShiftS, BitRShiftU and Hex.&lt;br /&gt;
* Add &amp;quot;ConditionalSelect&amp;quot;,&amp;quot;csc+[show]b&amp;quot; runtime filter.&lt;br /&gt;
* Add dither option to Levels, RGBAdjust &amp;amp; Tweak.&lt;br /&gt;
* Add BitAnd(), BitNot(), BitOr() &amp;amp; BitXor() script functions.&lt;br /&gt;
* Add StrCmp() &amp;amp; StrCmpI() script functions.&lt;br /&gt;
* Add YV24 support for Limiter show option.&lt;br /&gt;
* Add &amp;quot;Global OPT_dwChannelMask={int}&amp;quot;&lt;br /&gt;
* Add 0x0063F speaker mask for 7.1 WAVE_FORMAT_EXTENSIBLE.&lt;br /&gt;
* Add .dll DelayLoad exception texts to crash message formatter.&lt;br /&gt;
* ImageWriter, add support for printf formating of filename string, default is (&amp;quot;%06d.%s&amp;quot;, n, ext);&lt;br /&gt;
* Add avs_get_error(AVS_ScriptEnvironment*); to avisynth_c interface.&lt;br /&gt;
* Catch and save AvisynthError text in more avisynth_c entry points, for kemuri-_9.&lt;br /&gt;
* Add ScriptName(), ScriptFile(), ScriptDir() functions (WarpEnterprises).&lt;br /&gt;
* Add SkewRows filter.&lt;br /&gt;
* Histogram, Levels mode, Improve colour of chroma legends.&lt;br /&gt;
* ConditionalFilter, teach about string results.&lt;br /&gt;
* Add some more &amp;quot;Add/Remove Software&amp;quot; registry keys to the Installer (XhmikosR).&lt;br /&gt;
* AviSource: Support both packed and DWORD padded raw planar input like with DSS.&lt;br /&gt;
* Add IScriptEnvironment::ApplyMessage()&lt;br /&gt;
* Add ImageSourceAnim (Wilbert)&lt;br /&gt;
* Support user upgrade to 178 DevIL.dll (They need to manage CRT dependancies).&lt;br /&gt;
* ImageSource: palette and compressed bmp images load correctly now (issue 894702) [need 178 DevIL.dll]&lt;br /&gt;
* ImageSource: support for other formats like: gif, exr, jp2, psd, hdr [need 178 DevIL.dll]&lt;br /&gt;
* Add YV24 mode to ColorBars.&lt;br /&gt;
* Add ColorBarsHD based on arib_std_b28.&lt;br /&gt;
* C-api usability enhancements from kemuri9 [Work in progress!]&lt;br /&gt;
* Add Undefined(), AudioLengthLo(), AudioLengthHi(), IsYV16() &amp;amp; IsYV24() script functions&lt;br /&gt;
* Allow newlines (and hence comments) before '{' -- Gavino&lt;br /&gt;
* Added IScriptEnvironment::DeleteScriptEnvironment()&lt;br /&gt;
* Added Histogram, population clamp % factor for &amp;quot;Levels&amp;quot; mode,&lt;br /&gt;
* Histogram, revert &amp;quot;Stereo&amp;quot; mode to YV12, Add &amp;quot;StereoY8&amp;quot; mode,&lt;br /&gt;
* AviSource: Support fourcc &amp;quot;GREY&amp;quot; as Y8&lt;br /&gt;
* Add &amp;quot;Global OPT_AVIPadScanlines=True&amp;quot; option for DWORD aligned planar padding&lt;br /&gt;
&lt;br /&gt;
=== Bugfixes ===&lt;br /&gt;
* Fixed frame range clamping in ComparePlane (ultim).&lt;br /&gt;
* Fixed posible leak with realloc in ConditionalReader (ultim).&lt;br /&gt;
* Fixed posible double free in text-overlay (ultim).&lt;br /&gt;
* Fixed RGB32 to Y8 pixel right shift from 4th pixel on (Robert Martens).&lt;br /&gt;
* Fixed Overlay YV24 Image444 leak.&lt;br /&gt;
* Fixed AVISource &amp;quot;AUTO&amp;quot; and &amp;quot;FULL&amp;quot; handling.&lt;br /&gt;
* Fixed ImageSource handling of missing ebmp files.&lt;br /&gt;
* Fixed DirectShowSource incorrect byte order for unpacking of pixel type &amp;quot;AYUV&amp;quot;.&lt;br /&gt;
* Fixed HexValue parsing values greater than 7FFFFFFF, now as unsigned hex.&lt;br /&gt;
* Fixed ConditionalReader memory overrun parsing bools.&lt;br /&gt;
* Fixed ResampleAudio NOP test to compare vi.num_audio_samples, not sample rate.&lt;br /&gt;
* Fixed YV24 -&amp;gt; RGB24 overrun cleanup for widths%16 == 5.&lt;br /&gt;
* Fixed RGB24 AddBorders with right=0.&lt;br /&gt;
* Fixed conditional_functions error message names (Wilbert).&lt;br /&gt;
* Fixed Audio cache ac_expected_next regression.&lt;br /&gt;
* Fixed ImageSource deal with add 1 to IL_NUM_IMAGES bug (Wilbert)&lt;br /&gt;
* Fixed Overlay YV24 V plane conversion.&lt;br /&gt;
* Fixed Overlay YV24 mode with shared input clip, needed a MakeWritable.&lt;br /&gt;
* Fixed ImageReader upside down TIFF in 178 DevIL. (Wilbert)&lt;br /&gt;
* Fixed SaveString 'string+string' bug when total length is 4096*K-1, K is +int.&lt;br /&gt;
* Fixed SincResize misuse of &amp;quot;int abs(int)&amp;quot; (Gavino). Fix Lanczos and Blackman sinc use of float == 0.0, use small limit &amp;quot;&amp;gt; 0.000001&amp;quot;.&lt;br /&gt;
* Fixed Classic mode legend drawing for planar right limit and yuy2 centre line.&lt;br /&gt;
* Fixed possible MT race. Use &amp;quot;env-&amp;gt;ManageCache(MC_IncVFBRefcount, ...)&amp;quot; in ProtectVFB.&lt;br /&gt;
* Fixed SwapYToUV output image size bug for 3 clip case.&lt;br /&gt;
* Fixed Crop limit tests for RGB.&lt;br /&gt;
* Fixed Overlay yellow tint on rec601 RGB import conversion.&lt;br /&gt;
* Fixed YtoUV() output image size bug for 3 clip case.&lt;br /&gt;
* Fixed ConvertToPlanar chroma alignment.&lt;br /&gt;
* Fixed Levels (RGB) change use of PixelClip(x) to min(max(x, 0), 255).&lt;br /&gt;
* Fixed SwapYtoUV yuy2 crash (StainlessS).&lt;br /&gt;
* Fixed Overlay saturate UV in add and subtract mode.&lt;br /&gt;
* Fixed Info.h range protect display characters (StainlessS).&lt;br /&gt;
* Fixed AviSource packed planar import chroma offsets.&lt;br /&gt;
* Fixed AviSource NULL GetWritePtr() failure due to premature setting of last_frame.&lt;br /&gt;
* Fixed Mask rounding in greyscale calcs (Wilbert), minor refactor.&lt;br /&gt;
* Fixed SelectRangeEvery audio snafu (Gavino).&lt;br /&gt;
* Fixed LoadPlugin, SaveString of result string.&lt;br /&gt;
* Fixed LoadPlugin, use _vsnprintf.&lt;br /&gt;
* Fixed LoadVirtualdubPlugin, don't add vdub filter to chain on load failure.&lt;br /&gt;
* Fixed rounding in RGB HResize (JoshyD) (affects all resizers)&lt;br /&gt;
* Fixed error message name in the filter VerticalReduceBy2&lt;br /&gt;
* Fixed SeparateFields() with variable parity input clip (Wilbert)&lt;br /&gt;
* Fixed AviSource, cannot cast__int64* to long*, it does not work!&lt;br /&gt;
* Fixed ConditionalReader: Don't allow out of range &amp;quot;Range&amp;quot; to overwrite edge values&lt;br /&gt;
&lt;br /&gt;
=== Optimizations ===&lt;br /&gt;
* Cache auto increase span on sparse misses.&lt;br /&gt;
* Cache prevent inactive instances returning VFB early and spoiling active instances hit rate (LaTo).&lt;br /&gt;
* ConvertToPlanarGeneric explicit add Cache before chroma rescaler.&lt;br /&gt;
* Overlay minor refactor YV12 -&amp;gt; 444 chroma&lt;br /&gt;
* Speedup ConvertToMono(), minor refactor MixAudio().&lt;br /&gt;
* Change StackVertical/Horizontal to interative instead of recursive, 2^N performace increase for 3 and more clips, i.e. 1 blit total instead of blit(blit(blit(...&lt;br /&gt;
* RGBtoY8 Dynamic ASM code, suport for RGB24.&lt;br /&gt;
* YV24backtoYUY2 Dynamic ASM code.&lt;br /&gt;
* UtoY8, VtoY8 abuse subframe, zero cost.&lt;br /&gt;
* YV24&amp;lt;-&amp;gt;RGB Add SSE2 and SSSE3 code paths, get rid of wide_enough.&lt;br /&gt;
* ConvertToYUY2 Add SSE2, MMX restore full speed on platforms with poor ooox.&lt;br /&gt;
* ConvertAudio, manage tempbuffer and floatbuffer independently.&lt;br /&gt;
* ConvertAudio, prefer SSE2 over 3DNow for super AMD cores.&lt;br /&gt;
* Info.h, full refactor, a good example of &amp;quot;Never look down&amp;quot;, thx StainlessS&lt;br /&gt;
* DoubleWeaveFrames, If A not writable, try to write to B, else make new frame&lt;br /&gt;
* Histogram, fix GetFrame/NewVideoFrame call order&lt;br /&gt;
* HResizer, interleave code +4% faster&lt;br /&gt;
* YtoUV() Abuse Subframe to snatch the Y plane / UV planes, Derestrict destination colorformat autogeneration.&lt;br /&gt;
* ImageSource: Improve thread interlock code&lt;br /&gt;
* ConditionalReader/WriteFile: Full refactor.&lt;br /&gt;
* Replace _strdup with SaveString in AddFunction (Thanks Gavino)&lt;br /&gt;
&lt;br /&gt;
=== Changes ===&lt;br /&gt;
* BlankClip: Supply useful defaults for new Audio/Video when using a Video/Audio only template clip.&lt;br /&gt;
* BlankClip: Use duration from Audio only template as default length for new clip.&lt;br /&gt;
* Define new IClip::SetCacheHints cachehint constants.&lt;br /&gt;
* Force int call arguments to user script function float params to be explicit floats.&lt;br /&gt;
* Splice pass CacheHints through to both children in + and ++ mode.&lt;br /&gt;
* WriteFileStart/End save current_frame and set Last.&lt;br /&gt;
* ConditionalReader do not ignore syntax errors in input file.&lt;br /&gt;
* ImageSourceAnim Pad/Crop images to match first frame (Wilbert)&lt;br /&gt;
* ImageSource Add version to messages (Wilbert)&lt;br /&gt;
* Initial 2.6 API entry point linkage.&lt;br /&gt;
* Use Invoke for graph tail, enhance non-clip output error reporting.&lt;br /&gt;
* PopContext when inner block Asserts/throws (maxxon).&lt;br /&gt;
* Remove duplicate definitions (Wilbert)&lt;br /&gt;
* Enhance non-clip output error reporting.&lt;br /&gt;
* Explicitly specify calling sequence as __cdecl for Avisynth softwire routines, (was the compiler default)&lt;br /&gt;
* Use env-&amp;gt;Invoke(&amp;quot;Cache&amp;quot;, ...) everywhere instead of Cache::Create_Cache(), allows for Cache to be overloaded by a plugin.&lt;br /&gt;
* ConvertToYUY2 Change from 0-1-1 kernel to 1-2-1 kernel.&lt;br /&gt;
* Tweak make Interp same units as minSat and maxSat.&lt;br /&gt;
* Check HKEY_CURRENT_USER for PluginDir first. (henktiggelaar)&lt;br /&gt;
* Make forced, -ve, planar alignment of chroma planes match subsampling.&lt;br /&gt;
* Enforce planar alignment restrictions.&lt;br /&gt;
* C-api: Remove func sub-struct from AVS_Library struct&lt;br /&gt;
* Add error code to plugin load failure message&lt;br /&gt;
* Make default planar AVI output packed.&lt;br /&gt;
* WriteFile() now supports unlimited number of unlimited strings. (was 16 by 254 byte strings).&lt;br /&gt;
* ConvertToRGB*, make C++ code sample chroma the same as the MMX code i.e. use both pixels.&lt;br /&gt;
* ConvertToRGB*, use YV24 path for planar, complain when options are present for YUY2.&lt;br /&gt;
* ConvertToYUY2, use YV16 path for planar, complain when options are present for RGB&lt;br /&gt;
** see: http://forum.doom9.org/showthread.php?p=1378381#post1378381&lt;br /&gt;
* Thread safe code, part 2.&lt;br /&gt;
* Correct IClip baked documentation&lt;br /&gt;
* Fix at_exit executon order&lt;br /&gt;
* Passify compilation error/warnings (XhmikosR)&lt;br /&gt;
* for, const, extern and ansi patches for VC2008 (SEt)&lt;br /&gt;
* Disable OPT_RELS_LOGGING option&lt;br /&gt;
* Change implicit Last parsing for argless, bracketless calls to match bracketed cases. (Gavino) [not documented yet ???]&lt;br /&gt;
* DirectShowSource: Support last minute format renegotiation thru IPin::QueryAccept() &amp;amp; Validate the size of the provided directshow buffer.&lt;br /&gt;
* Remove non ascii chars from comments.&lt;br /&gt;
* Add core stubs for DirectShowSource, TCPServer &amp;amp; TCPSource, report when plugins are missing.&lt;br /&gt;
* Add note for original source downloads - SoundTouch&lt;br /&gt;
* Add more lineage history to Info()&lt;br /&gt;
* Move convertaudio, alignplanar, fillborder &amp;amp; MIN/MAX_INT definitions.&lt;br /&gt;
* Run AtExit before dismantling world.&lt;br /&gt;
* Change setcachehints definition from void to int. Test IClip version &amp;gt;= 5.&lt;br /&gt;
* Move PixelClip definition to avisynth.cpp&lt;br /&gt;
* SubTitle, etc, make X &amp;amp; Y options float (0.125 pixel granularity).&lt;br /&gt;
* ShowSMPTE() supports all integer FPS and multiplies of drop frame FPS.&lt;br /&gt;
* SubTitle, stop overwriting string constants (Gavino).&lt;br /&gt;
* SubTitle, improve pixel registration (Gavino).&lt;br /&gt;
* Make Info() CPU display hierarchical.&lt;br /&gt;
* Thread safe code, part 1.&lt;br /&gt;
&lt;br /&gt;
== Changes from 2.5 series to 2.6.0 Alpha 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Additions ===&lt;br /&gt;
* Added support for argument passing and EAX return value to SoftwireHelper.&lt;br /&gt;
* Added &amp;quot;Global OPT_VDubPlanarHack=True&amp;quot; to flip YV24 and YV16 chroma planes for old VDub's.&lt;br /&gt;
* Added ContinuedDenominator/ContinuedNumerator(f[]i[limit]i) script functions.&lt;br /&gt;
* Tweak: fix MaskPointResizing + put back Dividee ISSE code (use sse=true, can't use all settings in that case).&lt;br /&gt;
* Added ChromaInPlacement, ChromaOutPlacement and ChromaResample options to planar colour conversions.&lt;br /&gt;
* Added MaskHS.&lt;br /&gt;
* Minor tweaks to get ready for VC8.&lt;br /&gt;
* Add Y8 for DevIL, planarize EBMP.&lt;br /&gt;
* Planar support for many filters.&lt;br /&gt;
* Added Info() time indicator on audio length and video (current frame &amp;amp; total). (2.5.8)&lt;br /&gt;
* Added UtoY8 and VtoY8.&lt;br /&gt;
* Added more info to Info(). (2.5.8)&lt;br /&gt;
* ColorYUV: Added all adjustment parameters as conditional variables &amp;quot;coloryuv_SETTING&amp;quot;. Enable by setting conditional=true.&lt;br /&gt;
* ConditionalReader: Added support for type String.&lt;br /&gt;
* ConditionalReader: Added offset keyword to offset all frame numbers after the keyword.&lt;br /&gt;
* Added SincResize() with optional taps parameter (default is 4).&lt;br /&gt;
* Added Custom band setting to SuperEQ to allow all 16 bands to be set from script. Usage: SuperEQ(clip,band1, band2, band3....) values are dB in float.&lt;br /&gt;
* Added fast 0-1-0 kernel for YV24 to ConvertBacktoYUY2().&lt;br /&gt;
* Added formats: YV24, YV16, Y8, YV411.&lt;br /&gt;
&lt;br /&gt;
=== Bugfixes ===&lt;br /&gt;
* Fixed MonoToStereo with stereo sources.&lt;br /&gt;
* Fixed MergeChannels with only 1 input clip.&lt;br /&gt;
* Fixed support for negative height DIB format AVI's. (Oops still not quite right yet)&lt;br /&gt;
* Fixed Audio cache crashes.&lt;br /&gt;
* Fixed resize with YV411 missing code.&lt;br /&gt;
* Fixed ConditionalReader rounding with integer Interpolation.&lt;br /&gt;
* Fixed Softwire SSE2 bugs.&lt;br /&gt;
* Fixed SSSE3 CPU detection.&lt;br /&gt;
* Fixed SSSE3, SSE4.1 &amp;amp; SSE4.2 detection.&lt;br /&gt;
* Fixed Fastwire encoding of instructions that are &amp;gt;2 opcodes (SSSE3+4).&lt;br /&gt;
* Fixed _RPT5() macro for debug builds&lt;br /&gt;
&lt;br /&gt;
=== Optimizations ===&lt;br /&gt;
* SuperEQ: Improve channel unpacking/packing code.&lt;br /&gt;
* H-Resize: Use SSE4.1 (movntdqa) loads for use once memory access.&lt;br /&gt;
* H-Resize: Added SSE2 horizontal unpacker.&lt;br /&gt;
* Resize: Use SSE3 (lddqu) loads for unaligned memory access.&lt;br /&gt;
* Added ultra fast vertical PointResizer (64 pixel/cycle).&lt;br /&gt;
* Added dynamic SSSE3 vertical resizer (16 pixel/cycle) ~ twice as fast as old MMX.&lt;br /&gt;
* Added dynamic SSE2 vertical resizer (16 pixel/cycle).&lt;br /&gt;
* Added dynamic MMX vertical resizer (8 pixel/cycle).&lt;br /&gt;
* Added SSSE3 version for RGB&amp;lt;-&amp;gt;YV24 conversions.&lt;br /&gt;
* Added dynamic compiled MMX/iSSE for RGB&amp;lt;-&amp;gt;YV24 conversions. Speed is approx 200% of C-code.&lt;br /&gt;
&lt;br /&gt;
=== Changes ===&lt;br /&gt;
* ConditionalReader/WriteFile: Full refactor.&lt;br /&gt;
* SoftwireHelper: explicit hardware exception handling.&lt;br /&gt;
* Resize: Moved GetResampleFunction into Resamplefunction, to allow overrides.&lt;br /&gt;
* Resampler: Removed dead stlf code.&lt;br /&gt;
* Updated Soundtouch to 1.31 (2.5.8)&lt;br /&gt;
* Put dynamic matrix conversion into separate file.&lt;br /&gt;
* Moved chroma subsampling to image_type section.&lt;br /&gt;
* Added specific error reporting when requesting chromasubsampling with Y8.&lt;br /&gt;
* Split up merge and plane Swappers.&lt;br /&gt;
* Split up Plane transfers into separate classes.&lt;br /&gt;
* Added automatic destination colorspace detection on planar YtoUV.&lt;br /&gt;
* Took out greyscale and RGB32&amp;lt;-&amp;gt;RGB24 from convert.cpp and placed them in separate files.&lt;br /&gt;
* All code assuming UVwidth = Ywidth/2 and similar should be gone.&lt;br /&gt;
&lt;br /&gt;
[[Category:Changelist]]&lt;/div&gt;</summary>
		<author><name>Unreal666</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Changelist_26</id>
		<title>Changelist 26</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Changelist_26"/>
				<updated>2014-01-04T17:54:46Z</updated>
		
		<summary type="html">&lt;p&gt;Unreal666: /* Additions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Changes from 2.6.0 Alpha 2 to 2.6.0 CVS ==&lt;br /&gt;
&lt;br /&gt;
=== Additions ===&lt;br /&gt;
* Added Eval(clip, string name, string) alias for oop processing of argument.&lt;br /&gt;
* DirectShowSource support non-standard pixel types &amp;quot;YV24&amp;quot; and &amp;quot;YV16&amp;quot;.&lt;br /&gt;
* Info: Audio only clip now creates its own canvas video.&lt;br /&gt;
* AviSource: Include packed/padded processing and -ve biHeight logic for compressed input.&lt;br /&gt;
* Add Script Functions :- BitLRotate, BitRRotate, BitChange, BitClear, BitSet, BitTest and their asm aliases.&lt;br /&gt;
* Add WeaveRows (blit cost) and WeaveColumns (slow) frame combining filters.&lt;br /&gt;
* Add AudioDuration() [as float seconds], IsY8(), IsYV411() &amp;amp; PixelType() [as a string] script functions.&lt;br /&gt;
* Add Echo and Preroll filters.&lt;br /&gt;
* Add IScriptEnvironment::GetAVSLinkage() and DLLExport AVS_linkage for host usage of avisynth.dll.&lt;br /&gt;
* DirectShowSource, 2.6 plugin, support pixel types &amp;quot;AYUV&amp;quot; as YV24, &amp;quot;Y41P&amp;quot; and &amp;quot;Y411&amp;quot; as YV411.&lt;br /&gt;
* AviSource: Add Full and Auto pseudo pixel_types. Full is all supported. Auto is YV12, YUY2, RGB32, RGB24 &amp;amp; Y8.&lt;br /&gt;
* Add &amp;quot;AudioLengthS&amp;quot;, &amp;quot;Ord&amp;quot; &amp;amp; &amp;quot;FillStr&amp;quot; script functions.&lt;br /&gt;
* Add AudioTrim(clip, float, float) audio priority trimming, args in fractional seconds.&lt;br /&gt;
* Add Trim(M, Length=N[, Pad=False]) and Trim(M, End=N[, Pad=False]) function overloads for explicit Trimming. Length=0 means zero frame clip. End=0 means end at frame 0.&lt;br /&gt;
* Add SeparateRows (zero cost) and SeparateColumns (slow) frame slashing filters.&lt;br /&gt;
* Add Script Functions :- Acos, Asin, Atan, Atan2, Cosh, Sinh, Tanh, Fmod, Log10, BitLShift, BitRShiftS, BitRShiftU and Hex.&lt;br /&gt;
* Add &amp;quot;ConditionalSelect&amp;quot;,&amp;quot;csc+[show]b&amp;quot; runtime filter.&lt;br /&gt;
* Add dither option to Levels, RGBAdjust &amp;amp; Tweak.&lt;br /&gt;
* Add BitAnd(), BitNot(), BitOr() &amp;amp; BitXor() script functions.&lt;br /&gt;
* Add StrCmp() &amp;amp; StrCmpI() script functions.&lt;br /&gt;
* Add YV24 support for Limiter show option.&lt;br /&gt;
* Add &amp;quot;Global OPT_dwChannelMask={int}&amp;quot;&lt;br /&gt;
* Add 0x0063F speaker mask for 7.1 WAVE_FORMAT_EXTENSIBLE.&lt;br /&gt;
* Add .dll DelayLoad exception texts to crash message formatter.&lt;br /&gt;
* ImageWriter, add support for printf formating of filename string, default is (&amp;quot;%06d.%s&amp;quot;, n, ext);&lt;br /&gt;
* Add avs_get_error(AVS_ScriptEnvironment*); to avisynth_c interface.&lt;br /&gt;
* Catch and save AvisynthError text in more avisynth_c entry points, for kemuri-_9.&lt;br /&gt;
* Add ScriptName(), ScriptFile(), ScriptDir() functions (WarpEnterprises).&lt;br /&gt;
* Add SkewRows filter.&lt;br /&gt;
* Histogram, Levels mode, Improve colour of chroma legends.&lt;br /&gt;
* ConditionalFilter, teach about string results.&lt;br /&gt;
* Add some more &amp;quot;Add/Remove Software&amp;quot; registry keys to the Installer (XhmikosR).&lt;br /&gt;
* AviSource: Support both packed and DWORD padded raw planar input like with DSS.&lt;br /&gt;
* Add IScriptEnvironment::ApplyMessage()&lt;br /&gt;
* Add ImageSourceAnim (Wilbert)&lt;br /&gt;
* Support user upgrade to 178 DevIL.dll (They need to manage CRT dependancies).&lt;br /&gt;
* ImageSource: palette and compressed bmp images load correctly now (issue 894702) [need 178 DevIL.dll]&lt;br /&gt;
* ImageSource: support for other formats like: gif, exr, jp2, psd, hdr [need 178 DevIL.dll]&lt;br /&gt;
* Add YV24 mode to ColorBars.&lt;br /&gt;
* Add ColorBarsHD based on arib_std_b28.&lt;br /&gt;
* C-api usability enhancements from kemuri9 [Work in progress!]&lt;br /&gt;
* Add Undefined(), AudioLengthLo(), AudioLengthHi(), IsYV16() &amp;amp; IsYV24() script functions&lt;br /&gt;
* Allow newlines (and hence comments) before '{' -- Gavino&lt;br /&gt;
* Added IScriptEnvironment::DeleteScriptEnvironment()&lt;br /&gt;
* Added Histogram, population clamp % factor for &amp;quot;Levels&amp;quot; mode,&lt;br /&gt;
* Histogram, revert &amp;quot;Stereo&amp;quot; mode to YV12, Add &amp;quot;StereoY8&amp;quot; mode,&lt;br /&gt;
* AviSource: Support fourcc &amp;quot;GREY&amp;quot; as Y8&lt;br /&gt;
* Add &amp;quot;Global OPT_AVIPadScanlines=True&amp;quot; option for DWORD aligned planar padding&lt;br /&gt;
&lt;br /&gt;
=== Bugfixes ===&lt;br /&gt;
* Fixed frame range clamping in ComparePlane (ultim).&lt;br /&gt;
* Fixed posible leak with realloc in ConditionalReader (ultim).&lt;br /&gt;
* Fixed posible double free in text-overlay (ultim).&lt;br /&gt;
* Fixed RGB32 to Y8 pixel right shift from 4th pixel on (Robert Martens).&lt;br /&gt;
* Fixed Overlay YV24 Image444 leak.&lt;br /&gt;
* Fixed AVISource &amp;quot;AUTO&amp;quot; and &amp;quot;FULL&amp;quot; handling.&lt;br /&gt;
* Fixed ImageSource handling of missing ebmp files.&lt;br /&gt;
* Fixed DirectShowSource incorrect byte order for unpacking of pixel type &amp;quot;AYUV&amp;quot;.&lt;br /&gt;
* Fixed HexValue parsing values greater than 7FFFFFFF, now as unsigned hex.&lt;br /&gt;
* Fixed ConditionalReader memory overrun parsing bools.&lt;br /&gt;
* Fixed ResampleAudio NOP test to compare vi.num_audio_samples, not sample rate.&lt;br /&gt;
* Fixed YV24 -&amp;gt; RGB24 overrun cleanup for widths%16 == 5.&lt;br /&gt;
* Fixed RGB24 AddBorders with right=0.&lt;br /&gt;
* Fixed conditional_functions error message names (Wilbert).&lt;br /&gt;
* Fixed Audio cache ac_expected_next regression.&lt;br /&gt;
* Fixed ImageSource deal with add 1 to IL_NUM_IMAGES bug (Wilbert)&lt;br /&gt;
* Fixed Overlay YV24 V plane conversion.&lt;br /&gt;
* Fixed Overlay YV24 mode with shared input clip, needed a MakeWritable.&lt;br /&gt;
* Fixed ImageReader upside down TIFF in 178 DevIL. (Wilbert)&lt;br /&gt;
* Fixed SaveString 'string+string' bug when total length is 4096*K-1, K is +int.&lt;br /&gt;
* Fixed SincResize misuse of &amp;quot;int abs(int)&amp;quot; (Gavino). Fix Lanczos and Blackman sinc use of float == 0.0, use small limit &amp;quot;&amp;gt; 0.000001&amp;quot;.&lt;br /&gt;
* Fixed Classic mode legend drawing for planar right limit and yuy2 centre line.&lt;br /&gt;
* Fixed possible MT race. Use &amp;quot;env-&amp;gt;ManageCache(MC_IncVFBRefcount, ...)&amp;quot; in ProtectVFB.&lt;br /&gt;
* Fixed SwapYToUV output image size bug for 3 clip case.&lt;br /&gt;
* Fixed Crop limit tests for RGB.&lt;br /&gt;
* Fixed Overlay yellow tint on rec601 RGB import conversion.&lt;br /&gt;
* Fixed YtoUV() output image size bug for 3 clip case.&lt;br /&gt;
* Fixed ConvertToPlanar chroma alignment.&lt;br /&gt;
* Fixed Levels (RGB) change use of PixelClip(x) to min(max(x, 0), 255).&lt;br /&gt;
* Fixed SwapYtoUV yuy2 crash (StainlessS).&lt;br /&gt;
* Fixed Overlay saturate UV in add and subtract mode.&lt;br /&gt;
* Fixed Info.h range protect display characters (StainlessS).&lt;br /&gt;
* Fixed AviSource packed planar import chroma offsets.&lt;br /&gt;
* Fixed AviSource NULL GetWritePtr() failure due to premature setting of last_frame.&lt;br /&gt;
* Fixed Mask rounding in greyscale calcs (Wilbert), minor refactor.&lt;br /&gt;
* Fixed SelectRangeEvery audio snafu (Gavino).&lt;br /&gt;
* Fixed LoadPlugin, SaveString of result string.&lt;br /&gt;
* Fixed LoadPlugin, use _vsnprintf.&lt;br /&gt;
* Fixed LoadVirtualdubPlugin, don't add vdub filter to chain on load failure.&lt;br /&gt;
* Fixed rounding in RGB HResize (JoshyD) (affects all resizers)&lt;br /&gt;
* Fixed error message name in the filter VerticalReduceBy2&lt;br /&gt;
* Fixed SeparateFields() with variable parity input clip (Wilbert)&lt;br /&gt;
* Fixed AviSource, cannot cast__int64* to long*, it does not work!&lt;br /&gt;
* Fixed ConditionalReader: Don't allow out of range &amp;quot;Range&amp;quot; to overwrite edge values&lt;br /&gt;
&lt;br /&gt;
=== Optimizations ===&lt;br /&gt;
* ConvertToPlanarGeneric explicit add Cache before chroma rescaler.&lt;br /&gt;
* Overlay minor refactor YV12 -&amp;gt; 444 chroma&lt;br /&gt;
* Speedup ConvertToMono(), minor refactor MixAudio().&lt;br /&gt;
* Change StackVertical/Horizontal to interative instead of recursive, 2^N performace increase for 3 and more clips, i.e. 1 blit total instead of blit(blit(blit(...&lt;br /&gt;
* RGBtoY8 Dynamic ASM code, suport for RGB24.&lt;br /&gt;
* YV24backtoYUY2 Dynamic ASM code.&lt;br /&gt;
* UtoY8, VtoY8 abuse subframe, zero cost.&lt;br /&gt;
* YV24&amp;lt;-&amp;gt;RGB Add SSE2 and SSSE3 code paths, get rid of wide_enough.&lt;br /&gt;
* ConvertToYUY2 Add SSE2, MMX restore full speed on platforms with poor ooox.&lt;br /&gt;
* ConvertAudio, manage tempbuffer and floatbuffer independently.&lt;br /&gt;
* ConvertAudio, prefer SSE2 over 3DNow for super AMD cores.&lt;br /&gt;
* Info.h, full refactor, a good example of &amp;quot;Never look down&amp;quot;, thx StainlessS&lt;br /&gt;
* DoubleWeaveFrames, If A not writable, try to write to B, else make new frame&lt;br /&gt;
* Histogram, fix GetFrame/NewVideoFrame call order&lt;br /&gt;
* HResizer, interleave code +4% faster&lt;br /&gt;
* YtoUV() Abuse Subframe to snatch the Y plane / UV planes, Derestrict destination colorformat autogeneration.&lt;br /&gt;
* ImageSource: Improve thread interlock code&lt;br /&gt;
* ConditionalReader/WriteFile: Full refactor.&lt;br /&gt;
* Replace _strdup with SaveString in AddFunction (Thanks Gavino)&lt;br /&gt;
&lt;br /&gt;
=== Changes ===&lt;br /&gt;
* BlankClip: Supply useful defaults for new Audio/Video when using a Video/Audio only template clip.&lt;br /&gt;
* BlankClip: Use duration from Audio only template as default length for new clip.&lt;br /&gt;
* Define new IClip::SetCacheHints cachehint constants.&lt;br /&gt;
* Force int call arguments to user script function float params to be explicit floats.&lt;br /&gt;
* Splice pass CacheHints through to both children in + and ++ mode.&lt;br /&gt;
* WriteFileStart/End save current_frame and set Last.&lt;br /&gt;
* ConditionalReader do not ignore syntax errors in input file.&lt;br /&gt;
* ImageSourceAnim Pad/Crop images to match first frame (Wilbert)&lt;br /&gt;
* ImageSource Add version to messages (Wilbert)&lt;br /&gt;
* Initial 2.6 API entry point linkage.&lt;br /&gt;
* Use Invoke for graph tail, enhance non-clip output error reporting.&lt;br /&gt;
* PopContext when inner block Asserts/throws (maxxon).&lt;br /&gt;
* Remove duplicate definitions (Wilbert)&lt;br /&gt;
* Enhance non-clip output error reporting.&lt;br /&gt;
* Explicitly specify calling sequence as __cdecl for Avisynth softwire routines, (was the compiler default)&lt;br /&gt;
* Use env-&amp;gt;Invoke(&amp;quot;Cache&amp;quot;, ...) everywhere instead of Cache::Create_Cache(), allows for Cache to be overloaded by a plugin.&lt;br /&gt;
* ConvertToYUY2 Change from 0-1-1 kernel to 1-2-1 kernel.&lt;br /&gt;
* Tweak make Interp same units as minSat and maxSat.&lt;br /&gt;
* Check HKEY_CURRENT_USER for PluginDir first. (henktiggelaar)&lt;br /&gt;
* Make forced, -ve, planar alignment of chroma planes match subsampling.&lt;br /&gt;
* Enforce planar alignment restrictions.&lt;br /&gt;
* C-api: Remove func sub-struct from AVS_Library struct&lt;br /&gt;
* Add error code to plugin load failure message&lt;br /&gt;
* Make default planar AVI output packed.&lt;br /&gt;
* WriteFile() now supports unlimited number of unlimited strings. (was 16 by 254 byte strings).&lt;br /&gt;
* ConvertToRGB*, make C++ code sample chroma the same as the MMX code i.e. use both pixels.&lt;br /&gt;
* ConvertToRGB*, use YV24 path for planar, complain when options are present for YUY2.&lt;br /&gt;
* ConvertToYUY2, use YV16 path for planar, complain when options are present for RGB&lt;br /&gt;
** see: http://forum.doom9.org/showthread.php?p=1378381#post1378381&lt;br /&gt;
* Thread safe code, part 2.&lt;br /&gt;
* Correct IClip baked documentation&lt;br /&gt;
* Fix at_exit executon order&lt;br /&gt;
* Passify compilation error/warnings (XhmikosR)&lt;br /&gt;
* for, const, extern and ansi patches for VC2008 (SEt)&lt;br /&gt;
* Disable OPT_RELS_LOGGING option&lt;br /&gt;
* Change implicit Last parsing for argless, bracketless calls to match bracketed cases. (Gavino) [not documented yet ???]&lt;br /&gt;
* DirectShowSource: Support last minute format renegotiation thru IPin::QueryAccept() &amp;amp; Validate the size of the provided directshow buffer.&lt;br /&gt;
* Remove non ascii chars from comments.&lt;br /&gt;
* Add core stubs for DirectShowSource, TCPServer &amp;amp; TCPSource, report when plugins are missing.&lt;br /&gt;
* Add note for original source downloads - SoundTouch&lt;br /&gt;
* Add more lineage history to Info()&lt;br /&gt;
* Move convertaudio, alignplanar, fillborder &amp;amp; MIN/MAX_INT definitions.&lt;br /&gt;
* Run AtExit before dismantling world.&lt;br /&gt;
* Change setcachehints definition from void to int. Test IClip version &amp;gt;= 5.&lt;br /&gt;
* Move PixelClip definition to avisynth.cpp&lt;br /&gt;
* SubTitle, etc, make X &amp;amp; Y options float (0.125 pixel granularity).&lt;br /&gt;
* ShowSMPTE() supports all integer FPS and multiplies of drop frame FPS.&lt;br /&gt;
* SubTitle, stop overwriting string constants (Gavino).&lt;br /&gt;
* SubTitle, improve pixel registration (Gavino).&lt;br /&gt;
* Make Info() CPU display hierarchical.&lt;br /&gt;
* Thread safe code, part 1.&lt;br /&gt;
&lt;br /&gt;
== Changes from 2.5 series to 2.6.0 Alpha 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Additions ===&lt;br /&gt;
* Added support for argument passing and EAX return value to SoftwireHelper.&lt;br /&gt;
* Added &amp;quot;Global OPT_VDubPlanarHack=True&amp;quot; to flip YV24 and YV16 chroma planes for old VDub's.&lt;br /&gt;
* Added ContinuedDenominator/ContinuedNumerator(f[]i[limit]i) script functions.&lt;br /&gt;
* Tweak: fix MaskPointResizing + put back Dividee ISSE code (use sse=true, can't use all settings in that case).&lt;br /&gt;
* Added ChromaInPlacement, ChromaOutPlacement and ChromaResample options to planar colour conversions.&lt;br /&gt;
* Added MaskHS.&lt;br /&gt;
* Minor tweaks to get ready for VC8.&lt;br /&gt;
* Add Y8 for DevIL, planarize EBMP.&lt;br /&gt;
* Planar support for many filters.&lt;br /&gt;
* Added Info() time indicator on audio length and video (current frame &amp;amp; total). (2.5.8)&lt;br /&gt;
* Added UtoY8 and VtoY8.&lt;br /&gt;
* Added more info to Info(). (2.5.8)&lt;br /&gt;
* ColorYUV: Added all adjustment parameters as conditional variables &amp;quot;coloryuv_SETTING&amp;quot;. Enable by setting conditional=true.&lt;br /&gt;
* ConditionalReader: Added support for type String.&lt;br /&gt;
* ConditionalReader: Added offset keyword to offset all frame numbers after the keyword.&lt;br /&gt;
* Added SincResize() with optional taps parameter (default is 4).&lt;br /&gt;
* Added Custom band setting to SuperEQ to allow all 16 bands to be set from script. Usage: SuperEQ(clip,band1, band2, band3....) values are dB in float.&lt;br /&gt;
* Added fast 0-1-0 kernel for YV24 to ConvertBacktoYUY2().&lt;br /&gt;
* Added formats: YV24, YV16, Y8, YV411.&lt;br /&gt;
&lt;br /&gt;
=== Bugfixes ===&lt;br /&gt;
* Fixed MonoToStereo with stereo sources.&lt;br /&gt;
* Fixed MergeChannels with only 1 input clip.&lt;br /&gt;
* Fixed support for negative height DIB format AVI's. (Oops still not quite right yet)&lt;br /&gt;
* Fixed Audio cache crashes.&lt;br /&gt;
* Fixed resize with YV411 missing code.&lt;br /&gt;
* Fixed ConditionalReader rounding with integer Interpolation.&lt;br /&gt;
* Fixed Softwire SSE2 bugs.&lt;br /&gt;
* Fixed SSSE3 CPU detection.&lt;br /&gt;
* Fixed SSSE3, SSE4.1 &amp;amp; SSE4.2 detection.&lt;br /&gt;
* Fixed Fastwire encoding of instructions that are &amp;gt;2 opcodes (SSSE3+4).&lt;br /&gt;
* Fixed _RPT5() macro for debug builds&lt;br /&gt;
&lt;br /&gt;
=== Optimizations ===&lt;br /&gt;
* SuperEQ: Improve channel unpacking/packing code.&lt;br /&gt;
* H-Resize: Use SSE4.1 (movntdqa) loads for use once memory access.&lt;br /&gt;
* H-Resize: Added SSE2 horizontal unpacker.&lt;br /&gt;
* Resize: Use SSE3 (lddqu) loads for unaligned memory access.&lt;br /&gt;
* Added ultra fast vertical PointResizer (64 pixel/cycle).&lt;br /&gt;
* Added dynamic SSSE3 vertical resizer (16 pixel/cycle) ~ twice as fast as old MMX.&lt;br /&gt;
* Added dynamic SSE2 vertical resizer (16 pixel/cycle).&lt;br /&gt;
* Added dynamic MMX vertical resizer (8 pixel/cycle).&lt;br /&gt;
* Added SSSE3 version for RGB&amp;lt;-&amp;gt;YV24 conversions.&lt;br /&gt;
* Added dynamic compiled MMX/iSSE for RGB&amp;lt;-&amp;gt;YV24 conversions. Speed is approx 200% of C-code.&lt;br /&gt;
&lt;br /&gt;
=== Changes ===&lt;br /&gt;
* ConditionalReader/WriteFile: Full refactor.&lt;br /&gt;
* SoftwireHelper: explicit hardware exception handling.&lt;br /&gt;
* Resize: Moved GetResampleFunction into Resamplefunction, to allow overrides.&lt;br /&gt;
* Resampler: Removed dead stlf code.&lt;br /&gt;
* Updated Soundtouch to 1.31 (2.5.8)&lt;br /&gt;
* Put dynamic matrix conversion into separate file.&lt;br /&gt;
* Moved chroma subsampling to image_type section.&lt;br /&gt;
* Added specific error reporting when requesting chromasubsampling with Y8.&lt;br /&gt;
* Split up merge and plane Swappers.&lt;br /&gt;
* Split up Plane transfers into separate classes.&lt;br /&gt;
* Added automatic destination colorspace detection on planar YtoUV.&lt;br /&gt;
* Took out greyscale and RGB32&amp;lt;-&amp;gt;RGB24 from convert.cpp and placed them in separate files.&lt;br /&gt;
* All code assuming UVwidth = Ywidth/2 and similar should be gone.&lt;br /&gt;
&lt;br /&gt;
[[Category:Changelist]]&lt;/div&gt;</summary>
		<author><name>Unreal666</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/Changelist_26</id>
		<title>Changelist 26</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/Changelist_26"/>
				<updated>2014-01-04T17:53:55Z</updated>
		
		<summary type="html">&lt;p&gt;Unreal666: /* Bugfixes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Changes from 2.6.0 Alpha 2 to 2.6.0 CVS ==&lt;br /&gt;
&lt;br /&gt;
=== Additions ===&lt;br /&gt;
* DirectShowSource support non-standard pixel types &amp;quot;YV24&amp;quot; and &amp;quot;YV16&amp;quot;.&lt;br /&gt;
* Info: Audio only clip now creates its own canvas video.&lt;br /&gt;
* AviSource: Include packed/padded processing and -ve biHeight logic for compressed input.&lt;br /&gt;
* Add Script Functions :- BitLRotate, BitRRotate, BitChange, BitClear, BitSet, BitTest and their asm aliases.&lt;br /&gt;
* Add WeaveRows (blit cost) and WeaveColumns (slow) frame combining filters.&lt;br /&gt;
* Add AudioDuration() [as float seconds], IsY8(), IsYV411() &amp;amp; PixelType() [as a string] script functions.&lt;br /&gt;
* Add Echo and Preroll filters.&lt;br /&gt;
* Add IScriptEnvironment::GetAVSLinkage() and DLLExport AVS_linkage for host usage of avisynth.dll.&lt;br /&gt;
* DirectShowSource, 2.6 plugin, support pixel types &amp;quot;AYUV&amp;quot; as YV24, &amp;quot;Y41P&amp;quot; and &amp;quot;Y411&amp;quot; as YV411.&lt;br /&gt;
* AviSource: Add Full and Auto pseudo pixel_types. Full is all supported. Auto is YV12, YUY2, RGB32, RGB24 &amp;amp; Y8.&lt;br /&gt;
* Add &amp;quot;AudioLengthS&amp;quot;, &amp;quot;Ord&amp;quot; &amp;amp; &amp;quot;FillStr&amp;quot; script functions.&lt;br /&gt;
* Add AudioTrim(clip, float, float) audio priority trimming, args in fractional seconds.&lt;br /&gt;
* Add Trim(M, Length=N[, Pad=False]) and Trim(M, End=N[, Pad=False]) function overloads for explicit Trimming. Length=0 means zero frame clip. End=0 means end at frame 0.&lt;br /&gt;
* Add SeparateRows (zero cost) and SeparateColumns (slow) frame slashing filters.&lt;br /&gt;
* Add Script Functions :- Acos, Asin, Atan, Atan2, Cosh, Sinh, Tanh, Fmod, Log10, BitLShift, BitRShiftS, BitRShiftU and Hex.&lt;br /&gt;
* Add &amp;quot;ConditionalSelect&amp;quot;,&amp;quot;csc+[show]b&amp;quot; runtime filter.&lt;br /&gt;
* Add dither option to Levels, RGBAdjust &amp;amp; Tweak.&lt;br /&gt;
* Add BitAnd(), BitNot(), BitOr() &amp;amp; BitXor() script functions.&lt;br /&gt;
* Add StrCmp() &amp;amp; StrCmpI() script functions.&lt;br /&gt;
* Add YV24 support for Limiter show option.&lt;br /&gt;
* Add &amp;quot;Global OPT_dwChannelMask={int}&amp;quot;&lt;br /&gt;
* Add 0x0063F speaker mask for 7.1 WAVE_FORMAT_EXTENSIBLE.&lt;br /&gt;
* Add .dll DelayLoad exception texts to crash message formatter.&lt;br /&gt;
* ImageWriter, add support for printf formating of filename string, default is (&amp;quot;%06d.%s&amp;quot;, n, ext);&lt;br /&gt;
* Add avs_get_error(AVS_ScriptEnvironment*); to avisynth_c interface.&lt;br /&gt;
* Catch and save AvisynthError text in more avisynth_c entry points, for kemuri-_9.&lt;br /&gt;
* Add ScriptName(), ScriptFile(), ScriptDir() functions (WarpEnterprises).&lt;br /&gt;
* Add SkewRows filter.&lt;br /&gt;
* Histogram, Levels mode, Improve colour of chroma legends.&lt;br /&gt;
* ConditionalFilter, teach about string results.&lt;br /&gt;
* Add some more &amp;quot;Add/Remove Software&amp;quot; registry keys to the Installer (XhmikosR).&lt;br /&gt;
* AviSource: Support both packed and DWORD padded raw planar input like with DSS.&lt;br /&gt;
* Add IScriptEnvironment::ApplyMessage()&lt;br /&gt;
* Add ImageSourceAnim (Wilbert)&lt;br /&gt;
* Support user upgrade to 178 DevIL.dll (They need to manage CRT dependancies).&lt;br /&gt;
* ImageSource: palette and compressed bmp images load correctly now (issue 894702) [need 178 DevIL.dll]&lt;br /&gt;
* ImageSource: support for other formats like: gif, exr, jp2, psd, hdr [need 178 DevIL.dll]&lt;br /&gt;
* Add YV24 mode to ColorBars.&lt;br /&gt;
* Add ColorBarsHD based on arib_std_b28.&lt;br /&gt;
* C-api usability enhancements from kemuri9 [Work in progress!]&lt;br /&gt;
* Add Undefined(), AudioLengthLo(), AudioLengthHi(), IsYV16() &amp;amp; IsYV24() script functions&lt;br /&gt;
* Allow newlines (and hence comments) before '{' -- Gavino&lt;br /&gt;
* Added IScriptEnvironment::DeleteScriptEnvironment()&lt;br /&gt;
* Added Histogram, population clamp % factor for &amp;quot;Levels&amp;quot; mode,&lt;br /&gt;
* Histogram, revert &amp;quot;Stereo&amp;quot; mode to YV12, Add &amp;quot;StereoY8&amp;quot; mode,&lt;br /&gt;
* AviSource: Support fourcc &amp;quot;GREY&amp;quot; as Y8&lt;br /&gt;
* Add &amp;quot;Global OPT_AVIPadScanlines=True&amp;quot; option for DWORD aligned planar padding&lt;br /&gt;
&lt;br /&gt;
=== Bugfixes ===&lt;br /&gt;
* Fixed frame range clamping in ComparePlane (ultim).&lt;br /&gt;
* Fixed posible leak with realloc in ConditionalReader (ultim).&lt;br /&gt;
* Fixed posible double free in text-overlay (ultim).&lt;br /&gt;
* Fixed RGB32 to Y8 pixel right shift from 4th pixel on (Robert Martens).&lt;br /&gt;
* Fixed Overlay YV24 Image444 leak.&lt;br /&gt;
* Fixed AVISource &amp;quot;AUTO&amp;quot; and &amp;quot;FULL&amp;quot; handling.&lt;br /&gt;
* Fixed ImageSource handling of missing ebmp files.&lt;br /&gt;
* Fixed DirectShowSource incorrect byte order for unpacking of pixel type &amp;quot;AYUV&amp;quot;.&lt;br /&gt;
* Fixed HexValue parsing values greater than 7FFFFFFF, now as unsigned hex.&lt;br /&gt;
* Fixed ConditionalReader memory overrun parsing bools.&lt;br /&gt;
* Fixed ResampleAudio NOP test to compare vi.num_audio_samples, not sample rate.&lt;br /&gt;
* Fixed YV24 -&amp;gt; RGB24 overrun cleanup for widths%16 == 5.&lt;br /&gt;
* Fixed RGB24 AddBorders with right=0.&lt;br /&gt;
* Fixed conditional_functions error message names (Wilbert).&lt;br /&gt;
* Fixed Audio cache ac_expected_next regression.&lt;br /&gt;
* Fixed ImageSource deal with add 1 to IL_NUM_IMAGES bug (Wilbert)&lt;br /&gt;
* Fixed Overlay YV24 V plane conversion.&lt;br /&gt;
* Fixed Overlay YV24 mode with shared input clip, needed a MakeWritable.&lt;br /&gt;
* Fixed ImageReader upside down TIFF in 178 DevIL. (Wilbert)&lt;br /&gt;
* Fixed SaveString 'string+string' bug when total length is 4096*K-1, K is +int.&lt;br /&gt;
* Fixed SincResize misuse of &amp;quot;int abs(int)&amp;quot; (Gavino). Fix Lanczos and Blackman sinc use of float == 0.0, use small limit &amp;quot;&amp;gt; 0.000001&amp;quot;.&lt;br /&gt;
* Fixed Classic mode legend drawing for planar right limit and yuy2 centre line.&lt;br /&gt;
* Fixed possible MT race. Use &amp;quot;env-&amp;gt;ManageCache(MC_IncVFBRefcount, ...)&amp;quot; in ProtectVFB.&lt;br /&gt;
* Fixed SwapYToUV output image size bug for 3 clip case.&lt;br /&gt;
* Fixed Crop limit tests for RGB.&lt;br /&gt;
* Fixed Overlay yellow tint on rec601 RGB import conversion.&lt;br /&gt;
* Fixed YtoUV() output image size bug for 3 clip case.&lt;br /&gt;
* Fixed ConvertToPlanar chroma alignment.&lt;br /&gt;
* Fixed Levels (RGB) change use of PixelClip(x) to min(max(x, 0), 255).&lt;br /&gt;
* Fixed SwapYtoUV yuy2 crash (StainlessS).&lt;br /&gt;
* Fixed Overlay saturate UV in add and subtract mode.&lt;br /&gt;
* Fixed Info.h range protect display characters (StainlessS).&lt;br /&gt;
* Fixed AviSource packed planar import chroma offsets.&lt;br /&gt;
* Fixed AviSource NULL GetWritePtr() failure due to premature setting of last_frame.&lt;br /&gt;
* Fixed Mask rounding in greyscale calcs (Wilbert), minor refactor.&lt;br /&gt;
* Fixed SelectRangeEvery audio snafu (Gavino).&lt;br /&gt;
* Fixed LoadPlugin, SaveString of result string.&lt;br /&gt;
* Fixed LoadPlugin, use _vsnprintf.&lt;br /&gt;
* Fixed LoadVirtualdubPlugin, don't add vdub filter to chain on load failure.&lt;br /&gt;
* Fixed rounding in RGB HResize (JoshyD) (affects all resizers)&lt;br /&gt;
* Fixed error message name in the filter VerticalReduceBy2&lt;br /&gt;
* Fixed SeparateFields() with variable parity input clip (Wilbert)&lt;br /&gt;
* Fixed AviSource, cannot cast__int64* to long*, it does not work!&lt;br /&gt;
* Fixed ConditionalReader: Don't allow out of range &amp;quot;Range&amp;quot; to overwrite edge values&lt;br /&gt;
&lt;br /&gt;
=== Optimizations ===&lt;br /&gt;
* ConvertToPlanarGeneric explicit add Cache before chroma rescaler.&lt;br /&gt;
* Overlay minor refactor YV12 -&amp;gt; 444 chroma&lt;br /&gt;
* Speedup ConvertToMono(), minor refactor MixAudio().&lt;br /&gt;
* Change StackVertical/Horizontal to interative instead of recursive, 2^N performace increase for 3 and more clips, i.e. 1 blit total instead of blit(blit(blit(...&lt;br /&gt;
* RGBtoY8 Dynamic ASM code, suport for RGB24.&lt;br /&gt;
* YV24backtoYUY2 Dynamic ASM code.&lt;br /&gt;
* UtoY8, VtoY8 abuse subframe, zero cost.&lt;br /&gt;
* YV24&amp;lt;-&amp;gt;RGB Add SSE2 and SSSE3 code paths, get rid of wide_enough.&lt;br /&gt;
* ConvertToYUY2 Add SSE2, MMX restore full speed on platforms with poor ooox.&lt;br /&gt;
* ConvertAudio, manage tempbuffer and floatbuffer independently.&lt;br /&gt;
* ConvertAudio, prefer SSE2 over 3DNow for super AMD cores.&lt;br /&gt;
* Info.h, full refactor, a good example of &amp;quot;Never look down&amp;quot;, thx StainlessS&lt;br /&gt;
* DoubleWeaveFrames, If A not writable, try to write to B, else make new frame&lt;br /&gt;
* Histogram, fix GetFrame/NewVideoFrame call order&lt;br /&gt;
* HResizer, interleave code +4% faster&lt;br /&gt;
* YtoUV() Abuse Subframe to snatch the Y plane / UV planes, Derestrict destination colorformat autogeneration.&lt;br /&gt;
* ImageSource: Improve thread interlock code&lt;br /&gt;
* ConditionalReader/WriteFile: Full refactor.&lt;br /&gt;
* Replace _strdup with SaveString in AddFunction (Thanks Gavino)&lt;br /&gt;
&lt;br /&gt;
=== Changes ===&lt;br /&gt;
* BlankClip: Supply useful defaults for new Audio/Video when using a Video/Audio only template clip.&lt;br /&gt;
* BlankClip: Use duration from Audio only template as default length for new clip.&lt;br /&gt;
* Define new IClip::SetCacheHints cachehint constants.&lt;br /&gt;
* Force int call arguments to user script function float params to be explicit floats.&lt;br /&gt;
* Splice pass CacheHints through to both children in + and ++ mode.&lt;br /&gt;
* WriteFileStart/End save current_frame and set Last.&lt;br /&gt;
* ConditionalReader do not ignore syntax errors in input file.&lt;br /&gt;
* ImageSourceAnim Pad/Crop images to match first frame (Wilbert)&lt;br /&gt;
* ImageSource Add version to messages (Wilbert)&lt;br /&gt;
* Initial 2.6 API entry point linkage.&lt;br /&gt;
* Use Invoke for graph tail, enhance non-clip output error reporting.&lt;br /&gt;
* PopContext when inner block Asserts/throws (maxxon).&lt;br /&gt;
* Remove duplicate definitions (Wilbert)&lt;br /&gt;
* Enhance non-clip output error reporting.&lt;br /&gt;
* Explicitly specify calling sequence as __cdecl for Avisynth softwire routines, (was the compiler default)&lt;br /&gt;
* Use env-&amp;gt;Invoke(&amp;quot;Cache&amp;quot;, ...) everywhere instead of Cache::Create_Cache(), allows for Cache to be overloaded by a plugin.&lt;br /&gt;
* ConvertToYUY2 Change from 0-1-1 kernel to 1-2-1 kernel.&lt;br /&gt;
* Tweak make Interp same units as minSat and maxSat.&lt;br /&gt;
* Check HKEY_CURRENT_USER for PluginDir first. (henktiggelaar)&lt;br /&gt;
* Make forced, -ve, planar alignment of chroma planes match subsampling.&lt;br /&gt;
* Enforce planar alignment restrictions.&lt;br /&gt;
* C-api: Remove func sub-struct from AVS_Library struct&lt;br /&gt;
* Add error code to plugin load failure message&lt;br /&gt;
* Make default planar AVI output packed.&lt;br /&gt;
* WriteFile() now supports unlimited number of unlimited strings. (was 16 by 254 byte strings).&lt;br /&gt;
* ConvertToRGB*, make C++ code sample chroma the same as the MMX code i.e. use both pixels.&lt;br /&gt;
* ConvertToRGB*, use YV24 path for planar, complain when options are present for YUY2.&lt;br /&gt;
* ConvertToYUY2, use YV16 path for planar, complain when options are present for RGB&lt;br /&gt;
** see: http://forum.doom9.org/showthread.php?p=1378381#post1378381&lt;br /&gt;
* Thread safe code, part 2.&lt;br /&gt;
* Correct IClip baked documentation&lt;br /&gt;
* Fix at_exit executon order&lt;br /&gt;
* Passify compilation error/warnings (XhmikosR)&lt;br /&gt;
* for, const, extern and ansi patches for VC2008 (SEt)&lt;br /&gt;
* Disable OPT_RELS_LOGGING option&lt;br /&gt;
* Change implicit Last parsing for argless, bracketless calls to match bracketed cases. (Gavino) [not documented yet ???]&lt;br /&gt;
* DirectShowSource: Support last minute format renegotiation thru IPin::QueryAccept() &amp;amp; Validate the size of the provided directshow buffer.&lt;br /&gt;
* Remove non ascii chars from comments.&lt;br /&gt;
* Add core stubs for DirectShowSource, TCPServer &amp;amp; TCPSource, report when plugins are missing.&lt;br /&gt;
* Add note for original source downloads - SoundTouch&lt;br /&gt;
* Add more lineage history to Info()&lt;br /&gt;
* Move convertaudio, alignplanar, fillborder &amp;amp; MIN/MAX_INT definitions.&lt;br /&gt;
* Run AtExit before dismantling world.&lt;br /&gt;
* Change setcachehints definition from void to int. Test IClip version &amp;gt;= 5.&lt;br /&gt;
* Move PixelClip definition to avisynth.cpp&lt;br /&gt;
* SubTitle, etc, make X &amp;amp; Y options float (0.125 pixel granularity).&lt;br /&gt;
* ShowSMPTE() supports all integer FPS and multiplies of drop frame FPS.&lt;br /&gt;
* SubTitle, stop overwriting string constants (Gavino).&lt;br /&gt;
* SubTitle, improve pixel registration (Gavino).&lt;br /&gt;
* Make Info() CPU display hierarchical.&lt;br /&gt;
* Thread safe code, part 1.&lt;br /&gt;
&lt;br /&gt;
== Changes from 2.5 series to 2.6.0 Alpha 2 ==&lt;br /&gt;
&lt;br /&gt;
=== Additions ===&lt;br /&gt;
* Added support for argument passing and EAX return value to SoftwireHelper.&lt;br /&gt;
* Added &amp;quot;Global OPT_VDubPlanarHack=True&amp;quot; to flip YV24 and YV16 chroma planes for old VDub's.&lt;br /&gt;
* Added ContinuedDenominator/ContinuedNumerator(f[]i[limit]i) script functions.&lt;br /&gt;
* Tweak: fix MaskPointResizing + put back Dividee ISSE code (use sse=true, can't use all settings in that case).&lt;br /&gt;
* Added ChromaInPlacement, ChromaOutPlacement and ChromaResample options to planar colour conversions.&lt;br /&gt;
* Added MaskHS.&lt;br /&gt;
* Minor tweaks to get ready for VC8.&lt;br /&gt;
* Add Y8 for DevIL, planarize EBMP.&lt;br /&gt;
* Planar support for many filters.&lt;br /&gt;
* Added Info() time indicator on audio length and video (current frame &amp;amp; total). (2.5.8)&lt;br /&gt;
* Added UtoY8 and VtoY8.&lt;br /&gt;
* Added more info to Info(). (2.5.8)&lt;br /&gt;
* ColorYUV: Added all adjustment parameters as conditional variables &amp;quot;coloryuv_SETTING&amp;quot;. Enable by setting conditional=true.&lt;br /&gt;
* ConditionalReader: Added support for type String.&lt;br /&gt;
* ConditionalReader: Added offset keyword to offset all frame numbers after the keyword.&lt;br /&gt;
* Added SincResize() with optional taps parameter (default is 4).&lt;br /&gt;
* Added Custom band setting to SuperEQ to allow all 16 bands to be set from script. Usage: SuperEQ(clip,band1, band2, band3....) values are dB in float.&lt;br /&gt;
* Added fast 0-1-0 kernel for YV24 to ConvertBacktoYUY2().&lt;br /&gt;
* Added formats: YV24, YV16, Y8, YV411.&lt;br /&gt;
&lt;br /&gt;
=== Bugfixes ===&lt;br /&gt;
* Fixed MonoToStereo with stereo sources.&lt;br /&gt;
* Fixed MergeChannels with only 1 input clip.&lt;br /&gt;
* Fixed support for negative height DIB format AVI's. (Oops still not quite right yet)&lt;br /&gt;
* Fixed Audio cache crashes.&lt;br /&gt;
* Fixed resize with YV411 missing code.&lt;br /&gt;
* Fixed ConditionalReader rounding with integer Interpolation.&lt;br /&gt;
* Fixed Softwire SSE2 bugs.&lt;br /&gt;
* Fixed SSSE3 CPU detection.&lt;br /&gt;
* Fixed SSSE3, SSE4.1 &amp;amp; SSE4.2 detection.&lt;br /&gt;
* Fixed Fastwire encoding of instructions that are &amp;gt;2 opcodes (SSSE3+4).&lt;br /&gt;
* Fixed _RPT5() macro for debug builds&lt;br /&gt;
&lt;br /&gt;
=== Optimizations ===&lt;br /&gt;
* SuperEQ: Improve channel unpacking/packing code.&lt;br /&gt;
* H-Resize: Use SSE4.1 (movntdqa) loads for use once memory access.&lt;br /&gt;
* H-Resize: Added SSE2 horizontal unpacker.&lt;br /&gt;
* Resize: Use SSE3 (lddqu) loads for unaligned memory access.&lt;br /&gt;
* Added ultra fast vertical PointResizer (64 pixel/cycle).&lt;br /&gt;
* Added dynamic SSSE3 vertical resizer (16 pixel/cycle) ~ twice as fast as old MMX.&lt;br /&gt;
* Added dynamic SSE2 vertical resizer (16 pixel/cycle).&lt;br /&gt;
* Added dynamic MMX vertical resizer (8 pixel/cycle).&lt;br /&gt;
* Added SSSE3 version for RGB&amp;lt;-&amp;gt;YV24 conversions.&lt;br /&gt;
* Added dynamic compiled MMX/iSSE for RGB&amp;lt;-&amp;gt;YV24 conversions. Speed is approx 200% of C-code.&lt;br /&gt;
&lt;br /&gt;
=== Changes ===&lt;br /&gt;
* ConditionalReader/WriteFile: Full refactor.&lt;br /&gt;
* SoftwireHelper: explicit hardware exception handling.&lt;br /&gt;
* Resize: Moved GetResampleFunction into Resamplefunction, to allow overrides.&lt;br /&gt;
* Resampler: Removed dead stlf code.&lt;br /&gt;
* Updated Soundtouch to 1.31 (2.5.8)&lt;br /&gt;
* Put dynamic matrix conversion into separate file.&lt;br /&gt;
* Moved chroma subsampling to image_type section.&lt;br /&gt;
* Added specific error reporting when requesting chromasubsampling with Y8.&lt;br /&gt;
* Split up merge and plane Swappers.&lt;br /&gt;
* Split up Plane transfers into separate classes.&lt;br /&gt;
* Added automatic destination colorspace detection on planar YtoUV.&lt;br /&gt;
* Took out greyscale and RGB32&amp;lt;-&amp;gt;RGB24 from convert.cpp and placed them in separate files.&lt;br /&gt;
* All code assuming UVwidth = Ywidth/2 and similar should be gone.&lt;br /&gt;
&lt;br /&gt;
[[Category:Changelist]]&lt;/div&gt;</summary>
		<author><name>Unreal666</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>2013-08-06T03:22:48Z</updated>
		
		<summary type="html">&lt;p&gt;Unreal666: Add ExInpaint plugin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Rough classification of filters (in progress).&lt;br /&gt;
&lt;br /&gt;
To make it easier for people to to find what they need here, the list includes both script function filters (see [[Import]]) and plugin filters (see [[Plugins]]).&lt;br /&gt;
&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;
&lt;br /&gt;
A large list of filters can be downloaded [http://www.64k.it/andres/dettaglio.php?sez=avisynth here] and [http://www.avisynth.nl/users/warpenterprises/ Warp Enterprises Avisynth Filter Collection]&lt;br /&gt;
&lt;br /&gt;
A list of 64bit compiles can be found [http://yo4kazu.110mb.com/ here] and [http://code.google.com/p/avisynth64/wiki/PluginLinks here].&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;
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;
&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://yo4kazu.110mb.com/ x64]&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;
| [http://neuron2.net/dgmpgdec/dgmpgdec.html 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://haali.cs.msu.ru/mkv/ Plugin]&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 Plugin]&lt;br /&gt;
| {{Author/WarpEnterprises}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DVTimeStampEx]]&lt;br /&gt;
| Shows DV timestamp information over a DV clip.&lt;br /&gt;
| N/A&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/#dvtimestampex Plugin]&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://code.google.com/p/ffmpegsource 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://strony.aster.pl/paviko/hdvinfo0.93.zip Plugin]&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/#imagesequence Plugin]&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;
|-&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/#mpasource Plugin]&lt;br /&gt;
| {{Author/WarpEnterprises}}&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;
| [[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;
| [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://www.codeplex.com/NicAudio/Release/ProjectReleases.aspx 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://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/#rawsource Plugin] [https://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/?a6e6bqxbmrt9uge 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;
&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;
| [[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;
| [[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;
| [[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;
| 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;
| &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;
| [[BT709ToBT601]]&lt;br /&gt;
| Convert from BT.709 (HDTV) to BT.601 (SDTV) colorimetry.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20110208133956/http://home.comcast.net/~tombarry970/ Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&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.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB]]&lt;br /&gt;
| [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;
| [[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;
| [[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;
| Plugin&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| [[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://avisynth.org.ru/reinterpolate420/reinterpolate420_v3.zip Plugin]&lt;br /&gt;
|  {{Author/Wilbert Dijkhof}}&lt;br /&gt;
{{Author/Fizick}} (v3)&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;
| [[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.&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
|&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;
| [http://forum.doom9.org/showthread.php?t=108681 GradFun2DB]&lt;br /&gt;
| DeBanding Filter. See [http://en.wikipedia.org/wiki/Color_banding wikipedia:Color Banding]&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://web.archive.org/web/20080905123941/http://soulhunter.chronocrossdev.com/data/gradfun2db.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 [http://forum.doom9.org/showthread.php?t=108681 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/showthread.php?p=1386559 Script]&lt;br /&gt;
| {{Author/cretindesalpes}}&lt;br /&gt;
|-&lt;br /&gt;
| 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 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 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?t=153589].&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| Script&lt;br /&gt;
| Jawed&lt;br /&gt;
|-&lt;br /&gt;
| [[BlockTerminator]]&lt;br /&gt;
| Deblocking filter, see [http://forum.doom9.org/showthread.php?t=111483&amp;amp;page=2].&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| Script&lt;br /&gt;
| {{Author/foxyshadis}}&lt;br /&gt;
|-&lt;br /&gt;
| [[DeBlock]]&lt;br /&gt;
| Deblocking filter, see [http://avisynth.org.ru/mvtools/deblock.html], [http://neuron2.net/dgmpgdec/DGDecodeManual.html#DeBlock]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| 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; Didée See [http://forum.doom9.org/showthread.php?p=944459]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/images/Deblock_QED_MT2.avs Script]&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[FunkyDeBlock]]&lt;br /&gt;
| Deblocking script based on [[DGDecode/BlindPP|BlindPP]] and high/lowpass 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;
| [[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;
| [[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;
| [[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;
| [https://sites.google.com/site/jconklin754smoothd2/home 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;
| Script&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[BlindDeHalo]]&lt;br /&gt;
| Filter to remove edge enhancement artefacts. See [http://forum.doom9.org/showthread.php?threadid=74003 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| [[BlindDeHalo2]]&lt;br /&gt;
| Filter to remove edge enhancement artefacts. See [http://forum.doom9.org/showthread.php?p=579853#post579853 discussion].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| 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;
| 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.avsi Script]&lt;br /&gt;
| {{Author/Didée}}&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;
&lt;br /&gt;
=== Deringing &amp;amp; Mosquito Noise ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&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;
| [[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;
| [http://forum.doom9.org/showthread.php?t=167582 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://www.geocities.jp/w_bean17/index.html Plugin]&lt;br /&gt;
| {{Author/b_inary}}&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://avisynth.nl/users/warpenterprises/ 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;
| [http://neuron2.net/dgbob/dgbob.html Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Decomb]]&lt;br /&gt;
| The [[Decomb/FieldDeinterlace|FieldDeinterlace]] filter provides functionality similar to the postprocessing function of [[Decomb/Telecide|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;
| [http://neuron2.net/decomb/decombnew.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 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;
| [http://web.archive.org/web/20110208133956/http://home.comcast.net/~tombarry970/ Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&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;
| [http://neuron2.net/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;
| [[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;
* MCBob + EEDI2 [http://forum.doom9.org/showthread.php?t=124676#post988224]&lt;br /&gt;
* MCBob + NNEDI [http://forum.doom9.org/showthread.php?t=129953#post1055263]&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]&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| scharfis_brain&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;
| &lt;br /&gt;
| [http://www.mediafire.com/download.php?vx4my32a9fqz8q9 Script]&lt;br /&gt;
| -Vit-&lt;br /&gt;
|-&lt;br /&gt;
| Securebob&lt;br /&gt;
| type=2 or type=3. (part of MVbob) [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;
| SecureDeint&lt;br /&gt;
| (part of MVbob) [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;
| SmoothDeinterlace&lt;br /&gt;
| by Gunnar Thalin [http://www.guthspot.se/video/AVSPorts/SmoothDeinterlacer/]&lt;br /&gt;
| &lt;br /&gt;
| 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.&lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
| &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;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20100903072408/http://home.arcor.de/dhanselmann/_stuff/ Script]&lt;br /&gt;
| {{Author/Didée}}&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;
| [http://web.archive.org/web/20110208133956/http://home.comcast.net/~tombarry970/ Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&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;
| [[TomsBob]]&lt;br /&gt;
| We've asked Tom to include a proper 60fps deinterlacer in his wonderful TomsMoComp, but until then you'll have to make do with TomsBob.&lt;br /&gt;
|&lt;br /&gt;
| Script&lt;br /&gt;
| &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;
| [http://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;
| [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;
| 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]&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. &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;
| Script&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]&lt;br /&gt;
&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| thetoof&lt;br /&gt;
|-&lt;br /&gt;
| BruteIVTC&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [http://mf.creations.nl/avs/filters/ Plugin]&lt;br /&gt;
| MarcFD&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;
| &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 [[Decomb/Decimate|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;
| [http://neuron2.net/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;
| [http://web.archive.org/web/20110208133956/http://home.comcast.net/~tombarry970/ 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://avisynth.nl/users/warpenterprises/ Plugin]&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.&lt;br /&gt;
| &lt;br /&gt;
| [http://doom10.org/index.php?topic=292.msg5499#msg5499 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;
| [http://neuron2.net/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://siwalters.net/ Plugin]&lt;br /&gt;
| {{Author/Simon Walters}}&lt;br /&gt;
|-&lt;br /&gt;
| ReMatch&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| RePal&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&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://kevin.atkinson.dhs.org/tel/ Plugin]&lt;br /&gt;
| {{Author/Kevin Atkinson}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Decomb]]&lt;br /&gt;
| The [[Decomb/Telecide|Telecide]] and [[Decomb/Decimate|Decimate]] filters can be combined to implement IVTC.&lt;br /&gt;
| [[YUY2]], [[YV12]]&lt;br /&gt;
| [http://neuron2.net/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;
| Plugin&lt;br /&gt;
| {{Author/tritical}}&lt;br /&gt;
|-&lt;br /&gt;
| TPRIVTC&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&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;
| [http://web.archive.org/web/20110208133956/http://home.comcast.net/~tombarry970/ Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&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;
| &lt;br /&gt;
| &lt;br /&gt;
| [http://web.archive.org/web/20091026142456/http://www.geocities.com/mrtibsvideo/fixvhsoversharp.html Plugin]&lt;br /&gt;
|-&lt;br /&gt;
| GhostBuster&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [http://kvcd.net/sansgrip/avisynth/Ghostbuster-0.1.zip Plugin]&lt;br /&gt;
| SansGrip&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Logo Removal ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[Shared_functions/DeKafka|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;
| 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;
| [http://neuron2.net/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 Equalisation ===&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://avisynth.nl/users/warpenterprises/files/antiflicker_25_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;
| [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. See [http://forum.doom9.org/showthread.php?t=74397 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://ivtc.org/avisynth/bifrost-1.1.zip Plugin]&lt;br /&gt;
| {{Author/Myrsloik}}&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;
| [http://forum.doom9.org/showpost.php?p=1571520&amp;amp;postcount=20 Checkmate]&lt;br /&gt;
| Spatial and 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;
| 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. See [http://forum.doom9.org/showthread.php?t=98219 discussion]&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;
| It removes rainbows on the clip, without any visible quality loss. See [http://forum.doom9.org/showthread.php?p=398106#post398106 discussion.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=398106#post398106 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]], [[YUY2]]&lt;br /&gt;
| [http://www.aquilinestudios.org/scripts/DFMDeRainbow-20050128.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 temporal; 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 temporal; 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. See discussion [http://forum.doom9.org/showthread.php?t=67578 here] and [http://forum.doom9.org/showthread.php?s=&amp;amp;postid=321859#post321859 here.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20090212071718/http://mf.creations.nl/avs/functions/mfRainbow-v0.31.avs Script]&lt;br /&gt;
| {{Author/mf}}&lt;br /&gt;
|-&lt;br /&gt;
| Rainbow_Smooth&lt;br /&gt;
| A small spatial derainbow function. It uses [http://web.archive.org/web/20031009215231/http://kurosu.inforezo.org/avs/Smooth/index.html SmoothUV] to smooth out chroma and edge masking to prevent color bleeding.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1025503#post1025503 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. See discussion [http://forum.doom9.org/showthread.php?t=98267 here] and [http://forum.doom9.org/showthread.php?p=748304#post748304 here.]&lt;br /&gt;
| [[YV12]], [[RGB32]]&lt;br /&gt;
| 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;
| [http://avisynth.org.ru/docs/english/externalfilters/tcomb.htm 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;
&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;
| [[Stab]]&lt;br /&gt;
| Simple but powerful script to remove small high frequenzy jitter that appears often on old/bad transfers. See [http://forum.doom9.org/showthread.php?p=1222830#post1222830]&lt;br /&gt;
| &lt;br /&gt;
| 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;
|&lt;br /&gt;
| [http://code.google.com/p/avisynthrestoration/downloads/list Script]&lt;br /&gt;
|&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;
|&lt;br /&gt;
| Script&lt;br /&gt;
| mg262&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Denoisers ==&lt;br /&gt;
[[Denoisers|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;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| Atc&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| ColourizeSmooth&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| ConditionalTemporalMedian&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| DCTFun4b&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| DeNoise&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| DNR2&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| ExtendedBilateral&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=84636 MedianBlur]&lt;br /&gt;
| Spatial median blur filter with a variable radius&lt;br /&gt;
| &lt;br /&gt;
| [http://avisynth.nl/users/tsp/ Plugin]&lt;br /&gt;
| tsp&lt;br /&gt;
|-&lt;br /&gt;
| PixieDustPP &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| SmartSmoother&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| SmootherHiQ&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| SSIQ&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| TNLMeans&lt;br /&gt;
| TNLMeans is an implementation of the NL-means denoising algorithm. See [http://forum.doom9.org/showthread.php?t=111344 discussion.]&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;
| UberSmooth (Bloated)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| UberSmooth (DCTFun)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| UberSmooth (Deen) &lt;br /&gt;
| [http://soulhunter.chronocrossdev.com/#004]&lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| VariableBlur&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&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 [http://neuron2.net/2dcleaner.html 2D Cleaner.]&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/2dcleanyuy2_5F25_dll_20021225.zip Plugin]&lt;br /&gt;
| {{Author/kiraru2002}}, {{Author/xeon533}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://web.archive.org/web/20101001134812/http://home.comcast.net/~tombarry970/Readme_DctFilter.txt DctFilter]&lt;br /&gt;
| An experimental filter that operates on DCT coefficients. &lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/dctfilter_5F25_dll_20030221.zip Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&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;
| [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;
| [http://neuron2.net/msmooth/msmooth.html Msmooth]&lt;br /&gt;
| Masked smoother, designed specifically for anime.&lt;br /&gt;
| [[YV12]], [[RGB32]]&lt;br /&gt;
| [http://neuron2.net/msmooth/msmooth202.zip Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [[RemoveGrain]]&lt;br /&gt;
| RemoveGrain is a simple and extremely fast spatial denoiser for progressive and interlaced video.&lt;br /&gt;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| Plugin&lt;br /&gt;
| {{Author/kassandro}}&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;
| [http://kvcd.net/sansgrip/avisynth/FluxSmooth-readme.html 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://www.videohelp.eu/forum/attachments/avisynth/4d1351428557-sansgrips-avisynth-filters-fluxsmooth-avisynth-sansgriprar Plugin]&lt;br /&gt;
| SansGrip (Ross Thomas), 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;
| TemporalCleaner&lt;br /&gt;
| &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;
=== Spatio-Temporal Denoisers ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [[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;
|&lt;br /&gt;
| [http://ziquash.chez-alice.fr/ Plugin]&lt;br /&gt;
| [http://ziquash.chez-alice.fr/ MarcFD]&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;
|&lt;br /&gt;
| 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;
| [[YV12]], [[YUY2]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/dfttestv18.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]&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| thewebchat&lt;br /&gt;
|-&lt;br /&gt;
| [[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;
|&lt;br /&gt;
| [http://avisynth.org.ru/degrain/degrainmedian.html Plugin]&lt;br /&gt;
| {{Author/Fizick}}&lt;br /&gt;
|-&lt;br /&gt;
| [[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/fft3dfilter.html 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.&lt;br /&gt;
|&lt;br /&gt;
| [http://avisynth.nl/users/tsp/ Plugin]&lt;br /&gt;
| tsp&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;
| FrFun7&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/frfun7_rev6.zip Plugin]&lt;br /&gt;
| prunedtree&lt;br /&gt;
|-&lt;br /&gt;
| HQdn3d &lt;br /&gt;
| see [http://akuvian.org/src/avisynth/hqdn3d/]&lt;br /&gt;
|&lt;br /&gt;
| Plugin&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;
|  &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;
| [[MipSmooth]]&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Plugin&lt;br /&gt;
| {{author/Sh0dan}}&lt;br /&gt;
|-&lt;br /&gt;
| NoMoSmooth&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| PeachSmoother&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| [http://avisynth.org.ru/docs/english/externalfilters/peachsmoother.htm Plugin]&lt;br /&gt;
| {{Author/Lindsey Dubb}}&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;
| &lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=110078 Script]&lt;br /&gt;
| Heini011&lt;br /&gt;
|-&lt;br /&gt;
| RemoveDirtMC&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1485300#post1485300 Script]&lt;br /&gt;
| Nephilis&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;
=== Colourspace Conversion ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [http://neuron2.net/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;
| [http://neuron2.net/dup/dupnew.html Plugin]&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;
|-&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;
|}&lt;br /&gt;
&lt;br /&gt;
=== Effects ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=111849 AddGrain]&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;
| [[Y8]], [[YV411]], [[YV12]], [[YV16]], [[YV24]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://ldesoras.free.fr/src/avs/AddGrainC-1.7.0.7z Plugin]&lt;br /&gt;
| {{Author/Tom Barry}} {{Author/Foxyshadis}}&lt;br /&gt;
{{Author/LaTo}} {{Author/cretindesalpes}}&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://kvcd.net/sansgrip/avisynth/Blockbuster-0.7.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://mediafire.com/?xkmatqlcvaoskv5 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://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;
| [[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]&lt;br /&gt;
| &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;
| [[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/soulhunter}}&lt;br /&gt;
|-&lt;br /&gt;
| [[HollywoodSQ]]&lt;br /&gt;
| Creates popup album, akin to Hollywood squares TV show&lt;br /&gt;
| &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;
| &lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/#noisegenerator 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;
| &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?p=1483856#post1483856 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;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| ReverseFieldDominance&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| [http://www.reocities.com/siwalters_uk/reversefielddominance.html Plugin]&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;
| [[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;
| 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;
| [https://github.com/arkeet/fpsdown Plugin]&lt;br /&gt;
| [https://github.com/arkeet/ arkeet]&lt;br /&gt;
|-&lt;br /&gt;
| [http://neuron2.net/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;
| [http://avisynth.nl/users/warpenterprises/files/framedbl_5F25_dll_20030621.zip Plugin]&lt;br /&gt;
| {{Author/Tom Barry}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.spirton.com/category/interframe/ InterFrame]&lt;br /&gt;
| Give videos higher framerates like newer TVs do. Common names are framedoubling, smooth motion and 60FPS conversion. See [http://forum.doom9.org/showthread.php?t=160226 discussion.]&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.spirton.com/uploads/InterFrame/InterFrame-2.5.0.zip 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;
| MVFlowFPS(2) (MVTools)&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&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;
&lt;br /&gt;
=== Levels and Chroma ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=167573 AutoGain]&lt;br /&gt;
| A high quality auto-leveling filter. It calculates statistics of clip, averages them temporally to stabilize data and uses them to adjust gain. AutoGain 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. AutoGain 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;
| [http://forum.doom9.org/showthread.php?t=139361 Color Balance]&lt;br /&gt;
| Same tool that is found in Gimp &amp;amp; Cinepaint.&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1180090#post1180090 script]&lt;br /&gt;
| Gavino &amp;amp; mikeytown2&lt;br /&gt;
|-&lt;br /&gt;
| [http://www.videohelp.com/forum/archive/nice-results-with-avisynth-color-channel-mixer-t339327.html 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;
| Plugin&lt;br /&gt;
| Gustaf Ullberg&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 channel.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/#colourlike 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://avisynth.nl/users/warpenterprises/#gicocu Plugin]&lt;br /&gt;
| E-Male&lt;br /&gt;
|-&lt;br /&gt;
| [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://strony.aster.pl/paviko/Hdragc-1.8.7.zip Plugin]&lt;br /&gt;
| 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;
| Plugin&lt;br /&gt;
| {{Author/vcmohan}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=1570968#post1570968 Histograms in RGB &amp;amp; CMY]&lt;br /&gt;
| Display level histogram in RGB and CMY, and a histogram for RGB parade. Useful for color corrections.&lt;br /&gt;
| [[YV12]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| Script&lt;br /&gt;
| -Vit-&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;
| [[SmoothLevels]]&lt;br /&gt;
| Advanced levels adjustment function, with limiting &amp;amp; smoothing parameters.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=137479 Script]&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;
| Tweak3 &lt;br /&gt;
| Same as [[Tweak]] but with 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;
| 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;
=== Linedarkening ===&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;
| [[Shared_functions/mfToon|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 Linedarkener. See [http://forum.doom9.org/showthread.php?t=131454 discussion.] Original Toon [http://forum.doom9.org/showthread.php?p=1022171 discussion] in script form. &lt;br /&gt;
Binary patched Toon-v1.0 to use aWarpSharp2 instead of aWarpSharp: [http://forum.doom9.org/showthread.php?t=147285 Toon-v1.1] &lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://web.archive.org/web/20090218093135/http://mf.creations.nl/avs/filters/Toon-v1.0.dll Plugin]&lt;br /&gt;
| {{Author/mf}}&lt;br /&gt;
|-&lt;br /&gt;
| Toon-lite&lt;br /&gt;
| It's the same as Toon, just without the warpsharp processing. For default strength use &amp;quot;1.0&amp;quot;.&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;
| [http://forum.doom9.org/showthread.php?s=&amp;amp;threadid=87602 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.&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/autocrop_25_dll_20050103.zip Plugin]&lt;br /&gt;
|-&lt;br /&gt;
| Debilinear&lt;br /&gt;
| This filter is designed to reverse the effects of bilinear upsampling.&lt;br /&gt;
| RGB, YV12&lt;br /&gt;
| [http://rgb.chromashift.org/ Plugin]&lt;br /&gt;
| Prunedtree&lt;br /&gt;
|-&lt;br /&gt;
| EdiUpsizer &lt;br /&gt;
| see [http://bengal.missouri.edu/~kes25c/EDIUpsizer.zip]&lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| EEDI2 &lt;br /&gt;
| see [http://bengal.missouri.edu/~kes25c/EEDI2v092.zip normal]  [http://foxyshadis.slightlydark.com/random/Eedi2mt.zip Multi-threaded] [http://members.optusnet.com.au/squid_80/EEDI2_imp64.zip Multi-threaded 64-bit]&lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| FastEDIUpsizer &lt;br /&gt;
| [http://members.optusnet.com.au/squid_80/EEDI2_imp64.zip]&lt;br /&gt;
| &lt;br /&gt;
| Plugin&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;
| [[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;
| [http://forum.doom9.org/showthread.php?t=129953 NNEDI] &lt;br /&gt;
| Neural Network New-Edge Directed Interpolation.&lt;br /&gt;
| &lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/ Plugin]&lt;br /&gt;
| {{Author/tritical}}&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;
| 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;
| &lt;br /&gt;
| [http://sourceforge.net/projects/int64/files/ResampleHQ/ResampleHQ-v1.zip/download Plugin]&lt;br /&gt;
| Cory Nelson (phrosty [at] gmail.com) (PhrostByte on Doom9&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;
| [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;
| [[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;
| [http://web.archive.org/web/20110208133956/http://home.comcast.net/~tombarry970/ 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;
| [http://web.archive.org/web/20110208133956/http://home.comcast.net/~tombarry970/ 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://avisynth.nl/users/warpenterprises/files/zoom_25_dll_20050122.zip Plugin]&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;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sharpeners ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| 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;
| blah &lt;br /&gt;
| A sharpening.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&lt;br /&gt;
| *.mp4 guy&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;
| 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;
| [http://neuron2.net/msharpen/msharpen.html Plugin]&lt;br /&gt;
| {{Author/Donald Graft}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Super Slow Sharpen]]&lt;br /&gt;
| Very slow, but high quality sharpener. See [http://forum.doom9.org/showthread.php?t=132330]&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| *.mp4 guy&lt;br /&gt;
|-&lt;br /&gt;
| [http://mf.creations.nl/avs/functions/ SSXSharpen]&lt;br /&gt;
| Included in SharpTools. Sharpens the picture using [[supersampling]] techniques.&lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
| {{Author/Didée}}&lt;br /&gt;
|-&lt;br /&gt;
| 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://www.avisynth.nl/users/warpenterprises/files/tunsharp_5F25_dll_20050524.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://www.mediafire.com/download.php?mq3k44q2fvusz17 Plugin]&lt;br /&gt;
| list&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| WarpSharp Package&lt;br /&gt;
| 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;
| Contains WarpSharp &amp;amp; XSharpen. This version of WarpSharp is very fast.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://www.avisynth.nl/users/warpenterprises/files/warpsharp_5F25_dll_20030103.zip Plugin]&lt;br /&gt;
|&lt;br /&gt;
&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;
&lt;br /&gt;
=== Blurring ===&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&lt;br /&gt;
| [https://github.com/chikuzen/BucketMedian 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;
| [https://dl.dropboxusercontent.com/s/bczippngoqy6xbw/BucketMedian-0.3.1.7z Plugin]&lt;br /&gt;
| {{Author/Chikuzen}}&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;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/variableblur.zip Plugin]&lt;br /&gt;
| {{Author/tritical}}&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;
| [http://avisynth.nl/users/warpenterprises/files/dvutilities_20050717.zip 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.&lt;br /&gt;
| &lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/subtitleex_25_dll_20040819.zip Plugin]&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;
| [http://avisynth.nl/users/SubtitleMulti 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;
|-&lt;br /&gt;
| VSFilterMod&lt;br /&gt;
| A new VSFilter with more ass tags.&lt;br /&gt;
|&lt;br /&gt;
| 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;
== 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;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&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 without any overhead, displays clip info, CPU and memory usage and the minimum, maximum and average frame rates, indicating how fast Avisynth can serve frames to a client application.&lt;br /&gt;
It comes in handy when testing filters to determine their performance and memory requirements.&lt;br /&gt;
|&lt;br /&gt;
| Command line executable&lt;br /&gt;
| Groucho2004&lt;br /&gt;
|-&lt;br /&gt;
| Avisynth Monitor&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| AvsTimer&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&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.&lt;br /&gt;
| RGB32, YUY2&lt;br /&gt;
| Plugin&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;
| [http://forum.doom9.org/showthread.php?p=1467907#post1467907 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;
|-&lt;br /&gt;
| Grid&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&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;
| Kronos&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&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;
|-&lt;br /&gt;
| MonitorFilter&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&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.&lt;br /&gt;
| RGB32, YUY2&lt;br /&gt;
| Plugin&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.&lt;br /&gt;
| RGB32, YUY2&lt;br /&gt;
| Plugin&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;
|-&lt;br /&gt;
| TMonitor&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| ViewFields/UnViewFields&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&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;
| [http://avisynth.nl/users/BoxCompare 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;
=== 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;
=== 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://avisynth.nl/users/warpenterprises/files/freeframe_25_dll_20050426.zip Plugin]&lt;br /&gt;
|-&lt;br /&gt;
| LoadVFApiPlugin &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&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;
| see [http://avisynth.nl.users/warpenterprises/files/motion_25_dll_20051212.zip]&lt;br /&gt;
|&lt;br /&gt;
| 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;
| 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;
| [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;
| [[Integrated_Image_Processor|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 [[Shared_functions/mfToon|mfToon]] and [[SharpResize]].&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| Script&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;
=== 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;
| CheckMask&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&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;
| [[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}} &lt;br /&gt;
{{Author/Manao}}&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;
| [[YV12]]&lt;br /&gt;
| [http://manao4.free.fr/ Plugin]&lt;br /&gt;
| {{Author/Manao}}&lt;br /&gt;
|-&lt;br /&gt;
| MergeClips&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&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;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&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;
&lt;br /&gt;
=== Deepcolor Filters ===&lt;br /&gt;
&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;
| 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 colorbanding 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/showthread.php?p=1386559 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://web.archive.org/web/20110809073332/http://arenafilm.hu/alsog/anaglyph/ Analglyph Filter]&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://arenafilm.hu/alsog/anaglyph/ Plugin]&lt;br /&gt;
| {{Author/Kertai Gábor}}&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;
== Audio Filters ==&lt;br /&gt;
&lt;br /&gt;
{{FilterTable}}&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;
| David Horman&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.&lt;br /&gt;
| [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/audgraph_25_dll_20040318.zip Plugin]&lt;br /&gt;
| {{author/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://niiyan.net/?JapanesePlugins#j0b47027 Plugin]&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://niiyan.net/?JapanesePlugins#j0b47027 Plugin] [http://yo4kazu.110mb.com/ x64]&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;
| [[Shared_functions/AddAudio|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;
&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.&lt;br /&gt;
| [[YUY2]], [[RGB32]], [[RGB24]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/#adjust Plugin]&lt;br /&gt;
|-&lt;br /&gt;
| Anaglypher &lt;br /&gt;
| A plugin for combining stereopairs into single anaglyph image&lt;br /&gt;
| [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://shura.luberetsky.ru/plaginy-dlya-avisynth/anaglypher/ Plugin]&lt;br /&gt;
| [http://shura.luberetsky.ru/ Shura Luberetsky]&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=118430 Average]&lt;br /&gt;
| Weighted average of any number of clips (fast). Average(clip clip1, int weight1, ...)&lt;br /&gt;
| [[YV12]], [[YUY2]], [[RGB24]], [[RGB32]]&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=118430 Plugin]&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=45670 BorderControl]&lt;br /&gt;
| Add smeared borders instead of a solid if wanted.&lt;br /&gt;
| &lt;br /&gt;
| [http://www.geocities.com/siwalters_uk/bdrcntrl.html Plugin]&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=675275#post675275 BeforeAfter]&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Script&lt;br /&gt;
|-&lt;br /&gt;
| BeforeAfterDiff&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| BeforeAfterLine&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&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/#call Plugin]&lt;br /&gt;
|-&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;
| {{author/Chikitown}}&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?t=93990 Colorit]&lt;br /&gt;
| Color a black and white image or recolor a color image.&lt;br /&gt;
| &lt;br /&gt;
| [http://avisynth.nl/users/vcmohan/ColorIt/ColorIt.html Plugin]&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;
|-&lt;br /&gt;
| DCT &lt;br /&gt;
| see [http://avisynth.nl/users/warpenterprises/files/dct_25_dll_20050612.zip]&lt;br /&gt;
| &lt;br /&gt;
| Plugin&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.&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&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://avisynth.nl/users/warpenterprises/#deblot Plugin]&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;
| [http://forum.doom9.org/showthread.php?t=55881 FillMargins]&lt;br /&gt;
| Fills the four margins of a video clip with the outer pixels of the unfilled portion. It takes integer 4 parms specifying the size of the left, top, right, and bottom margins.&lt;br /&gt;
| [[YV12]]&lt;br /&gt;
| [http://avisynth.nl/users/warpenterprises/files/fillmargins_25_dll_20030618.zip Plugin]&lt;br /&gt;
|-&lt;br /&gt;
| fftw3&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&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;
| GetSystemEnv&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| [http://forum.doom9.org/showthread.php?p=598958#post598958 GraMaMa]&lt;br /&gt;
| Gradient Mask Maker&lt;br /&gt;
| YV12&lt;br /&gt;
| [http://www.geocities.com/wilbertdijkhof/GraMaMa_v02.zip Plugin]&lt;br /&gt;
| {{author/E-Male}} and {{author/Wilbert Dijkhof}}&lt;br /&gt;
|-&lt;br /&gt;
| LBKiller&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| LTSMC&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| MCNR_simple2&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| NeuralNet&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| PseudoColor &lt;br /&gt;
| see [http://avisynth.nl/users/warpenterprises/files/pseudocolor_25_dll_20030919.zip]&lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| Reform &lt;br /&gt;
| see [http://avisynth.nl/users/warpenterprises/files/reform_20060915.ZIP]&lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| RGBManipulate &lt;br /&gt;
| see [http://avisynth.nl/users/warpenterprises/files/rgbmanipulate_20051011.zip]&lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| SceneChangeLavc &lt;br /&gt;
| see [http://akuvian.org/src/avisynth/sclavc/]&lt;br /&gt;
| &lt;br /&gt;
| Plugin&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 could probably be used in some kind of twisted encoding setup too with lossless encoding of the output.&lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| SlopeBend&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&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. &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
| Didée&lt;br /&gt;
|-&lt;br /&gt;
| UnSmooth&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| VinVerse&lt;br /&gt;
| An effective Function against (residual) combing, by Didée. Useful after deinterlaceing.&lt;br /&gt;
| YV12, YUY2&lt;br /&gt;
| [http://bengal.missouri.edu/~kes25c/vinverse.zip Plugin] / [http://forum.doom9.org/showthread.php?p=841641#post841641 Script]&lt;br /&gt;
| Didée (script) / Tritical (plugin)&lt;br /&gt;
|-&lt;br /&gt;
| WaterShed &lt;br /&gt;
| see [http://avisynth.nl/users/warpenterprises/files/watershed_20061105.zip]&lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
|-&lt;br /&gt;
| TMM &lt;br /&gt;
| see [http://forum.doom9.org/showthread.php?p=980353#post980353]&lt;br /&gt;
| &lt;br /&gt;
| [http://web.missouri.edu/~kes25c/TMMv1.zip Plugin]&lt;br /&gt;
| 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;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
| Shlomo Matichin&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
| Unpremultiply &lt;br /&gt;
| This plugin convert the input RGBA clip from premultiplied alpha to straight matted alpha.&lt;br /&gt;
| &lt;br /&gt;
| Plugin&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:AviSynth_Usage]]&lt;br /&gt;
[[Category:External_filters]]&lt;/div&gt;</summary>
		<author><name>Unreal666</name></author>	</entry>

	<entry>
		<id>http://avisynth.nl/index.php/%D0%94%D0%BE%D0%B1%D1%80%D0%BE_%D0%BF%D0%BE%D0%B6%D0%B0%D0%BB%D0%BE%D0%B2%D0%B0%D1%82%D1%8C</id>
		<title>Добро пожаловать</title>
		<link rel="alternate" type="text/html" href="http://avisynth.nl/index.php/%D0%94%D0%BE%D0%B1%D1%80%D0%BE_%D0%BF%D0%BE%D0%B6%D0%B0%D0%BB%D0%BE%D0%B2%D0%B0%D1%82%D1%8C"/>
				<updated>2011-03-20T19:09:18Z</updated>
		
		<summary type="html">&lt;p&gt;Unreal666: /* Фильтры, внешние плагины, скриптовые функции и утилиты */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p style=&amp;quot;clear:both; margin-top:-3px; margin-bottom: 1em; font-variant: small-caps; text-align: center; font-size: 105%;&amp;quot;&amp;gt;&amp;lt;!-- These should be fundamental categories --&amp;gt; &lt;br /&gt;
[http://sourceforge.net/project/showfiles.php?group_id=57023 Загрузить] | [[AviSynth FAQ]] | [[Internal filters|Внутренние фильтры]] | [[External filters|Внешние фильтры]] | [http://forum.doom9.org/forumdisplay.php?s=&amp;amp;forumid=33 Doom9 форум] | [http://sourceforge.net/projects/avisynth2/ Страница проекта] | [[Feedback|Обратная связь]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Внимание: данная страница и сайт в целом переведены на русский язык далеко не полностью (то есть вообще не переведены). Имеющаяся команда переводчиков сосредоточила имеющиеся силы на переводе офф-лайновой документации, распространяющейся с дистрибутивом AviSynth (смотри сайт [http://avisynth.org.ru www.avisynth.org.ru]).&lt;br /&gt;
&lt;br /&gt;
Однако вы можете переводить и дополнять статьи Wiki данного сайта самостоятельно (используя переведенные части офф-лайновой документации для единства стиля и терминов), добавляя к английским именам страниц окончание /ru (или создать страницы с русским именем - можно и то и другое с перенаправлением).&lt;br /&gt;
&lt;br /&gt;
== Что такое AviSynth? ==&lt;br /&gt;
&lt;br /&gt;
AviSynth - это мощное средство для пост-обработки видео. Он предоставляет методы для редактирования и обработки видео файлов. AviSynth работает как [[фрэймсервер]], обеспечивая мгновенное редактирования без необходимости временных файлов.&lt;br /&gt;
&lt;br /&gt;
AviSynth сам по себе не имеет графического интерфейса пользователя (GUI), но вместо этого зависит от системы скриптов (сценариев, команд), которая позволяет продвинутое нелинейное редактирование. В то время как на первый взгляд это может показаться утомительным и не-интуитивным, это является замечательно мощным и очень хорошим способом управлять проектами точным, согласованным и воспроизводимым образом. Поскольку текстовые скрипты являются вполне читаемыми (по-английски), проекты естественным образом само-документируются. Язык скриптов прост, но мощен, и из базовых операций могут быть построены весьма сложные фильтры, для разработки богатой палитры полезных и уникальных эффектов.&lt;br /&gt;
&lt;br /&gt;
Заинтересовались? На этом сайте вы можете узнать [[more about AviSynth|больше об AviSynth]], изучить официальное [[Internal filters|руководство по AviSynth]], и просмотреть [[AviSynth FAQ|часто задаваемые вопросы и ответы]]. Или вы можете перейти прямо на [http://sourceforge.net/project/showfiles.php?group_id=57023 страницу загрузки] на [[SourceForge]]. AviSynth - свободно распространяемая программа с открытым кодом.&lt;br /&gt;
&lt;br /&gt;
== Использование ==&lt;br /&gt;
=== Что нового в AviSynth - Начните с малого! ===&lt;br /&gt;
&lt;br /&gt;
* [[first script|Ваш первый скрипт]] - Руководство для начинающих.&lt;br /&gt;
* [[Getting started|С чего начать]] - Краткая инструкция об использовании AviSynth.&lt;br /&gt;
* [[Filter introduction|Обзор фильтров]] - Краткий обзор наиболее часто используемых фильтров AviSynth.&lt;br /&gt;
* [[Script examples|Примеры скриптов]] - Несколько примеров, используемых во всем Мире.&lt;br /&gt;
* Несколько руководств, разъясняющих использование AviSynth:&lt;br /&gt;
** [http://www.doom9.org/capture/postprocessing_avisynth.html Руководство захвата аналогового сигнала]. The AviSynth part of the capture guide is about what filters can be used to enhance the quality of the capture. It discusses things like deinterlacing, denoising, cropping and resizing and color adjustment. Which makes it really useful to learn about some of the capabilities of AviSynth in a schematic way.&lt;br /&gt;
** [http://www.animemusicvideos.org/guides/avtech/avisyntha.html Введение в AviSynth от AnimeMusicVideos.org]. Простая инструкция, описывающая деинтерлизинг, изменение размера и некоторые другие базовые действия.&lt;br /&gt;
** [http://www.animemusicvideos.org/guides/avtech/avspostqual.html Введение в фильтры AviSynth от AnimeMusicVideos.org]. Простая инструкция, описывающая фильтры сглаживания, удаления муара, повышения резкости, управления цветом и некоторых других.&lt;br /&gt;
* [[Troubleshooting|Обнаружение проблем]] в Ваших скриптах и конфигурации.&lt;br /&gt;
&lt;br /&gt;
=== Фильтры, внешние плагины, скриптовые функции и утилиты ===&lt;br /&gt;
&lt;br /&gt;
* [[Internal filters|Внутренние фильтры]] - Официальный список включенных в AviSynth фильтров с описанием, сгруппированный по категориям.&lt;br /&gt;
* [[External filters|Внешние фильтры]] - Документация некоторых скриптовых функций и плагинов для AviSynth версии 2.5x.&lt;br /&gt;
** [[External plugins old|Внешние плагины (устар.)]] - Документация по плагинам AviSynth версий v1.0x/v2.0x (устаревшие плагины, однако некоторые из них по прежнему могут быть использованы).&lt;br /&gt;
* [http://www.avisynth.org/warpenterprises/ Коллекция плагинов AviSynth] собранная WarpEnterprises.&lt;br /&gt;
* [[Shared functions|Общие функции]] - Полезные скриптовые функции.&lt;br /&gt;
* [[Utilities]] - Список GUIs, командных, групповых и других AviSynth-утилит.&lt;br /&gt;
&lt;br /&gt;
=== Синтаксис AviSynth-скрипта ===&lt;br /&gt;
&lt;br /&gt;
* [[AviSynth Syntax|Синтаксис]] - Официальная документация.&lt;br /&gt;
** [[Grammar|Грамматика]] - Грамматика скриптового языка AviSynth. Введение в скриптовый язык AviSynth.&lt;br /&gt;
** [[Script variables|Переменные]] - Как объявлять и использовать их в скриптах.&lt;br /&gt;
** [[Operators|Операторы]] - Допустимые операторы и их приоритет.&lt;br /&gt;
** [[Clip properties|Свойства клипа]] - Функции, возвращающие свойства клипа.&lt;br /&gt;
** [[Control structures|Структуры управления]] - Языковые конструкции управления потоком.&lt;br /&gt;
** [[Internal functions|Встроенные функции]] - Ready-made non-clip функции для использования в скриптах.&lt;br /&gt;
** [[User defined script functions|Определяемые пользователем скриптовые функции]] - Как их объявлять и использовать.&lt;br /&gt;
** [[Plugins|Плагины]] - Как подключать плагины AviSynth, VirtualDub, VFAPI и C-плагины, их автозагрузка и именные предпочтения.&lt;br /&gt;
** [[Runtime environment|Runtime-окружение]] - Скриптовое описание для использования отдельных кадров клипа.&lt;br /&gt;
* [[Scripting reference|Руководство по скриптам]] - Выход за пределы базовых приемов написания скриптов.&lt;br /&gt;
** [[The full AviSynth grammar|Полное руководство по грамматике]] - Полное руководство по использованию AviSynth.&lt;br /&gt;
** [[The script execution model|Модель выполнения скриптов]] - The steps behind the scenes from the script to the final video clip output. The filter graph. Scope and lifetime of variables. Evaluation of runtime scripts.&lt;br /&gt;
** [[User functions|Функции пользователя]] - Как эффективно создавать пользовательские скриптовые функции; как избегать общих ошибок; способы организации ваших функций в коллекции, создание библиотек функций и многое другое.&lt;br /&gt;
** [[Block statements|Блоковые конструкции]] - Технические идиомы для создания блоков AviSynth-скриптов.&lt;br /&gt;
** [[Arrays|Массивы]] - Использование массивов (и соответствующих операторов) для управления наборами данных в один шаг.&lt;br /&gt;
** [[Scripting at runtime|Выполнение скриптов]] - Как раскрыть все возможности runtime фильтров и создавать комплексные скрипты, которые реализуют интересные (и эффективные по быстродействию) эффекты и операции.&lt;br /&gt;
&lt;br /&gt;
=== FAQ, Руководства и дополнительные материалы ===&lt;br /&gt;
&lt;br /&gt;
* [[AviSynth FAQ]] - Ответы на часто задаваемые вопросы.&lt;br /&gt;
* [[Aspect ratios|Пропорции клипов]] - Введение в соотношение сторон клипов (DAR, PAR, SAR), как правильно измененять размер исходных клипов.&lt;br /&gt;
* [[Guides|Руководства]] - Советы по конкретным типам конвертирования и общие задачи.&lt;br /&gt;
* [[Advanced topics|Дополнительные советы]] - Рассказывают о таких вещах как ошибка Chroma Upsampling, преобразование цветов, гибридное видео, компенсация движения и т.д.&lt;br /&gt;
&lt;br /&gt;
== Разработка ==&lt;br /&gt;
&lt;br /&gt;
* Хотите [[get involved|принять участие]]?&lt;br /&gt;
* Официальный [http://sourceforge.net/projects/avisynth2/ SourceForge] проект.&lt;br /&gt;
* О том, [[compile AviSynth|как откомпилировать AviSynth]] и плагины.&lt;br /&gt;
* [[Filter SDK]] - Советы по программированию AviSynth-плагинов.&lt;br /&gt;
* [http://forum.doom9.org/forumdisplay.php?s=&amp;amp;forumid=69 Форум разработчиков].&lt;br /&gt;
* Список [[changelist|последних изменений]].&lt;br /&gt;
* О разработке платформонезависимой [[AviSynth v3]].&lt;br /&gt;
&lt;br /&gt;
== Wiki ==&lt;br /&gt;
&lt;br /&gt;
Добро пожаловать на MediaWiki. Не стесняйтесь в наполнении данного сайта! Нам нужна Ваша помощь в наполнении данного Wiki-сайта. Ознакомьтесь с [http://meta.wikimedia.org/wiki/Помощь:Содержание руководством пользователя] по редактированию данного сайта.&lt;br /&gt;
&lt;br /&gt;
== Авторские права на документацию ==&lt;br /&gt;
&lt;br /&gt;
Права на документацию AviSynth (c) 2002-2007 принадлежат группе разработчиков AviSynth и других людей, сделавших вклад.&lt;br /&gt;
&lt;br /&gt;
С 5 августа 2007 года информация на данном сайте публикуется под лицензией [http://creativecommons.org/licenses/by-sa/3.0/ CreativeCommons Attribution-ShareAlike 3.0 License] (сокращенно &amp;quot;CC BY-SA 3.0&amp;quot;, см. [http://creativecommons.org/licenses/by-sa/3.0/legalcode полные правила лицензирования]). Перевод на русский: http://wiki.ccrussia.org/index.php?title=Attribution-ShareAlike_3.0_Unported_Commons_Deed . Дополнительная информация о правах доступна [[Avisynth:Copyrights|здесь]].&lt;br /&gt;
&lt;br /&gt;
[http://wikipedia.dn.ua Википедия Донбасса]&lt;/div&gt;</summary>
		<author><name>Unreal666</name></author>	</entry>

	</feed>