This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#5078 - erformance improvements in libmad mp3 decoder
|
DetailsThis patch improves the performance of the libmad mp3 decoder by roughly 10% (measured on "lame --preset extreme" encoded music) with exactly the same pcm output as before. I could only test the improvements with iriver, but these should be effective also for other swcodec based players.
Warning: The patch has been compiled only for iriver. The changes in detail: - move huffman tables to IRAM - move cs- & ca- tables to IRAM - improved cache hit decision in 'big values' calculation - bit structures in rq_table removed The data extraction part in libmad still takes nearly 25% of the decoder time, so the next patch is in work. :) |
This task depends upon
Closed by Thom Johansen (preglow)
Wednesday, 12 April 2006, 01:29 GMT+1
Reason for closing: Accepted
Wednesday, 12 April 2006, 01:29 GMT+1
Reason for closing: Accepted
Thanks!
I did manually measure the following functions, which cover 90% of the madlib runtime (assuming that reading
the timer register does not take reasonable time):
(1) III_huffdecode
(2) III_aliasreduce
(3) III_imdct
(4) III_overlap
(5) mad_synthframe
The result on "lame --preset extreme" encoded file:
improved current
(0) 0x24A 0x2EC
(1) 0x00E 0x00E
(2) 0x065 0x0E1
(3) 0x276 0x27A
(4) 0x005 0x005
(5) 0x3AD 0x3AF