Internal filters

From Avisynth wiki
(Difference between revisions)
Jump to: navigation, search
m (Limiter does highlighting)
(spellcheck & re-phrase)
Line 1: Line 1:
 
The available (internal) filters are listed here and divided into categories. A short description is added, including the supported [[Color_spaces|color formats]] (and sample types for the audio filters). There are some functions which combine two or more clips in different ways. How the video content is calculated is described for each function, but [[filters_with_multiple_input_clips|here is a summary which explains which properties that the resulting clip will have]].
 
The available (internal) filters are listed here and divided into categories. A short description is added, including the supported [[Color_spaces|color formats]] (and sample types for the audio filters). There are some functions which combine two or more clips in different ways. How the video content is calculated is described for each function, but [[filters_with_multiple_input_clips|here is a summary which explains which properties that the resulting clip will have]].
  
An alphabetical listing of the internal filters can be found here [[:Category:Internal_filters]].
+
An alphabetical listing of the internal filters can be found [[:Category:Internal_filters|here]].
  
 
=== Source filters ===
 
=== Source filters ===
Line 21: Line 21:
 
|-
 
|-
 
| [[ImageReader]] / [[ImageSource]] / [[ImageSourceAnim]]
 
| [[ImageReader]] / [[ImageSource]] / [[ImageSourceAnim]]
| These filters produce a video clip by reading in still images or animated images. See [[#Export_filters|ImageWriter]].
+
| Reads in still or animated images. See [[#Export_filters|ImageWriter]].
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
Line 29: Line 29:
 
|-
 
|-
 
| [[SegmentedAviSource]] / [[SegmentedDirectShowSource]]
 
| [[SegmentedAviSource]] / [[SegmentedDirectShowSource]]
| This filter automatically loads up to 100 avi files per argument.
+
| Loads up to 100 avi files per argument.
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
Line 75: Line 75:
 
|-
 
|-
 
| [[Levels]]
 
| [[Levels]]
| The Levels filter scales and clamps the blacklevel and whitelevel and adjusts the gamma.
+
| Scales and clamps the black and white levels, and adjusts the gamma.
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
 
| [[Limiter]]
 
| [[Limiter]]
| A filter for clipping levels to within CCIR-601 range, and optionally highlighting pixels outside that range.
+
| Clips levels to within CCIR-601 range, and optionally highlights pixels outside that range.
 
| YUY2, Y8, YV411, YV12, YV16, YV24
 
| YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
 
| [[MergeARGB]] / [[MergeRGB]]
 
| [[MergeARGB]] / [[MergeRGB]]
| This filter makes it possible to select and combine a color channel from each of the input videoclips.
+
| Select and combine a color channel from each of the input video clips.
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
 
| [[MergeChroma]] / [[MergeLuma]]
 
| [[MergeChroma]] / [[MergeLuma]]
| This filter makes it possible to merge chroma/luma from a videoclip into another. There is an optional weighting, so a percentage between the two clips can be specified.
+
| Merge (blend) chroma or luma from one video clip into another. There is an optional weighting, so a percentage between the two clips can be specified.
 
| YUY2, Y8, YV411, YV12, YV16, YV24
 
| YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
 
| [[Merge]]
 
| [[Merge]]
| This filter makes it possible to merge both luma and chroma from a videoclip into another. There is an optional weighting, so a percentage between the two clips can be specified.
+
| Merge (blend) one video clip into another. There is an optional weighting, so a percentage between the two clips can be specified.
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
 
| [[RGBAdjust]]
 
| [[RGBAdjust]]
| Adjusts each color channel seperately.
+
| Adjusts each color channel separately.
 
| RGB24, RGB32
 
| RGB24, RGB32
 
|-
 
|-
Line 115: Line 115:
 
|-
 
|-
 
| [[UToY8]] / [[VToY8]]
 
| [[UToY8]] / [[VToY8]]
| Shorthand for UToY.ConvertToY8 / VToY.ConvertToY8.
+
| Shorthand for <tt>UToY.ConvertToY8</tt> / <tt>VToY.ConvertToY8</tt>.
 
| YUY2, YV411, YV12, YV16, YV24
 
| YUY2, YV411, YV12, YV16, YV24
 
|-
 
|-
Line 137: Line 137:
 
|-
 
|-
 
| [[Layer]]
 
| [[Layer]]
| Layering two videos.
+
| Puts one clip on top of another using different layer (blend) modes and variable opacity. Supports alpha-channel transparency.
 
| RGB32, YUY2
 
| RGB32, YUY2
 
|-
 
|-
Line 149: Line 149:
 
|-
 
|-
 
| [[Overlay]]
 
| [[Overlay]]
| Overlay puts two clips on top of each other with an optional displacement of the overlaying image, and using different overlay methods. Furthermore opacity can be adjusted for the overlay clip.
+
| Puts one clip on top of another with optional XY displacement of the overlaying image, using different overlay (blend) modes and variable opacity. Uses a separate ''mask'' clip for transparency information.
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
Line 157: Line 157:
 
|-
 
|-
 
| [[Subtract]]
 
| [[Subtract]]
| Produces an output clip in which every pixel is set according to the difference between the corresponding pixels.
+
| Shows the difference between the corresponding pixels of two clips.
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16 (?), YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16 (?), YV24
 
|}
 
|}
Line 171: Line 171:
 
|-  
 
|-  
 
| [[AddBorders]]
 
| [[AddBorders]]
| Adds black borders around the image.
+
| Adds black or colored borders around the image.
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
Line 187: Line 187:
 
|-
 
|-
 
| [[Letterbox]]
 
| [[Letterbox]]
| Letterbox simply blackens out the top and the bottom and optionally left and right side of each frame.
+
| Blackens out (or colors out) the top and bottom (and optionally left and right) of each frame.  
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
Line 195: Line 195:
 
|-
 
|-
 
| [[BicubicResize]] / [[BilinearResize]] / [[BlackmanResize]] / [[GaussResize]] / [[LanczosResize]] / [[Lanczos4Resize]] / [[PointResize]] / [[SincResize]] / [[Spline16Resize]] / [[Spline36Resize]] / [[Spline64Resize]]
 
| [[BicubicResize]] / [[BilinearResize]] / [[BlackmanResize]] / [[GaussResize]] / [[LanczosResize]] / [[Lanczos4Resize]] / [[PointResize]] / [[SincResize]] / [[Spline16Resize]] / [[Spline36Resize]] / [[Spline64Resize]]
| The resize filters rescale the input video frames to an arbitrary new resolution, using different sampling algorithms.
+
| Rescale the input video frames to an arbitrary new resolution, using different sampling algorithms.
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
 
| [[SkewRows]]
 
| [[SkewRows]]
| SkewRows skews the rows of a clip.
+
| Skews (or deskews) the rows of a clip.
 
| RGB24, RGB32, YUY2, Y8
 
| RGB24, RGB32, YUY2, Y8
 
|-
 
|-
Line 217: Line 217:
 
|-  
 
|-  
 
| [[Blur]] / [[Sharpen]]
 
| [[Blur]] / [[Sharpen]]
| This a simple 3x3-kernel blurring/sharpening filter.
+
| Simple 3x3-kernel blurring/sharpening filter.
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
Line 229: Line 229:
 
|-
 
|-
 
| [[FixBrokenChromaUpsampling]]
 
| [[FixBrokenChromaUpsampling]]
| The free Canopus DV Codec v1.00 upsamples the chroma channels incorrectly (although newer non-free versions appear to work fine). FixBrokenChromaUpsampling filter compensates for it.
+
| The free Canopus DV Codec v1.00 upsamples the chroma channels incorrectly (although newer non-free versions appear to work fine). This filter compensates for it.
 
| YUY2
 
| YUY2
 
|}
 
|}
Line 267: Line 267:
 
