Loading lib_enc/fd_cng_enc.c +3 −3 Original line number Diff line number Diff line Loading @@ -157,8 +157,9 @@ void initFdCngEnc( set_f( hFdCngEnc->msPsdSecondMoment, 0.0f, NPART ); #endif hFdCngEnc->msPeriodogBufPtr = 0; #ifndef IVAS_FLOAT_FIXED set_f( hFdCngEnc->msPeriodogBuf, 0.0f, MSBUFLEN * NPART ); #ifndef IVAS_FLOAT_FIXED set_f( hFdCngEnc->msLogPeriodog, 0.0f, NPART ); set_f( hFdCngEnc->msLogNoiseEst, 0.0f, NPART ); #endif Loading Loading @@ -587,9 +588,8 @@ void perform_noise_estimation_enc_ivas_fx( } ELSE { scaleEB_fx = Mpy_32_32( numSlots_inv_fx, hFdCngEnc->hFdCngCom->scalingFactor ); scaleEB_fx = Mpy_32_16_1( numSlots_inv_fx, hFdCngEnc->hFdCngCom->scalingFactor ); scaleEB_fx = L_shl( scaleEB_fx, 4 ); scaleEB_fx = scaleEB_fx * 8; } /* preemphasis compensation and grouping of per bin energies into msPeriodog */ Loading lib_enc/ivas_core_pre_proc_front.c +9 −0 Original line number Diff line number Diff line Loading @@ -1892,13 +1892,22 @@ ivas_error pre_proc_front_ivas_fx( st->hFdCngEnc->msNoiseEst_fx_exp = 31 - normmsNoiseEst; floatToFixed_arrL( st->hFdCngEnc->msNoiseEst, st->hFdCngEnc->msNoiseEst_fx, 31 - st->hFdCngEnc->msNoiseEst_fx_exp, NPART ); floatToFixed_arr( st->hFdCngEnc->hFdCngCom->CLDFBpsize_inv_flt, st->hFdCngEnc->hFdCngCom->CLDFBpsize_inv, 15, NPARTCLDFB ); Word16 normmsperiodog = Q_factor_arrL( st->hFdCngEnc->hFdCngCom->periodog_flt, PERIODOGLEN ); st->hFdCngEnc->hFdCngCom->exp_cldfb_periodog = 31 - normmsperiodog; // floatToFixed_arrL( st->hFdCngEnc->hFdCngCom->periodog_flt, st->hFdCngEnc->hFdCngCom->periodog, 31 - st->hFdCngEnc->hFdCngCom->exp_cldfb_periodog, PERIODOGLEN); floatToFixed_arr( st->hFdCngEnc->msPeriodogBuf, st->hFdCngEnc->msPeriodogBuf_fx, 9, MSBUFLEN * NPART ); st->hFdCngEnc->hFdCngCom->init_old = (Word16) ( st->hFdCngEnc->hFdCngCom->init_old_flt * ( 1 << 9 ) ); st->hFdCngEnc->hFdCngCom->scalingFactor = (Word16) ( st->hFdCngEnc->hFdCngCom->scalingFactor * ( 1 << 30 ) ); #endif perform_noise_estimation_enc_ivas_fx( band_energies_fx, band_energies_fx_exp, enerBuffer_fx_loc, enerBuffer_fx_exp, st->hFdCngEnc, input_Fs, hCPE ); #ifdef IVAS_FLOAT_FIXED_CONVERSIONS fixedToFloat_arrL( st->hFdCngEnc->msNoiseEst_fx, st->hFdCngEnc->msNoiseEst, 31 - st->hFdCngEnc->msNoiseEst_fx_exp, NPART ); fixedToFloat_arr( st->hFdCngEnc->msPeriodogBuf_fx, st->hFdCngEnc->msPeriodogBuf, 9, MSBUFLEN * NPART ); fixedToFloat_arrL( st->hFdCngEnc->msPeriodog_fx, st->hFdCngEnc->msPeriodog, 31 - st->hFdCngEnc->msPeriodog_fx_exp, NPART ); // fixedToFloat_arrL(st->hFdCngEnc->hFdCngCom->periodog, st->hFdCngEnc->hFdCngCom->periodog_flt, 31 - st->hFdCngEnc->hFdCngCom->exp_cldfb_periodog, PERIODOGLEN); #endif } } Loading lib_enc/stat_enc.h +0 −2 Original line number Diff line number Diff line Loading @@ -552,9 +552,7 @@ typedef struct fd_cng_enc_structure Word16 energy_ho_fx_exp; Word32 msNoiseEst_old_fx[NPART]; Word16 msNoiseEst_old_fx_exp; #ifndef IVAS_FLOAT_FIXED float msPeriodogBuf[MSBUFLEN * NPART]; #endif Word16 msPeriodogBuf_fx[MSBUFLEN * NPART]; int16_t msPeriodogBufPtr; Loading Loading
lib_enc/fd_cng_enc.c +3 −3 Original line number Diff line number Diff line Loading @@ -157,8 +157,9 @@ void initFdCngEnc( set_f( hFdCngEnc->msPsdSecondMoment, 0.0f, NPART ); #endif hFdCngEnc->msPeriodogBufPtr = 0; #ifndef IVAS_FLOAT_FIXED set_f( hFdCngEnc->msPeriodogBuf, 0.0f, MSBUFLEN * NPART ); #ifndef IVAS_FLOAT_FIXED set_f( hFdCngEnc->msLogPeriodog, 0.0f, NPART ); set_f( hFdCngEnc->msLogNoiseEst, 0.0f, NPART ); #endif Loading Loading @@ -587,9 +588,8 @@ void perform_noise_estimation_enc_ivas_fx( } ELSE { scaleEB_fx = Mpy_32_32( numSlots_inv_fx, hFdCngEnc->hFdCngCom->scalingFactor ); scaleEB_fx = Mpy_32_16_1( numSlots_inv_fx, hFdCngEnc->hFdCngCom->scalingFactor ); scaleEB_fx = L_shl( scaleEB_fx, 4 ); scaleEB_fx = scaleEB_fx * 8; } /* preemphasis compensation and grouping of per bin energies into msPeriodog */ Loading
lib_enc/ivas_core_pre_proc_front.c +9 −0 Original line number Diff line number Diff line Loading @@ -1892,13 +1892,22 @@ ivas_error pre_proc_front_ivas_fx( st->hFdCngEnc->msNoiseEst_fx_exp = 31 - normmsNoiseEst; floatToFixed_arrL( st->hFdCngEnc->msNoiseEst, st->hFdCngEnc->msNoiseEst_fx, 31 - st->hFdCngEnc->msNoiseEst_fx_exp, NPART ); floatToFixed_arr( st->hFdCngEnc->hFdCngCom->CLDFBpsize_inv_flt, st->hFdCngEnc->hFdCngCom->CLDFBpsize_inv, 15, NPARTCLDFB ); Word16 normmsperiodog = Q_factor_arrL( st->hFdCngEnc->hFdCngCom->periodog_flt, PERIODOGLEN ); st->hFdCngEnc->hFdCngCom->exp_cldfb_periodog = 31 - normmsperiodog; // floatToFixed_arrL( st->hFdCngEnc->hFdCngCom->periodog_flt, st->hFdCngEnc->hFdCngCom->periodog, 31 - st->hFdCngEnc->hFdCngCom->exp_cldfb_periodog, PERIODOGLEN); floatToFixed_arr( st->hFdCngEnc->msPeriodogBuf, st->hFdCngEnc->msPeriodogBuf_fx, 9, MSBUFLEN * NPART ); st->hFdCngEnc->hFdCngCom->init_old = (Word16) ( st->hFdCngEnc->hFdCngCom->init_old_flt * ( 1 << 9 ) ); st->hFdCngEnc->hFdCngCom->scalingFactor = (Word16) ( st->hFdCngEnc->hFdCngCom->scalingFactor * ( 1 << 30 ) ); #endif perform_noise_estimation_enc_ivas_fx( band_energies_fx, band_energies_fx_exp, enerBuffer_fx_loc, enerBuffer_fx_exp, st->hFdCngEnc, input_Fs, hCPE ); #ifdef IVAS_FLOAT_FIXED_CONVERSIONS fixedToFloat_arrL( st->hFdCngEnc->msNoiseEst_fx, st->hFdCngEnc->msNoiseEst, 31 - st->hFdCngEnc->msNoiseEst_fx_exp, NPART ); fixedToFloat_arr( st->hFdCngEnc->msPeriodogBuf_fx, st->hFdCngEnc->msPeriodogBuf, 9, MSBUFLEN * NPART ); fixedToFloat_arrL( st->hFdCngEnc->msPeriodog_fx, st->hFdCngEnc->msPeriodog, 31 - st->hFdCngEnc->msPeriodog_fx_exp, NPART ); // fixedToFloat_arrL(st->hFdCngEnc->hFdCngCom->periodog, st->hFdCngEnc->hFdCngCom->periodog_flt, 31 - st->hFdCngEnc->hFdCngCom->exp_cldfb_periodog, PERIODOGLEN); #endif } } Loading
lib_enc/stat_enc.h +0 −2 Original line number Diff line number Diff line Loading @@ -552,9 +552,7 @@ typedef struct fd_cng_enc_structure Word16 energy_ho_fx_exp; Word32 msNoiseEst_old_fx[NPART]; Word16 msNoiseEst_old_fx_exp; #ifndef IVAS_FLOAT_FIXED float msPeriodogBuf[MSBUFLEN * NPART]; #endif Word16 msPeriodogBuf_fx[MSBUFLEN * NPART]; int16_t msPeriodogBufPtr; Loading