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( | This also determines the resizer used for chroma resampling, | | | format=vs.YUV444P8) | 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/ | std.ShufflePlanes | ShufflePlanes(clips=inclip, planes=0, colorfamily=vs.GRAY) | | ShowGreen/ShowBlue | | 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/ | std.FlipHorizontal/ | | | FlipVertical | 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/ | std.StackHorizontal/| | | StackVertical | std.StackVertical | | +------------------------+---------------------+----------------------------------------------------------------------+