|-
 
|-
 
| [[FreezeFrame]]
 
| [[FreezeFrame]]
| Replaces all the frames between first-frame and last-frame with a selected frame.
+
| Replaces all the frames between ''first-frame'' and ''last-frame'' with a selected frame.
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
Line 275: Line 275:
 
|-
 
|-
 
| [[Loop]]
 
| [[Loop]]
| Loops the segment from start frame to end frame a given number of times.
+
| Loops the segment from ''start_frame'' to ''end_frame'' a given number of times.
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
 
| [[Reverse]]
 
| [[Reverse]]
| This filter makes a clip play in reverse.
+
| Makes a clip play in reverse.
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
 
| [[SelectEven]] / [[SelectOdd]]
 
| [[SelectEven]] / [[SelectOdd]]
| Makes an output video stream using only the even/odd numbered frames.
+
| Makes an output video stream using only the even- or odd-numbered frames.
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
 
| [[SelectEvery]]
 
| [[SelectEvery]]
| Selects frames with a fixed period, it is a generalization of [[SelectEven]] and [[SelectOdd]].
+
| Selects frames with a fixed period; a generalization of [[SelectEven]] and [[SelectOdd]].
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
Line 295: Line 295:
 
|-
 
|-
 
| [[Trim]]
 
| [[Trim]]
| Trims a video clip so that it includes only the frames first_frame through last_frame.
+
| Trims a video clip so that it includes only the frames ''first_frame'' through ''last_frame''.
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|}
 
