[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..

[1] 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)


   for (i=0;i<mode->overlap;i++)
      window[i] = Q15ONE*sin(.5*M_PI* sin(.5*M_PI*(i+.5)/mode->overlap) * sin(.5*M_PI*(i+.5)/mode->overlap));
   for (i=0;i<mode->overlap;i++)
      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))));



[2] 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)?

//JB Hong


celt-dev mailing list

celt-dev at xiph.org<mailto:celt-dev at xiph.org>


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/opus/attachments/20110303/f4ba6f1e/attachment-0002.htm 

More information about the celt-dev mailing list