Loading lib_com/fd_cng_com_fx.c +0 −110 Original line number Diff line number Diff line Loading @@ -58,11 +58,7 @@ ivas_error createFdCngCom_fx( * *-------------------------------------------------------------------*/ #ifdef FIX_2245_INIT_FD_CNG_EVS void initFdCngCom( #else void ivas_initFdCngCom_fx( #endif HANDLE_FD_CNG_COM hFdCngCom, Word16 scale ) { Loading Loading @@ -178,112 +174,6 @@ void ivas_initFdCngCom_fx( return; } #ifndef FIX_2245_INIT_FD_CNG_EVS void initFdCngCom( HANDLE_FD_CNG_COM hFdCngCom, Word16 scale ) { /* Calculate CLDFB scaling factor */ /* shl(i_mult2(scale, scale), 3) does not fit in 16 bit */ /*hFdCngCom->scalingFactor = div_s(1, shl(i_mult2(scale, scale), 3));*/ assert( 2048 /*1.0/(1<<4) Q15*/ < mult( scale, scale ) ); /* Exponent invScalingFactor: -16 = -(2*7 (scale) + 2 (8.0) */ hFdCngCom->invScalingFactor = shl( mult( scale, scale ), 1 ); move16(); /* Exponent scalingFactor: -15 = -(2*7 (scale) + 2 (8.0) - 1 (1.0)) */ hFdCngCom->scalingFactor = div_s( 0x4000, hFdCngCom->invScalingFactor ); move16(); /* Initialize the overlap-add */ set16_fx( hFdCngCom->timeDomainBuffer, 0, L_FRAME16k ); hFdCngCom->olapBufferAna = NULL; set16_fx( hFdCngCom->olapBufferAna_fx, 0, FFTLEN ); set16_fx( hFdCngCom->olapBufferSynth, 0, FFTLEN ); hFdCngCom->olapBufferSynth2 = NULL; /* Initialize the comfort noise generation */ set32_fx( hFdCngCom->fftBuffer, 0, FFTLEN ); set32_fx( hFdCngCom->cngNoiseLevel, 0, FFTCLDFBLEN ); set16_fx( &hFdCngCom->cngNoiseLevelExp, 0, 1 ); /* Initialize quantizer */ set32_fx( hFdCngCom->sidNoiseEst, 0, NPART ); set16_fx( &hFdCngCom->sidNoiseEstExp, 0, 1 ); set16_fx( hFdCngCom->A_cng, 0, M + 1 ); hFdCngCom->A_cng[0] = 4096 /*1.f Q12*/; /* 3Q12 */ move16(); /* Set some counters and flags */ hFdCngCom->inactive_frame_counter = 0; /* Either SID or zero frames */ move16(); hFdCngCom->active_frame_counter = 0; move16(); hFdCngCom->frame_type_previous = ACTIVE_FRAME; move16(); hFdCngCom->flag_noisy_speech = 0; move16(); hFdCngCom->likelihood_noisy_speech = 0; move16(); hFdCngCom->numCoreBands = 0; move16(); hFdCngCom->stopBand = 0; move16(); hFdCngCom->startBand = 0; move16(); hFdCngCom->stopFFTbin = 0; move16(); hFdCngCom->frameSize = 0; move16(); hFdCngCom->fftlen = 0; move16(); hFdCngCom->seed = 0; move16(); // hFdCngCom->seed2 = 1; // move16(); // hFdCngCom->seed3 = 2; // move16(); hFdCngCom->CngBitrate = -1; move16(); /* Initialize noise estimation algorithm */ set32_fx( hFdCngCom->periodog, 0, PERIODOGLEN ); mhvals( MSNUMSUBFR * MSSUBFRLEN, &( hFdCngCom->msM_win ) ); mhvals( MSSUBFRLEN, &( hFdCngCom->msM_subwin ) ); set32_fx( hFdCngCom->msPeriodogSum, 0, 2 ); hFdCngCom->msPeriodogSum_exp[0] = 0; move16(); hFdCngCom->msPeriodogSum_exp[1] = 0; move16(); set32_fx( hFdCngCom->msPsdSum, 0, 2 ); set16_fx( hFdCngCom->msSlope, 0, 2 ); set32_fx( hFdCngCom->msQeqInvAv, 0, 2 ); hFdCngCom->msQeqInvAv_exp[0] = 0; move16(); hFdCngCom->msQeqInvAv_exp[1] = 0; move16(); hFdCngCom->msFrCnt_init_counter = 0; move16(); hFdCngCom->msFrCnt_init_thresh = 1; move16(); hFdCngCom->init_old = 0; move16(); hFdCngCom->offsetflag = 0; move16(); hFdCngCom->msFrCnt = MSSUBFRLEN; move16(); hFdCngCom->msMinBufferPtr = 0; move16(); hFdCngCom->msAlphaCor[0] = 644245120l /*0.3f Q31*/; move16(); hFdCngCom->msAlphaCor[1] = 644245120l /*0.3f Q31*/; move16(); set16_fx( hFdCngCom->psize, 0, NPART ); /* Initialize exponents */ hFdCngCom->exp_cldfb_periodog = 0; move16(); return; } #endif /*------------------------------------------------------------------- * deleteFdCngCom() * Loading lib_com/ivas_prot_fx.h +0 −10 Original line number Diff line number Diff line Loading @@ -1990,16 +1990,6 @@ ivas_error stereo_memory_dec_fx( const Word16 nchan_transport /* i : number of transport channels */ ); #ifndef FIX_2245_INIT_FD_CNG_EVS void initFdCngDec_ivas_fx( DEC_CORE_HANDLE st, /* i/o: decoder state structure */ Word16 scale ); void ivas_initFdCngCom_fx( HANDLE_FD_CNG_COM hFdCngCom, Word16 scale ); #endif Word16 set_ACELP_flag_IVAS( const Word16 element_mode, /* i : element mode */ const Word32 element_brate, /* i : element bitrate */ Loading lib_dec/dec_tcx_fx.c +1 −9 Original line number Diff line number Diff line Loading @@ -4043,11 +4043,7 @@ void decoder_tcx_ivas_fx( decoder_tcx_tns_fx( st, L_frame_glob, L_spec, L_frame, L_frameTCX, x_fx, fUseTns, &tnsData, bfi, frame_cnt, 0, NULL ); Scale_sig32( x_fx, N_MAX, sub( x_e, 20 ) ); // Scaling x_fx to Q11 #ifdef NONBE_FIX_1967_SBA_DECODER_MONO_OUT_BIG_DIFFERENCES Scale_sig( xn_buf_fx, L_MDCT_OVLP_MAX + L_FRAME_PLUS + L_MDCT_OVLP_MAX, -( Q14 - 2 ) ); // Scaling xn_buf_fx to Q(-2) #else Scale_sig( xn_buf_fx, L_MDCT_OVLP_MAX + L_FRAME_PLUS + L_MDCT_OVLP_MAX, sub( st->Q_syn, 14 ) ); // Scaling xn_buf_fx to Q_syn #endif x_e = sub( 31, 11 ); IF( st->igf != 0 ) Loading Loading @@ -5648,11 +5644,7 @@ void decoder_tcx_imdct_fx( generate_masking_noise_mdct_ivas_fx( x_fx, &x_e, st->hFdCngDec->hFdCngCom ); FOR( Word16 ind = 0; ind < L_frame; ind++ ) { #ifdef NONBE_FIX_1967_SBA_DECODER_MONO_OUT_BIG_DIFFERENCES x_fx[ind] = L_shl( x_fx[ind], sub( 31, add( x_e, q_x ) ) ); // q_x #else x_fx[ind] = L_shr( x_fx[ind], sub( 31, add( x_e, q_x ) ) ); // q_x #endif } } Loading lib_dec/fd_cng_dec_fx.c +0 −104 Original line number Diff line number Diff line Loading @@ -78,27 +78,17 @@ ivas_error createFdCngDec_fx( HANDLE_FD_CNG_DEC *hFdCngDec ) return error; } #ifdef FIX_2245_INIT_FD_CNG_EVS void initFdCngDec_fx( DEC_CORE_HANDLE st, /* i/o: decoder state structure */ const Word16 scale /* i : Q factor */ ) #else void initFdCngDec_ivas_fx( DEC_CORE_HANDLE st, /* i/o: decoder state structure */ Word16 scale /*Q15*/ ) #endif { /* Initialize common */ HANDLE_FD_CNG_DEC hFdCngDec; hFdCngDec = st->hFdCngDec; #ifdef FIX_2245_INIT_FD_CNG_EVS initFdCngCom( hFdCngDec->hFdCngCom, scale ); #else ivas_initFdCngCom_fx( hFdCngDec->hFdCngCom, scale ); #endif set16_fx( hFdCngDec->olapBufferAna, 0, FFTLEN ); hFdCngDec->hFdCngCom->olapBufferAna = hFdCngDec->olapBufferAna; set16_fx( hFdCngDec->olapBufferSynth2, 0, FFTLEN ); Loading Loading @@ -133,9 +123,7 @@ void initFdCngDec_ivas_fx( set16_fx( hFdCngDec->msPsd, 0, NPART_SHAPING ); set32_fx( hFdCngDec->msPsd_fx, 0, NPART_SHAPING ); #ifdef FIX_2245_INIT_FD_CNG_EVS set16_fx( hFdCngDec->msNoiseFloor, 0, NPART_SHAPING ); #endif set32_fx( hFdCngDec->msNoiseFloor_32fx, 0, NPART_SHAPING ); set32_fx( hFdCngDec->msNoiseEst, 0, NPART_SHAPING ); Loading @@ -161,9 +149,7 @@ void initFdCngDec_ivas_fx( move16(); set16_fx( hFdCngDec->msLogPeriodog, 0, NPART_SHAPING ); #ifdef FIX_2245_INIT_FD_CNG_EVS set16_fx( hFdCngDec->msLogNoiseEst, 0, NPART_SHAPING ); #endif set32_fx( hFdCngDec->msLogNoiseEst_32fx, 0, NPART_SHAPING ); set16_fx( hFdCngDec->psize_shaping, 0, NPART_SHAPING ); Loading Loading @@ -214,96 +200,6 @@ void initFdCngDec_ivas_fx( return; } #ifndef FIX_2245_INIT_FD_CNG_EVS void initFdCngDec_fx( DEC_CORE_HANDLE st, /* i/o: decoder state structure */ const Word16 scale /*Q15*/ ) { /* Initialize common */ HANDLE_FD_CNG_DEC hFdCngDec; hFdCngDec = st->hFdCngDec; initFdCngCom( hFdCngDec->hFdCngCom, scale ); set16_fx( hFdCngDec->olapBufferAna, 0, 320 ); hFdCngDec->hFdCngCom->olapBufferAna = hFdCngDec->olapBufferAna; move16(); set16_fx( hFdCngDec->olapBufferSynth2, 0, FFTLEN ); hFdCngDec->hFdCngCom->olapBufferSynth2 = hFdCngDec->olapBufferSynth2; move16(); /* Set some counters and flags */ hFdCngDec->flag_dtx_mode = 0; move16(); hFdCngDec->lp_noise = -167772160l /*-20.f Q23*/; /* format: Q8.24 */ move32(); hFdCngDec->lp_speech = 209715200l /* 25.f Q23*/; /* format: Q8.24 */ move32(); /* Initialization of the noise estimation algorithm */ set32_fx( hFdCngDec->bandNoiseShape, 0, FFTLEN2 ); set16_fx( &hFdCngDec->bandNoiseShape_exp, 0, 1 ); set32_fx( hFdCngDec->partNoiseShape, 0, NPART ); set16_fx( &hFdCngDec->partNoiseShape_exp, 0, 1 ); set32_fx( hFdCngDec->msPeriodog, 0, NPART_SHAPING ); set16_fx( &hFdCngDec->msPeriodog_exp, 0, 1 ); set32_fx( hFdCngDec->msAlpha, 0, NPART_SHAPING ); set32_fx( hFdCngDec->msBminWin, 0, NPART_SHAPING ); set32_fx( hFdCngDec->msBminSubWin, 0, NPART_SHAPING ); set16_fx( hFdCngDec->msPsd, 0, NPART_SHAPING ); set32_fx( hFdCngDec->msPsd_fx, 0, NPART_SHAPING ); set16_fx( hFdCngDec->msNoiseFloor, 0, NPART_SHAPING ); set32_fx( hFdCngDec->msNoiseEst, 0, NPART_SHAPING ); set16_fx( &hFdCngDec->msNoiseEst_exp, 0, 1 ); set32_fx( hFdCngDec->msMinBuf, 2147483647l /*1.0 Q31*/, MSNUMSUBFR * NPART_SHAPING ); set32_fx( hFdCngDec->msCurrentMin, 2147483647l /*1.0 Q31*/, NPART_SHAPING ); set32_fx( hFdCngDec->msCurrentMinOut, 2147483647l /*1.0 Q31*/, NPART_SHAPING ); set32_fx( hFdCngDec->msCurrentMinSubWindow, 2147483647l /*1.0 Q31*/, NPART_SHAPING ); set16_fx( hFdCngDec->msLocalMinFlag, 0, NPART_SHAPING ); set16_fx( hFdCngDec->msNewMinFlag, 0, NPART_SHAPING ); set16_fx( hFdCngDec->msPsdFirstMoment, 0, NPART_SHAPING ); set32_fx( hFdCngDec->msPsdSecondMoment, 0, NPART_SHAPING ); set16_fx( hFdCngDec->msPeriodogBuf, 0, MSBUFLEN * NPART_SHAPING ); hFdCngDec->msPeriodogBufPtr = 0; move16(); set16_fx( hFdCngDec->msLogPeriodog, 0, NPART_SHAPING ); set16_fx( hFdCngDec->msLogNoiseEst, 0, NPART_SHAPING ); set16_fx( hFdCngDec->psize_shaping, 0, NPART_SHAPING ); hFdCngDec->nFFTpart_shaping = 0; move16(); set32_fx( hFdCngDec->msPeriodog_ST_fx, 0, NPART_SHAPING ); hFdCngDec->msPeriodog_ST_exp = 0; move16(); hFdCngDec->hFdCngCom->fftBuffer_exp = 0; move16(); hFdCngDec->hFdCngCom->periodog_exp = 0; move16(); set32_fx( hFdCngDec->smoothed_psd_fx, 0, L_FRAME16k ); hFdCngDec->smoothed_psd_exp = 0; move16(); return; } #endif /* configureFdCngDec_fx Loading lib_dec/init_dec_fx.c +0 −4 Original line number Diff line number Diff line Loading @@ -928,11 +928,7 @@ ivas_error init_decoder_fx( } /* Init FD-CNG */ #ifdef FIX_2245_INIT_FD_CNG_EVS initFdCngDec_fx( st_fx, st_fx->cldfbSyn->scale ); #else initFdCngDec_ivas_fx( st_fx, st_fx->cldfbSyn->scale ); #endif } ELSE { Loading Loading
lib_com/fd_cng_com_fx.c +0 −110 Original line number Diff line number Diff line Loading @@ -58,11 +58,7 @@ ivas_error createFdCngCom_fx( * *-------------------------------------------------------------------*/ #ifdef FIX_2245_INIT_FD_CNG_EVS void initFdCngCom( #else void ivas_initFdCngCom_fx( #endif HANDLE_FD_CNG_COM hFdCngCom, Word16 scale ) { Loading Loading @@ -178,112 +174,6 @@ void ivas_initFdCngCom_fx( return; } #ifndef FIX_2245_INIT_FD_CNG_EVS void initFdCngCom( HANDLE_FD_CNG_COM hFdCngCom, Word16 scale ) { /* Calculate CLDFB scaling factor */ /* shl(i_mult2(scale, scale), 3) does not fit in 16 bit */ /*hFdCngCom->scalingFactor = div_s(1, shl(i_mult2(scale, scale), 3));*/ assert( 2048 /*1.0/(1<<4) Q15*/ < mult( scale, scale ) ); /* Exponent invScalingFactor: -16 = -(2*7 (scale) + 2 (8.0) */ hFdCngCom->invScalingFactor = shl( mult( scale, scale ), 1 ); move16(); /* Exponent scalingFactor: -15 = -(2*7 (scale) + 2 (8.0) - 1 (1.0)) */ hFdCngCom->scalingFactor = div_s( 0x4000, hFdCngCom->invScalingFactor ); move16(); /* Initialize the overlap-add */ set16_fx( hFdCngCom->timeDomainBuffer, 0, L_FRAME16k ); hFdCngCom->olapBufferAna = NULL; set16_fx( hFdCngCom->olapBufferAna_fx, 0, FFTLEN ); set16_fx( hFdCngCom->olapBufferSynth, 0, FFTLEN ); hFdCngCom->olapBufferSynth2 = NULL; /* Initialize the comfort noise generation */ set32_fx( hFdCngCom->fftBuffer, 0, FFTLEN ); set32_fx( hFdCngCom->cngNoiseLevel, 0, FFTCLDFBLEN ); set16_fx( &hFdCngCom->cngNoiseLevelExp, 0, 1 ); /* Initialize quantizer */ set32_fx( hFdCngCom->sidNoiseEst, 0, NPART ); set16_fx( &hFdCngCom->sidNoiseEstExp, 0, 1 ); set16_fx( hFdCngCom->A_cng, 0, M + 1 ); hFdCngCom->A_cng[0] = 4096 /*1.f Q12*/; /* 3Q12 */ move16(); /* Set some counters and flags */ hFdCngCom->inactive_frame_counter = 0; /* Either SID or zero frames */ move16(); hFdCngCom->active_frame_counter = 0; move16(); hFdCngCom->frame_type_previous = ACTIVE_FRAME; move16(); hFdCngCom->flag_noisy_speech = 0; move16(); hFdCngCom->likelihood_noisy_speech = 0; move16(); hFdCngCom->numCoreBands = 0; move16(); hFdCngCom->stopBand = 0; move16(); hFdCngCom->startBand = 0; move16(); hFdCngCom->stopFFTbin = 0; move16(); hFdCngCom->frameSize = 0; move16(); hFdCngCom->fftlen = 0; move16(); hFdCngCom->seed = 0; move16(); // hFdCngCom->seed2 = 1; // move16(); // hFdCngCom->seed3 = 2; // move16(); hFdCngCom->CngBitrate = -1; move16(); /* Initialize noise estimation algorithm */ set32_fx( hFdCngCom->periodog, 0, PERIODOGLEN ); mhvals( MSNUMSUBFR * MSSUBFRLEN, &( hFdCngCom->msM_win ) ); mhvals( MSSUBFRLEN, &( hFdCngCom->msM_subwin ) ); set32_fx( hFdCngCom->msPeriodogSum, 0, 2 ); hFdCngCom->msPeriodogSum_exp[0] = 0; move16(); hFdCngCom->msPeriodogSum_exp[1] = 0; move16(); set32_fx( hFdCngCom->msPsdSum, 0, 2 ); set16_fx( hFdCngCom->msSlope, 0, 2 ); set32_fx( hFdCngCom->msQeqInvAv, 0, 2 ); hFdCngCom->msQeqInvAv_exp[0] = 0; move16(); hFdCngCom->msQeqInvAv_exp[1] = 0; move16(); hFdCngCom->msFrCnt_init_counter = 0; move16(); hFdCngCom->msFrCnt_init_thresh = 1; move16(); hFdCngCom->init_old = 0; move16(); hFdCngCom->offsetflag = 0; move16(); hFdCngCom->msFrCnt = MSSUBFRLEN; move16(); hFdCngCom->msMinBufferPtr = 0; move16(); hFdCngCom->msAlphaCor[0] = 644245120l /*0.3f Q31*/; move16(); hFdCngCom->msAlphaCor[1] = 644245120l /*0.3f Q31*/; move16(); set16_fx( hFdCngCom->psize, 0, NPART ); /* Initialize exponents */ hFdCngCom->exp_cldfb_periodog = 0; move16(); return; } #endif /*------------------------------------------------------------------- * deleteFdCngCom() * Loading
lib_com/ivas_prot_fx.h +0 −10 Original line number Diff line number Diff line Loading @@ -1990,16 +1990,6 @@ ivas_error stereo_memory_dec_fx( const Word16 nchan_transport /* i : number of transport channels */ ); #ifndef FIX_2245_INIT_FD_CNG_EVS void initFdCngDec_ivas_fx( DEC_CORE_HANDLE st, /* i/o: decoder state structure */ Word16 scale ); void ivas_initFdCngCom_fx( HANDLE_FD_CNG_COM hFdCngCom, Word16 scale ); #endif Word16 set_ACELP_flag_IVAS( const Word16 element_mode, /* i : element mode */ const Word32 element_brate, /* i : element bitrate */ Loading
lib_dec/dec_tcx_fx.c +1 −9 Original line number Diff line number Diff line Loading @@ -4043,11 +4043,7 @@ void decoder_tcx_ivas_fx( decoder_tcx_tns_fx( st, L_frame_glob, L_spec, L_frame, L_frameTCX, x_fx, fUseTns, &tnsData, bfi, frame_cnt, 0, NULL ); Scale_sig32( x_fx, N_MAX, sub( x_e, 20 ) ); // Scaling x_fx to Q11 #ifdef NONBE_FIX_1967_SBA_DECODER_MONO_OUT_BIG_DIFFERENCES Scale_sig( xn_buf_fx, L_MDCT_OVLP_MAX + L_FRAME_PLUS + L_MDCT_OVLP_MAX, -( Q14 - 2 ) ); // Scaling xn_buf_fx to Q(-2) #else Scale_sig( xn_buf_fx, L_MDCT_OVLP_MAX + L_FRAME_PLUS + L_MDCT_OVLP_MAX, sub( st->Q_syn, 14 ) ); // Scaling xn_buf_fx to Q_syn #endif x_e = sub( 31, 11 ); IF( st->igf != 0 ) Loading Loading @@ -5648,11 +5644,7 @@ void decoder_tcx_imdct_fx( generate_masking_noise_mdct_ivas_fx( x_fx, &x_e, st->hFdCngDec->hFdCngCom ); FOR( Word16 ind = 0; ind < L_frame; ind++ ) { #ifdef NONBE_FIX_1967_SBA_DECODER_MONO_OUT_BIG_DIFFERENCES x_fx[ind] = L_shl( x_fx[ind], sub( 31, add( x_e, q_x ) ) ); // q_x #else x_fx[ind] = L_shr( x_fx[ind], sub( 31, add( x_e, q_x ) ) ); // q_x #endif } } Loading
lib_dec/fd_cng_dec_fx.c +0 −104 Original line number Diff line number Diff line Loading @@ -78,27 +78,17 @@ ivas_error createFdCngDec_fx( HANDLE_FD_CNG_DEC *hFdCngDec ) return error; } #ifdef FIX_2245_INIT_FD_CNG_EVS void initFdCngDec_fx( DEC_CORE_HANDLE st, /* i/o: decoder state structure */ const Word16 scale /* i : Q factor */ ) #else void initFdCngDec_ivas_fx( DEC_CORE_HANDLE st, /* i/o: decoder state structure */ Word16 scale /*Q15*/ ) #endif { /* Initialize common */ HANDLE_FD_CNG_DEC hFdCngDec; hFdCngDec = st->hFdCngDec; #ifdef FIX_2245_INIT_FD_CNG_EVS initFdCngCom( hFdCngDec->hFdCngCom, scale ); #else ivas_initFdCngCom_fx( hFdCngDec->hFdCngCom, scale ); #endif set16_fx( hFdCngDec->olapBufferAna, 0, FFTLEN ); hFdCngDec->hFdCngCom->olapBufferAna = hFdCngDec->olapBufferAna; set16_fx( hFdCngDec->olapBufferSynth2, 0, FFTLEN ); Loading Loading @@ -133,9 +123,7 @@ void initFdCngDec_ivas_fx( set16_fx( hFdCngDec->msPsd, 0, NPART_SHAPING ); set32_fx( hFdCngDec->msPsd_fx, 0, NPART_SHAPING ); #ifdef FIX_2245_INIT_FD_CNG_EVS set16_fx( hFdCngDec->msNoiseFloor, 0, NPART_SHAPING ); #endif set32_fx( hFdCngDec->msNoiseFloor_32fx, 0, NPART_SHAPING ); set32_fx( hFdCngDec->msNoiseEst, 0, NPART_SHAPING ); Loading @@ -161,9 +149,7 @@ void initFdCngDec_ivas_fx( move16(); set16_fx( hFdCngDec->msLogPeriodog, 0, NPART_SHAPING ); #ifdef FIX_2245_INIT_FD_CNG_EVS set16_fx( hFdCngDec->msLogNoiseEst, 0, NPART_SHAPING ); #endif set32_fx( hFdCngDec->msLogNoiseEst_32fx, 0, NPART_SHAPING ); set16_fx( hFdCngDec->psize_shaping, 0, NPART_SHAPING ); Loading Loading @@ -214,96 +200,6 @@ void initFdCngDec_ivas_fx( return; } #ifndef FIX_2245_INIT_FD_CNG_EVS void initFdCngDec_fx( DEC_CORE_HANDLE st, /* i/o: decoder state structure */ const Word16 scale /*Q15*/ ) { /* Initialize common */ HANDLE_FD_CNG_DEC hFdCngDec; hFdCngDec = st->hFdCngDec; initFdCngCom( hFdCngDec->hFdCngCom, scale ); set16_fx( hFdCngDec->olapBufferAna, 0, 320 ); hFdCngDec->hFdCngCom->olapBufferAna = hFdCngDec->olapBufferAna; move16(); set16_fx( hFdCngDec->olapBufferSynth2, 0, FFTLEN ); hFdCngDec->hFdCngCom->olapBufferSynth2 = hFdCngDec->olapBufferSynth2; move16(); /* Set some counters and flags */ hFdCngDec->flag_dtx_mode = 0; move16(); hFdCngDec->lp_noise = -167772160l /*-20.f Q23*/; /* format: Q8.24 */ move32(); hFdCngDec->lp_speech = 209715200l /* 25.f Q23*/; /* format: Q8.24 */ move32(); /* Initialization of the noise estimation algorithm */ set32_fx( hFdCngDec->bandNoiseShape, 0, FFTLEN2 ); set16_fx( &hFdCngDec->bandNoiseShape_exp, 0, 1 ); set32_fx( hFdCngDec->partNoiseShape, 0, NPART ); set16_fx( &hFdCngDec->partNoiseShape_exp, 0, 1 ); set32_fx( hFdCngDec->msPeriodog, 0, NPART_SHAPING ); set16_fx( &hFdCngDec->msPeriodog_exp, 0, 1 ); set32_fx( hFdCngDec->msAlpha, 0, NPART_SHAPING ); set32_fx( hFdCngDec->msBminWin, 0, NPART_SHAPING ); set32_fx( hFdCngDec->msBminSubWin, 0, NPART_SHAPING ); set16_fx( hFdCngDec->msPsd, 0, NPART_SHAPING ); set32_fx( hFdCngDec->msPsd_fx, 0, NPART_SHAPING ); set16_fx( hFdCngDec->msNoiseFloor, 0, NPART_SHAPING ); set32_fx( hFdCngDec->msNoiseEst, 0, NPART_SHAPING ); set16_fx( &hFdCngDec->msNoiseEst_exp, 0, 1 ); set32_fx( hFdCngDec->msMinBuf, 2147483647l /*1.0 Q31*/, MSNUMSUBFR * NPART_SHAPING ); set32_fx( hFdCngDec->msCurrentMin, 2147483647l /*1.0 Q31*/, NPART_SHAPING ); set32_fx( hFdCngDec->msCurrentMinOut, 2147483647l /*1.0 Q31*/, NPART_SHAPING ); set32_fx( hFdCngDec->msCurrentMinSubWindow, 2147483647l /*1.0 Q31*/, NPART_SHAPING ); set16_fx( hFdCngDec->msLocalMinFlag, 0, NPART_SHAPING ); set16_fx( hFdCngDec->msNewMinFlag, 0, NPART_SHAPING ); set16_fx( hFdCngDec->msPsdFirstMoment, 0, NPART_SHAPING ); set32_fx( hFdCngDec->msPsdSecondMoment, 0, NPART_SHAPING ); set16_fx( hFdCngDec->msPeriodogBuf, 0, MSBUFLEN * NPART_SHAPING ); hFdCngDec->msPeriodogBufPtr = 0; move16(); set16_fx( hFdCngDec->msLogPeriodog, 0, NPART_SHAPING ); set16_fx( hFdCngDec->msLogNoiseEst, 0, NPART_SHAPING ); set16_fx( hFdCngDec->psize_shaping, 0, NPART_SHAPING ); hFdCngDec->nFFTpart_shaping = 0; move16(); set32_fx( hFdCngDec->msPeriodog_ST_fx, 0, NPART_SHAPING ); hFdCngDec->msPeriodog_ST_exp = 0; move16(); hFdCngDec->hFdCngCom->fftBuffer_exp = 0; move16(); hFdCngDec->hFdCngCom->periodog_exp = 0; move16(); set32_fx( hFdCngDec->smoothed_psd_fx, 0, L_FRAME16k ); hFdCngDec->smoothed_psd_exp = 0; move16(); return; } #endif /* configureFdCngDec_fx Loading
lib_dec/init_dec_fx.c +0 −4 Original line number Diff line number Diff line Loading @@ -928,11 +928,7 @@ ivas_error init_decoder_fx( } /* Init FD-CNG */ #ifdef FIX_2245_INIT_FD_CNG_EVS initFdCngDec_fx( st_fx, st_fx->cldfbSyn->scale ); #else initFdCngDec_ivas_fx( st_fx, st_fx->cldfbSyn->scale ); #endif } ELSE { Loading