# Avisynth 2.5 Selected External Plugin Reference

## General info

AviSynth plugins are external linked modules (libraries) implementing one or more additional functions (filters) for deinterlacing, noise reduction, etc. Great number of plugins (200 or more) were written by independent developers as free software. You can get them at collection by WarpEnterprises or (most recent) at homepages of authors (see also AviSynth Web site and forums). This documentation includes authors descriptions of selected popular plugins with typical useful functions. It can be good reading even if you will use some other (similar) plugins.

The description of a plugin starts with some general info about the plugin. For example

author: Rainer Wittmann (aka kassandro)
version: 0.6.1
download: http://www.removedirt.de.tf/
category: Temporal Smoothers
requirements:

- YV12 & YUY2 Colorspace
- SSEMMX support
- width and the height of the clip must be a multiple of 8

license: GPL

The first line "author" gives the author(s) of the plugin. It can be his/her real name, the forum nickname, or both.
The second line "version" gives the version of the plugin on which is described in this documentation. Note that it might not be the most recent version of the plugin.
The third line "download" gives the download page of the plugin.
The fourth line "category", is the category under which the plugin can be found.
The fifth line "requirements", are the requirements for being able to use the plugin. Requirements can be the supported color space (YV12 and YUY2 in this case), the supported CPU (which is SSEMMX here) or that the width/height must be a multiple of some number (usually 8 or 16). The latter is a requirement for the optimizations in the plugin.
The last line "license" gives the license of the plugin. Usually it is none (ie closed source), GPL or just open source (without a specific license).

A final note about the CPUs which might be required for a plugin. If you don't know what kind of optimizing instructions are used by your CPU, you can look it up in the following table

optimizing instructions | CPU
MMX | Pentium MMX, Pentium II, K6, K6II, K6III and later
iSSE (also called SSEMMX) | Pentium III, all Duron (called 3DNow extension), all Athlon (called 3DNow extension)
SSE | Pentium III, Duron (core Morgan), Athlon XP and later
SSE2 | P-IV, Opteron, Athlon 64
SSE3 | P-IV Prescott

## Deinterlacing & Pulldown Removal

All PAL, NTSC, and SECAM video is interlaced, which means that only every other line is broadcast at each refresh interval. Deinterlacing filters let you take care of any problems caused by this. IVTC (inverse telecine, aka pulldown removal) filters undo the telecine process, which comes from differences between the timing of your video and its original source.

Decomb Filter package (by Donald Graft) | This package of plugin functions for AviSynth provides the means for removing combing artifacts from telecined progressive streams, interlaced streams, and mixtures thereof. Functions can be combined to implement inverse telecine for both NTSC and PAL streams. [discussion].
DGBob (by Donald Graft) | 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. [discussion].
FDecimate (by Donald Graft) | This filter provides extended decimation capabilities not available from Decimate(). It can remove frames from a clip to achieve the desired frame rate, while retaining audio/video synchronization. It preferentially removes duplicate frames where possible. [discussion].
GreedyHMA (by Tom Barry) | DScaler's Greedy/HM algorithm code to perform pulldown matching, filtering, and video deinterlacing. [discussion].
IBob (by Kevin Atkinson) | This simple filter works identically to the Avisynth built-in Bob filter except that it uses linear interpolation instead of bicubic resizing. [discussion].
KernelDeint (by Donald Graft) | This filter deinterlaces using a kernel approach. It gives greatly improved vertical resolution in deinterlaced areas compared to simple field discarding. [discussion].
LeakKernelDeint (mod of KernelDeint by Leak) | This filter deinterlaces using a kernel approach. It gives greatly improved vertical resolution in deinterlaced areas compared to simple field discarding. [discussion].
MultiDecimate (by Donald Graft) | Removes N out of every M frames, taking the frames most similar to their predecessors. [discussion].
SmartDecimate (by Kevin Atkinson) | This filter 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. [discussion].
TDeint (by tritical) | 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 "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. [discussion].
TIVTC Filter package (by tritical) | This package of plugin functions for AviSynth provides the means for removing combing artifacts from telecined progressive streams, interlaced streams, and mixtures thereof. Functions can be combined to implement inverse telecine for both NTSC and PAL streams.
TomsMoComp "Motion compensated deinterlace filter" (by Tom Barry) | This filter uses motion compensation and adaptive processing to deinterlace video source (not for NTSC film). [discussion].
UnComb IVTC (by Tom Barry) | Filter for matching up even and odd fields of properly telecined NTSC or PAL film source video. [discussion].

## Spatio-Temporal Smoothers

These filters use color similarities and differences both within and between frames to reduce noise and improve compressed size. They can greatly improve noisy video, but some care should be taken with them to avoid blurred movement and loss of detail.

