[FFmpeg-devel] DaVinci DSP optimizations

Ramiro Polla ramiro
Wed Apr 2 11:13:46 CEST 2008


Those that can access the GSoC applications have seen that I applied one
for DaVinci DSP optimizations.

I wrote it quickly on Sunday:
The Texas Instrument DaVinci technology combines a general purpose
processor (ARM) and, depending on the model, a few DSPs aimed at
complete multimedia processing on a single chip.
It is currently being used by some Set-Top Boxes and Personal Video
Recording devices.
Most devices depend on proprietary codec packages, and there is no
open-source library that can use all the power of the DaVinci chips.
This project aims at writing such optimizations to FFmpeg, and for
that possibly write an infrastructure that can be used by other recent
heterogeneous processor architectures, such as the PS3 CELL.

Neuros Technology uses DaVinci chips for their OSD2.0 devices.

I'll elaborate on the idea:
I don't have a PS3 nor have ever worked with one to know how it works
with its DSPs, but I have worked some time with DaVinci.

I have contacted the folks at Neuros Technology for more information
about helping out the possible mentor of such task with hardware or
more information on the chip itself.

One problem that they pointed out (and I think just might be the
show-stopper) is that there are yet no free compilers for the DM6446
DSP used by DaVinci.
There was a port of GCC for the earlier DSPs, but I don't know how
that's going with the new ones.

This is part of a reply I got from Joey Born and Ugo Riboni from
Neuros Technology:
JB: There is no free compiler for the c64x DSP, although there are a number
JB: of efforts to create one.  Your best bet is to try to get a loaner copy
JB: of the developer tools from TI.  We have arranged some of these and can
JB: probably help if you are selected.  You say DSP optimizations for which
JB: codec?

The problem is, the optimized code Ramiro will produce will be
compilable only with these loaner versions of the compiler, and
"normal" people can't use these, so they can't compile it.
Thus getting that code in ffmpeg source feels pretty weird to me.
Or is this not a concern ?

One alternative may be lobby TI to release some stripped
open-source-only version of that compiler, that can be freely used by
OSS projects only.
Just like they did with the c54x compiler.

This is a white paper about the Codec Engine interface TI supplies, and
that I would use as a basis in dsputils to manage the load on different

Ramiro Polla

More information about the ffmpeg-devel mailing list