1 Avisynth functions and their VapourSynth equivalents
2 ====================================================
3 +------------------------+---------------------+----------------------------------------------------------------------+
4 | Avisynth | VapourSynth | Notes |
5 +========================+=====================+======================================================================+
6 | AviSource | avisource.AVISource | |
8 +------------------------+---------------------+----------------------------------------------------------------------+
9 | DirectShowSource | none | DirectShowSource will at least have a special compatible avisynth |
10 | | | version created. Or VapourSynth will get varargs support. |
11 +------------------------+---------------------+----------------------------------------------------------------------+
12 | ImageReader/ImageWriter| none | Planned, contributions welcome |
13 +------------------------+---------------------+----------------------------------------------------------------------+
14 | Import | none | See the documentation for Python's import command |
15 +------------------------+---------------------+----------------------------------------------------------------------+
16 | ConvertTo* | resize.Bicubic( | This also determines the resizer used for chroma resampling, |
17 | | format=vs.YUV444P8) | if needed |
18 +------------------------+---------------------+----------------------------------------------------------------------+
19 | ColorYUV | std.Lut | Do the adjustment yourself with a lut |
20 +------------------------+---------------------+----------------------------------------------------------------------+
21 | GreyScale | std.ShufflePlanes | ShufflePlanes(clips=inclip, planes=0, format=vs.GRAY) |
22 | | | Extracts the first plane. Y for YUV, R for RGB, planes=1/2 = U/V G/B |
23 +------------------------+---------------------+----------------------------------------------------------------------+
24 | Invert | std.Lut | Do the adjustment yourself with a lut |
25 +------------------------+---------------------+----------------------------------------------------------------------+
26 | Limiter | std.Lut | Do the adjustment yourself with a lut |
27 +------------------------+---------------------+----------------------------------------------------------------------+
28 | MergeRGB | std.ShufflePlanes | ShufflePlanes(clips=[R,G,B], planes=[0, 0, 0], format=vs.RGB) |
29 +------------------------+---------------------+----------------------------------------------------------------------+
30 | MergeChroma/MergeLuma | std.ShufflePlanes | ShufflePlanes(clips=[Yclip,UVclip], planes=[0, 1, 2], format=vs.YUV) |
31 +------------------------+---------------------+----------------------------------------------------------------------+
32 | RGBAdjust | std.Lut | Do the adjustment yourself with a lut |
33 +------------------------+---------------------+----------------------------------------------------------------------+
34 | ShowAlpha/ShowRed/ | std.ShufflePlanes | ShufflePlanes(clips=inclip, planes=0, format=vs.GRAY) |
35 | ShowGreen/ShowBlue | | Extracts the first plane. Y for YUV, R for RGB, planes=1/2 = U/V G/B |
36 +------------------------+---------------------+----------------------------------------------------------------------+
37 | SwapUV | std.ShufflePlanes | ShufflePlanes(clips=inclip, planes=[0, 2, 1], format=vs.YUV) |
38 +------------------------+---------------------+----------------------------------------------------------------------+
39 | Tweak | std.Lut | Do the adjustment yourself with a lut |
40 +------------------------+---------------------+----------------------------------------------------------------------+
41 | UToY/VToY/* | std.ShufflePlanes | See GreyScale and the other examples |
42 +------------------------+---------------------+----------------------------------------------------------------------+
43 | ColorKeyMask | std.Lut | Not perfect but probably good enough for a clever person |
44 +------------------------+---------------------+----------------------------------------------------------------------+
45 | Layer | std.Lut2 | Do the adjustment yourself with a lut |
46 +------------------------+---------------------+----------------------------------------------------------------------+
47 | Overlay | std.Lut2 | Do the adjustment yourself with a lut. Missing offset and other stuff|
48 +------------------------+---------------------+----------------------------------------------------------------------+
49 | Subtract | std.Lut2 | Do the adjustment yourself with a lut |
50 +------------------------+---------------------+----------------------------------------------------------------------+
51 | AddBorders | std.AddBorders | |
52 +------------------------+---------------------+----------------------------------------------------------------------+
53 | Crop | std.CropAbs/CropRel | |
54 +------------------------+---------------------+----------------------------------------------------------------------+
55 | FlipHorizontal/ | std.FlipHorizontal/ | |
56 | FlipVertical | std.FlipVertical | |
57 +------------------------+---------------------+----------------------------------------------------------------------+
58 | Letterbox | std.CropAbs+ | |
59 | | std.AddBorders | |
60 +------------------------+---------------------+----------------------------------------------------------------------+
61 | ReduceBy2 | resize.* | Too specialized to ever be included in the core |
62 +------------------------+---------------------+----------------------------------------------------------------------+
63 | Resize (all kinds) | resize.* | Chroma placement/shift/range conversion not supported in swscale |
64 +------------------------+---------------------+----------------------------------------------------------------------+
65 | Turn180 | std.Turn180 | |
66 +------------------------+---------------------+----------------------------------------------------------------------+
67 | TurnRight/TurnLeft | std.Transpose | Add std.FlipHorizontal/std.FlipVertical to create a true turn |
68 +------------------------+---------------------+----------------------------------------------------------------------+
69 | ConditionalFilter | std.SelectClip | Can also substitute many of the other conditionals |
70 +------------------------+---------------------+----------------------------------------------------------------------+
71 | Animate/ApplyRange | none | Will never have an equivalent |
72 +------------------------+---------------------+----------------------------------------------------------------------+
73 | BlankClip | std.BlankClip | |
74 +------------------------+---------------------+----------------------------------------------------------------------+
75 | StackHorizontal/ | std.StackHorizontal/| |
76 | StackVertical | std.StackVertical | |
77 +------------------------+---------------------+----------------------------------------------------------------------+