Main Page | Modules | Data Structures | File List | Data Fields | Globals

LiViDO :: Linux Video Dynamic Objects

1.0

Introduction

During the last couple of years we have been observing a blooming development in the field of realtime video software for the GNU/Linux platform. An increasing number of artists and other users are exploring the possibilities of several unique software packages for video editing, mixing and effect processing. The question arises here how we (the developers) balance the growing number of features against complexity, (re)usability and manageability of larger scale software design.

As users, we choose our applications because their features fit our purposes , as developers we serve the needs of the users who want an increasing number of features added to our applications while we should focus on flexible core engines and program frameworks.

An elegant solution to this problem is to provide the Free Software community with a flexible architecture that allows a shared pool of video plugins. This brings a number of benefits:

LiViDO design is based upon extensive research that has already gone into applications such as PD/PDP , FreeJ, EffecTV , Veejay and other video software applications.

The LiViDO architects will provide a lightweight, flexible API based upon these established technologies. Currently, they are in the process of creating a plug-in architecture useful for video editing -mixing, and modular effect processing.

The API will deliberately be kept short and simple; to achieve compatibility with a wide range of promising GNU/Linux video software packages it is required to find the greatest common divisor in their logical behaviour.

The API attempts to give programmers the ability to write simple plugin video processors in C/C++ and link them dynamically with a range of software packages (called hosts). It should be possible for any host and any plugin to communicate through this interface.

Plugins will reside in shared object files (*.so in GNU/Linux), suitable for dynamic linking by dlopen() and family. The file will provide a number of plugin types that can be used to instantiate actual plugins so they can be connected to perform these tasks.

Links to user groups and software supporting the LiViDO specification:

License

LiViDO is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

LiViDO is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this source code; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

LiViDO is developed by:

Denis "Jaromil" Rojo - http://freej.dyne.org

Niels Elburg - http://veejay.sf.net

Gabriel "Salsaman" Finch - http://lives.sourceforge.net

Tom Schouten - http://zwizwa.fartit.com

Andraz Tori - http://cvs.cinelerra.org

Silvano "Kysucix" Galliani - http://freej.dyne.org

reviewed with suggestions and contributions from:

Kentaro Fukuchi - http://megaui.net/fukuchi

Jun Lio - http://www.malib.net

Carlo Prelz - http://www2.fluido.as:8080


Generated on Wed Apr 6 20:21:07 2005 for LiViDO by doxygen 1.3.4