Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: MP3 Decoding Speed/Resource requirements (Read 7381 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

MP3 Decoding Speed/Resource requirements

I'm looking for benchmarks for MP3 decoders which determines how resource demanding they are in MIPS, and hence determine how powerful a processor in a dap must be to handle real time decoding.

I found one link posted on this site:
http://www.clarkspur.com/app.htm

It suggests 26 MIPS on a 320cbr MP3 file, but I don't know the algorithm it uses.

Would I be able to find anywhere on the internet similar figures for various decoding algorithms? And failing actual figures, would it be a stretch to say different MP3 decoders have relatively similar performance?

T.I.A

MP3 Decoding Speed/Resource requirements

Reply #1
MIPS is a meaningless measure, in practise, because on a real CPU not all instructions are equally fast, and memory requirements are also important.

If a decoder requires 25MIPS, you might be disappointed to find out it does not run on your 40MIPS CPU at all.

More meaningful is for example: what RAM/ROM and Mhz requirement does an ARM7TDMI core need to decode a worst case 44.1kHz stereo stream at 16 bit precision. Hard numbers and comparisons are possible then.

If you have a more specific question, I can give a better answer

I believe it's fair to say that all fully optimized MP3 decoders will give quite similar performance. There is a certain amount of math that needs to be done for the decoding and our understanding of how to do that as fast as possible is relatively advanced by now.

MP3 Decoding Speed/Resource requirements

Reply #2
http://www.rockbox.org/twiki/bin/view/Main...manceComparison

The H10 results and the Ipod ones are most interesting, since they include most formats (but not the fastest decoders in general) for an ARM7TDMI core at 80MHz.

Its interesting to see the difference ASM optimization can make.  MAD on coldfire (lots of ASM) is tremendously faster then MAD on ARM, while WMA (which is almost all plain c) is little different.

MP3 Decoding Speed/Resource requirements

Reply #3
MIPS is a meaningless measure, in practise, because on a real CPU not all instructions are equally fast, and memory requirements are also important.

If a decoder requires 25MIPS, you might be disappointed to find out it does not run on your 40MIPS CPU at all.

More meaningful is for example: what RAM/ROM and Mhz requirement does an ARM7TDMI core need to decode a worst case 44.1kHz stereo stream at 16 bit precision. Hard numbers and comparisons are possible then.

If you have a more specific question, I can give a better answer

I believe it's fair to say that all fully optimized MP3 decoders will give quite similar performance. There is a certain amount of math that needs to be done for the decoding and our understanding of how to do that as fast as possible is relatively advanced by now.


Specifically, I'm trying to find out what speed in mhz a microprocessor of sparc v8 architecture with 64mb of onboard ddr ram would be sufficient to handle real time mp3 decoding using an open codec like LAME or MAD.

I suppose not every decoder has been benchmarked on every platform, so I probably would not be able to obtain any accurate numbers. So then, what's best platform independent measure of the resource requirements of an mp3 decoder? MIPS is what came to mind.

Of course it's all very rough. If a decoder requires 25 MIPS it might not run on a 40MIPS cpu, but I'd be pretty confident of it running on an 80 MIPS cpu.

So really I'm not after anything specific, just looking for examples of minimum speed requirements of various CPU's for MP3 decoding, like the link in my OP

http://www.rockbox.org/twiki/bin/view/Main...manceComparison

The H10 results and the Ipod ones are most interesting, since they include most formats (but not the fastest decoders in general) for an ARM7TDMI core at 80MHz.

Its interesting to see the difference ASM optimization can make.  MAD on coldfire (lots of ASM) is tremendously faster then MAD on ARM, while WMA (which is almost all plain c) is little different.


thanks.

it's interesting to see that an 80mhz CPU decodes 320cbr LAME MP3's in about 170% real time.

edit: does the 5g iPod actually have DUAL cpu's? does this effectively double decoding performance, or can only one CPU decode 1 MP3 file at a time?

edit2: wow the iriver H1x0 manages performance OVER DOUBLE that of ipod 5G. what are the tech specs?

MP3 Decoding Speed/Resource requirements

Reply #4
edit: does the 5g iPod actually have DUAL cpu's? does this effectively double decoding performance, or can only one CPU decode 1 MP3 file at a time?

edit2: wow the iriver H1x0 manages performance OVER DOUBLE that of ipod 5G. what are the tech specs?

The iPods supported by Rockbox do have dual ARM cores, but only one core is used for decoding audio. Ideally, one core could do audio decoding while the other handled other real time effects (like EQ), but I think now the other core is only doing background tasks (like GUI).

The iRiver H1x0 has a 120 MHz ColdFire CPU. However, as Mike says, a large part of the differences between the different platforms is related to the amount of optimization that has been done. The ColdFire ports were first, and I believe that in general there has been more optimization on them. Also, at one time anyway, a lack of documentation on the Portal Player CPUs (iPods) may have prevented all the peripherals (like caches) from being utilized efficiently, which may have further hurt performance. But Mike is certainly more up to date on this than I am...

MP3 Decoding Speed/Resource requirements

Reply #5
Specifically, I'm trying to find out what speed in mhz a microprocessor of sparc v8 architecture with 64mb of onboard ddr ram would be sufficient to handle real time mp3 decoding using an open codec like LAME or MAD.


With an optimized decoder, 25-30MHz + whatever overhead your OS adds for MAD.