Loading lib_com/bits_alloc_fx.c +2 −0 Original line number Diff line number Diff line Loading @@ -609,6 +609,8 @@ ivas_error config_acelp1( const Word16 GSC_IVAS_mode /* i : GSC IVAS mode */ ) { UNUSED_PARAM(active_cnt); Word16 i, bits, nb_subfr; Word16 flag_hardcoded, coder_type_sw, fix_first; Word32 core_brate; Loading lib_com/cldfb.c +5 −0 Original line number Diff line number Diff line Loading @@ -1659,6 +1659,7 @@ ivas_error openCldfb_ivas( hs->cldfb_state_length = buf_len;//Temporarily added to store the length of buffer hs->cldfb_size = buf_len; /*for having original size at intermediatery conversion, will be removed on removing conversion*/ set32_fx(hs->cldfb_state_fx, 0, buf_len); hs->Q_cldfb_state = Q31; #endif // IVAS_FLOAT_FIXED Loading Loading @@ -2468,6 +2469,10 @@ void cldfb_restore_memory_ivas_fx( } hs->cldfb_state_length = size; hs->memory_length = 0; #if 1 //Remove later free(hs->memory_flt); hs->memory_flt = NULL; #endif free( hs->memory32 ); hs->memory32 = NULL; Loading lib_com/cnst.h +4 −0 Original line number Diff line number Diff line Loading @@ -224,6 +224,9 @@ enum{ #define MIN_LOG_VAL_60dB -60.0f #define INV_LOG_2 1.442695040888963f /* 1/log(2) */ #ifdef IVAS_FLOAT_FIXED #define INV_LOG_2_FX 23637 /*Q14*//* 1/log(2) */ #endif // IVAS_FLOAT_FIXED #define INV_SQRT_2 0.70710676908493f /* 1/sqrt(2) */ #define INV_SQRT_2_Q15 23170 /* 1/sqrt(2) in Q15 */ #define INV_SQRT_2_Q31 (Word32)1.51850022e+09 /* 1/sqrt(2) in Q31 */ Loading Loading @@ -1355,6 +1358,7 @@ enum #define PLC_MIN_CNG_LEV_FLT 0.01f /* minimum background level */ #define PLC_MIN_CNG_LEV 328/*0.01f Q15*/ #define PLC_MIN_CNG_LEV_Q21 20992/*0.01f Q21*/ #define PLC_MIN_STAT_BUFF_SIZE 50 /* buffer size for minimum statistics */ #define G_LPC_RECOVERY_BITS 1 Loading lib_com/common_api_types.h +4 −0 Original line number Diff line number Diff line Loading @@ -223,7 +223,11 @@ typedef struct _IVAS_ROOM_ACOUSTICS_CONFIG float acousticPreDelay; /* Time elapsed between input signal and late reverberation start, float, range [0.001..10] */ float inputPreDelay; /* Offset in seconds from where DSR is computed in the RIR (0 = at source), float, range [0.001..10] */ #ifdef IVAS_FLOAT_FIXED Word32 pFc_input_fx[IVAS_CLDFB_NO_CHANNELS_MAX]; /* Center frequencies for which following values are provided: */ Word32 pAcoustic_rt60_fx[IVAS_CLDFB_NO_CHANNELS_MAX]; /* - The room's T60 per center frequency */ Word32 pAcoustic_dsr_fx[IVAS_CLDFB_NO_CHANNELS_MAX]; /* - The room's Diffuse to Source Ratio per center frequency */ Word32 acousticPreDelay_fx; /* Time elapsed between input signal and late reverberation start, float, range [0.001..10] *//*Assumed Q-27*/ Word32 inputPreDelay_fx; /* Offset in seconds from where DSR is computed in the RIR (0 = at source), float, range [0.001..10] *//* Assumed Q-27*/ #endif // IVAS_FLOAT_FIXED /* early reflections */ Loading lib_com/fd_cng_com.c +12 −7 Original line number Diff line number Diff line Loading @@ -90,6 +90,7 @@ void initFdCngCom_flt( HANDLE_FD_CNG_COM hFdCngCom, /* i/o: FD_CNG structure containing all buffers and variables */ const float scale ) { #if (defined EVS_FLOAT) || !(defined IVAS_FLOAT_FIXED) /* Calculate FFT scaling factor */ hFdCngCom->scalingFactor_flt = 1 / ( scale * scale * 8.f ); Loading @@ -97,11 +98,12 @@ void initFdCngCom_flt( set_f( hFdCngCom->timeDomainBuffer_flt, 0.0f, L_FRAME16k ); set_f( hFdCngCom->olapBufferAna_flt, 0.0f, FFTLEN ); set_f( hFdCngCom->olapBufferSynth_flt, 0.0f, FFTLEN ); set_f( hFdCngCom->olapBufferSynth2_flt, 0.0f, FFTLEN ); /* Initialize the comfort noise generation */ set_f( hFdCngCom->fftBuffer_flt, 0.0f, FFTLEN ); #endif set_f( hFdCngCom->cngNoiseLevel_flt, 0.0f, FFTCLDFBLEN ); set_f( hFdCngCom->olapBufferSynth2_flt, 0.0f, FFTLEN ); /* Initialize quantizer */ set_f( hFdCngCom->sidNoiseEst_flt, 0.0f, NPART ); Loading Loading @@ -131,7 +133,7 @@ void initFdCngCom_flt( hFdCngCom->seed2 = 1; hFdCngCom->seed3 = 2; hFdCngCom->CngBitrate = -1; #if (defined EVS_FLOAT) || !(defined IVAS_FLOAT_FIXED) /* Initialize noise estimation algorithm */ set_f( hFdCngCom->periodog_flt, 0.0f, PERIODOGLEN ); mhvals_flt( MSNUMSUBFR * MSSUBFRLEN, &( hFdCngCom->msM_win_flt ) ); Loading @@ -140,15 +142,18 @@ void initFdCngCom_flt( set_f( hFdCngCom->msPsdSum_flt, 0.0f, 2 ); set_f( hFdCngCom->msSlope_flt, 0.0f, 2 ); set_f( hFdCngCom->msQeqInvAv_flt, 0.0f, 2 ); hFdCngCom->init_old_flt = 0; #endif hFdCngCom->msFrCnt_init_counter = 0; hFdCngCom->msFrCnt_init_thresh = 1; hFdCngCom->init_old_flt = 0; hFdCngCom->offsetflag = 0; hFdCngCom->msFrCnt = MSSUBFRLEN; hFdCngCom->msMinBufferPtr = 0; #if (defined EVS_FLOAT) || !(defined IVAS_FLOAT_FIXED) set_f( hFdCngCom->msAlphaCor_flt, 0.3f, 2 ); hFdCngCom->coherence_flt = 0.5f; #endif return; } Loading Loading @@ -831,7 +836,7 @@ static void getmidbands( return; } #if (defined EVS_FLOAT) || !(defined IVAS_FLOAT_FIXED) /*------------------------------------------------------------------- * AnalysisSTFT_flt() * Loading Loading @@ -860,7 +865,7 @@ void AnalysisSTFT_flt( return; } #endif /*------------------------------------------------------------------- * SynthesisSTFT_flt() * Loading Loading @@ -1059,7 +1064,7 @@ void SynthesisSTFT_fx( return; } #endif #if (defined EVS_FLOAT) || !(defined IVAS_FLOAT_FIXED) /*------------------------------------------------------------------- * SynthesisSTFT_dirac_flt() * Loading Loading @@ -1125,7 +1130,7 @@ void SynthesisSTFT_dirac_flt( return; } #endif #ifdef IVAS_FLOAT_FIXED void SynthesisSTFT_dirac_fx( Word32 *fftBuffer, /* i : FFT bins */ Loading Loading
lib_com/bits_alloc_fx.c +2 −0 Original line number Diff line number Diff line Loading @@ -609,6 +609,8 @@ ivas_error config_acelp1( const Word16 GSC_IVAS_mode /* i : GSC IVAS mode */ ) { UNUSED_PARAM(active_cnt); Word16 i, bits, nb_subfr; Word16 flag_hardcoded, coder_type_sw, fix_first; Word32 core_brate; Loading
lib_com/cldfb.c +5 −0 Original line number Diff line number Diff line Loading @@ -1659,6 +1659,7 @@ ivas_error openCldfb_ivas( hs->cldfb_state_length = buf_len;//Temporarily added to store the length of buffer hs->cldfb_size = buf_len; /*for having original size at intermediatery conversion, will be removed on removing conversion*/ set32_fx(hs->cldfb_state_fx, 0, buf_len); hs->Q_cldfb_state = Q31; #endif // IVAS_FLOAT_FIXED Loading Loading @@ -2468,6 +2469,10 @@ void cldfb_restore_memory_ivas_fx( } hs->cldfb_state_length = size; hs->memory_length = 0; #if 1 //Remove later free(hs->memory_flt); hs->memory_flt = NULL; #endif free( hs->memory32 ); hs->memory32 = NULL; Loading
lib_com/cnst.h +4 −0 Original line number Diff line number Diff line Loading @@ -224,6 +224,9 @@ enum{ #define MIN_LOG_VAL_60dB -60.0f #define INV_LOG_2 1.442695040888963f /* 1/log(2) */ #ifdef IVAS_FLOAT_FIXED #define INV_LOG_2_FX 23637 /*Q14*//* 1/log(2) */ #endif // IVAS_FLOAT_FIXED #define INV_SQRT_2 0.70710676908493f /* 1/sqrt(2) */ #define INV_SQRT_2_Q15 23170 /* 1/sqrt(2) in Q15 */ #define INV_SQRT_2_Q31 (Word32)1.51850022e+09 /* 1/sqrt(2) in Q31 */ Loading Loading @@ -1355,6 +1358,7 @@ enum #define PLC_MIN_CNG_LEV_FLT 0.01f /* minimum background level */ #define PLC_MIN_CNG_LEV 328/*0.01f Q15*/ #define PLC_MIN_CNG_LEV_Q21 20992/*0.01f Q21*/ #define PLC_MIN_STAT_BUFF_SIZE 50 /* buffer size for minimum statistics */ #define G_LPC_RECOVERY_BITS 1 Loading
lib_com/common_api_types.h +4 −0 Original line number Diff line number Diff line Loading @@ -223,7 +223,11 @@ typedef struct _IVAS_ROOM_ACOUSTICS_CONFIG float acousticPreDelay; /* Time elapsed between input signal and late reverberation start, float, range [0.001..10] */ float inputPreDelay; /* Offset in seconds from where DSR is computed in the RIR (0 = at source), float, range [0.001..10] */ #ifdef IVAS_FLOAT_FIXED Word32 pFc_input_fx[IVAS_CLDFB_NO_CHANNELS_MAX]; /* Center frequencies for which following values are provided: */ Word32 pAcoustic_rt60_fx[IVAS_CLDFB_NO_CHANNELS_MAX]; /* - The room's T60 per center frequency */ Word32 pAcoustic_dsr_fx[IVAS_CLDFB_NO_CHANNELS_MAX]; /* - The room's Diffuse to Source Ratio per center frequency */ Word32 acousticPreDelay_fx; /* Time elapsed between input signal and late reverberation start, float, range [0.001..10] *//*Assumed Q-27*/ Word32 inputPreDelay_fx; /* Offset in seconds from where DSR is computed in the RIR (0 = at source), float, range [0.001..10] *//* Assumed Q-27*/ #endif // IVAS_FLOAT_FIXED /* early reflections */ Loading
lib_com/fd_cng_com.c +12 −7 Original line number Diff line number Diff line Loading @@ -90,6 +90,7 @@ void initFdCngCom_flt( HANDLE_FD_CNG_COM hFdCngCom, /* i/o: FD_CNG structure containing all buffers and variables */ const float scale ) { #if (defined EVS_FLOAT) || !(defined IVAS_FLOAT_FIXED) /* Calculate FFT scaling factor */ hFdCngCom->scalingFactor_flt = 1 / ( scale * scale * 8.f ); Loading @@ -97,11 +98,12 @@ void initFdCngCom_flt( set_f( hFdCngCom->timeDomainBuffer_flt, 0.0f, L_FRAME16k ); set_f( hFdCngCom->olapBufferAna_flt, 0.0f, FFTLEN ); set_f( hFdCngCom->olapBufferSynth_flt, 0.0f, FFTLEN ); set_f( hFdCngCom->olapBufferSynth2_flt, 0.0f, FFTLEN ); /* Initialize the comfort noise generation */ set_f( hFdCngCom->fftBuffer_flt, 0.0f, FFTLEN ); #endif set_f( hFdCngCom->cngNoiseLevel_flt, 0.0f, FFTCLDFBLEN ); set_f( hFdCngCom->olapBufferSynth2_flt, 0.0f, FFTLEN ); /* Initialize quantizer */ set_f( hFdCngCom->sidNoiseEst_flt, 0.0f, NPART ); Loading Loading @@ -131,7 +133,7 @@ void initFdCngCom_flt( hFdCngCom->seed2 = 1; hFdCngCom->seed3 = 2; hFdCngCom->CngBitrate = -1; #if (defined EVS_FLOAT) || !(defined IVAS_FLOAT_FIXED) /* Initialize noise estimation algorithm */ set_f( hFdCngCom->periodog_flt, 0.0f, PERIODOGLEN ); mhvals_flt( MSNUMSUBFR * MSSUBFRLEN, &( hFdCngCom->msM_win_flt ) ); Loading @@ -140,15 +142,18 @@ void initFdCngCom_flt( set_f( hFdCngCom->msPsdSum_flt, 0.0f, 2 ); set_f( hFdCngCom->msSlope_flt, 0.0f, 2 ); set_f( hFdCngCom->msQeqInvAv_flt, 0.0f, 2 ); hFdCngCom->init_old_flt = 0; #endif hFdCngCom->msFrCnt_init_counter = 0; hFdCngCom->msFrCnt_init_thresh = 1; hFdCngCom->init_old_flt = 0; hFdCngCom->offsetflag = 0; hFdCngCom->msFrCnt = MSSUBFRLEN; hFdCngCom->msMinBufferPtr = 0; #if (defined EVS_FLOAT) || !(defined IVAS_FLOAT_FIXED) set_f( hFdCngCom->msAlphaCor_flt, 0.3f, 2 ); hFdCngCom->coherence_flt = 0.5f; #endif return; } Loading Loading @@ -831,7 +836,7 @@ static void getmidbands( return; } #if (defined EVS_FLOAT) || !(defined IVAS_FLOAT_FIXED) /*------------------------------------------------------------------- * AnalysisSTFT_flt() * Loading Loading @@ -860,7 +865,7 @@ void AnalysisSTFT_flt( return; } #endif /*------------------------------------------------------------------- * SynthesisSTFT_flt() * Loading Loading @@ -1059,7 +1064,7 @@ void SynthesisSTFT_fx( return; } #endif #if (defined EVS_FLOAT) || !(defined IVAS_FLOAT_FIXED) /*------------------------------------------------------------------- * SynthesisSTFT_dirac_flt() * Loading Loading @@ -1125,7 +1130,7 @@ void SynthesisSTFT_dirac_flt( return; } #endif #ifdef IVAS_FLOAT_FIXED void SynthesisSTFT_dirac_fx( Word32 *fftBuffer, /* i : FFT bins */ Loading