| News Archive
|| Bellagio 0.9.3 is the current version
The OpenMAX IL Bellagio package ver. 0.9.3 has been released
The main additions to this delivery are:
- A support for dynamic loading of components
- An enhanced Resource Manager mechanism
- The support for Android compilation (Froyo)
- Several bug fixes and added the support fro 64 bits
The OpenMAX IL Bellagio package ver. 0.9.2.1 has been released
The main addition to this delivery is:
- An optional support to components quality levels has been added.
The global setting of quality level for a component has been added.
Optionally a component can provide support for Set/GetQualityLevel functions.
These functions will globally set a group of Parameters that
represents a certain quality level. If this setting causes a change
in any output port parameter the PortSettingsChange event is generated.
The quality levels allow the IL Client to handle the resource usage of
components given a quality of service policy.
This change is not part of the OpenMAX standard and it is an optional
feature of the Bellagio components. The old components are still
compatible with new version of Bellagio.
Bellagio 0.9.2 released
A new package of Bellagio has been released. The major change is the split between the core and the components.
The core and few simple components are released togheter. This package is not dependednt by any multimedia library. The other components are released as separate packages and are loaded dynamically as plugins.
For the developers that are used to the old version the sample applications can be found in the separate package containing the examples
For further details the download section is available.
The other additions to this delivery are:
- Upgraded the version of OpenMAX header files to version 1.1.2
- A simple internal resource manager capable to put the components in Wait For Resources if needed.
- Added simple content pipe support
- Improved the extension mechanism for proprietary indexes and structures
- Added support for debian package creation
- Added return error support for queue functions
Bellagio 0.9.1.1 with a simple resource management support released
A new package of Bellagio has been released. In this version a quality levels support has been added to the OpenMAX components.
These quality levels are used by a Quality of Service Manager that is used to manage the resources related to OpenMAX components chains.
The released package is composed by four parts:
In the Bellagio package two simple test application are provided. They show the usage of the new capabilities of the components and core and the usage of the QoS manager.
The Resource Manager usage is hide by the QoS manager.
- A simple OpenKODE layer used to virtualize all the calls inside Bellagio components and core for memory allocation, thread handling, mutexes and semaphores.
- The OpenMAX Bellagio components and core modified to support quality levels for components
- A Quality of Service Manager, that reserves isf available the resources needed by a given group of components
- A Resource Manager, that using the cgroups in Linux, grants an amount of memory and CPU for the multimedia OpenMAX process
Bellagio 0.9.1 released
The Bellagio 0.9.1 has ben released.
The main additions are:
- A new jpeg encoder/decoder
- Added omx_base_image_port base class
Updated Bellagio roadmap
New components to be added in the next releases:
Architectural upgrades to be applied to the Bellagio framework:
- A Jpeg decoder/encoder
- A video scheduler for uncompressed video streams to support the Audio/Video synchronization
- A video sink based on directFB, capable to display on /dev/fb or on a different graphic layer (SDL) when an X-server is running
- An audio encoder
- An audio/video merger to produce compressed 3gp files
Planned future releases
- A resource manager will be added to the Bellagio package
- It will handle a generic set of resources
- It will run on PC linux
[2008-09-30] The 0.9.1 will contain minor changes
[2008-12-31] The 0.9.2 will contain a first version of the resource manager
- The changes are actual in the subversion trunk. This release is almost ready
- Several new components will be added
Bellagio 0.9.0 released
The main additions to this delivery are:
- The symbian version of bellagio with a new component loader, several components and all the needed infrastructure has been added
- Audio video synchronization support, with the addition of a new Clock component
- Enhancement in the build system
- New naming for the bellagio library. Now it is named libomxil-bellagio
Bellagio 0.3.4 released
Bellagio OpenMAX Integration Layer 1.1.1
This package includes the libomxil shared library together with the following OpenMAX components (built as separate shared objects and loaded at runtime):
- Alsa sink component
- Alsa source component
- Audio decoder based on ffmpeg/vorbis libraries that supports the following audio formats:
- AAC (only RAW AAC format supported)
- Audio decoder based on mad library that supports the MP3 audio format
- Audio decoder based on vorbis that supports the OGG audio format
- Audio volume control
- Audio file reader for ffmpeg components
- Audio mixer components
- Video decoder decoding input mpeg4 or h264 format file (in h264 format, there is no interlacing support) to produce output .yuv file
- Video color converter component converting from decoded output .yuv file to produce .rgb file
- Video sink component which uses the frame buffer to display the color converter component output .rgb file
- Video capture component which captures video frame using a video camera and stores into a file or display using video sink
- Video encoder encoding input YUV format file or video captured using camera component in mpeg4 video format to produce output .m4v file
- 3gp parser component. Parses input file/stream for audio and video output, which is then fed to audio and video decoder component for decoding
Bellagio 0.3.3 released
The OpenMAX IL Bellagio package ver. 0.3.3 has been released.
The main additions to this delivery are:
- The OpenMAX headers have been updated to version 1.1.1
- Added simple UseEGLImage in video color converter
- The automake system has been updated
- The component loader interface has been updated:
- The function DestroyComponent has been added
- The loader functions have a new parameter for the self reference
- A new audio format has been added. Now the audio decoder
component is capable to decode the AAC audio streams.
- Added optional installation of Bellagio internal header files for new
components development outside Bellagio source tree.
The configure option is --enable-install-devel
Updated Bellagio roadmap
The following features are planned for the near future:
- Addition of video source components (camera)
- Porting to Symbian OS
- GStreamer plugins with OpenMAX IL support will no longer be maintained, as the official package will migrate to freedesktop.org
- Addition of experimental EGL support for video and graphics merging
- Addition of experimental support for remotized components through UPnP
- Regression testing system for subsequent Bellagio deliveries
Bellagio 0.3.2 released
The main differences from 0.3.1 to 0.3.2 are:
- Improved code style
- Added SetHeader functionality for many parameters
- Removed destructor from function pointers exposed to ST static loader
- Removed empty functions from final components
- Removed unnecessary library dependencies
- Enhanced test applications
Bellagio 0.3.1 released
This new Bellagio release supports OpenMAX IL 1.1 API, or at least part of it.
Now components may support multiple roles (e.g. an audio decoder supporting MP3 and OGG formats).
An Il client may query the IL core for components supporting a specific role.
Also, the IL core may be statically linked to different component loaders, one for each family of components.
This release includes:
- An IL 1.1 core with a static component loader
- A standard audio decoder with MP3 and OGG roles (based on libavcodec)
- A standard audio sink based on ALSA
- A audio file reader (based on libavformat)
- An audio volume control effect
- A video decoder with MP4 and H.264 roles (based on libavcodec)
- A video sink that uses the framebuffer
- Test applications for audio and video, including tunneling
The next Bellagio releases are scheduled as follows:
- January 2007: libomxil 0.4 will be the final release for OpenMAX Integration Layer v.1.0 API.
- January 2007: libomxil will support the Khronos OpenMAX Integration Layer API v.1.1, as soon as it is published.
- March 2007: libomxil will run on Symbian OS.
GStreamer plugins now ready
A new GStreamer package will be available in the downloads section in the coming days.
It contains an MP3 decoder plugin, a volume control plugin and an ALSA sink plugin.
At the same time a minor bug fixing release 0.2.1 of libomxil will also be released.
GStreamer plugins with Integration Layer API support soon available
A new package will soon be added to Bellagio: gstilplugins.
This is a set of GStreamer plugins that use the Bellagio implementation of the Khronos Integration Layer v.1.0 API.
This package will show an example of how IL can be leveraged by the GStreamer 0.10 multimedia framework.
Two plugins will be initially part of the package: ILAlsaSink and ILMp3Dec, which use the corresponding OMX components found in Bellagio 0.2.
ILAlsaSink derives from an ILbasesink class, which specializes the standard Gstreamer GstBaseSink class, part of GStreamer core libraries.
Similarly, ILMp3Dec extends an ILbasefilter class, which derives from GstBaseTransform class.
By using ILbasesink and ILbasefilter classes, new IL-enabled Gstreamer plugins can easily be developed.
The gstilplugins package is expected to be available early September.
OMX Component writers' guide now available
A guide is now available to explain how to write a new OMX component based on Bellagio 0.2.
The guide can be downloaded here in pdf format.
Bellagio 0.2 released
The Bellagio 0.2 release makes developing new OpenMAX components easier.
The components included in this release pass the official OpenMAX conformance tests.
The MP3 decoder and ALSA sink components already present in release 0.1 have been rewritten according to the new component architecture.
A volume control component has been added as well.
Based on this release, a set of new components will be made available over time.
New OMX component architecture
The OpenMAX component architecture is going through a restyling in order to reduce code duplication and overall memory footprint.
An OMX base class is being defined that contains the common methods that an OpenMAX component should support.
Based on this class, a first level of hierarchy is defined, where components are specialized according to the number of ports.
In order to develop a new component, these classes can be specialized by overriding the implementation of a few methods, depending on the component type.
Using this new architecture, a volume control component has been develop in less than 100 lines.
At the time being we are still using C, although it is recognized that C++ would make life simpler.