|
I have spent some time recently working with fixed
point numbers on my machine (StrongARM CPU - no hardware FPU .'. fixed point
numbers are significantly faster). I'm now at a point where I would like to add
some of these routines to LAME (not to the normal version before I get grilled,
my aim would be to form a StrongARM specific version based around the main
release).
I don't know a great deal about how the MP3 data
is stored in a file, is it stored as IEEE floats/doubles/long doubles or is
it converted into some integer format before being written? One option I've
thought about using would be to replace all the calls to the FPU emulation
library that implements the math routines with their fixed point counterparts
and statically linking with this library as opposed to the usual library thus
making LAME replace all it's fixed point equivalents. Obviously I'd need to
convert the tables used throughout the program into fixed-point format but apart
from that I can't see any other problems occuring unless the floating point
numbers are actually written to the file. In this case I could probably compile
a new floating point library with symbol names that differ to the standard ones,
compile the affected code segments with -S and adjust the references to point to
the true float routines that also convert from the fixed point
format.
Just a thought, any advice greatly appreciated,
even if a 100% refit is unfeasible then I'm sure I'll be able to add bits here
and there (for example, replacing the FHT routine with one that uses fixed point
math).
Regards
Andrew
|
- [MP3 ENCODER] Fixed point arithmetic Andrew Coles
- Re: [MP3 ENCODER] Fixed point arithmetic Mark Taylor
- Re: [MP3 ENCODER] Fixed point arithmetic Andrew Coles
- Re: [MP3 ENCODER] Fixed point arithmetic Jan Peman
- Re: [MP3 ENCODER] Fixed point arithmetic Richard A. Smith
