• Status Closed
  • Percent Complete
  • Task Type Patches
  • Category Codecs
  • Assigned To No-one
  • Operating System iPod 5G
  • Severity Low
  • Priority Very Low
  • Reported Version Version 3.1
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by stripwax - 2009-03-17
Last edited by nls - 2009-03-21

FS#10028 - Move Tremor block pcm (double-buffer) into IRAM for big speedup

Putting 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)

Closed by  nls
2009-03-21 15:24
Reason for closing:  Out of Date
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407

Closed on request by the poster.
Thanks for looking into this!

Seems I was hasty in my assessment (and can only assume I measured very badly) - test_codec never lies
Still, despite marginal improvement, any reason to not commit [after changes to ensure works on all platforms]?

nls commented on 2009-03-19 15:43

hi, this patch seems to be doing part of what  FS#9882  does

Part of it, although that patch doesn’t seem to put the vorbis dsp buffer into iram, just the block dsp buffer.
Anyway, as discussed on irc (on 17th), my patch is certainly better folded into  FS#9882  in any case. I’m looking at doing a combination of the following things (and will post on  FS#9882  instead of here)

  put dsp buffer into iram too
  get rid of need for memcpy ("vect_copy") step

 FS#10028  can be closed


Available keyboard shortcuts


Task Details

Task Editing