Array Name |
Usage |
Size in LIBMAD |
Min. Size for with Prop |
InputBuffer | MP3 file input buffer | 40 kB | perhaps 512 B since using flash |
OutputBuffer | PCM sample output buffer | 8 kB | 2.4 kB {word [2*576] half this for mono} |
Main_Data | buffer for main data of stream | 2.5 kB | ~2 kB {maybe a bit less for mono} |
xr | decode frequency domain data | 9.2 kB | 2.4 kB {word [2*576] half this for mono} |
rq_table | requantization tables | 32.8 kB | 1.0 kB {maybe half this for 16 bits?} |
Layer3 data | ~4 kB | 906 B {much less if only supporting 44100 Hz} | |
Huffman tables | info to uncompress main data | ~8 kB | 4.4 kB |
t | temp storage for DCT32 | 1 kB | 354 B |
D | constants for synthesis | 2.2 kB | 1.1 kB {made word sized with no loss} |
pcm_samples | output samples | 9.2 kB | 0 {use outputBuffer instead} |
sideinfo | frame sideinfo storage | 234 B | |
frame_sbsample | buffer for time domain data | 9.2 kB | 1.2 kB {doing one channel at a time with words} |
frame_overlap | time domain overlapping data | 4.6 kB | 2.3 kB (half for mono) |
window_l | windowing constants | 144 B | 72 B |
synth_filter | data for synthesis | 4 kB | 2 kB (half for mono) |
TOTAL | a lot ! | 21 kB | |
Here's a look at the big procedure sizes
Function
SPIN Size (B)
III_huffdecode
1500
synth_full
1411
dct32
4308
imdct36
2894
total
8.6 kB