OESF | ELSI | pdaXrom | OpenZaurus | Zaurus Themes | Community Links | Ibiblio

IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
> Mp3 Decoder
Ashitaka
post Dec 21 2004, 03:28 AM
Post #1





Group: Members
Posts: 58
Joined: 7-June 04
From: Tokyo
Member No.: 3,599



As some may remember, I was working on porting the streaming application MPEG4IP (mpeg4ip.sf.net) on Zaurus, but I had a few problems. Most of them are now solved, partly because I am using pdaXrom so I could get rid of the 2.95 toolchain.
But the sound problem remains, and I just discovered it was only because of heavy floating point usage inside the MP3 decoder, which makes it horribly slow (85 ms to decode a 36 ms frame, with only a 16kHz / 1 channel / 16 kbits MP3 file). To have an idea of the source you can look at filter.cpp

The first thing is that I am quite surprised I did not see much speed difference when switching to pdaXrom, which should have this Vector Floating Point stuff to make things faster. Am I missing something?

The second is, does someone have any recommendations about integrating another decoder, if ever I have to do it? Or someone who is willing to help?
Go to the top of the page
 
+Quote Post
ikm
post Dec 21 2004, 04:25 AM
Post #2





Group: Members
Posts: 172
Joined: 13-April 04
Member No.: 2,827



QUOTE(Ashitaka @ Dec 21 2004, 03:28 AM)
The second is, does someone have any recommendations about integrating another decoder, if ever I have to do it? Or someone who is willing to help?

Well, there is a MAD decoder out there, obviously. It's a fully fixed-point MP3 decoder, available under the GPL license. Actually, this decoder is the only feasible way for the open source software to efficiently play mp3s on PDAs and other low-end devices without an FPU.

Furthermore, the current pdaXrom SDK already includes it. Look into /opt/arm/3.3.2-vfp/armv5tel-cacko-linux/include/mad.h for the interface. The corresponding library to link with (libmad) is also present, of course.

The decoder's home page is here:

http://www.underbit.com/products/mad/

How to integrate it into your application is another question, though. You'll have to find it out yourself, I guess. Alternatively, you can try contacting the original developers about the problem and possible clues.
Go to the top of the page
 
+Quote Post
Ashitaka
post Dec 21 2004, 06:05 PM
Post #3





Group: Members
Posts: 58
Joined: 7-June 04
From: Tokyo
Member No.: 3,599



Yes, I know about MAD smile.gif
And yes, I am working with the original developper of the application to integrate it, but I just wanted to hear some advice from the Zaurus community, thanks smile.gif

By the way, I think there is another good solution for fixed-point MP3 decoding, optimized for ARM :
https://helixcommunity.org/viewcvs/cgi/view...p3/codec/fixpt/
Go to the top of the page
 
+Quote Post
Ashitaka
post Dec 23 2004, 07:10 PM
Post #4





Group: Members
Posts: 58
Joined: 7-June 04
From: Tokyo
Member No.: 3,599



QUOTE(ikm @ Dec 21 2004, 09:25 PM)
Furthermore, the current pdaXrom SDK already includes it. Look into /opt/arm/3.3.2-vfp/armv5tel-cacko-linux/include/mad.h for the interface. The corresponding library to link with (libmad) is also present, of course.

It seems I don't have the same version of the SDK, I don't have this library included blink.gif
As for MPEG4IP, the developer just finished integrating MAD, I have to build and test it now smile.gif
Go to the top of the page
 
+Quote Post
ikm
post Dec 24 2004, 04:30 AM
Post #5





Group: Members
Posts: 172
Joined: 13-April 04
Member No.: 2,827



QUOTE(Ashitaka @ Dec 23 2004, 07:10 PM)
It seems I don't have the same version of the SDK, I don't have this library included  blink.gif
As for MPEG4IP, the developer just finished integrating MAD, I have to build and test it now smile.gif


If you don't have it, then you're using an old 1.0.5 SDK. It is only for pdaXrom < 1.1.0 RC5, which are almost obsolete now.

For pdaXrom 1.1.0 RC5 and higher, this one should be used:

http://mirror1.pdaxrom.org/rc5/pdaxromsdk-...ftfloat.tar.bz2

Nice to hear about MAD integration, it is a Good Thing smile.gif
Go to the top of the page
 
+Quote Post
Ashitaka
post Dec 26 2004, 06:14 PM
Post #6





Group: Members
Posts: 58
Joined: 7-June 04
From: Tokyo
Member No.: 3,599



...............
If only I had found this SDK earlier sad.gif That's why floating point operations were so slow !

By the way, MAD works fine !
Go to the top of the page
 
+Quote Post
Ashitaka
post Dec 26 2004, 11:46 PM
Post #7





Group: Members
Posts: 58
Joined: 7-June 04
From: Tokyo
Member No.: 3,599



Hum with this environment I don't even need the MAD plugin, FP are like 3 times faster... *sigh* tongue.gif
Go to the top of the page
 
+Quote Post
ikm
post Dec 27 2004, 04:17 AM
Post #8





Group: Members
Posts: 172
Joined: 13-April 04
Member No.: 2,827



QUOTE(Ashitaka @ Dec 26 2004, 11:46 PM)
Hum with this environment I don't even need the MAD plugin, FP are like 3 times faster... *sigh*  tongue.gif

Don't forget that MAD is still much more efficient, so it's much better for the battery life.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 28th November 2014 - 02:59 PM