tritical's Avisynth Filters


All filters presented here are either licensed under the GPL or have no license at all (check the source code). Sources are included with all binaries along with a help file. Download and use these at your own risk.  I hope they can be useful but can offer no guarantees. If you experience any problems use the email address at the bottom of the page to report bugs.

This page is broken down into an alphabetical list of all filters with an accompanying description and download link. All filters will either say "released" or "stable", indicating that I either posted about them on the doom9 forum or have tested them enough to know that they work, or will say "incomplete" meaning I never completely finished testing or writing the filter but got far enough along to have a working (testable) binary. If not otherwise stated, all filters support YV12 and YUY2 colorspaces and will only work with Avisynth v2.5.x.

To check out some other Avisynth filters visit: http://www.avisynth.org/warpenterprises/.

The following thread is also a good place to find filters: http://forum.doom9.org/showthread.php?t=84481.

And don't miss the Avisynth Manual: http://avisynth.org/mediawiki/Internal_filters.


Recent Updates:
Table of Contents:
  1. Regular Filters
  2. Filter Compiles for Avisynth 2.5.x
  3. GUI Filters
  4. Various Utilities
  5. Netflix


Filters with working binaries


Cnr2 - 06/30/2004 v2.6.1     (Released)                

I didn't make cnr2... just fixed some bugs that were present in previous versions (v2.4 + v2.5) and added a little speed. The original author is MarcFD whose website can be found at http://ziquash.chez.tiscali.fr/. Cnr2 is a chroma temporal smoother (it wont touch luma), mainly aimed at tv/analogue captures. It is quite fast and very good at removing the typical chroma artifacts that can be present in captures.

     Discussion:  http://forum.doom9.org/showthread.php?t=78905

Download    (also contains sources from v2.4 and v2.5 as well as v2.6.1)


ColorMatrix - 01/25/2009 v2.5     (Released)                

ColorMatrix v2.0 is an updated version of the original ColorMatrix filter by Wilbert Dijkhof. It adds support for converting between any of: Rec.709, FCC, Rec.601, and SMPTE 240M, makes pre/post clipping with limiter optional, extends the d2v option to support changing colorimetry, and adds the ability to do YUV range conversion.

     Discussion:  http://forum.doom9.org/showthread.php?t=82217

Download   


ddcc - 06/18/2010 v1.11     (Released)                

