The OpenLibraries were created to support the Jahshaka Project, a collaborative effort to develop an open source, real-time editing and visual effects application, by providing it with a solid, multimedia framework. The libraries have a unified plugin architecture and can be used for the development of nonlinear editing applications, 2D and 3D compositing applications, 2D and 3D players, and image processing applications. Core modules comprise asset management, image management, 3D object management, media management, image processing, network management and plugin development.
“OpenLibraries offers a core set of libraries and an asset system that is easy to use,” said Gonçalo de Carvalho, Lead Developer of Open Libraries. “Although it is new technology, the architecture has been established for nearly two years and was developed from the start as open source.”
The alpha version includes working implementations of the libraries’ object, media and image modules. Additionally, the libraries’ plugin module features a stable architecture for feature abstraction and development. Other key features include support for high-dynamic range images and 3D. The media module includes support for media and image sequence playback, with and without cache.
OpenLibraries is the technology behind a professional-quality player called Jahplayer. “Our goal is to create a set of libraries with a totally free architecture,” said Gonçalo de Carvalho, lead developer of OpenLibraries. “It will ultimately be a robust, professional-grade, full-featured, open-source toolkit rivaling anything that is available commercially.”
· Same feature set across Linux, Windows and OSX
· Cross-platform timer support
· Unified plugin interface across all libraries
· Plugins are loaded on demand
· Plugins meta-description in XML (merit of each plugin is user-based)
· Global registry for plugins.
· Query-based plugin discovery (sort by type, merit, mime type)
· Color conversions from YCbCr spaces to RGB (GPU and CPU-based)
· Deinterlacing support (GPU and CPU-based)
· Tone map conversion
· Video-aware image class
· Image format support (makes available of existing OS libraries,
e.g. GdiPlus or QuickTime). TGA, JPG, PNG, TIFF, BMP, DDS, SGI, QuickTime.
· RLE encoding aware when needed
· HDR image support (ILM's OpenEXR and Greg Wards HDR)
· Image sequence support with caching
· Histograms (GPU and CPU-based)
· Support for video and audio (MPG, AVI, MOV, MP3 and others)
· Several media players available to demonstrate existing functionality.
· 3D format support (X3D, OBJ, 3DS, TSTO, COLLADA)
· Scene graph API with GLSL support
· Initial fixed function pipeline appearance converters to GLSL or Cg
· Video and audio catagorization
· Media library"