FS#6670 - Small dct32 routine for the MPA codec

Attached to Project: Rockbox
Opened by Tomasz Malesinski (tmal) - Sunday, 18 February 2007, 18:08 GMT
Task Type Patches
Category Codecs
Status Closed
Assigned To No-one
Operating System PortalPlayer-based
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No


The dct32 routine in libmad/synth.c is pretty big and it causes lots of cache misses. I have written a smaller one in ARM assembler. It isn't as optimal in terms of number of arithmetic operations, but it's much more cache friendly because of smaller code size. It helps a lot on Iriver iFP where SRAM is really slow. I would like someone with other ARM targets to check if it helps on them as well.

The routine is currently compiled to SRAM, but I suppose it's worth trying to move it to IRAM.
This task depends upon

Closed by  Tomasz Malesinski (tmal)
Tuesday, 27 February 2007, 23:53 GMT
Reason for closing:  Duplicate
Additional comments about closing:  Moved to  FS#6705 
Comment by Chris (decayed.cell) - Saturday, 24 February 2007, 03:40 GMT
What are we looking for? I've tested this on a 5.5G 30GB Video iPod
Comment by Tomasz Malesinski (tmal) - Saturday, 24 February 2007, 20:17 GMT
As tested by Preglow on Feb 18th (see irc logs), it doesn't improve performance on Ipod (I'm not sure which model). We were looking for smaller boost ratio (info->debug->view audio thread).
Comment by Chris (decayed.cell) - Sunday, 25 February 2007, 00:13 GMT
Okay what about  FS#6357  does that help or is it an outdated patch?