[CELT-dev] fixed point code
J.B. (Jae) Hong
jbhong at broadcom.com
Thu Mar 3 13:16:16 PST 2011
I am looking into fixed-point code of the CELT decoder for real-time application. Here are some questions..
 array, window
The array, window is being initialized from a function below in modes.c. This array is being initialized differently for the decoder, depending on frame size and sampling freq. of the bitstream ..
Could you provide us with fixed-point code for initialization of this array? Or you may kindly provide us with ROM tables of the array for each possible combination of frame size and sampling freq...?
CELTMode *celt_mode_create(celt_int32 Fs, int frame_size, int *error)
window[i] = Q15ONE*sin(.5*M_PI* sin(.5*M_PI*(i+.5)/mode->overlap) * sin(.5*M_PI*(i+.5)/mode->overlap));
window[i] = MIN32(32767,floor(.5+32768.*sin(.5*M_PI* sin(.5*M_PI*(i+.5)/mode->overlap) * sin(.5*M_PI*(i+.5)/mode->overlap))));
 Usage on global stack memory
In "arch.h", there is a definition on the following constant for global processing memory (stack RAM).
#define GLOBAL_STACK_SIZE 100000
Then, dynamic RAM is allocated through calloc (GLOBAL_STACK_SIZE, 1), which means that 100,000 bytes of RAM is being allocated for decoder processing. Do we really need 100KB RAM for decoder processing (whatever called ... processing RAM or stack RAM)?
What's peak R/W RAM requirement of the CELT decoder?
- Peak state memory (static RAM) size?
- Peak processing RAM size including local stack RAM (100,000 bytes?)?
- Minimum input bit-stream buffer size with maximum bit-rate per frame considered at 48KHz sampling rate?
(for example, in AAC, 1536 bytes of input bitstream buffer needed for a frame of decoding since 576kbps is the highest bit-rate in stereo channel at 48KHz sampling rate)?
celt-dev mailing list
celt-dev at xiph.org<mailto:celt-dev at xiph.org>
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the celt-dev