Deen (by Marc FD) | Several denoisers. [discussion]
Convolution3D / Convolution3DYV12 (by Vlad59) | Convolution3D is a spatio-temporal smoother, it applies a 3D convolution filter to all pixels of consecutive frames. [discussion].
FluxSmooth (by SansGrip) | Fluctuating pixels are wiped from existence by averaging it with its neighbours. [discussion].
FFT3DFilter (by Fizick) | FFT3DFilter is 3D Frequency Domain filter - strong denoiser and moderate sharpener. [discussion].
FFT3DGPU (by tsp) | FFT3dGPU is a GPU version of FFT3DFilter. [discussion].
NoMoSmooth (by SansGrip) | A motion-adaptive spatio-temporal smoother. [discussion].
MipSmooth (by Sh0dan) | It takes the source frame, and creates three new versions, each half the size of the previous. They are scaled back to original size. They are compared to the original, and if the difference is below the threshold, the information is used to form the final pixel. [discussion].
PeachSmoother (by Lindsey Dubb) | An adaptive smoother optimized for TV broadcasts. The Peach works by looking for good pixels and gathering orange smoke from them. When it has gathered enough orange smoke, it sprinkles that onto the bad pixels, making them better. [discussion].
STMedianFilter "SpatioTemporal Median Filter" (by Tom Barry) | STMedianFilter is a (slightly motion compensated) spatial/temporal median filter.

## Spatial Smoothers

These use color similarities and differences within a frame to improve the picture and reduce compressed size. They can smooth out noise very well, but overly aggressive settings for them can cause a loss of detail.

MSmooth "Masked Smoother" (by Donald Graft) | This filter is effective at removing mosquito noise as well as effectively smoothing flat areas in anime. [discussion].
SmoothUV (by Kurosu) | This filter can be used to reduce rainbows, as done by SmartSmoothIQ. [discussion].
TBilateral (by tritical) | TBilateral is a spatial smoothing filter that uses the bilateral filtering algorithm. It does a nice job of smoothing while retaining picture structure. [discussion]
VagueDenoiser (by Lefungus) | A simple denoiser that uses wavelets. [discussion].

## Temporal Smoothers

These filters use color similarities and differences between frames to improve the picture and reduce compressed size. They can get rid of most noise in stationary areas without losing detail, but overly strong settings can cause moving areas to be blurred.

Cnr2 "Chroma Noise Reducer" (by Marc FD) | Reduces the noise on the chroma (UV) and preserves the luma (Y). [discussion].
GrapeSmoother (by Lindsey Dubb) | When colors change just a little, the filter decides that it is probably noise, and only slightly changes the color from the previous frame. As the change in color increases, the filter becomes more and more convinced that the change is due to motion rather than noise, and the new color gets more and more weight. [discussion].
RemoveDirt (by kassandro) | A temporal cleaner with strong protection against artifacts. [discussion].
TemporalCleaner (by Jim Casaburi; ported to AviSynth by Vlad59) | A simple but very fast temporal denoiser, aimed to improve compressibility.
TTempSmooth (by tritical) | TTempSmooth is a motion adaptive (it only works on stationary parts of the picture), temporal smoothing filter. [discussion]

## Sharpen/Soften Plugins

These are closely related to the Spatial Smoothers, above. They attempt to improve image quality by sharpening or softening edges.

asharp (by Marc FD) | Adaptive sharpening filter. [discussion].
aWarpSharp (by Marc FD) | A warp sharpening filter.
MSharpen (by Donald Graft) | This plugin for AviSynth implements an unusual concept in spatial sharpening. Although designed specifically for anime, it also works quite well on normal video. The filter is very effective at sharpening important edges without amplifying noise. [discussion].
TUnsharp (by tritical) | 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. [discussion].
Unfilter plugin (by Tom Barry) | This filter softens/sharpens a clip. It implements horizontal and vertical filters designed to (slightly) reverse previous efforts at softening or edge enhancment that are common (but ugly) in DVD mastering. [discussion].
WarpSharp | WarpSharp.
Xsharpen | This filter performs a subtle but useful sharpening effect.

## Resizers

Plugins for resizing your clip.

