Rockbox mail archiveSubject: RE: Optimized bitswap
RE: Optimized bitswap
From: Magnus Holmgren <lear_at_algonet.se>
Date: Tue, 20 Aug 2002 13:35:35 +0200 (CEST)
Den 20 Aug 2002 skrev Nielsen Linus (ext):
> OK. What is the error? And when does it happen?
I managed to fixed it, so I've attached my bitswap function. Both code and the flipdata array resides in the internal RAM. I've been using it a little while now, and it seems to be OK - or maybe not: I just heard an audio glitch. So more testing is probably needed. :)
As for using it: add bitswap.S to the makefile and remove bitswap() (but leave a declaration for it), create_fliptable(), fliptable and big_fliptable from mpeg.c.
Interesting detail: for the flipping to work properly (without audio glitches) I had to make it work from the end of the buffer, just like the C code...
> You have to save all registers from r8 and up.
Luckily I only use r0-r7. :)