More comments
authorjmvalin <jmvalin@0101bb08-14d6-0310-b084-bc0e0c8e3800>
Tue, 7 May 2002 19:51:58 +0000 (19:51 +0000)
committerjmvalin <jmvalin@0101bb08-14d6-0310-b084-bc0e0c8e3800>
Tue, 7 May 2002 19:51:58 +0000 (19:51 +0000)
git-svn-id: http://svn.xiph.org/trunk/speex@3285 0101bb08-14d6-0310-b084-bc0e0c8e3800

libspeex/modes.c
libspeex/nb_celp.h
libspeex/sb_celp.c
libspeex/sb_celp.h
libspeex/speex.h

index 9fb9e94..9810458 100644 (file)
@@ -28,6 +28,8 @@
 #include "sb_celp.h"
 #include "nb_celp.h"
 
 #include "sb_celp.h"
 #include "nb_celp.h"
 
+
+/* Extern declarations for all codebooks we use here */
 extern float gain_cdbk_nb[];
 extern float exc_gains_table[];
 extern float exc_table[];
 extern float gain_cdbk_nb[];
 extern float exc_gains_table[];
 extern float exc_table[];
@@ -36,6 +38,7 @@ extern float exc_gains_wb_table[];
 extern float exc_sb_table[];
 extern float hexc_table[];
 
 extern float exc_sb_table[];
 extern float hexc_table[];
 
