**gst-openmax** 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. This project is a collaboration between [[Nokia|http://www.nokia.com]], [[NXP|http://www.nxp.com]], [[Collabora|http://www.collabora.co.uk]], [[STMicroelectronics|http://www.st.com]], [[Texas Instruments|http://www.ti.com]], and the open source community. ## What's the status? Many component wrappers have been developed for different OpenMAX IL implementations ### ti (OMAP-3430) Hardware-accelerated through DSP. * H.264 video encoder/decoder * H.263 video encoder/decoder * MPEG4 video encoder/decoder * WMV video decoder * JPEG image encoder ### Maemo Uses bellagio. * MP3 audio decoder * AAC audio encoder/decoder * G.711 audio encoder/decoder * G.719 audio encoder/decoder * iLBC audio encoder/decoder * AMR-NB audio encoder/decoder * AMR-WB audio encoder/decoder ### bellagio * MP3 audio decoder (libmad) * Vorbis audio decoder * MPEG4 video decoder (FFmpeg) * H.263 video decoder (FFmpeg) * Audio sink (ALSA... not maintained) We are missing: * OpenMAX IL facilities (tunneling, clock) ## How to get it gst-openmax is already distributed in many embedded platforms, such as Angstrom and Maemo. If you need the source-code it's available just as any other GStreamer modules. * [[git repository|http://cgit.freedesktop.org/gstreamer/gst-openmax/]] ## How to try it It depends on your platform, but if want to try on x86 you can use Bellagio's implementation: ### omxil So, first install Bellagio's omxil from [[here|http://omxil.sourceforge.net/]], or [[direct link|http://downloads.sourceforge.net/omxil/libomxil-bellagio-0.9.1.tar.gz]]. Version 0.9.1 is recommended. Install as usual: [[!format txt """ ./configure --prefix="$HOME/omx" make make install """]] Register the components: [[!format txt """ $HOME/omx/bin/omxregister-bellagio -v """]] You'll get an output like this: [[!format txt """ Scanning directory /home/felipec/omx/lib/bellagio/ Scanning openMAX libary /home/felipec/omx/lib/bellagio/libomxvorbis.so Component OMX.st.audio_decoder.ogg.single registered Specific role OMX.st.audio_decoder.ogg.single registered 1 OpenMAX IL ST static components with 1 roles successfully 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 ### gst-openmax It's always better to get the latest code: [[!format txt """ git clone git://anongit.freedesktop.org/gstreamer/gst-openmax ./autogen.sh --noconfigure ./configure --prefix="$HOME/omx" make install """]] ### Running To actually use the plug-in: [[!format txt """ export GST_PLUGIN_PATH=$HOME/omx/lib/gstreamer-0.10 export LD_LIBRARY_PATH=$HOME/omx/lib """]] You'll be able to play audio and video with MP3, Vorbis, MPEG4, H.264, or H.263 content using Bellagio's components. For MP3 you'll also need the mp3parse element, otherwise you'll get: [[!format txt """ GStreamer-CRITICAL **: gst_segment_clip: assertion `segment->format == format' failed """]] If you want to see what's happening: [[!format txt """ export GST_DEBUG=omx:4 """]] ## How to contribute We have a [[mailing list|https://lists.sourceforge.net/lists/listinfo/gstreamer-openmax]]. You can [[subscribe|https://lists.sourceforge.net/lists/listinfo/gstreamer-openmax]], check the [[archives|http://sourceforge.net/mailarchive/forum.php?forum_name=gstreamer-openmax]] or send a direct e-mail to [[gstreamer-openmax@lists.sourceforge.net|mailto:gstreamer-openmax@lists.sourceforge.net]]. If you find any issues please fill a bug report [[here|http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer&component=gst-openmax]]. ## Roadmap * Merge tunneling branch * Documentation * More unit tests * First real release ## News * [[gst-openmax on the beagleboard (video)|http://www.youtube.com/watch?v=EH4ZSpehNQw]] * [[Maemo News - GstOpenMAX kicked off|http://maemo.org/news/view/1183357408.html]] ## External Links * [[OpenMAX's homepage|http://www.khronos.org/openmax/]] * [[Bellagio's homepage|http://omxil.sourceforge.net/]]