This first patch is a merge of Tremolo's bitwise.c and bitwiseARM.s code into rockbox libtremor. As a naive version of the merge, I have taken out the previous rockbox optimisations to huffman decode (originally implemented in
FS#6848 ). Versus svn, decoding speed is worse with this patch. However something that incorporates both
FS#6848 and the Tremolo bitwise optimisations for little-endian ARM may well turn out better. This patch is seriously not committable, the arch-specific stuff is not done cleanly in the headers or the makefile
Quick note on the patch - bitwise.c and bitwiseARM.s are unchanged from the Tremolo versions (so contains all the original testing code etc by the Tremolo author) - not a very clean patch in any case.
FS#6848(but significantly does NOT include the optimisation of the packed reads that were implemented in decode_packed_block inFS#6848i.e. we always just call back to decode_packed_entry_number ). Still noticeably worse than svn forall but the lowest bitrates (e.g. vorbis_500 worse by ~6MHz; vorbis_096 worse by 1.4MHz)Also attaching runs of test_codec from current svn build (all codecs actually) and run of test_codec on vorbis with just this patch