1Avisynth functions and their VapourSynth equivalents
2====================================================
3
4+------------------------+---------------------+----------------------------------------------------------------------+
5| Avisynth               | VapourSynth         | Notes                                                                |
6+========================+=====================+======================================================================+
7| AviSource              | avisource.AVISource | Use FFMS2 instead when possible                                      |
8+------------------------+---------------------+----------------------------------------------------------------------+
9| DirectShowSource       | none                | There will be no source filter using DirectShow because there's no   |
10|                        |                     | real need for it. Use FFMS2 instead.                                 |
11+------------------------+---------------------+----------------------------------------------------------------------+
12| ImageReader/ImageWriter| imwri plugin        |                                                                      |
13+------------------------+---------------------+----------------------------------------------------------------------+
14| Import                 | none                | See the documentation for Python's import for scripts.               |
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/std.Expr    | Do the adjustment yourself                                           |
20+------------------------+---------------------+----------------------------------------------------------------------+
21| GreyScale              | std.ShufflePlanes   | ShufflePlanes(clips=inclip, planes=0, colorfamily=vs.GRAY)           |
22|                        |                     | Extracts the first plane. Y for YUV, R for RGB, planes=1/2 = U/V G/B |
23+------------------------+---------------------+----------------------------------------------------------------------+
24| Invert                 | std.Invert          |                                                                      |
25+------------------------+---------------------+----------------------------------------------------------------------+
26| Limiter                | std.Limiter         |                                                                      |
27+------------------------+---------------------+----------------------------------------------------------------------+
28| MergeRGB               | std.ShufflePlanes   | ShufflePlanes(clips=[R,G,B], planes=[0, 0, 0], colorfamily=vs.RGB)   |
29+------------------------+---------------------+----------------------------------------------------------------------+
30| MergeChroma/MergeLuma  | std.ShufflePlanes   | ShufflePlanes(clips=[Yclip,UVclip], planes=[0, 1, 2],                |
31|                        |                     | colorfamily=vs.YUV)                                                  |
32+------------------------+---------------------+----------------------------------------------------------------------+
33| RGBAdjust              | std.Lut/std.Expr    | Do the adjustment yourself                                           |
34+------------------------+---------------------+----------------------------------------------------------------------+
35| ShowAlpha/ShowRed/     | std.ShufflePlanes   | ShufflePlanes(clips=inclip, planes=0, colorfamily=vs.GRAY)           |
36| ShowGreen/ShowBlue     |                     | Extracts the first plane. Y for YUV, R for RGB, planes=1/2 = U/V G/B |
37+------------------------+---------------------+----------------------------------------------------------------------+
38| SwapUV                 | std.ShufflePlanes   | ShufflePlanes(clips=inclip, planes=[0, 2, 1], colorfamily=vs.YUV)    |
39+------------------------+---------------------+----------------------------------------------------------------------+
40| Tweak                  | std.Lut/std.Expr    | Do the adjustment yourself                                           |
41+------------------------+---------------------+----------------------------------------------------------------------+
42| UToY/VToY/*            | std.ShufflePlanes   | See GreyScale and the other examples                                 |
43+------------------------+---------------------+----------------------------------------------------------------------+
44| ColorKeyMask           | std.Lut/std.Expr    | Do the adjustment yourself                                           |
45+------------------------+---------------------+----------------------------------------------------------------------+
46| Layer                  | std.Lut2/std.Expr   | Do the adjustment yourself                                           |
47+------------------------+---------------------+----------------------------------------------------------------------+
48| Overlay                | std.Lut2/std.Expr   | Do the adjustment yourself                                           |
49+------------------------+---------------------+----------------------------------------------------------------------+
50| Subtract               | std.Lut2/std.Expr   | Do the adjustment yourself                                           |
51+------------------------+---------------------+----------------------------------------------------------------------+
52| AddBorders             | std.AddBorders      |                                                                      |
53+------------------------+---------------------+----------------------------------------------------------------------+
54| Crop                   | std.CropAbs/Crop    |                                                                      |
55+------------------------+---------------------+----------------------------------------------------------------------+
56| FlipHorizontal/        | std.FlipHorizontal/ |                                                                      |
57| FlipVertical           | std.FlipVertical    |                                                                      |
58+------------------------+---------------------+----------------------------------------------------------------------+
59| Letterbox              | std.CropAbs+        |                                                                      |
60|                        | std.AddBorders      |                                                                      |
61+------------------------+---------------------+----------------------------------------------------------------------+
62| ReduceBy2              | resize.*            | Too specialized to ever be included in the core                      |
63+------------------------+---------------------+----------------------------------------------------------------------+
64| Resize (all kinds)     | resize.*            |                                                                      |
65+------------------------+---------------------+----------------------------------------------------------------------+
66| Turn180                | std.Turn180         |                                                                      |
67+------------------------+---------------------+----------------------------------------------------------------------+
68| TurnRight/TurnLeft     | std.Transpose       | Add std.FlipHorizontal/std.FlipVertical to create a true turn        |
69+------------------------+---------------------+----------------------------------------------------------------------+
70| ConditionalFilter      | std.FrameEval       | Can also substitute many of the other conditionals                   |
71+------------------------+---------------------+----------------------------------------------------------------------+
72| Animate                | std.FrameEval       | Combine with python scripting                                        |
73+------------------------+---------------------+----------------------------------------------------------------------+
74| ApplyRange             | none                | Use python scripting instead                                         |
75+------------------------+---------------------+----------------------------------------------------------------------+
76| BlankClip              | std.BlankClip       |                                                                      |
77+------------------------+---------------------+----------------------------------------------------------------------+
78| StackHorizontal/       | std.StackHorizontal/|                                                                      |
79| StackVertical          | std.StackVertical   |                                                                      |
80+------------------------+---------------------+----------------------------------------------------------------------+
81