AviSynth

AviSynth is a frameserver program for Microsoft Windows, Linux and macOS initially developed by Ben Rudiak-Gould, Edwin van Eggelen, Klaus Post, Richard Berg and Ian Brabham in May 2000[1] and later picked up and maintained by the open source community which is still active nowadays.

Filter capabilities include cropping, deinterlacing, inverse telecine, working with still images, doing basic color grading, reducing video noise, and many other things.

AviSynth also performs traditional video editing tasks like cutting, trimming and re-sequencing segments.

It lacks some procedural programming control structures,[5] but it contains many features familiar to programmers, including variables, distinct datatypes, conditionals, and complex expressions.

Avisynth uses syntactic sugar that makes simple scripts far easier to write: an implicit variable called Last.

ReduceBy2 divides the vertical and horizontal size of the video in half, and GreyScale removes all color information.

AviSynth filters work in many RGB and YUV color spaces to allow all kinds of video input and output.

Adding improvements such as an abstracted color space model, in which new color spaces (including two with 45-bit depth) could be supported through a plug-in mechanism, better cache management for better performance, and using Ruby rather than the homegrown language employed in current versions.

[9] AviSynth 3.0 was to be available for other operating systems than Windows, instead relying on GStreamer, extending support to platforms such as Linux, Mac OS X and BSD.

[9][10] AviSynth+ is a fork of the official AviSynth 2.xx, introducing long-sought features such as 64-bit support, multithreading, deep color spaces, support for recent compilers, new scripting constructs (new control-flow constructs such as loops), and increased performance in many areas.

Avs2YUV is a Windows command line program that is run under Wine and renders the output of an AviSynth script to stdout that is then piped to FFmpeg.