[Ffmpeg-devel] [PATCH] fix mpegaudiodec on ARM and benchmark

Siarhei Siamashka siarhei.siamashka
Mon Sep 18 08:19:54 CEST 2006


On Thursday 14 September 2006 11:50, Guillaume POIRIER wrote:

[...]

> It's just that I thought that all recent ARM (such as the on on
> Nokia770) supported iwmmx instructions.
>
> Thanks for clarifying this.

IWMMX is an extension introduced by Intel and it is only used in Inter
processors. Though the next generations of ARM processors (starting from
armv6) have its own SIMD intstruction set added, not compatible with IWMMX 
of course :) 

> BTW, in your own experience, is it better (in terms of being able to
> extract all the computing juice out of the transistors) to have a
> CPU+DSP setup or a CPU that supports SIMD?

As for transistors and other hardware stuff, I'm not proficient here at all :)

As for software part, I did not even try to develop anything for DSP core in
Nokia 770. But there are reports that DSP core (C55x) is an unusual beast 
with 16-bit char type and problems addressing large buffers of memory (16-bit
addressing?). Also it is not supported by gcc but uses proprietary toolchain
(it can be freely downloaded though).

> I bet that for a smartphone (such as 770, right?), there's no option
> besides having a dedicated DSP onboard for all the GSM stuff...
> whereas for a PDA, a CPU + SIMD seems to be quite useful...
>
> What do you think about it?

Well, first Nokia 770 is not a smartphone, it does not have GSM support at
all. It is just a small computer with a high resolution 800x480 touchscreen
and ARM cpu running linux: http://en.wikipedia.org/wiki/Nokia_770

As for the presence of DSP core, probably Nokia manufactured this device from
the same components that it normally uses for phones :)

In some ways N770 is a competitor for UMPC: http://en.wikipedia.org/wiki/UMPC
But UMPC have x86 processor, are much more hefty, have worse battery life and 
are running windows.

Some say that Nokia 770 is slow. But if you analyze the reports, reviewers
usually pay attention to user interface responsiveness and video playback
performance. And the built-in video player (it uses DSP core by the way) 
currently has quite poor performance, supports a limited set of media codecs
and has some restrictions for video resolution and other options. That's
something that can be fixed by optimizing ffmpeg :)

As for ARM vs. DSP for multimedia decoding, ARM in its 926ej-s core overview
(http://www.arm.com/pdfs/DVI0035B_926_PO.pdf) mentions that it is suitable
for multimedia and competes well with specialized dual cores colutions. So
probably both cores in Nokia 770 may be suitable for video decoding. I found
some information that C55x is capable of performing two 16-bit MAC operations
per clock (probably SIMD?), armv5te is capable of doing single 16-bit MAC per
clock, but it also can perform 16-bit * 32-bit multiplies fast.




More information about the ffmpeg-devel mailing list