+/* Parameters for Long-Term Prediction (LTP)*/
 static ltp_params ltp_params_nb = {
    gain_cdbk_nb,
    7,
 static ltp_params ltp_params_nb = {
    gain_cdbk_nb,
    7,
@@ -48,6 +51,7 @@ static ltp_params ltp_params_wb = {
    8
 };
 
    8
 };
 
+/* Split-VQ innovation parameters */
 static split_cb_params split_cb_nb = {
    8,               /*subvect_size*/
    5,               /*nb_subvect*/
 static split_cb_params split_cb_nb = {
    8,               /*subvect_size*/
    5,               /*nb_subvect*/
@@ -77,6 +81,7 @@ static split_cb_params split_cb_high = {
 };
 
 
 };
 
 
+/* Various multi-pulse parameter definitions */
 static mpulse_params mpulse_nb = {
    15,     /*nb_pulse*/
    5,      /*nb_tracks*/
 static mpulse_params mpulse_nb = {
    15,     /*nb_pulse*/
    5,      /*nb_tracks*/
@@ -100,7 +105,7 @@ static mpulse_params mpulse_wb = {
    26,
 };
 
    26,
 };
 
-
+/* Default mode for narrowband */
 static SpeexNBMode mp_nb_mode = {
    160,    /*frameSize*/
    40,     /*subframeSize*/
 static SpeexNBMode mp_nb_mode = {
    160,    /*frameSize*/
    40,     /*subframeSize*/
@@ -127,6 +132,7 @@ static SpeexNBMode mp_nb_mode = {
    &mpulse_nb
 };
 
    &mpulse_nb
 };
 
+/* Narrowband mode used for split-band wideband CELP*/
 static SpeexNBMode low_sb_mode = {
    160,    /*frameSize*/
    40,     /*subframeSize*/
 static SpeexNBMode low_sb_mode = {
    160,    /*frameSize*/
    40,     /*subframeSize*/
@@ -170,6 +176,18 @@ SpeexMode low_wb_mode = {
    160
 };
 
    160
 };
 
+SpeexMode nb_mode = {
+   &mp_nb_mode,
+   &nb_encoder_init,
+   &nb_encoder_destroy,
+   &nb_encode,
+   &nb_decoder_init,
+   &nb_decoder_destroy,
+   &nb_decode,
+   160
+};
+
+/* Split-band wideband CELP mode*/
 static SpeexSBMode sb_wb_mode = {
    &low_wb_mode,
    160,    /*frameSize*/
 static SpeexSBMode sb_wb_mode = {
    &low_wb_mode,
    160,    /*frameSize*/
@@ -192,17 +210,6 @@ static SpeexSBMode sb_wb_mode = {
 };
 
 
 };
 
 
-SpeexMode nb_mode = {
-   &mp_nb_mode,
-   &nb_encoder_init,
-   &nb_encoder_destroy,
-   &nb_encode,
-   &nb_decoder_init,
-   &nb_decoder_destroy,
-   &nb_decode,
-   160
-};
-
 SpeexMode wb_mode = {
    &sb_wb_mode,
    &sb_encoder_init,
 SpeexMode wb_mode = {
    &sb_wb_mode,
    &sb_encoder_init,
index 9fe2955..687cf8a 100644 (file)
@@ -23,7 +23,7 @@
 #include "modes.h"
 #include "speex_bits.h"
 
 #include "modes.h"
 #include "speex_bits.h"
 
-/**Structure representing the full state of the encoder*/
+/**Structure representing the full state of the narrowband encoder*/
 typedef struct EncState {
    SpeexMode *mode;
    int    first;          /* Is this the first frame? */
 typedef struct EncState {
    SpeexMode *mode;
    int    first;          /* Is this the first frame? */
@@ -85,6 +85,7 @@ typedef struct EncState {
    void             *innovation_params;
 } EncState;
 
    void             *innovation_params;
 } EncState;
 
+/**Structure representing the full state of the narrowband decoder*/
 typedef struct DecState {
    SpeexMode *mode;
    int    first;          /* Is this the first frame? */
 typedef struct DecState {
    SpeexMode *mode;
    int    first;          /* Is this the first frame? */
index 445f9a1..1dc4f26 100644 (file)
@@ -605,7 +605,7 @@ void *sb_decoder_init(SpeexMode *m)
    st->nbSubframes = 4;
    st->lpcSize=8;
    st->pf_order=15;
    st->nbSubframes = 4;
    st->lpcSize=8;
    st->pf_order=15;
-   st->pf_gamma=.0;
+   st->pf_gamma=.1;
 
    st->first=1;
    st->stack = calloc(10000, sizeof(float));
 
    st->first=1;
    st->stack = calloc(10000, sizeof(float));
@@ -787,7 +787,7 @@ void sb_decode(void *state, FrameBits *bits, float *out)
       out[i]=2*(st->y0[i]-st->y1[i]);
 
 
       out[i]=2*(st->y0[i]-st->y1[i]);
 
 
-   if (1)
+   if (0)
    {
       float tmp=1, e1=0, e2=0, g;
       for (i=0;i<st->full_frame_size;i++)
    {
       float tmp=1, e1=0, e2=0, g;
       for (i=0;i<st->full_frame_size;i++)
index f08f708..8605a2d 100644 (file)
 #include "speex_bits.h"
 #include "nb_celp.h"
 
 #include "speex_bits.h"
 #include "nb_celp.h"
 
-/**Structure representing the full state of the encoder*/
+/**Structure representing the full state of the sub-band encoder*/
 typedef struct SBEncState {
 typedef struct SBEncState {
-   SpeexMode *mode;
-   void *st_low;
+   SpeexMode *mode;            /* Pointer to the mode (containing for vtable info) */
+   void *st_low;               /* State of the low-band (narrowband) encoder */
    int    full_frame_size;     /* Length of full-band frames*/
    int    frame_size;          /* Length of high-band frames*/
    int    subframeSize;        /* Length of high-band sub-frames*/
    int    full_frame_size;     /* Length of full-band frames*/
    int    frame_size;          /* Length of high-band frames*/
    int    subframeSize;        /* Length of high-band sub-frames*/
@@ -79,10 +79,10 @@ typedef struct SBEncState {
 } SBEncState;
 
 
 } SBEncState;
 
 
-/**Structure representing the full state of the decoder*/
+/**Structure representing the full state of the sub-band decoder*/
 typedef struct SBDecState {
 typedef struct SBDecState {
-   SpeexMode *mode;
-   void *st_low;
+   SpeexMode *mode;            /* Pointer to the mode (containing for vtable info) */
+   void *st_low;               /* State of the low-band (narrowband) encoder */
    int    full_frame_size;
    int    frame_size;
    int    subframeSize;
    int    full_frame_size;
    int    frame_size;
    int    subframeSize;
index bbb69a4..9b9f683 100644 (file)
@@ -37,6 +37,7 @@ typedef void *(*decoder_init_func)(struct SpeexMode *mode);
 typedef void (*decoder_destroy_func)(void *st);
 typedef void (*decode_func)(void *state, FrameBits *bits, float *out);
 
 typedef void (*decoder_destroy_func)(void *st);
 typedef void (*decode_func)(void *state, FrameBits *bits, float *out);
 
+/** Struct defining a Speex mode */ 
 typedef struct SpeexMode {
    void *mode;
    encoder_init_func enc_init;
 typedef struct SpeexMode {
    void *mode;
    encoder_init_func enc_init;
@@ -48,14 +49,28 @@ typedef struct SpeexMode {
    int frameSize;
 } SpeexMode;
 
    int frameSize;
 } SpeexMode;
 
+   /** Creates an encoder state ("object") from a mode */ 
 void *encoder_init(SpeexMode *mode);
 void *encoder_init(SpeexMode *mode);
+
+   /** Destroy a Speex encoder state */
 void encoder_destroy(void *state);
 void encoder_destroy(void *state);
+
+   /** Encode a frame */
 void encode(void *state, float *in, FrameBits *bits);
 void encode(void *state, float *in, FrameBits *bits);
+
+   /** Creates a decoder state ("object") from a mode */ 
 void *decoder_init(SpeexMode *mode);
 void *decoder_init(SpeexMode *mode);
+
+   /** Destroy a Speex decoder state */
 void decoder_destroy(void *state);
 void decoder_destroy(void *state);
+
+   /** Decode a frame */
 void decode(void *state, FrameBits *bits, float *out);
 
 void decode(void *state, FrameBits *bits, float *out);
 
+   /** Default narrowband mode */
 extern SpeexMode nb_mode;
 extern SpeexMode nb_mode;
+
+   /** Default wideband mode */
 extern SpeexMode wb_mode;
 
 
 extern SpeexMode wb_mode;