|}
Line 317: Line 317:
 
|-
 
|-
 
| [[Bob]]
 
| [[Bob]]
| Bob takes a clip and bob-deinterlaces it.
+
| Takes a clip and [[Wikipedia:Deinterlacing#Field_extension_deinterlacing|bob-deinterlaces]] it.
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
Line 325: Line 325:
 
|-
 
|-
 
| [[DoubleWeave]]
 
| [[DoubleWeave]]
| The filter operates like [[Weave]], except that it produces double the number of frames by combining both the odd and even pairs of fields.
+
| Operates like [[Weave]], except that it produces double the number of frames by combining both the odd and even pairs of fields.
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
 
| [[PeculiarBlend]]
 
| [[PeculiarBlend]]
| This filter blends each frame with the following frame in a peculiar way.
+
| Blends each frame with the following frame in a peculiar way.
 
| YUY2
 
| YUY2
 
|-
 
|-
 
| [[Pulldown]]
 
| [[Pulldown]]
| This filter simply selects two out of every five frames of the source video.
+
| Selects two out of every five frames of the source video.
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
 
| [[SeparateColumns]] / [[SeparateRows]]
 
| [[SeparateColumns]] / [[SeparateRows]]
| Takes a clip and separates the columns or rows of each frame into new frames.
+
| Separates the columns or rows of each frame into new frames.
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
 
| [[SeparateFields]]
 
| [[SeparateFields]]
| Takes a frame-based clip and splits each frame into its component top and bottom fields.
+
| Splits each frame into its component top and bottom fields.
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
Line 349: Line 349:
 
|-
 
|-
 
| [[Weave]]
 
| [[Weave]]
| Takes even pairs of fields from a Fields Separated input video clip and combines them together to produce interlaced frames.
+
| Combines fields together to produce interlaced frames.
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
Line 377: Line 377:
 
|-
 
|-
 
| [[AudioDub]] / [[AudioDubEx]]
 
| [[AudioDub]] / [[AudioDubEx]]
| AudioDub takes the video stream from the first argument and the audio stream from the second argument and combines them. AudioDubEx is similar, but it doesn't throw an exception if both clips don't have a video or audio stream.
+
| ''AudioDub'' takes the video stream from the first argument and the audio stream from the second argument and combines them. ''AudioDubEx'' is similar, but it doesn't throw an exception if both clips don't have a video or audio stream.
 
| All
 
| All
 
|-
 
|-
 
| [[AudioTrim]]
 
| [[AudioTrim]]
| Trims an audio clip so that it includes only the start_time through end_time.
+
| Trims an audio clip so that it includes only the ''start_time'' through ''end_time''.
 
| All
 
| All
 
|-
 
|-
Line 433: Line 433:
 
|-
 
|-
 
| [[SSRC]]
 
| [[SSRC]]
| Very high quality samplerate conversion.
+
| Very high quality sample rate conversion.
 
| Float
 
| Float
 
|-
 
|-
 
| [[TimeStretch]]
 
| [[TimeStretch]]
| This filter can change speed of the sound without changing the pitch, and change the pitch of a sound without changing the length of a sound.
+
| Change speed of a sound without changing the pitch, and change pitch without changing duration.
 
| Float
 
| Float
 
|}
 
|}
Line 443: Line 443:
 
=== Conditional and other meta filters  ===
 
=== Conditional and other meta filters  ===
  
