Ogg Vorbis Decoder on NXP LPCs?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Ogg Vorbis Decoder on NXP LPCs?

686 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by nsmith17044 on Tue Apr 28 13:34:40 MST 2015
This is more of a general LPC questions but I'm currently working with the LPC1518.  I currently have a design that streams and merges two 32KHz 16 bit WAV files stored on a quad SPI flash (FAT16) and outputs the PCM data on the 12 bit DAC. 

I started a separate project to port the Ogg Vorbis 'Tremor' branch.  I have successfully ported the project and have my hooks in place.  What I quickly realized is how 'in-efficient' this branch is for small embedded parts.  I've found references to some ports needing 350KByte of dynamic space for operation. Ouch!

Does anyone know of the dynamic (stack and heap) memory requirements of the Tremor port while decoding 32KHz Vorbis single stream files?  Or does anyone know of a Vorbis port for low memory NXP parts other than Tremor?  I know its possible based on embedded solutions like VLSI Solutions parts.  I'm trying to find our own solution.

Nathan
Labels (1)
0 Kudos
2 Replies

614 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by nsmith17044 on Sat May 02 08:26:45 MST 2015
Thanks for the link.  I was not aware of some of the details here.  I already had moved my heap and stack locations by creating a custom LD to allow me to manage this more closely.  The Vorbis code uses alloca in several places as well that I couldn't not find compiler support for.  Here I already created my own functions that 'reallocates in a circular buffer' to fulfill these calls.  I already built in some crude metrics to keep track of those allocations.

I have an LPC 18xx board that might give me enough ram to see if I can get some measurements.  If that doesn't work certainly I'll look at the 4300s.

Thanks,
Nathan
0 Kudos

614 Views
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by arw on Wed Apr 29 20:10:34 MST 2015
Hi nsmith,
Well... this is quite a specific type of request which we are not likely to have direct experience with.
But perhaps you can find some useful tools or tips from the following link:
     http://www.lpcware.com/content/faq/lpcxpresso/heap-checking-redlib

You might find it easier to start with one of our LPC4300 MCUs with external SDRAM support, and then scale back to your smaller target MCU.

-arw
0 Kudos