BeagleBoard/gst-openmax
This article explains how to use TI's DSP with GStreamer (e.g. on BeagleBoard). You need to have the DSP properly set up following BeagleBoard/DSP_Howto.
Contents
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.
Warning: This project is a Work In Progress.
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
git clone git://gitorious.org/vjaquez-beagleboard/ti-omxil.git cd ti-omxil git co -b my-branch 3.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