Meta filters can be used to control other filters execution. The basic characteristic of conditional filters is that 'their scripts' are evaluated (executed) at every frame instead of the whole clip. This allows for complex video processing that would be difficult or impossible to be performed by a normal AviSynth script.  
+
''Meta'' filters can be used to control other filters' execution. The basic characteristic of conditional filters is that their scripts are evaluated (executed) at every frame instead of when the clip is loaded. This allows for complex video processing that would be difficult or impossible to be performed by a normal AviSynth script.  
  
 
{| style="height:100px" border="1" cellpadding="4" class="wikitable"
 
{| style="height:100px" border="1" cellpadding="4" class="wikitable"
Line 451: Line 451:
 
|-
 
|-
 
| [[ConditionalFilter]] / [[FrameEvaluate]] / [[ScriptClip]] / [[ConditionalSelect]]
 
| [[ConditionalFilter]] / [[FrameEvaluate]] / [[ScriptClip]] / [[ConditionalSelect]]
| ConditionalFilter returns source1 if some condition is met, otherwise it returns source2. ScriptClip/FrameEvaluate returns the clip which is returned by the function evaluated on every frame. ConditionalSelect returns one frame from several sources based on an integer evaluator.
+
| ''ConditionalFilter'' returns source1 if some condition is met, otherwise it returns source2. ''ScriptClip/FrameEvaluate'' returns the clip which is returned by the function evaluated on every frame. ''ConditionalSelect'' returns one frame from several sources based on an integer evaluator.
 
| YUY2 ?, YV12
 
| YUY2 ?, YV12
 
|-
 
|-
 
| [[ConditionalReader]]
 
| [[ConditionalReader]]
| ConditionalReader allows you to import information from a text file, with different values for each frame - or a range of frames.
+
| Import information from a text file, with different values for each frame - or a range of frames.
 
| YUY2 ?, YV12
 
| YUY2 ?, YV12
 
|-
 
|-
Line 463: Line 463:
 
|-
 
|-
 
| [[Animate]] / [[ApplyRange]]
 
| [[Animate]] / [[ApplyRange]]
| Animate (ApplyRange) is a meta-filter which evaluates its parameter filter with continuously varying (the same) arguments.
+
| ''Animate'' is a meta-filter which evaluates another filter with continuously varying arguments.
 +
''ApplyRange'' 'is a special case of ''Animate'' where ''start_args'' = ''end_args''.
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24 ?
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24 ?
 
|-
 
|-
 
| [[TCPServer]] / [[TCPSource]]
 
| [[TCPServer]] / [[TCPSource]]
| This filter will enable you to send clips over your network. You can connect several clients to the same machine.
+
| Send clips over your network. You can connect several clients to the same machine.
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|}
 
|}
Line 493: Line 494:
 
|-
 
|-
 
| [[BlankClip]] / [[Blackness]]
 
| [[BlankClip]] / [[Blackness]]
| This filter produces a solid color, silent video clip of the specified length (in frames).
+
| Produces a solid color, silent video clip of the specified length (in frames).
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
 
| [[ColorBars]] / [[ColorBarsHD]]
 
| [[ColorBars]] / [[ColorBarsHD]]
| This filters produce a video clip containing SMPTE colorbars scaled to any image size.
+
| Produce a video clip containing SMPTE colorbars scaled to any image size.
 
| RGB32, YUY2, YV12, YV24
 
| RGB32, YUY2, YV12, YV24
 
|-
 
|-
Line 505: Line 506:
 
|-
 
|-
 
| [[Echo]]
 
| [[Echo]]
| Forces getframe calls to all input clips. Returns only first clip result.
+
| Forces internal <tt>GetFrame</tt> calls to all input clips. Returns only first clip result.
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
 
| [[Histogram]]
 
| [[Histogram]]
| Adds a histogram.
+
| A multipurpose audio/video analysis tool.
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
Line 521: Line 522:
 
|-
 
|-
 
| [[Preroll]]
 
| [[Preroll]]
| Preroll the audio or video on non linear access.
+
| Preroll the audio or video on non-linear access.
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
Line 537: Line 538:
 
|-
 
|-
 
| [[Subtitle]]
 
| [[Subtitle]]
| Adds a single line of anti-aliased text to a range of frames.
+
| Adds anti-aliased text to a range of frames.
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
| RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
 
|-
 
|-
 
| [[Tone]]
 
| [[Tone]]
| This will generate sound.
+
| Generates a sound.
 
| Float
 
| Float
 
|-
 
|-
 
| [[Version]]
 
| [[Version]]
| Generates a video clip with a short version and copyright statement.
+
| Generates a video clip with a short AviSynth version and copyright statement.
 
| RGB24
 
| RGB24
 
|}
 
|}

Revision as of 18:45, 23 January 2016

