Exemplo n.º 1
0
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;
}
Exemplo n.º 2
0
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;
}
Exemplo n.º 3
0
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);
}
Exemplo n.º 4
0
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;
}