[gst-devel] TI OMAP DSP support

Josep Torra Valles j.torra at telefonica.net
Wed Jan 16 23:37:57 CET 2008

First I think that you should get more knowledge about the N8x0
architecture and the OMAP SoC in order to be able to understand the
scenario for your project.

> > That would be a bit naive. The amr11 that is on the
> > TI OMAP2420 has vector
> > operations and you can only get good performance if
> > you can make use of them.
> ffmpeg and xvid are available as plug-ins for
> GStreamer and presumably work on Maemo 2008. What I
> meant is that they presumably use ARM instructions.
> The point is whether they ought to be modified to make
> use of the DSP part of OMAP2420 to improve
> performance.

If just crosscompile you will have something working, but it doesn't
mean that the performance will be enough to get VGA at 30 fps.
The ARM6 core have a set of media instructions that can be used to
accelerate the decoding process, it's like mmx on x86, you need to write
assembly code in order to take advantage of it.  

> > > 
> > > Can you tell me what performance to expect? I have
> > > previously been told that even the N810 can only
> > > support VGA at 20 fps even though TI says their
> > OMAP
> > > 2420 can support 30fps.
> > 
> > TI says many things. They need to sell their chips,
> Again, the point is the difference in performance with
> / without the DSP part of OMAP 2420. TI says that if
> you use the DSP part you can get 30fps. If the current
> implementations of media players do not use the DSP
> part and only ARM, what is the performance?
> I would be surprised if there is no software that uses
> such a powerful processing element for media playback.

The OMAP solution provide an LCD controller/video frame buffer but
unfortunately it can't drive the screen of 800x480 pixels used on the
N8x0, to solve this an external controller had to be added to the

In the TI article it's considered 0 memcpy and mem mapping in the video
framebuffer for the ARM and DSP cores, this is not possible in the nokia
device, 1 memcpy needs to be done to the external framebuffer and this
will limit (bus speed) the performance and in consequence the  video
size and fps that can be played on the device.

I've been reading the capabilities of the DSP some time ago and aren't
as impressive as you think.

I also wrote some assembly to accelerate video decoding on ARM5e and
ARM6 cores and I think that probably on ARM6(400 MHz) you can achieve
more video decoding speed than using the DSP(133 MHz).

More information about the gstreamer-devel mailing list