ddcc performs gamut conversion (gamut mapping). It also includes the filter 'rgb3dlut' which performs a 3D rgb lut operation (ddcc can output a lut file for use with rgb3dlut to perform the gamut mapping). rgb3dlut is also able to take in yuy2 video, combining rgb and gamut conversion into a single step (visit http://yesgrey.com/ycms.html to get the program 'yCMS' which can create the necessary lut file). See the readme file for details.

     Discussion:  http://forum.doom9.org/showthread.php?t=139389
     Discussion (yCMS):  http://forum.doom9.org/showthread.php?t=154719

Download   


dfttest - 06/22/2010 v1.8     (Released)                

2D/3D frequency domain denoiser.

     Discussion:  http://forum.doom9.org/showthread.php?t=132194

Download   


EDIUpsizer - 03/20/2004 v0.9.1     (Released)                

EDIUpsizer is a resampling filter that upsizes an image by a factor of two both horizontally and vertically using NEDI (new-edge directed interpolation). See http://neuron2.net/library/nedi.pdf for more info on the algorithm. EDIUpsizer also uses a few modifications to basic NEDI in order to prevent a lot of the artifacts that NEDI creates in detailed areas. These include condition number testing and adaptive window size (http://www.cs.ucdavis.edu/~bai/ECS231/finaltzeng.pdf), as well as capping constraints. All modifications and constraints to NEDI are optional (can be turned on and off) and are user configurable. Just note that this filter is rather slow.

Download   


EEDI2 - 06/07/2006 v0.9.2     (Released)                

EEDI2 resizes an image by 2x in the vertical direction by copying the existing image to 2*y(n) and interpolating the missing field. It is intended for edge-directed interpolation for deinterlacing (i.e. not really made for resizing a normal image, but can do that as well). EEDI2 can be used with both TDeint and TIVTC, see the discussion link for more info on how to do this.

     Discussion:  http://forum.doom9.org/showthread.php?p=744308#post744308

Download    Download - Multithreaded (foxyshadis)    Download - Multithreaded 64 bit (squid_80)   


eedi3 - 07/24/2010 v0.9.1     (Released)                

Another edge directed interpolation filter. Works by minimizing a cost functional involving every pixel in a scan line. It is slow.

     Discussion:  http://forum.doom9.org/showthread.php?t=147695

Download   


FastEDIUpsizer - 04/13/2004 v0.9.1     (Released)                

FastEDIUpsizer is a slimed down version of EDIUpsizer that is slightly more tuned for speed. It uses a constant 8x8 window size, only performs NEDI on the luma plane, and only uses either bicubic or bilinear interpolation as the fall back interpolation method.

Download   


nnedi - 09/20/2007 v1.3     (Released)                

nnedi is an intra-field only deinterlacer. It takes in a frame, throws away one field, and then interpolates the missing pixels using only information from the kept field. It has same rate and double rate modes, and works with YUY2 and YV12 input. nnedi can also be used to enlarge images by powers of 2.

     Discussion:  http://forum.doom9.org/showthread.php?t=129953

Download   


nnedi2 - 07/23/2010 v1.6     (Released)                

nnedi2 is an intra-field only deinterlacer. It takes in a frame, throws away one field, and then interpolates the missing pixels using only information from the kept field. It has same rate and double rate modes, and works with YV12, YUY2, and RGB24 input. nnedi2 is also very good for enlarging images by powers of 2, and includes a function 'nnedi2_rpow2' for that purpose.

     Discussion:  http://forum.doom9.org/showthread.php?t=147695

Download   


nnedi3 - 06/10/2011 v0.9.4     (Released)                

nnedi2 with improved predictor neural network architecture and local neighborhood pre-processing. nnedi3 also has multiple local neighborhood size options to better handle image enlargement vs deinterlacing and give more quality vs speed options.

     Discussion:  http://forum.doom9.org/showthread.php?t=147695

Download   


t3dlut - 06/19/2010 v1.1     (Released)                

An extension of the rgb3dlut function from ddcc. It supports 16 bit output LUT files (dithers to 8-bit). It also supports yuy2 output, allowing yuy2->yuy2 LUT operations.

Download   


TAnisotropic - 06/14/2004 v0.9.0     (Incomplete)                

TAnisotropic, as you can probably guess, is an anisotropic diffusion smoothing filter. I coded it about the same time as TBilateral. I found that TBilateral almost always looked better and thus never completely finished testing this filter (though as far as I know it does work perfectly fine). It is a straight implementation of the algorithm described in "Scale-Space and Edge Detection Using Anisotropic Diffusion", Pietro Perona and Jitendra Malik, July 1990 ( http://www.cs.berkeley.edu/~malik/papers/MP-aniso.pdf). It can process both chroma and luma or luma only. It has the option to use four or eight neighbor pixels as well.

Download   


TBilateral - 05/16/2006 v0.9.11     (Released)                

TBilateral is a spatial smoothing filter that uses the bilateral filtering algorithm. It does a nice job of smoothing while retaining picture structure. It offers the ability to process both luma and chroma or luma only, as well as an option for using the second derivative instead of the first (better at filtering gradients). TBilateral seems to work better on anime/cartoon type images then on real life video where it tends to create an oil painting/oversmoothing effect even with low settings. The defaults for this filter are tuned for an anime source with some but not heavy noise. As of version 0.9.6, TBilateral includes a gui with realtime preview to help with tweaking settings. For more information on bilateral filtering see these links:

     http://www.cse.ucsc.edu/~manduchi/Papers/ICCV98.pdf
     http://dsp7.ee.uct.ac.za/~jfrancis/publicationsDir/PRASA2003.pdf
     http://www.cs.technion.ac.il/~elad/publications/journals/2002/08_Bilateral_Filter_IP.pdf      http://graphics.cs.ucf.edu/RXU/IEEECGA2004.pdf

     Discussion:  http://forum.doom9.org/showthread.php?t=77856

Download   


tcanny - 06/03/2009 v1.0     (Released)                

Contains a canny edge detection filter and distance transform filter.

Download   


TComb - 05/16/2006 v2.0 Beta 2                     

TComb is a temporal comb filter (it reduces cross-luminance (rainbowing) and cross-chrominance (dot crawl) artifacts in static areas of the picture). It will ONLY work with NTSC material, and WILL NOT work with telecined material where the rainbowing/dotcrawl was introduced prior to the telecine process! It must be used before ivtc or deinterlace in order to work. In terms of what it does it is similar to guavacomb/dedot. It is able to filter on the first filterable frame and looks not only behind and ahead of the current frame, but at all possible combinations that include the current frame when looking for oscillation. TComb currently supports YV12 and YUY2 colorspaces.

Download   


TCombMask - 05/21/2004 v0.9.4     (Released)                

TCombMask creates a comb map that can be used by other filters. It currently supports optional motion adaption (forward, backward, and bi-directional motion checks), optional spatial adaption (four selectable area combing metrics), optional luma to chroma and chroma to luma linking, comb map denoising, separate thresholds for chroma and luma, and much more. It also includes three isse/sse2 optimized masking fuctions which make it easy to build a deinterlacer using TCombMask's output, as well as a conditional filter called IsCombedT() which uses TCombMask's comb map to check if the current frame is combed (interlaced) or not.

Download   


TDeint - 01/18/2007 v1.1     (Released)                

TDeint is a bi-directionally, motion adaptive, sharp deinterlacer. It can adaptively choose between using per-field and per-pixel motion adaptivity, and can use cubic interpolation, kernel interpolation (with temporal direction switching), or one of two forms of modified ELA interpolation which help to reduce "jaggy" 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. Currently only YV12 and YUY2 colorspaces are supported.

     Discussion:  http://forum.doom9.org/showthread.php?t=82264

Download   


TEdgeMask - 01/20/2005 v0.9                     

TEdgeMask creates an edgemask based off gradient vector magnitude. It includes some useful options such as luma to chroma linking of the edge map and seperate thresholds for each plane. It can output a binary mask or a magnitude mask scaled to a 0-255 range. Currently TEdgeMask supports YUY2 and YV12 colorspaces.

Download   


TIsophote - 07/24/2004 v0.9.1     (Released)                

TIsophote is a level-set (isophote) smoothing filter. It does simple unconstrained level-set smoothing. Basically, it can smooth jagged edges in an image. If over used it will remove jagged edges as well as object features and eventually completely eliminate all level curves. For a more in-depth explanation see the technical info in the help file or visit:

     http://neuron2.net/library/LSImageReconstruction.pdf

the pdf above includes info on more then just isophote smoothing. An example:

     Before     After

Download   


TIVTC - 01/17/2008 v1.0.5     (Released)                

TIVTC is actually a combination of 7 different filters and 3 conditional functions. The seven filters included are TFM, TDecimate, MergeHints, FrameDiff, FieldDiff, ShowCombedTIVTC, and RequestLinear. TFM is a field matching filter that will recreate the original progressive frames in a telecined source, and TDecimate is a decimation filter that removes duplicates. These filters can be used together to achieve an ivtc or separately to accomplish other tasks. TDecimate also provides special options for handling hybrid material which include vfr via matroska (using a timecodes file) and blend decimation/upconversion for cfr solutions. Mergehints, RequestLinear, FrameDiff, FieldDiff, and ShowCombedTIVTC are special utility filters included to help perform specific functions. The conditional functions are IsCombedTIVTC, CFieldDiff, and CFrameDiff which can be used via Avisynth's conditional filtering environment to test if frames are combed, determine how well two fields fit together, or calculate the difference between frames.

     Discussion:  http://forum.doom9.org/showthread.php?t=82264

Download   


TNLMeans - 08/28/2007 v1.0.3     (Released)                

TNLMeans is an implementation of the NL-means denoising algorithm. Aside from the original method, TNLMeans also supports extension into 3D, a faster, block based approach, and a multiscale version. For more information see the included readme or the following papers:

     A Review of Image Denoising Algorithms, with a New One
     A non-local algorithm for image denoising
     Denosing image sequences does not require motion estimation

Download   


TTempSmooth - 11/17/2005 v0.9.4     (Released)                

TTempSmooth is a motion adaptive (only works on stationary parts of the picture), temporal smoothing filter aimed at preventing as many artifacts as possible at given lthresh and cthresh settings. To do this it processes luma/chroma together when checking for pixel similarity and processes out from the current center frame continuously checking difference to the center frame pixel as well as to the previous frame pixel. Its averaging method allows it to create stable images and makes it very good at removing grain in stationary areas. The filter includes TTempSmooth, the original version that uses an inverse difference weighting system, as well as TTempSmoothF, which is a faster version (40-50%) that is a special case of TTempSmooth with lmdiff/cmdiff set equal to or greater than lthresh/cthresh.

     Discussion:  http://forum.doom9.org/showthread.php?t=77856

Download   


yadifmod - 09/15/2007 v1.0     (Released)                

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). This version works with YV12 and YUY2 colorspaces.

Download   




Filter Compiles for Avisynth 2.5.7


SmartDecimate/Avisynth_C - 11/7/2006

These are builds from the sources on Kevin Atkinson's site (avisynth_c 0.15/smartdecimate 0.23). The normal version would always crash in Avisynth 2.5.7 if weave/bob were the same, along with some other occasional weirdness. Sources are included.

Download   


SmoothDeinterlacer - 9/30/2005

Version 1.4 (originally an Avisynth 2.0 plugin) fixed up to work with Avisynth 2.5.6+ (2.5.3+ should work). Parameters, defaults, and operation are all the same. Only the filter creation and constructor code was changed. Sources included.

Download   




GUI Filters


TMonitor - 11/16/2005 v0.9.4     (Released)                

TMonitor is a filter very similar to AVSMon. It enables monitoring of an Avisynth clip via previewing the video, viewing clip information (such as video width, height, colorspace, number of frames, audio samples, sample rate, number of audio channels, and more), and adjusting the audio delay. It also supports multiple instances per script, allowing viewing of differences between different parts of a processing chain.

       Screenshot 1       Screenshot 2

Download   


TUnsharp - 05/24/2005 v0.9.3     (Released)                

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. It also supports the XSharpen sharpening method. The real reason for its existence is that it sports a gui with real time updating preview.

       Screenshot 1

Download   




Various Utilities


avi_tc_package - 08/02/2006 v1.5     (Released)                

This package includes the commandline programs cfr2tc (v1.4), tc2cfr (v1.5), and tcConv (v1.0), as well as a GUI frontend named tc-GUI for using them. tc-GUI is a c# program and will require the .NET framework (at least version 1.1) to run. cfr2tc, tc2cfr, and tcConv are plain c++ commandline programs and do not require the .NET framework. Following are descriptions of cfr2tc, tc2cfr, and tcConv:

cfr2tc takes an avi file with a video stream containing null frames and outputs a new avi file containing the same video stream, but with all null frames removed and a v1 or v2 timecode file. It also has timecode file only modes that create the timecode file but do not create a new avi file. As of v1.4 there is also the option to output an avs script instead of a new avi file.

tc2cfr turns an avi file (with each frame present once) into a new avi file with null frames that has the specified framerate and varying display length for each individual frame based on a v1 or v2 timecode file.

tcConv performs v1<->v2 timecode file conversions.

Download   


td2vfix and td2vparse - 12/22/2005 v1.3.3     (Released)                

td2vfix is a command line tool that corrects illegal field order transitions in d2v files, and td2vparse is another command line tool that parses a d2v file and outputs some useful information such as: encoded to display frame mappings, field order, trf flags, gop starts/offsets, 3:2 pattern starts/breaks, illegal transitions, ignored rff flags, and more. The supported d2v formats include dvd2avi 1.76/1.77, dgindex, and dvd2avidg d2vs. These programs are based on D2VFix/D2VParse by Donald Graft.

Download   



To contact me, report bugs, or make suggestions: email