For those interested, please find attached a patch for 0.11.4b which includes some optimisation of the layer3 requantisation function.
Its slightly rough around the edges at this stage, but the brief highlights are:
- stripped x86 madplay binary reduced in size from 109k to 77k
- peformance improves by approx. 3 percent (although my previous imdct_s() optimisation is included as well which helps towards this).
- audio quality should hopefully be improved ??
Any feedback welcome.
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
Hi Andre,
For those interested, please find attached a patch for 0.11.4b which includes some optimisation of the layer3 requantisation function.
Thanks!
Its slightly rough around the edges at this stage, but the brief highlights are:
- stripped x86 madplay binary reduced in size from 109k to 77k
This is an impressive accomplishment; it's healthy to be reminded that more than 30% of MAD consists of data.
- peformance improves by approx. 3 percent (although my previous
imdct_s() optimisation is included as well which helps towards this).
I don't seem to be getting as much of an improvement... on my Celeron 500, I'm only seeing a difference of about 0.3 MHz (28.0 vs 28.3). That's with --disable-debugging --enable-speed.
On my StrongARM 220, the difference is about 0.7 MHz (52.9 vs 53.6) with just --disable-debugging.
- audio quality should hopefully be improved ??
Unfortunately, a quick compliance check shows otherwise:
RMS Level 4.302e-03 Max Diff 4.002e-02 RMS: NOT compliant
although it still sounds pretty good.
Also, I got the following while decoding the compliance test data:
Oops, cube root error: -8388608
Still, I think you may be on to something good.
Cheers, -rob