Stable release | 2.3.0[1]
/ May 17, 2023 |
---|---|
Repository | |
Written in | C/C++ |
Platform | Cross-platform |
Type | Framework |
License | GNU General Public License |
Website | frei0r |
frei0r /ˈfraɪ.ɔːr/ is a simple cross-platform framework for video effects. It provides filters, mixers and generators by means of minimalistic plugin API. The behaviour of the effects can be controlled from the host through simple parameters. The intent is to solve the recurring reimplementation or adaptation issue of standard video effects.
Frei0r is not meant as a generic API for all kinds of video applications. There is no support for the requirements of special application areas like non-linear editors (NLE), hardware accelerated shader effects, or high precision video processing. What frei0r does provide, besides a collection of usable video plugins, are C and C++ code reference implementations for over 100 different video manipulation algorithms, licensed under the GNU General Public License.
The frei0r API is not meant to be a competing standard to more ambitious efforts. The current implementation of frei0r is very lightweight, consisting of just a single C/C++ header file. Since its birth in 2004 frei0r became a de facto standard video plugin collection for several free and open source applications, as LADSPA did for audio plugins.
History
Frei0r is the result of a collective effort in coordination between several software developers meeting in the premises of the Bergen Center for Electronic Arts[2] in a festival called Piksel. Between 2003 and 2005 an attempt was made to find a common standard for video effect plugins to be used among various applications: Andraz Tori (Cinelerra community version), Daniel Fischer (Pakt/GStreamer), Denis Jaromil Rojo (FreeJ/Dyne), Gabriel "Salsaman" Finch (LiVES), Kentaro Fukuchi (EffecTV), Niels Elburg (VeeJay), Øyvind Kolås (GEGL/babl/GIMP), Tom Schouten (PDP/PureData), Artem Baguinski (V2_Lab), Georg Seidel, Martin Bayer and Phillip Promesberger (Gephex) all took part in the discussions.
The group first aimed at the realization of a comprehensive specification for dynamically loaded plugins named LiViDO (Linux Video Dynamic Objects) which then spawned two implementations: one being the minimalistic frei0r presented by the Gephex team as a humorous parody of LiViDO, and the other one being WEED[3] which offered more features for GUI integration and parameter handling.
Within the span of a few years, the minimalistic approach of frei0r has been widely adopted amongst many applications and become a de facto standard. Maintenance and further refinements were contributed by Carlo Prelz (MøB/BEK), Richard Spindler (Open Movie Editor), Jean-Sébastien Senécal (DRONE) and Dan Dennedy (MLT/Kdenlive).
Frei0r plugins are fully cross-platform, they are found in several Linux and BSD distributions, available for Mac OS X as part of the Fink[4] and MacPorts[5] projects and easily compiled on Windows platforms using Cmake and Cygwin.