BeagleBoard/gst-openmax

From eLinux.org
< BeagleBoard
Revision as of 02:08, 22 June 2010 by Ceyusa (talk | contribs) (fix tag label)
Jump to: navigation, search

This article explains how to use TI's OpenMAX-IL with GStreamer (e.g. on BeagleBoard). As the TI's OMXIL is hardware accelerated by DSP, you need to have the DSP properly set up following BeagleBoard/DSP_Howto.

Setup

OpenMAX IL

The easiest way to use the DSP capabilities is through the OpenMAX IL API, but in order to compile TI's implementation a special DSP library is required.

libdspbridge

libdspbridge is a library which wraps up the ioctl calls to the dspbridge kernel driver. Originally it is in the userspace-dspbridge repository. But it is bloated and its build process is over-complicated. That is why we have started a slimmed version of it.

git clone git://gitorious.org/vjaquez-beagleboard/libbridge.git
cd libbridge
git co -b mybranch 23.3.3
make DESTDIR=/media/rootfs install

libomxil-ti

The original distribution of the TI's OpenMAX IL is in its gforge site. Nevertheless, its build process is overcomplicated. For that reason we started a repository which simplifies the build machinery, and also we are targeting a general code cleanup.

git clone git://gitorious.org/vjaquez-beagleboard/ti-omxil.git
cd ti-omxil
git co -b my-branch v3.28-2
make DBAPI_CFLAGS=-I/media/rootfs/usr/include/dspbridge \
     DBAPI_LIBS=-L/media/rootfs/usr/lib DESTDIR=/media/rootfs install

gst-openmax

You would need to compile gst-openmax inside scratchbox:

git clone git://github.com/felipec/gst-openmax.git
cd gst-openmax
git checkout -b omap origin/omap
./autogen.sh --noconfigure
./configure --prefix=/usr
make DESTDIR=rootfs install

Related stuff

In order to get the omapfb usable for video playback you need this kernel argument:

video=omapfb:vram:2M,vram:4M

And the GStreamer element:

git clone git://github.com/felipec/gst-omapfb.git
cd gst-omapfb
make DESTDIR=rootfs install

Running

You should be able to use the gst-openmax elements now:

gst-launch-0.10 filesrc location="foobar.avi" ! avidemux ! omx_mpeg4dec ! omapfbsink

See also