Bellagio OpenMAX for Linux

Khronos announces Bellagio OpenMAX IL Open Source Sample Implementation

Enables Linux software developers and ISVs to develop their own OpenMAX components including codecs, video I/O, and audio mixers

27nd June, 2006 - San Francisco, California - The Khronos™ Group announced that STMicroelectronics has released v0.2 of their open source sample implementation of the OpenMAX IL specification for Linux. The OpenMAX IL API defines a standardized media component interface to enable developers and platform providers to integrate and communicate with multimedia codecs implemented in hardware or software. The Bellagio OpenMAX IL sample implementation is for Linux on x86 PC and on ARM platforms.

Bellagio enables Linux software developers and ISVs to familiarize themselves with OpenMAX IL API and to develop their own OpenMAX components. They can then use this experience to create components for a variety of hardware platforms. Developers are recommended to have experience with C, especially in multithreaded embedded environments based on Linux.

The new v0.2 release of Bellagio includes the libomxil shared library together with the OpenMAX IL core, an MP3 decoder software component, a basic volume control and one audio sink software component (ALSA sink). All of these components comply with the OpenMAX base and interoperability profiles, i.e. they can be tunnelled together. Bellagio is available for download on sourceforge and includes sample code (http://omxil.sourceforge.net/).

This new release was specifically designed to make it easier for developers to create new OpenMAX components. Examples of OpenMAX components that can be developed based on Bellagio include codecs (e.g. Voice over IP,  video codecs), audio mixers and audio effects components, and video I/O components (e.g. Video4Linux).  .

STMicroelectronics is creating a set of GStreamer plug-ins that use Bellagio OpenMAX IL components. GStreamer is a multimedia framework for Linux for developing a range of multimedia components applications ranging from simple Ogg/Vorbis playback to audio mixing and non-linear video editing. Linux-based devices such as the Nokia 770 Internet Tablet use GStreamer for multimedia support. The Bellagio GStreamer plug-ins will enable any applications based on GStreamer to leverage multimedia acceleration for free!

“Simply using a GStreamer plug-ins with OpenMAX IL support, will give applications access to multimedia acceleration. This is the beauty of the Khronos OpenMAX IL approach.” said Diego Melpignano, lead development engineer from STMicroelectronics.

In addition to working with existing multimedia frameworks like GStreamer,  Bellagio OpenMAX components can also be used directly by an application. STMicroelectronics for example, has a prototype running on Nomadik™ System-on-Chip of a Voice over IP client using OpenMAX components. When hardware acceleration is added, there will be considerable power savings for the platform.

“STMicroelectronics is pleased to contribute to this open source implementation, and to help broaden the awareness of the OpenMAX IL API as a standard to control multimedia components in future terminals,” said Amedeo Zuccaro, Director of the Secure Entertainment and Multimedia Platform, Advanced System Technology, STMicroelectronics.

OpenMAX IL (Integration Layer) is the first of three layers of the overall OpenMAX royalty-free open standard from the Khronos Group that will provide comprehensive streaming media codec and application portability by enabling accelerated multimedia components to be developed, integrated and programmed across multiple operating systems and silicon platforms. OpenMAX DL (Development Layer)  contains a comprehensive set of audio, video and imaging functions. OpenMAX AL (Application Layer) defines a set of APIs providing a standardized interface between an application and multimedia middleware where multimedia middleware provides the services needed to perform expected API functionality.

About Khronos
The Khronos Group is a member-funded industry consortium focused on the creation of open standards such as OpenKODE™, OpenGL® ES, OpenMAX™, OpenVG™, OpenSL ES™, OpenML™ and COLLADA™ to enable the authoring and acceleration of dynamic media on a wide variety of platforms and devices. All Khronos members are able to contribute to the development of Khronos specifications, are empowered to vote at various stages before public deployment, and are able to accelerate the delivery of their cutting-edge media platforms and applications through early access to specification drafts and conformance tests. Please go to www.khronos.org for more information.

###

Khronos, OpenVG, OpenMAX and OpenSL ES are trademarks of the Khronos Group Inc. COLLADA is a trademark of Sony Computer Entertainment Inc. used by permission by Khronos. All other product names, trademarks, and/or company names are used solely for identification and belong to their respective owners.

COLLADA gains momentum

Google Earth and Sketchup add to the list of supporting applications

22nd June, 2006 - San Francisco, California - The Khronos™ Group announced that new version of KML, the geographic markup language for Google Earth, supports the COLLADA digital asset exchange schema.  COLLADA enables Google Earth to take advantage of 3D models with enhanced geometry and support for textures for greater realism. Simply create a 3D model in any popular digital content creation software such as Maya, SOFTIMAGE|XSI, 3ds Max, Blender or Sketchup, add in photorealistic textures, export the model in COLLADA 1.4 format, and then import or drag and drop them into Google Earth.

COLLADA is an open standard XML-based digital asset exchange schema designed to transport data between 3D content creation tools and applications. It is specifically designed to let different content tools operate together in the same workflow and create efficient production pipelines. For applications that take advantage of COLLADA technology, this means you can move content freely from one application, add in additional features in another (e.g. shaders, physics, polygon optimization), and then pass the COLLADA document on to the next in a tool chain sequence. COLLADA is primarily targeted for the exchange of assets in a game pipeline, but it can be used in any area of 3D content creation that requires an intermediate format and good tool interoperability. By enabling a better tool chain, more tools are available to content developers. This in turn makes it easier to create better content at lower cost. 

Google Earth is the first mainstream real-time 3D application and it is driving a new way of using the Internet based on 3D visualization, community and geospatial location. In selecting COLLADA as the format for geometry and textures, Google Earth can now be populated with high quality 3D content from popular content creation tools. After only a few days since the KML 2.1 announcement the Google 3D Warehouse is already rich with textured COLLADA content from 3D modelers and game content creators.  Look for models with textures which are marked as downloadable by Google Earth V4.

COLLADA supported in most popular 3D content creation tools

The COLLADA 1.4 schema is already supported in many popular 3D content creation applications as well as middleware and 3D applications. COLLADA 1.4 includes core features such as mesh geometry, skinning, morphing, animation and data validation as well as COLLADA FX for defining visual effects and COLLADA Physics for physics effects including rigid body dynamics, rag dolls, constraints and collision volumes.

SOFTIMAGE|XSI v.5.1 -  SOFTIMAGE|XSI is advanced animated character production software for game titles. The built-in COLLADA exporter and importer in XSI allow you to exchange 3D data with any digital content creation tool that supports COLLADA 1.4 including support for COLLADA FX shaders.

Maya using the free ColladaMaya plug-in Maya is an integrated 3D modeling, animation, effects and rendering solution used by film and video artists, game developers, and visualization professionals. The open source COLLADA plug-in for Maya supports importing/exporting Maya scenes using COLLADA 1.4.

3ds Max using the free ColladaMax plug-in - 3ds Max is a leading application for 3D animation for game development, design visualization, visual effects, and education. The open source COLLADA importer and exporter plug-in for 3ds Max supports all COLLADA 1.4 core features (e.g. animation and skinning) and a subset of ColladaFX.

Blender using the free ColladaBlender plug-in - Blender is a popular open source software for 3D modeling, animation, rendering, post-production, interactive creation and playback. This COLLADA plugin for blender is a script to import from and export to the Collada 1.4 format.

Sketchup 5 (beta) -  Sketchup is an easy-to-learn 3D modeling program whose few simple tools enable you to create 3D models with details and textures

FX Composer 2 (beta) -  FX Composer 2 provides a state-of-the-art integrated development environment for shader authoring in Cg and HLSL through COLLADA FX. (Currently available only to PLAYSTATION 3 developers.)

Houdini 8.1 (beta) - Houdini is advanced 3D animation and special effects software for use in film. The new v8.1 adds COLLADA import.

3D applications and middleware

Google Earth 4 (beta) - Google Earth offers a virtual globe of the planet which users can populate with maps, overlays, and 3D models. The new v4 supports import of textured COLLADA 3D models.

Unreal Engine 3 - Unreal Engine 3 is a complete game development framework for next-generation consoles and PC’s, providing the core technologies, content creation tools, and support infrastructure required by game developers. It is using COLLADA to transport content between DCC tools and the game engine tools.

Kynapse 4 - Kynapse is a middleware solution for large scale A.I. behavior simulation that lets non player characters move around in any 3D dynamic world, communicate and cooperate.  The new v4 supports COLLADA import.

Tool Developers can add COLLADA support to their applications

Implementing COLLADA support in a 3D modeling tool is a straight forward process and can be handled in one of several ways:

  • Use the open source COLLADA-DOM to enable load, save and modification in place of the data. COLLADA DOM uses LibXML to parse the COLLADA documents. The XML parser is a plug-in to COLLADA DOM, so you can replace it with your favorite parser. FX Composer 2.0 and Google Earth are using COLLADA-DOM as a loader
  • Use the open source FCOLLADA C++ library to create their own tools for import/export. FCOLLADA is used for the ColladaMax and ColladaMaya plug-ins.
  • Parse the XML themselves or they can use an automatic API generation tool for the COLLADA schema, such as for C# in Visual Studio 2005. SOFTIMAGE|XSI and BlenderCollada directly parse the XML.
  • Use the COLLADA RT sample code that reads in a COLLADA document via the COLLADA-DOM and converts the structures into a form that is easier to use for a rendering / game engine purposes.  It includes static libraries so developers can use COLLADA RT as an import API.

Learning more about COLLADA

During SIGGRAPH ‘06, AK Peters will be releasing the first book about COLLADA:  “COLLADA: Sailing the Gulf of 3D Digital Content Creation”.  This book explains in detail how to use the COLLADA technology in a project utilizing 3D assets, and ultimately how to create an effective content creation pipeline for the most complex development. It was created as a guide to the COLLADA 1.4 specification with the goal of providing readers with all the information that will help them understand the concepts, learn how the technology is already implemented by various tools, and provide guidance for using COLLADA in their applications.

The COLLADA specification, documentation, and sample code is available on the Khronos.org website at http://www.khronos.org/collada.

More About COLLADA
COLLADA is an intermediate format whose primary goal is to simplify the workflow between the different tools and the game engine. As an intermediate format, a COLLADA file can be broken into pieces that can be individually processed by the best tool. For example one COLLADA document may only contain physics data. The shader data may be contained in another COLLADA document. COLLADA is designed so that data can be split the way the user needs it for its particular tool chain. The data is even organized in libraries of specific type to help with this process (ie: shader and physics data is not mixed in COLLADA so it is easy to separate).  You can simply merge the shaders and the physics later on in your pipeline or in the final applications.

About Khronos
The Khronos Group is a member-funded industry consortium focused on the creation of open standards such as OpenKODE™, OpenGL® ES, OpenMAX™, OpenVG™, OpenSL ES™, OpenML™ and COLLADA™ to enable the authoring and acceleration of dynamic media on a wide variety of platforms and devices. All Khronos members are able to contribute to the development of Khronos specifications, are empowered to vote at various stages before public deployment, and are able to accelerate the delivery of their cutting-edge media platforms and applications through early access to specification drafts and conformance tests. Please go to www.khronos.org for more information.

###

Khronos, OpenVG, OpenMAX and OpenSL ES are trademarks of the Khronos Group Inc. COLLADA is a trademark of Sony Computer Entertainment Inc. used by permission by Khronos. Google Earth and Sketchup are registered trademarks of Google, Inc. Softimage is a registered trademark of Avid Technology, Inc. 3ds Max and Maya are registered trademarks of Autodesk, Inc. Houdini is a registered trademark of Side Effects Software. Unreal is a registered trademark of Epic Games. PlayStation is a registered trademark of Sony Computer Entertainment Inc. All other product names, trademarks, and/or company names are used solely for identification and belong to their respective owners.

safety