📄 dtx.h
字号:
/* ITU-T G.729A Annex B ANSI-C Source Code Version 1.3 Last modified: August 1997 Copyright (c) 1996, France Telecom, Rockwell International, Universite de Sherbrooke. All rights reserved.*//*--------------------------------------------------------------------------* * Prototypes for DTX/CNG * *--------------------------------------------------------------------------*//* Encoder DTX/CNG functions */void Init_Cod_cng(void);void Cod_cng( Word16 *exc, /* (i/o) : excitation array */ Word16 pastVad, /* (i) : previous VAD decision */ Word16 *lsp_old_q, /* (i/o) : previous quantized lsp */ Word16 *Aq, /* (o) : set of interpolated LPC coefficients */ Word16 *ana, /* (o) : coded SID parameters */ Word16 freq_prev[MA_NP][M], /* (i/o) : previous LPS for quantization */ Word16 *seed /* (i/o) : random generator seed */);void Update_cng( Word16 *r_h, /* (i) : MSB of frame autocorrelation */ Word16 exp_r, /* (i) : scaling factor associated */ Word16 Vad /* (i) : current Vad decision */);/* SID gain Quantization */void Qua_Sidgain( Word16 *ener, /* (i) array of energies */ Word16 *sh_ener, /* (i) corresponding scaling factors */ Word16 nb_ener, /* (i) number of energies or */ Word16 *enerq, /* (o) decoded energies in dB */ Word16 *idx /* (o) SID gain quantization index */);/* CNG excitation generation */void Calc_exc_rand( Word16 cur_gain, /* (i) : target sample gain */ Word16 *exc, /* (i/o) : excitation array */ Word16 *seed, /* (i) : current Vad decision */ Flag flag_cod /* (i) : encoder/decoder flag */);/* SID LSP Quantization */void Get_freq_prev(Word16 x[MA_NP][M]);void Update_freq_prev(Word16 x[MA_NP][M]);void Get_decfreq_prev(Word16 x[MA_NP][M]);void Update_decfreq_prev(Word16 x[MA_NP][M]);/* Decoder CNG generation */void Init_Dec_cng(void);void Dec_cng( Word16 past_ftyp, /* (i) : past frame type */ Word16 sid_sav, /* (i) : energy to recover SID gain */ Word16 sh_sid_sav, /* (i) : corresponding scaling factor */ Word16 *parm, /* (i) : coded SID parameters */ Word16 *exc, /* (i/o) : excitation array */ Word16 *lsp_old, /* (i/o) : previous lsp */ Word16 *A_t, /* (o) : set of interpolated LPC coefficients */ Word16 *seed, /* (i/o) : random generator seed */ Word16 freq_prev[MA_NP][M] /* (i/o) : previous LPS for quantization */);Word16 read_frame(FILE *f_serial, Word16 *parm);/*--------------------------------------------------------------------------* * Constants for DTX/CNG * *--------------------------------------------------------------------------*//* DTX constants */#define FLAG_COD (Flag)1#define FLAG_DEC (Flag)0#define INIT_SEED 11111#define FR_SID_MIN 3#define NB_SUMACF 3#define NB_CURACF 2#define NB_GAIN 2#define FRAC_THRESH1 4855#define FRAC_THRESH2 3161#define A_GAIN0 28672#define SIZ_SUMACF (NB_SUMACF * MP1)#define SIZ_ACF (NB_CURACF * MP1)#define A_GAIN1 4096 /* 32768L - A_GAIN0 */#define RATE_8000 80 /* Full rate (8000 bit/s) */#define RATE_SID 15 /* SID */#define RATE_0 0 /* 0 bit/s rate *//* CNG excitation generation constant */ /* alpha = 0.5 */#define FRAC1 19043 /* (sqrt(40)xalpha/2 - 1) * 32768 */#define K0 24576 /* (1 - alpha ** 2) in Q15 */#define G_MAX 5000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -