Avisynth functions and their VapourSynth equivalents

Avisynth

VapourSynth

Notes

AviSource

avisource.AVISource

Use FFMS2 instead when possible

DirectShowSource

none

There will be no source filter using DirectShow because there’s no real need for it. Use FFMS2 instead.

ImageReader/ImageWriter

imwri plugin

Import

none

See the documentation for Python’s import for scripts.

ConvertTo*

resize.Bicubic( format=vs.YUV444P8)

This also determines the resizer used for chroma resampling, if needed

ColorYUV

std.Lut/std.Expr

Do the adjustment yourself

GreyScale

std.ShufflePlanes

ShufflePlanes(clips=inclip, planes=0, colorfamily=vs.GRAY) Extracts the first plane. Y for YUV, R for RGB, planes=1/2 = U/V G/B

Invert

std.Invert

Limiter

std.Limiter

MergeRGB

std.ShufflePlanes

ShufflePlanes(clips=[R,G,B], planes=[0, 0, 0], colorfamily=vs.RGB)

MergeChroma/MergeLuma

std.ShufflePlanes

ShufflePlanes(clips=[Yclip,UVclip], planes=[0, 1, 2], colorfamily=vs.YUV)

RGBAdjust

std.Lut/std.Expr

Do the adjustment yourself

ShowAlpha/ShowRed/ ShowGreen/ShowBlue

std.ShufflePlanes

ShufflePlanes(clips=inclip, planes=0, colorfamily=vs.GRAY) Extracts the first plane. Y for YUV, R for RGB, planes=1/2 = U/V G/B

SwapUV

std.ShufflePlanes

ShufflePlanes(clips=inclip, planes=[0, 2, 1], colorfamily=vs.YUV)

Tweak

std.Lut/std.Expr

Do the adjustment yourself

UToY/VToY/*

std.ShufflePlanes

See GreyScale and the other examples

ColorKeyMask

std.Lut/std.Expr

Do the adjustment yourself

Layer

std.Lut2/std.Expr

Do the adjustment yourself

Overlay

std.Lut2/std.Expr

Do the adjustment yourself

Subtract

std.Lut2/std.Expr

Do the adjustment yourself

AddBorders

std.AddBorders

Crop

std.CropAbs/Crop

FlipHorizontal/ FlipVertical

std.FlipHorizontal/ std.FlipVertical

Letterbox

std.CropAbs+ std.AddBorders

ReduceBy2

resize.*

Too specialized to ever be included in the core

Resize (all kinds)

resize.*

Turn180

std.Turn180

TurnRight/TurnLeft

std.Transpose

Add std.FlipHorizontal/std.FlipVertical to create a true turn

ConditionalFilter

std.FrameEval

Can also substitute many of the other conditionals

Animate

std.FrameEval

Combine with python scripting

ApplyRange

none

Use python scripting instead

BlankClip

std.BlankClip

StackHorizontal/ StackVertical

std.StackHorizontal/ std.StackVertical