[mad-dev] porting mad

Andre armccurdy@yahoo.co.uk
Tue, 29 May 2001 00:55:00 +0100 (BST)


--- Antti Antinoja <antinoja@netlife.fi> wrote:
>
> ok.. my quest was (or is...) to compile mad to cris (made by Axis,
> 32 bit RISC, also know as etrax_lx) platform.

Sounds interesting...

>
> ./configure --host=unknown --target=cris --disable-nls
> --disable-aso --enable-fpm=approx

It might not help your immediate problem, but unless you have cycles
to burn (or think you can hear 24bits of audio resolution... :-) you
could try adding '--enable-speed' and eventually
'--disable-debugging'

Also, depending on the cris multiplier, FPM_64BIT may be faster than
FPM_APPROX (I believe this is the case with MIPS, and maybe others
??).

> 
> Ok.. with this setup (and some additional work before, cause cris
> uC-lib didn't have any native math suopport, which i had to
> add ... well... ) I managed to compile the whole thing without
> any ugly errors...

Native math support required ?? What exactly ??

> 
> After this I naturally tested the thing with the native cris
> platform.. Madplay could read the mp3:s very well, but the output
> (to a wav file) wasn't too good.. I coud hear that the music was
> there, but there was also some additional noice a lot. any
> pointers where i shuld start digging... (?)

'Awful but just about recognisible' _might_ be the result of byte
swapping on the output: try double checking that the endian-ness in
the audio output quantisation is correct.

Also worth a try is disabling dithering, and having a look at the
data output in HEX output format (requires re-configuring with
--enable-debugging).

Failing that, the next step is probably to put some printf's in the
code and compare the values at certain stages with the values output
by the same code and mp3 file run on a PC.
(That should tell you at what point things start going wrong).

Places to start might be:

- The values returned by III_requantize()
- Some of the IMDCT results (x[0..35] at the end of imdct36())
- Some results picked out of mad_synth_frame() 

Good luck !

Andre
--





____________________________________________________________
Do You Yahoo!?
Get your free @yahoo.co.uk address at http://mail.yahoo.co.uk
or your free @yahoo.ie address at http://mail.yahoo.ie