This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#10028 - Move Tremor block pcm (double-buffer) into IRAM for big speedup
Attached to Project:
Rockbox
Opened by Dave Hooper (stripwax) - Tuesday, 17 March 2009, 02:11 GMT+2
Last edited by Nils Wallménius (nls) - Saturday, 21 March 2009, 16:24 GMT+2
Opened by Dave Hooper (stripwax) - Tuesday, 17 March 2009, 02:11 GMT+2
Last edited by Nils Wallménius (nls) - Saturday, 21 March 2009, 16:24 GMT+2
|
DetailsPutting the block pcm buffer (libtremor/block.c) into iram (rather than using the ogg_calloc stuff) gives a speedup of about 15MHz on some test vorbis files around q5 - from around 45MHz (according to buffering thread debug) to around 30MHz - using a regular 30MHz clock that would mean almost never having to boost. Using a default 24MHz clock I get a boost ratio of around 11% now.
Attached is one way to do this which works for ipod 5g (other targets untested, suspect many targets may not have sufficient iram to allow for BOTH the block.c pcm buffer and the existing synthesis.c pcm buffer) |
This task depends upon
Closed by Nils Wallménius (nls)
Saturday, 21 March 2009, 16:24 GMT+2
Reason for closing: Out of Date
Additional comments about closing: Closed on request by the poster.
Thanks for looking into this!
Saturday, 21 March 2009, 16:24 GMT+2
Reason for closing: Out of Date
Additional comments about closing: Closed on request by the poster.
Thanks for looking into this!
Before
After
Still, despite marginal improvement, any reason to not commit [after changes to ensure works on all platforms]?
FS#9882doesAnyway, as discussed on irc (on 17th), my patch is certainly better folded into
FS#9882in any case. I'm looking at doing a combination of the following things (and will post onFS#9882instead of here)put dsp buffer into iram too
get rid of need for memcpy ("vect_copy") step
FS#10028can be closed