The available (internal) filters are listed here and divided into categories. A short description is added, including the supported color formats (and sample types for the audio filters). There are some functions which combine two or more clips in different ways. How the video content is calculated is described for each function, but here is a summary which explains which properties that the resulting clip will have.

An alphabetical listing of the internal filters can be found here.

Contents

Source filters

These filters can read media files and return an AviSynth clip. See debug filters for non-file source filters.

Filter Description Color format
AviSource / AviFileSource / OpenDMLSource Opens an AVI file. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
DirectShowSource Opens a filename using DirectShow. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
ImageReader / ImageSource / ImageSourceAnim Reads in still or animated images. See ImageWriter. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
Import Imports an AviSynth script into the current script. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
SegmentedAviSource / SegmentedDirectShowSource Loads up to 100 avi files per argument. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
WavSource Opens a WAV file or the audio of an AVI file. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24

Color conversion and adjustment filters

These filters can be used to change the color format or adjust the colors of a clip.

Filter Description Color format
ColorYUV Adjusts colors and luma independently. YUY2, Y8, YV411, YV12, YV16, YV24
ConvertBackToYUY2 Converts a RGB clip back to YUY2. RGB24, RGB32
ConvertToRGB Converts to RGB32 unless clip is RGB24. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
ConvertToRGB24 / ConvertToRGB32 / ConvertToYUY2 / ConvertToY8 / ConvertToYV411 / ConvertToYV12 / ConvertToYV16 / ConvertToYV24 Converts to RGB24 / RGB32 / YUY2 / Y8 / YV411 / YV12 / YV16 (planar version of YUY2) / YV24 (full YUV). RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
FixLuminance Correct shifting vertical luma offset. YUY2
GreyScale Converts a video to greyscale. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
Invert Inverts selected color channels of a video. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
Levels Scales and clamps the black and white levels, and adjusts the gamma. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
Limiter Clips levels to within CCIR-601 range, and optionally highlights pixels outside that range. YUY2, Y8, YV411, YV12, YV16, YV24
MergeARGB / MergeRGB Select and combine a color channel from each of the input video clips. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
MergeChroma / MergeLuma Merge (blend) chroma or luma from one video clip into another. There is an optional weighting, so a percentage between the two clips can be specified. YUY2, Y8, YV411, YV12, YV16, YV24
Merge Merge (blend) one video clip into another. There is an optional weighting, so a percentage between the two clips can be specified. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
RGBAdjust Adjusts each color channel separately. RGB24, RGB32
ShowAlpha / ShowRed / ShowGreen / ShowBlue Shows the selected channel of an (A)RGB clip. RGB24, RGB32
SwapUV Swaps chroma channels. YUY2, Y8, YV411, YV12, YV16, YV24 ?
Tweak Adjusts the hue, saturation, brightness, and contrast. YUY2, Y8, YV411, YV12, YV16, YV24
UToY / VToY Copies chroma U/V plane to Y plane. YUY2, Y8, YV411, YV12, YV16, YV24
UToY8 / VToY8 Shorthand for UToY.ConvertToY8 / VToY.ConvertToY8. YUY2, YV411, YV12, YV16, YV24
YToUV Puts the luma channels of two clips as U and V channels. Luma is now 50% grey. YUY2, Y8, YV411, YV12, YV16, YV24

Overlay and Mask filters

These filters can be used to layer clips with or without using masks and to create masks.

Filter Description Color format
ColorKeyMask Sets the alpha-channel (similar as Mask does) but generates it by comparing the color. RGB32
Layer Puts one clip on top of another using different layer (blend) modes and variable opacity. Supports alpha-channel transparency. RGB32, YUY2
Mask Applies an alpha-mask to a clip. RGB32
MaskHS This filter returns a mask (as Y8) of clip using a given hue and saturation range. YUY2, Y8, YV411, YV12, YV16, YV24
Overlay Puts one clip on top of another with optional XY displacement of the overlaying image, using different overlay (blend) modes and variable opacity. Uses a separate mask clip for transparency information. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
ResetMask Applies an "all-opaque" alpha-mask to clip. RGB32
Subtract Shows the difference between the corresponding pixels of two clips. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16 (?), YV24

Geometric deformation filters

These filters can be used to change image size, process borders or make other deformations of a clip.

