FreeFrame video effects plugin

Free Frame is an opensource video effects plugin architecture originally developed to allow sharing of realtime video effects plugins between VJ software like VJamm or Resolume. FreeFrame provides a framework for developing video effects plugins and hosts on Windows, Linux and Mac OSX. Sample code is provided which compiles in Delphi, MSVC, GCC, Project Builder and Kylix.

FreeFrame plugins are initially intended for use in VJ (‚Visual Jockey‘) applications. The project was initiated by developers from VJamm, Resolume and EffecTV. Up to now there are over 200 FreeFrame plugins available from a diverse range of developers. Some great plugins have been written, and many FreeFrame plugins are provided with source code so that others can see exactly how real time video effects are written. Freeframe support is available for a range of video applications as it matches the following criteria:

Open – i.e.. not governed by a commercial organisation. We want to bring together a large number of media applications here, so independence of the format is important for developers to be confident in putting in the work needed to support the format. Openness should also encourage plugin developers in their involvement. We have been very happy with the enthusiasm

CrossPlatform & CrossCompiler – Many formats use object interfaces and other compiler / platform specific interfaces which prevent those formats from reaching the widest audience, and thus stifle collaboration between developers.

Standardised – The plugin system features heavily standardised interface structures designed to facilitate the implementation of the standard in the widest possible variety of applications. eg. standard ieee 32bit floats running from 0-1 for the plugins parameters

Technical independence – Many of the plugin formats we looked at were only really designed for use with their native host app. FreeFrame intends to address the many considerations of technical independence of the plugin .dll/.so from the host app that are required for a robust format suitable for a wide range of existing host applications.

In 2013 there are two FreeFrame versions: FreeFrame 1.0 („FF“/Legacy/FFCPU – CPU Processing) and FreeFramedGL („FFGL“/OpenGL Based FreeFrame 1.5/FFGPU – GPU Processing). FreeFrame 1.5 includes extensions to FreeFrame 1.0 that enable real time rendering of stunning graphics and video effects with OpenGL compatible graphics cards („GPUs“). Thanks to the enormous graphics processing power in todays‘ GPUs, FreeFrame 1.5 plugins using OpenGL run at much higher resolutions and frame rates than older FreeFrame 1.0 plugins. With OpenGLs‘ 3D functions and pixel shader programs, many new and exciting visual effects are possible and we are excited to see what plugin developers will create.

FreeFrame 1.5 also includes a timing function that enables hosts and plugins to reliably render time-dependent visual effects like particle systems and physical simulations. Whether you are running in real time at 60 frames per second or rendering a 25fps video to your hard drive, the new timing function ensures that you’ll get accurate and predictable results.

For more information on FreeFrame check the FF-site at
or have a look at some video demos made with FreeFrame at Youtube: