/* ************************************************************************** * * Function : cod_amr_init * Purpose : Allocates memory and initializes state variables * ************************************************************************** */ int cod_amr_init (cod_amrState **state, Flag dtx) { cod_amrState* s; if (state == (cod_amrState **) NULL){ fprintf(stderr, "cod_amr_init: invalid parameter\n"); return -1; } *state = NULL; /* allocate memory */ if ((s= (cod_amrState *) malloc(sizeof(cod_amrState))) == NULL){ fprintf(stderr, "cod_amr_init: can not malloc state structure\n"); return -1; } s->lpcSt = NULL; s->lspSt = NULL; s->clLtpSt = NULL; s->gainQuantSt = NULL; s->pitchOLWghtSt = NULL; s->tonStabSt = NULL; s->vadSt = NULL; s->dtx_encSt = NULL; s->dtx = dtx; /* Init sub states */ if (cl_ltp_init(&s->clLtpSt) || lsp_init(&s->lspSt) || gainQuant_init(&s->gainQuantSt) || p_ol_wgh_init(&s->pitchOLWghtSt) || ton_stab_init(&s->tonStabSt) || #ifndef VAD2 vad1_init(&s->vadSt) || #else vad2_init(&s->vadSt) || #endif dtx_enc_init(&s->dtx_encSt) || lpc_init(&s->lpcSt)) { cod_amr_exit(&s); return -1; } cod_amr_reset(s); *state = s; return 0; }
/************************************************************************* * * Function: Speech_Encode_Frame_reset * Purpose: Resetses state memory * ************************************************************************** */ int Speech_Encode_Frame_reset (Speech_Encode_FrameState *state) { if (state == (Speech_Encode_FrameState *) NULL){ fprintf(stderr, "Speech_Encode_Frame_reset: invalid parameter\n"); return -1; } Pre_Process_reset(state->pre_state); cod_amr_reset(state->cod_amr_state); setCounter(state->complexityCounter); Init_WMOPS_counter(); setCounter(0); /* set counter to global counter */ return 0; }
Word16 Speech_Encode_Frame_reset(void *state_data) { Speech_Encode_FrameState *state = (Speech_Encode_FrameState *) state_data; if (state_data == NULL) { /* fprintf(stderr, "Speech_Encode_Frame_reset : invalid parameter\n"); */ return -1; } Pre_Process_reset(state->pre_state); cod_amr_reset(state->cod_amr_state); return 0; }