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); }
void Init_Coder_ld8h(void) { Word16 i; /*----------------------------------------------------------------------* * 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; zero = ai_zero + M_BWDP1; error = mem_err + M_BWD; /* 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_syn, M_BWD); Set_zero(mem_w, M_BWD); Set_zero(mem_w0, M_BWD); Set_zero(mem_err, M_BWD); Set_zero(zero, L_SUBFR); sharp = SHARPMIN; /* Initialize lsp_old_q[] */ Copy(lsp_old, lsp_old_q, M); Lsp_encw_resete(freq_prev); /* to tame the coder */ Init_exc_err(); /* G.729 maintenance */ /* Before : for(i=0; i<4; i++) L_exc_err[i] = 0x00004000L; /* Q14 */ /* for the backward analysis */ Set_zero(synth, L_ANA_BWD); /*Q14 */ synth_ptr = synth + MEM_SYN_BWD; prev_lp_mode = 0; bwd_dominant = 0; /* See file bwfw.c */ C_int = 4506; /* Filter interpolation parameter */ glob_stat = 10000; /* Mesure of global stationnarity Q8 */ stat_bwd = 0; /* Nbre of consecutive backward frames */ val_stat_bwd = 0; /* Value associated with stat_bwd */ for(i=0; i<M_BWDP1; i++) rexp[i] = 0L; A_t_bwd_mem[0] = 4096; for (i=1; i<M_BWDP1; i++) A_t_bwd_mem[i] = 0; Set_zero(prev_filter, M_BWDP1); prev_filter[0] = 4096; Set_zero(old_A_bwd, M_BWDP1); old_A_bwd[0]=4096; Set_zero(old_rc_bwd, 2); Set_zero(old_A_fwd, MP1); old_A_fwd[0]=4096; Set_zero(old_rc_fwd, 2); return; }