GithubHelp home page GithubHelp logo

cider-load-test / gst-openmax Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cymacs/gst-openmax

0.0 0.0 0.0 388 KB

GStreamer OpenMAX IL plug-in

Home Page: http://www.freedesktop.org/wiki/GstOpenMAX

License: GNU Lesser General Public License v2.1

gst-openmax's Introduction

= GstOpenMAX =

GstOpenMAX is a GStreamer plug-in that allows communication with OpenMAX IL
components.

OpenMAX IL is an industry standard that provides an abstraction layer for
computer graphics, video, and sound routines.

You'll need an OpenMAX IL implementation. Luckily STMicroelectronics has
provided an useful sample implementation in the Bellagio project which is Open
Source.

For more information check:
http://freedesktop.org/wiki/GstOpenMAX

== Why is it good? ==

The easiest way to see OpenMAX IL is to think about OpenGL. both standards are
controlled by the Khronos Group, both standards are open and royalty free.

In a similar way you can think of Bellagio/OpenMAX IL as Mesa/Open GL. They are
not official implementations, but they follow the standard.

There are many Open Source encoders/decoders, but they all have different
API's, so in order to use it you need to learn the API. In fact some projects
as FFmpeg constantly change their API, so it makes things difficult.

If you use Bellagio's omxil you don't have to worry about FFmpeg's API changes,
those are wrapped inside a standard API.

The standard has been reviewed by several parties including: Texas Instruments,
ARM, ATI Technologies, Beatnik, Broadcom, Emuzed, Fraunhofer, Freescale,
Infineon, Intel, Motorola, Nokia, NVIDIA, Philips, SKY MobileMedia, Samsung,
Sasken, Siemens, ST Microelectronics, and Symbian.

The gst-openmax project is a collaboration between Fluendo, Nokia,
STMicroelectronics, Texas Instruments and the Open Source community.

== What's bad? ==

Not all of the codecs are defined. For example Vorbis is defined, but not
Theora. Of course it could be added as an extension, but that API wouldn't be
set in stone

== How to build omxil ==

Download the source code from:

 * http://omxil.sourceforge.net/

Or directly from:

 * http://dl.sourceforge.net/sourceforge/omxil/libomxil-B-0.3.3.tar.gz

Install as usual:

 ./configure --prefix="$HOME/omx"
 make
 make install

Register the components:

 $HOME/omx/bin/omxregister -v

You'll get an output like this:

 Component OMX.st.volume.component registered
   Specific role OMX.st.volume.component registered
 Component OMX.st.audio_decoder.ogg.single registered
   Specific role OMX.st.audio_decoder.ogg.single registered
 Component OMX.st.alsa.alsasink registered
   Specific role OMX.st.alsa.alsasink registered
 Component OMX.st.audio_filereader registered
 Component OMX.st.audio_decoder registered
   Specific role OMX.st.audio_decoder.mp3 registered
   Specific role OMX.st.audio_decoder.ogg registered
   Specific role OMX.st.audio_decoder.aac registered
 Component OMX.st.video_decoder registered
   Specific role OMX.st.video_decoder.mpeg4 registered
   Specific role OMX.st.video_decoder.avc registered
 Component OMX.st.video_colorconv.ffmpeg registered
   Specific role OMX.st.video_colorconv.ffmpeg registered
 Component OMX.st.audio_decoder.mp3.mad registered
   Specific role OMX.st.audio_decoder.mp3.mad registered

  8 OpenMAX IL ST static components with 11 roles succesfully scanned

Make sure you have:

 * "OMX.st.audio_decoder.mp3.mad" for MP3 decoding
 * "OMX.st.audio_decoder.ogg.single" for Vorbis decoding
 * "OMX.st.video_decoder.mpeg4" for MPEG4 video decoding
 * "OMX.st.alsa.alsasink" for ALSA sound output

== How to build gst-openmax ==

If you are fetching it from CVS:

 ./autogen.sh --noconfigure

If you want to install it into your home directory:

 ./configure --prefix="$HOME/omx"

 make

Then as root (depending on your prefix):

 make install

== How to try it ==

 export GST_PLUGIN_PATH=$HOME/omx/lib/gstreamer-0.10
 export LD_LIBRARY_PATH=$HOME/omx/lib

You'll be able to play videos with MP3, Vorbis, MPEG-4, H.264 or H.263 content using Bellagio's components.

If you want to see what's happening:

 export GST_DEBUG=omx:4

== Links ==

 * http://omxil.sourceforge.net/
 * http://freedesktop.org/wiki/GstOpenMAX

gst-openmax's People

Contributors

felipec avatar frederikvernelen avatar ensonic avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.