#include <math.h>
#include "nb_celp.h"
#include "lpc.h"
#include "lsp.h"
#include "ltp.h"
#include "quant_lsp.h"
#include "cb_search.h"
#include "filters.h"
#include "stack_alloc.h"
#include "vq.h"
#include <speex/speex_bits.h>
#include "vbr.h"
#include "misc.h"
#include <speex/speex_callbacks.h>
Include dependency graph for nb_celp.c:
Defines | |
#define | M_PI 3.14159265358979323846 |
#define | NULL 0 |
#define | SUBMODE(x) st->submodes[st->submodeID]->x |
#define | NB_ENC_STACK (8000*sizeof(spx_sig_t)) |
#define | NB_DEC_STACK (4000*sizeof(spx_sig_t)) |
#define | LSP_MARGIN .002 |
#define | LSP_DELTA1 .2 |
#define | LSP_DELTA2 .05 |
#define | EXTRA_BUFFER 0 |
#define | sqr(x) ((x)*(x)) |
#define | median3(a, b, c) ((a) < (b) ? ((b) < (c) ? (b) : ((a) < (c) ? (c) : (a))) : ((c) < (b) ? (b) : ((c) < (a) ? (c) : (a)))) |
Functions | |
void * | nb_encoder_init (const SpeexMode *m) |
void | nb_encoder_destroy (void *state) |
int | nb_encode (void *state, void *vin, SpeexBits *bits) |
void * | nb_decoder_init (const SpeexMode *m) |
void | nb_decoder_destroy (void *state) |
int | nb_decode (void *state, SpeexBits *bits, void *vout) |
int | nb_encoder_ctl (void *state, int request, void *ptr) |
int | nb_decoder_ctl (void *state, int request, void *ptr) |
Variables | |
const float | exc_gain_quant_scal3_bound [7] = {0.112338, 0.236980, 0.369316, 0.492054, 0.637471, 0.828874, 1.132784} |
const float | exc_gain_quant_scal3 [8] = {0.061130, 0.163546, 0.310413, 0.428220, 0.555887, 0.719055, 0.938694, 1.326874} |
const float | exc_gain_quant_scal1_bound [1] = {0.87798} |
const float | exc_gain_quant_scal1 [2] = {0.70469, 1.05127} |
const spx_word16_t | attenuation [10] = {1., 0.961, 0.852, 0.698, 0.527, 0.368, 0.237, 0.141, 0.077, 0.039} |
#define EXTRA_BUFFER 0 |
#define LSP_DELTA1 .2 |
#define LSP_DELTA2 .05 |
#define LSP_MARGIN .002 |
#define M_PI 3.14159265358979323846 |
#define median3 | ( | a, | |||
b, | |||||
c | ) | ((a) < (b) ? ((b) < (c) ? (b) : ((a) < (c) ? (c) : (a))) : ((c) < (b) ? (b) : ((c) < (a) ? (c) : (a)))) |
#define NB_DEC_STACK (4000*sizeof(spx_sig_t)) |
#define NB_ENC_STACK (8000*sizeof(spx_sig_t)) |
#define NULL 0 |
#define sqr | ( | x | ) | ((x)*(x)) |
#define SUBMODE | ( | x | ) | st->submodes[st->submodeID]->x |
int nb_decode | ( | void * | state, | |
SpeexBits * | bits, | |||
void * | out | |||
) |
Decodes one frame
int nb_decoder_ctl | ( | void * | state, | |
int | request, | |||
void * | ptr | |||
) |
ioctl-like function for controlling a narrowband decoder
void nb_decoder_destroy | ( | void * | state | ) |
De-allocates decoder state resources
void* nb_decoder_init | ( | const SpeexMode * | m | ) |
Initializes decoder state
int nb_encode | ( | void * | state, | |
void * | in, | |||
SpeexBits * | bits | |||
) |
Encodes one frame
int nb_encoder_ctl | ( | void * | state, | |
int | request, | |||
void * | ptr | |||
) |
ioctl-like function for controlling a narrowband encoder
void nb_encoder_destroy | ( | void * | state | ) |
De-allocates encoder state resources
void* nb_encoder_init | ( | const SpeexMode * | m | ) |
Initializes encoder state
const spx_word16_t attenuation[10] = {1., 0.961, 0.852, 0.698, 0.527, 0.368, 0.237, 0.141, 0.077, 0.039} |
const float exc_gain_quant_scal1[2] = {0.70469, 1.05127} |
const float exc_gain_quant_scal1_bound[1] = {0.87798} |
const float exc_gain_quant_scal3[8] = {0.061130, 0.163546, 0.310413, 0.428220, 0.555887, 0.719055, 0.938694, 1.326874} |
const float exc_gain_quant_scal3_bound[7] = {0.112338, 0.236980, 0.369316, 0.492054, 0.637471, 0.828874, 1.132784} |