Filter Description Color format
AddBorders Adds black or colored borders around the image. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
Crop Crops excess pixels from each frame. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
CropBottom Crops excess pixels from the bottom of each frame. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
FlipHorizontal / FlipVertical Flips the video from left to right/upside-down. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
Letterbox Blackens out (or colors out) the top and bottom (and optionally left and right) of each frame. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
HorizontalReduceBy2 / VerticalReduceBy2 / ReduceBy2 Reduces the size of each frame by half horizontally, vertically or in both directions. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
BicubicResize / BilinearResize / BlackmanResize / GaussResize / LanczosResize / Lanczos4Resize / PointResize / SincResize / Spline16Resize / Spline36Resize / Spline64Resize Rescale the input video frames to an arbitrary new resolution, using different sampling algorithms. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
SkewRows Skews (or deskews) the rows of a clip. RGB24, RGB32, YUY2, Y8
TurnLeft / TurnRight / Turn180 Rotates the clip 90 degrees counter-clockwise / 90 degrees clockwise. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24

Pixel restoration filters

These filters can be used for image detail (pixel) restoration (like denoising, sharpening) of a clip.

Filter Description Color format
Blur / Sharpen Simple 3x3-kernel blurring/sharpening filter. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
GeneralConvolution General 3x3 or 5x5 convolution matrix. RGB32
SpatialSoften / TemporalSoften Removes noise from a video clip by selectively blending pixels spatially/temporally. YUY2 (SpatialSoften), Y8, YV411, YV12, YV16, YV24
FixBrokenChromaUpsampling The free Canopus DV Codec v1.00 upsamples the chroma channels incorrectly (although newer non-free versions appear to work fine). This filter compensates for it. YUY2

Timeline editing filters

These filters can be used to arrange frames in time (clip cutting, splicing and other editing).

Filter Description Color format
AlignedSplice / UnalignedSplice Joins two or more video clips end to end. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
AssumeFPS / AssumeScaledFPS / ChangeFPS / ConvertFPS Changes framerate and/or video speed in different ways. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
DeleteFrame Deletes a single frame, given as an argument. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
Dissolve Like AlignedSplice, except that the clips are combined with some overlap. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
DuplicateFrame Duplicates a single frame given as an argument. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
FadeIn0 / FadeIn / FadeIn2 / FadeOut0 / FadeOut / FadeOut2 / FadeIO0 / FadeIO / FadeIO2 Causes the video stream to fade linearly to black at the start or end. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
FreezeFrame Replaces all the frames between first-frame and last-frame with a selected frame. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
Interleave Interleaves frames from several clips on a frame-by-frame basis. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
Loop Loops the segment from start_frame to end_frame a given number of times. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
Reverse Makes a clip play in reverse. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
SelectEven / SelectOdd Makes an output video stream using only the even- or odd-numbered frames. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
SelectEvery Selects frames with a fixed period; a generalization of SelectEven and SelectOdd. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
SelectRangeEvery Selects a range of frames with a fixed period. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
Trim Trims a video clip so that it includes only the frames first_frame through last_frame. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24

Interlace filters

These filters can be used for creating and processing field-based material (which is frame-based material separated into fields). AviSynth is capable of dealing with both progressive and interlaced material. The main problem is, that it often doesn't know what it receives from source filters. This is the reason that the field-based flag exists and can be used when dealing with interlaced material. More information about field-based video can be found here.

Filter Description Color format
AssumeFrameBased / AssumeFieldBased Forces frame-based or field-based material. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
AssumeBFF / AssumeTFF Forces field order. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
Bob Takes a clip and bob-deinterlaces it. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
ComplementParity Changes top fields to bottom fields and vice-versa. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
DoubleWeave Operates like Weave, except that it produces double the number of frames by combining both the odd and even pairs of fields. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
PeculiarBlend Blends each frame with the following frame in a peculiar way. YUY2
Pulldown Selects two out of every five frames of the source video. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
SeparateColumns / SeparateRows Separates the columns or rows of each frame into new frames. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
SeparateFields Splits each frame into its component top and bottom fields. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
SwapFields Swaps the two fields in an interlaced frame. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
Weave Combines fields together to produce interlaced frames. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
WeaveColumns / WeaveRows Takes a clip and weaves sets of columns or rows together to produce composite frames. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24

Audio processing filters

These filters can be used to process audio. Audio samples from a clip will be automatically converted if any filters requires a special type of sample. This means that if a filter doesn't support the type of sample it is given, it will automatically convert the samples to something it supports. The internal formats supported in each filter is listed in the sample type column. A specific sample type can be forced by using the ConvertAudio functions.

