To standardize the open max IL core, which can be used across different platform to access multimedia services provided by all different types of hw/sw components on Linaro.


OpenMAX Integration Layer (IL) is a standard API to access Multimedia Components on mobile platforms. It has been defined by the Khronos group. Bellagio is an opensource implementation of the OpenMAX IL API.

  • Bellagio core loads the s/w components present inside specific path.
  • Bellagio core also loads h/w components loaders(dynamic loaders) specified in the file(omxloaders). There can be more than one dynamic loaders present in file. This h/w components loader load the h/w specific components further.
  • Below Picture depicts Open source Bellagio Arch.


In Linaro, we want common core to be used across all platform for accessing multimedia capabilities.

  • To achieve this, Linaro has decided to use open source bellagio core.
  • Open source bellagio core is available at following link :
  • Some modification has been identified in open source bellagio core to make it more general for linaro usage.


  • Development platform based on ARM
  • Development platform is able to boot with Linaro kernel and rootfs
  • Gst-omx and gst-tools must be installed inside linaro rootfs


  • At present each vendor is using his own core to access multimedia services. Linaro will use one common core to access multimedia serviecs provided by all vendors.
  • Linaro has identified open source bellagio core as common core to access multimedia services.
  • Linaro has also identified changes in open source bellagio core to make it more suitable for Linaro.
    • At present opens source bellagio core loads s/w components statically and vendor specific h/w components through dynamic loaders specified in omxloader file. If h/w vendor does not want s/w components, he will have to remove the s/w component loading part from bellagio core code. By making s/w loader dynamic, he will have to just remove the s/w loader from directory.
    • By making S/W component loading mechanism dynamic in open source bellagio, it make bellagio core more general in nature.


  • Integrate standard open max IL bellagio core inside linaro to access multimedia services.
  • Support for all Vendor specific dynamic component loaders resides in system directory. omxloaders configuration file to be removed. So bellagio core will read the directory and loads all the dynamic loaders present in that directory. These loaders will further loads the components.
  • Vendor specific components to reside in vendor specific directories for e.g. /usr/lib/libsteens/components.
  • Modify the Open Max IL bellagio core in such a way that s/w components can also be loaded by s/w component loader similar to vendor specific dynamic loader.
  • Below picture depicts the modified open source bellagio core.


  • Development done by us acc. to this spec will be applied as a patch inside linaro.


  • gst-launch pipeline and validation suite(linaro development) will be used for testing the bellagio core
  • gst-omx will be used for resgistering components which will further use bellagio core


  • We will send our proposal to open source bellagio community and discuss with them regarding incorporation of these changes into their mainstream.
  • If they are allready working on these areas, we will contribute our ideas with them. So that duplicate effort can be reduced
  • Depending on community input related to these changes, further action will take place

WorkingGroups/Middleware/Multimedia/Specs/1105/StandardizeBellagioOmxCore (last modified 2010-11-29 09:25:06)