BicublinResize (by Marc FD) | This is a set of resamplers: FastBilinear (similar to tbarry's simpleresize), FastBicubic (an unfiltered Bicubic resampler) and Bicublin (uses bicubic on Y plane and bilinear on UV planes). [discussion].
SimpleResize (by Tom Barry) | Very simple and fast two tap linear interpolation. It is unfiltered which means it will not soften much.
YV12InterlacedReduceBy2 (by Tom Barry) | InterlacedReduceBy2 is a fast Reduce By 2 filter, usefull as a very fast downsize of an interlaced clip. [discussion].

## Subtitle (source) Plugins

Plugins which let you import various subtitle formats (hard-coded).

VSFilter (by Gabest) | Lets you import various formats of subtitles, like *.sub, *.srt, *.ssa, *.ass, etc. [discussion].

## MPEG Decoder (source) Plugins

Plugins which let you import mpeg2 files (including hdtv transport files).

DGDecode (by Donald Graft) | A MPEG2Dec3 modification. Supports in addition MPEG-1 files, 4:2:2 input, and a lot of other things. See changelist for more info. Incompatible with the dvd2avi 1.xx versions and requires DGIndex. [discussion].
MPEG2Dec (by dividee and others) | Mpeg2dec is a plugin which lets AviSynth import MPEG2 files. (outputs to YUY2)
MPEG2Dec3 (by Marc FD and others) | A MPEG2Dec2.dll modification with deblocking and deringing. Note that the colorspace information of dvd2avi is ignored when using mpeg2dec. [discussion].

## Audio Decoder (source) Plugins

Plugins which let you import audio files.

MPASource (by Warpenterprises) | A mp1/mp2/mp3 audio decoder plugin. [discussion].
NicAudio (by Nic) | Audio Plugins for MPEG Audio/AC3/DTS/LPCM. NicLPCMSource expects raw LPCM files or LPCM WAV files. However, at present it only supports 2-channel LPCM WAV files. [discussion].

## Plugins to compare video quality

SSIM (by Lefungus) | Filter to compare video quality (similar as psnr, but using a different video quality metric). [discussion].
VqmCalc (by Lefungus) | Filter to compare video quality (similar as psnr, but using a different video quality metric). [discussion].

## Broadcast Video Plugins

These are meant to take care of various problems which show up when over the air video is captured. Some help with luma/chroma separation; Others reduce interference problems or compensate for overscan.

AutoCrop plugin (by CropsyX) | Automatically crops black borders from a clip. [discussion].
BorderControl (by Simon Walters) | After capturing video you might want to crop your video to get rid of rubbish. BorderControl enables you to smear added borders instead of adding solid borders preventing artefacts between picture and border. [discussion].
DeScratch (by Fizick) | This plugin removes vertical scratches from films. [discussion].
DeSpot (by Fizick) | 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). [discussion].
FillMargins (by Tom Barry) | A similar filter as BorderControl. [discussion].
Guava Comb (by Lindsey Dubb) | This is a comb filter, meant to get rid of rainbows, dot crawl, and shimmering in stationary parts of an image. [discussion].
Reinterpolate411 (by Tom Barry) | It seems that even chroma pixels are just being duplicated in the MainConcept codec (NTSC). The new filter will help that by discarding the odd chroma pixels and recreating them as the average of the 2 adjacent even pixels. [discussion].
TComb (by tritical) | 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! In terms of what it does it is similar to guavacomb/dedot.

## Misc Plugins

AddGrain (by Tom Barry) | AddGrain generates film like grain or other effects (like rain) by adding random noise to a video clip. This noise may optionally be horizontally or vertically correlated to cause streaking.
AudioGraph (by Richard Ling, modified by Sh0dan) | Displays the audio waveform on top of the video. [discussion].
avsmon "AviSynth monitor" (by johann.Langhofer) | This plugin enables you to preview the video during the conversion and to determine the exact audio delay. [discussion].
Blockbuster (by Sansgrip) | With this filter one can use several methods to reduce or eliminate DCT blocks: adding noise (Gaussian distributed), sharpening, or blurring. [discussion].
ChromaShift (by Simon Walters) | ChromaShift shifts the chrominance information in any direction, to compensate for incorrect Y/UV registration. [discussion].
ColorMatrix (by Wilbert Dijkhof) | 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. [discussion].
DctFilter (by Tom Barry) | Reduces high frequency noise components using Discrete Cosine Transform and its inverse. Results in a high compressibility gain, when it is used at the end of your script. Height/width must be a multiple of 16. [discussion].
DePan (by Fizick) | DePan tools estimates global motion (pan) in frames, and makes full or partial global motion compensation. [discussion].
Dup (by Donald Graft) | This is intended for use in clips that have a significant number of duplicate content frames, but which differ due to noise. Typically anime has many such duplicates. By replacing noisy duplicates with exact duplicates, a bitrate reduction can be achieved. [discussion].
DVinfo (by WarpEnterprises) | This filter grabs the timestamp and recording date info out of a DV-AVI. It should work with Type-1 and Type-2, standard AVI and openDML. [discussion].
ffavisynth (by Milan Cutka) | A plugin which lets you directly use ffdshow image processing filters from AviSynth scripts. [discussion].
GiCoCU (by E-Male) | Reproduces photoshop's handling amp-files and gimp's handling of color curve files. [discussion].
MaskTools (by Kurosu and Manao) | This plugin deals with the creation, the enhancement and the manipulating of such mask for each component of the YV12 colorspace. [discussion].
MVTools (by Manao) | Collection of filters (Blur, ConvertFPS, Denoise, Interpolate, Mask and others) which uses motion vectors generated by this plugin. [discussion].
RawSource (by WarpEnterprises) | This filter loads raw video data. [discussion].
ReverseFieldDominance (by Simon Walters) | Reverses the field dominance of PAL DV. [discussion].
TMonitor (by tritical) | 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.
Undot (by Tom Barry) | 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. [discussion].
VideoScope (by Randy French) | You can use this plugin to graph the colors of a frame. It shows a waveform monitor (wfm) and a vectorscope. [discussion].

`$Date: 2006/12/18 22:10:10 $`