CodState* Init_Coder_ld8a (void) { CodState *coder; coder = (CodState *) malloc (sizeof (CodState)); /*----------------------------------------------------------------------* * Initialize pointers to speech vector. * * * * * * |--------------------|-------------|-------------|------------| * * previous speech sf1 sf2 L_NEXT * * * * <---------------- Total speech vector (L_TOTAL) -----------> * * <---------------- LPC analysis window (L_WINDOW) -----------> * * | <-- present frame (L_FRAME) --> * * old_speech | <-- new speech (L_FRAME) --> * * p_window | | * * speech | * * new_speech * *-----------------------------------------------------------------------*/ coder->new_speech = coder->old_speech + L_TOTAL - L_FRAME; /* New speech */ coder->speech = coder->new_speech - L_NEXT; /* Present frame */ coder->p_window = coder->old_speech + L_TOTAL - L_WINDOW; /* For LPC window */ /* Initialize pointers */ coder->wsp = coder->old_wsp + PIT_MAX; coder->exc = coder->old_exc + PIT_MAX + L_INTERPOL; /* Static vectors to zero */ Set_zero (coder->old_speech, L_TOTAL); Set_zero (coder->old_exc, PIT_MAX + L_INTERPOL); Set_zero (coder->old_wsp, PIT_MAX); Set_zero (coder->mem_w, M); Set_zero (coder->mem_w0, M); Set_zero (coder->mem_zero, M); coder->sharp = SHARPMIN; /* Initialize lsp_old_q[] */ Copy (lsp_old_init, coder->lsp_old, M); Copy (lsp_old_init, coder->lsp_old_q, M); Lsp_encw_reset (coder); Init_exc_err (coder); Copy (past_qua_en_init, coder->past_qua_en, 4); Set_zero (coder->old_A, M + 1); coder->old_A [0] = 4096; Set_zero (coder->old_rc, 2); return coder; }
void Init_Coder_ld8a(void) { /*----------------------------------------------------------------------* * Initialize pointers to speech vector. * * * * * * |--------------------|-------------|-------------|------------| * * previous speech sf1 sf2 L_NEXT * * * * <---------------- Total speech vector (L_TOTAL) -----------> * * <---------------- LPC analysis window (L_WINDOW) -----------> * * | <-- present frame (L_FRAME) --> * * old_speech | <-- new speech (L_FRAME) --> * * p_window | | * * speech | * * new_speech * *-----------------------------------------------------------------------*/ new_speech = old_speech + L_TOTAL - L_FRAME; /* New speech */ speech = new_speech - L_NEXT; /* Present frame */ p_window = old_speech + L_TOTAL - L_WINDOW; /* For LPC window */ /* Initialize static pointers */ wsp = old_wsp + PIT_MAX; exc = old_exc + PIT_MAX + L_INTERPOL; /* Static vectors to zero */ Set_zero(old_speech, L_TOTAL); Set_zero(old_exc, PIT_MAX+L_INTERPOL); Set_zero(old_wsp, PIT_MAX); Set_zero(mem_w, M); Set_zero(mem_w0, M); Set_zero(mem_zero, M); sharp = SHARPMIN; /* Initialize lsp_old_q[] */ Copy(lsp_old, lsp_old_q, M); Lsp_encw_reset(); Init_exc_err(); /* For G.729B */ /* Initialize VAD/DTX parameters */ pastVad = 1; ppastVad = 1; seed = INIT_SEED; vad_init(); Init_lsfq_noise(); return; }
void Init_Coder_ld8a(g729a_encoder_state *state) { /*----------------------------------------------------------------------* * Initialize pointers to speech vector. * * * * * * |--------------------|-------------|-------------|------------| * * previous speech sf1 sf2 L_NEXT * * * * <---------------- Total speech vector (L_TOTAL) -----------> * * <---------------- LPC analysis window (L_WINDOW) -----------> * * | <-- present frame (L_FRAME) --> * * old_speech | <-- new speech (L_FRAME) --> * * p_window | | * * speech | * * new_speech * *-----------------------------------------------------------------------*/ state->new_speech = state->old_speech + L_TOTAL - L_FRAME; /* New speech */ state->speech = state->new_speech - L_NEXT; /* Present frame */ state->p_window = state->old_speech + L_TOTAL - L_WINDOW; /* For LPC window */ /* Initialize static pointers */ state->wsp = state->old_wsp + PIT_MAX; state->exc = state->old_exc + PIT_MAX + L_INTERPOL; /* Static vectors to zero */ Set_zero(state->old_speech, L_TOTAL); Set_zero(state->old_exc, PIT_MAX+L_INTERPOL); Set_zero(state->old_wsp, PIT_MAX); Set_zero(state->mem_w, M); Set_zero(state->mem_w0, M); Set_zero(state->mem_zero, M); state->sharp = SHARPMIN; /* Initialize lsp_old_q[] */ state->lsp_old[0] = 30000; state->lsp_old[1] = 26000; state->lsp_old[2] = 21000; state->lsp_old[3] = 15000; state->lsp_old[4] = 8000; state->lsp_old[5] = 0; state->lsp_old[6] = -8000; state->lsp_old[7] = -15000; state->lsp_old[8] = -21000; state->lsp_old[9] = -26000; Copy(state->lsp_old, state->lsp_old_q, M); Lsp_encw_reset(state); Init_exc_err(state); }