If the sample type is float, when AviSynth has to output the data, it will be converted to 16 bit, since float cannot be passed as valid AVI data.

Filter Description Sample type
Amplify / AmplifydB Amplify multiply audio samples by amount. 16 bit, Float
AssumeSampleRate Adjusts the playback speed of the audio. All
AudioDub / AudioDubEx AudioDub takes the video stream from the first argument and the audio stream from the second argument and combines them. AudioDubEx is similar, but it doesn't throw an exception if both clips don't have a video or audio stream. All
AudioTrim Trims an audio clip so that it includes only the start_time through end_time. All
ConvertAudioTo8bit / ConvertAudioTo16bit / ConvertAudioTo24bit / ConvertAudioTo32bit / ConvertAudioToFloat Converts audio samples to 8/16/24/32/Float bits. All
ConvertToMono Merges all audio channels. 16 bit, Float
DelayAudio Delays the audio track by second seconds. All
EnsureVBRMP3Sync Corrects out-of-sync MP3-AVI's, when seeking or trimming. All
GetChannel / GetLeftChannel / GetRightChannel Returns an audio channel from a clip. All
KillAudio / KillVideo Removes the audio or video from a clip completely. All
MergeChannels Merges channels of two audio clips. All
MixAudio Mixes audio from two clips. 16 bit, Float
MonoToStereo Converts two mono signals to one stereo signal. 16 bit, Float
Normalize Amplifies the entire waveform as much as possible, without clipping. 16 bit, Float
ResampleAudio Performs a high-quality change of audio sample rate. 16 bit
SuperEQ High quality 18 band sound equalizer. Float
SSRC Very high quality sample rate conversion. Float
TimeStretch Change speed of a sound without changing the pitch, and change pitch without changing duration. Float

Conditional and other meta filters

Meta filters can be used to control other filters' execution. The basic characteristic of conditional filters is that their scripts are evaluated (executed) at every frame instead of when the clip is loaded. This allows for complex video processing that would be difficult or impossible to be performed by a normal AviSynth script.

Filter Description Color format
ConditionalFilter / FrameEvaluate / ScriptClip / ConditionalSelect ConditionalFilter returns source1 if some condition is met, otherwise it returns source2. ScriptClip/FrameEvaluate returns the clip which is returned by the function evaluated on every frame. ConditionalSelect returns one frame from several sources based on an integer evaluator. YUY2 ?, YV12
ConditionalReader Import information from a text file, with different values for each frame - or a range of frames. YUY2 ?, YV12
WriteFile / WriteFileIf / WriteFileStart / WriteFileEnd These filters evaluate expressions and output the results to a text-file. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24 ?
Animate / ApplyRange Animate is a meta-filter which evaluates another filter with continuously varying arguments.

ApplyRange 'is a special case of Animate where start_args = end_args.

RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24 ?
TCPServer / TCPSource Send clips over your network. You can connect several clients to the same machine. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24

Export filters

These filters can write directly to media files.

Filter Description Color format
ImageWriter Writes frames as images to your hard disk. See ImageReader. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24

Debug filters

Filter Description Color format
BlankClip / Blackness Produces a solid color, silent video clip of the specified length (in frames). RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
ColorBars / ColorBarsHD Produce a video clip containing SMPTE colorbars scaled to any image size. RGB32, YUY2, YV12, YV24
Compare Compares two clips and prints out information about the differences. RGB24, RGB32, YUY2, YV12
Echo Forces internal GetFrame calls to all input clips. Returns only first clip result. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
Histogram A multipurpose audio/video analysis tool. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
Info Prints out image and sound information. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
MessageClip Produces a clip containing a text message. RGB32
Preroll Preroll the audio or video on non-linear access. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
ShowFiveVersions Takes five video clips and combines them in a staggered arrangement from left to right. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16 (?), YV24
ShowFrameNumber / ShowSMPTE / ShowTime Draws text on every frame indicating what number AviSynth thinks it is. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
StackHorizontal / StackVertical Takes two or more video clips and displays them together in left-to-right/up-to-down order. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
Subtitle Adds anti-aliased text to a range of frames. RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24
Tone Generates a sound. Float
Version Generates a video clip with a short AviSynth version and copyright statement. RGB24
Personal tools