Loading lib_dec/fd_cng_dec_fx.c +25 −5 Original line number Diff line number Diff line Loading @@ -1500,18 +1500,20 @@ void perform_noise_estimation_dec_ivas_fx( Word32 enr, enr_tot, enr_tot0; Word16 enr_e, enr_ratio, alpha; Word32 *msPeriodog; Word32 *msNoiseEst; #ifdef FIX_732_MS_PERIODOG_FLOOR Word32 msPeriodog_floor; #endif Word32 *msNoiseEst; Word32 *reIter; Word32 rescale_fac = 0; Word64 W_tmp; Word16 tmp_s, tmp_q, min_q = 31; Word16 q_shift; Word32 max_l; Word16 norm_shift; #ifdef FIX_732_MS_PERIODOG_FLOOR Word16 norm_shift, check = 0; move16(); #endif /* pointer initialization */ periodog = hFdCngDec->hFdCngCom->periodog; /*Q31 - hFdCngDec->hFdCngCom->periodog_exp*/ fftBuffer = hFdCngDec->hFdCngCom->fftBuffer; /*Q31 - hFdCngDec->hFdCngCom->fftBuffer_exp*/ Loading Loading @@ -1708,6 +1710,7 @@ void perform_noise_estimation_dec_ivas_fx( msPeriodog[p] = L_add( msPeriodog[p], L_tmp ); /*Q31 - hFdCngDec->msPeriodog_exp*/ move32(); #ifdef FIX_732_MS_PERIODOG_FLOOR msPeriodog_floor = L_max( 1, L_shr( 21474 /*Q31*/, hFdCngDec->msPeriodog_exp ) ); /*Q31 - hFdCngDec->msPeriodog_exp*/ IF( LT_32( msPeriodog[p], msPeriodog_floor ) ) Loading @@ -1717,13 +1720,30 @@ void perform_noise_estimation_dec_ivas_fx( { #ifdef FIX_732_MS_PERIODOG_FLOOR msPeriodog[p] = msPeriodog_floor; move32(); #else msPeriodog[p] = L_shr( 21474 /*Q31*/, hFdCngDec->msPeriodog_exp ); /*Q31 - hFdCngDec->msPeriodog_exp*/ #endif move32(); #endif } } #ifdef FIX_732_MS_PERIODOG_FLOOR FOR( p = 0; p < npart; p++ ) { IF( GT_32( msPeriodog[p], 1 ) ) { check = 1; move16(); BREAK; } } IF( check == 0 ) { hFdCngDec->msPeriodog_exp = 14; /* msPeriodog buffer will have minimum value as 1e-5f */ move16(); } #endif } /* calculate total energy (short-term and long-term) */ tmp_s = getScaleFactor32( msPeriodog, npart ); Loading Loading
lib_dec/fd_cng_dec_fx.c +25 −5 Original line number Diff line number Diff line Loading @@ -1500,18 +1500,20 @@ void perform_noise_estimation_dec_ivas_fx( Word32 enr, enr_tot, enr_tot0; Word16 enr_e, enr_ratio, alpha; Word32 *msPeriodog; Word32 *msNoiseEst; #ifdef FIX_732_MS_PERIODOG_FLOOR Word32 msPeriodog_floor; #endif Word32 *msNoiseEst; Word32 *reIter; Word32 rescale_fac = 0; Word64 W_tmp; Word16 tmp_s, tmp_q, min_q = 31; Word16 q_shift; Word32 max_l; Word16 norm_shift; #ifdef FIX_732_MS_PERIODOG_FLOOR Word16 norm_shift, check = 0; move16(); #endif /* pointer initialization */ periodog = hFdCngDec->hFdCngCom->periodog; /*Q31 - hFdCngDec->hFdCngCom->periodog_exp*/ fftBuffer = hFdCngDec->hFdCngCom->fftBuffer; /*Q31 - hFdCngDec->hFdCngCom->fftBuffer_exp*/ Loading Loading @@ -1708,6 +1710,7 @@ void perform_noise_estimation_dec_ivas_fx( msPeriodog[p] = L_add( msPeriodog[p], L_tmp ); /*Q31 - hFdCngDec->msPeriodog_exp*/ move32(); #ifdef FIX_732_MS_PERIODOG_FLOOR msPeriodog_floor = L_max( 1, L_shr( 21474 /*Q31*/, hFdCngDec->msPeriodog_exp ) ); /*Q31 - hFdCngDec->msPeriodog_exp*/ IF( LT_32( msPeriodog[p], msPeriodog_floor ) ) Loading @@ -1717,13 +1720,30 @@ void perform_noise_estimation_dec_ivas_fx( { #ifdef FIX_732_MS_PERIODOG_FLOOR msPeriodog[p] = msPeriodog_floor; move32(); #else msPeriodog[p] = L_shr( 21474 /*Q31*/, hFdCngDec->msPeriodog_exp ); /*Q31 - hFdCngDec->msPeriodog_exp*/ #endif move32(); #endif } } #ifdef FIX_732_MS_PERIODOG_FLOOR FOR( p = 0; p < npart; p++ ) { IF( GT_32( msPeriodog[p], 1 ) ) { check = 1; move16(); BREAK; } } IF( check == 0 ) { hFdCngDec->msPeriodog_exp = 14; /* msPeriodog buffer will have minimum value as 1e-5f */ move16(); } #endif } /* calculate total energy (short-term and long-term) */ tmp_s = getScaleFactor32( msPeriodog, npart ); Loading