Fix things on case-insensitive file systems.
[vapoursynth-svn.git] / doc / avisynthcomp.rst
blob2e59e53b0cd87a55434e74463833e7dbe7be00b8
1 Avisynth functions and their VapourSynth equivalents
2 ====================================================
3 +------------------------+---------------------+----------------------------------------------------------------------+
4 | Avisynth               | VapourSynth         | Notes                                                                |
5 +========================+=====================+======================================================================+
6 | AviSource              | avisource.AVISource |                                                                      |
7 |                        |                     |                                                                      |
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 +------------------------+---------------------+----------------------------------------------------------------------+