Tremor is a fixed-point version of the Ogg Vorbis decoder for those platforms that can't do floating point math.
You will probably want to use the Tremor main branch. You can check it out here:
It contains some optimizations for ARM and the overall lowest computational complexity. It should run on most devices with a few hundred KB of codec RAM.
Texas Instruments TMS320C55x DSP Family
Download the generic lowmem source using Subversion. This is probably the version you want to start working with for a DSP, but may be slower on normal CPUs.
There is also a no-byte branch for platforms whose smallest data unit is larger than 8 bits.
Required / Suggested Changes to the code as downloaded:
- Roland Wintersteller's various fixes
See the mailing list entry
- Johannes Sandvall's performance improvements
- alloca removal
The TI compiler does not support this.
- misc compiler warning fixes
- hooks to TI DSPLIB functions cfft3216_NOSCALE and cbrev32
These are part of the TI DSPLIB which can be downloaded from the TI website.
- 64-bit math functions
- converting all ints assumed to be 32 bits to ogg_int32_t
- Tremor Mailing List - lots of info here, but have to wade through a lot!