|
Rockbox mail archiveSubject: Optimized bitswapOptimized bitswap
From: Magnus Holmgren <lear_at_algonet.se>
Date: Sun, 18 Aug 2002 20:54:43 +0200 Hi, After testing using a small fliptable (i.e. 256 bytes rather than 128 kB), I've found that the following code in mpeg.c:bitswap() actually is quick enough (at least when executing in internal RAM) on my Player. Seems to slow down scrolling a bit though. :) data[i] = (fliptable[data[i] >> 8] << 8) | fliptable[data[i] & 0xff]; The memory accesses seems to be the critical part. (I first tried swaping a byte at a time, reading/writing each byte to the MP3 buffer, but that didn't work well.) Perhaps the above should be rewritten in assembler? Using a tweaked playlist limit (2000 tracks, as I don't need more), I now have buffer on 1.84 MB. :) -- Magnus HolmgrenReceived on 2002-08-18 Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy |