• Status Closed
  • Percent Complete
  • Task Type Patches
  • Category Codecs
  • Assigned To No-one
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version Daily build (which?)
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by nls - 2010-10-24
Last edited by nls - 2010-11-20

FS#11698 - ARMv5 asm for flac

This patch adds an armv5 version of lpc_decode_arm.
Speeds up decoding by 12% on gigabeat s (armv6)
Most of the speedup comes from using 16 bit multiplies which can work with individual halfwords packed in registers so this frees up registers for larder block loads which also made it possible to add unrlorred loops up to predictor order 12 which is the highest used by the reference encoder.

It would be good if someone tested on a real armv5 target and i’d like to have confirmation on that using these 16 bit multiplications is ok… the coeffs are never more than 16 bits but i haven’t looked so much at the data but checksums match for files i’ve tested.

Closed by  nls
2010-11-20 14:14
Reason for closing:  Rejected
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

This isn't worth the complication

nls commented on 2010-10-24 23:01

This needs some more checking, the residuals (which is what the coeffs are multiplied with can be > 16 bits in some cases but i don't know which yet, need to read the spec unless someone can tell me?


Available keyboard shortcuts


Task Details

Task Editing