Loading lib_com/cldfb.c +0 −1 Original line number Diff line number Diff line Loading @@ -3133,7 +3133,6 @@ static void cldfb_init_proto_and_twiddles_enc( hs->rot_vec_syn_delay_re_fx = NULL; hs->rot_vec_syn_delay_im_fx = NULL; hs->p_filter_sf = (Word16) 17051; hs->q_scale = norm_s( (Word16) CLDFB80_40_SCALE ); hs->scale = cldfb_scale_2_5ms[4]; hs->p_filter = CLDFB80_40_fx; #endif Loading lib_com/core_com_config.c +12 −0 Original line number Diff line number Diff line Loading @@ -1402,7 +1402,11 @@ void init_tcx_cfg( init_tcx_window_cfg( hTcxCfg, sr_core, input_Fs, L_frame, L_frameTCX, encoderLookahead_enc, encoderLookahead_FB, mdctWindowLength, mdctWindowLengthFB, element_mode ); /* SQ deadzone & memory quantization*/ #ifndef IVAS_FLOAT_FIXED hTcxCfg->sq_rounding_flt = 0.375f; /*deadzone of 1.25->rounding=1-1.25/2 (No deadzone=0.5)*/ #else hTcxCfg->sq_rounding = 12288; /*deadzone of 1.25->rounding=1-1.25/2 (No deadzone=0.5)*/ #endif /* TCX rate loop */ hTcxCfg->tcxRateLoopOpt = ( tcxonly ) ? 2 : 0; Loading Loading @@ -1453,7 +1457,11 @@ void init_tcx_cfg( } /* Scale TCX for non-active frames to adjust loudness with ACELP*/ #ifndef IVAS_FLOAT_FIXED hTcxCfg->na_scale_flt = 1.f; #else hTcxCfg->na_scale = 32767; #endif if ( na_scale_bwidth < SWB && !tcxonly ) { Loading @@ -1467,7 +1475,11 @@ void init_tcx_cfg( { i--; } #ifndef IVAS_FLOAT_FIXED hTcxCfg->na_scale_flt = scaleTcxTable[i].scale_flt; #else hTcxCfg->na_scale = scaleTcxTable[i].scale; #endif break; } } Loading lib_com/fd_cng_com.c +18 −10 Original line number Diff line number Diff line Loading @@ -137,17 +137,28 @@ void initFdCngCom_flt( mhvals_flt( MSSUBFRLEN, &( hFdCngCom->msM_subwin_flt ) ); set_f( hFdCngCom->msPeriodogSum_flt, 0.0f, 2 ); set_f( hFdCngCom->msPsdSum_flt, 0.0f, 2 ); #ifndef IVAS_FLOAT_FIXED set_f( hFdCngCom->msSlope_flt, 0.0f, 2 ); set_f( hFdCngCom->msQeqInvAv_flt, 0.0f, 2 ); #else set16_fx( hFdCngCom->msSlope, 0, 2 ); set32_fx( hFdCngCom->msQeqInvAv, 0, 2 ); #endif hFdCngCom->init_old_flt = 0; hFdCngCom->msFrCnt_init_counter = 0; hFdCngCom->msFrCnt_init_thresh = 1; hFdCngCom->offsetflag = 0; hFdCngCom->msFrCnt = MSSUBFRLEN; hFdCngCom->msMinBufferPtr = 0; #ifndef IVAS_FLOAT_FIXED set_f( hFdCngCom->msAlphaCor_flt, 0.3f, 2 ); hFdCngCom->coherence_flt = 0.5f; #else set32_fx( hFdCngCom->msAlphaCor, 644245120l /*0.3f Q31*/, 2 ); hFdCngCom->coherence_fx = 16384; /* 0.5 in Q15 */ #endif return; } Loading Loading @@ -233,6 +244,7 @@ void initPartitions_flt( } #ifndef IVAS_FLOAT_FIXED /*------------------------------------------------------------------- * compress_range_flt() * Loading Loading @@ -639,6 +651,7 @@ void minimum_statistics_flt( return; } #endif /*------------------------------------------------------------------- Loading Loading @@ -675,6 +688,7 @@ void apply_scale_flt( } #ifndef IVAS_FLOAT_FIXED /*------------------------------------------------------------------- * bandcombinepow_flt() * Loading Loading @@ -796,6 +810,7 @@ void scalebands_flt( return; } #endif /*------------------------------------------------------------------- Loading Loading @@ -859,7 +874,6 @@ void AnalysisSTFT_flt( return; } #endif /*------------------------------------------------------------------- * SynthesisSTFT_flt() * Loading Loading @@ -946,6 +960,7 @@ void SynthesisSTFT_flt( return; } #endif #ifdef IVAS_FLOAT_FIXED /*------------------------------------------------------------------- Loading Loading @@ -1332,6 +1347,7 @@ Word16 rand_gauss_fix( } #endif #ifndef IVAS_FLOAT_FIXED /*------------------------------------------------------------------- * lpc_from_spectrum_flt() * Loading @@ -1352,9 +1368,6 @@ void lpc_from_spectrum_flt( int16_t fftlen = hFdCngCom->fftlen; const float *fftSineTab = hFdCngCom->fftSineTab_flt; float *A = hFdCngCom->A_cng_flt; #ifdef IVAS_FLOAT_FIXED Word16 *A_fx = hFdCngCom->A_cng; #endif /* Power Spectrum */ ptr = fftBuffer; Loading Loading @@ -1408,12 +1421,6 @@ void lpc_from_spectrum_flt( /* LPC */ lev_dur( A, r, M, NULL ); #ifdef IVAS_FLOAT_FIXED for ( i = 0; i < M + 1; i++ ) { A_fx[i] = float_to_fix16( A[i], Q13 ); } #endif return; } Loading Loading @@ -1486,3 +1493,4 @@ void FdCng_exc_flt( return; } #endif lib_com/fft_fx.c +6 −0 Original line number Diff line number Diff line Loading @@ -7116,6 +7116,12 @@ void rfft_fx( s2 = -204; move16(); BREAK; case 240: s1 = 136; move16(); s2 = -136; move16(); BREAK; case 256: s1 = 128; move16(); Loading lib_com/ivas_cnst.h +3 −3 Original line number Diff line number Diff line Loading @@ -1417,9 +1417,9 @@ typedef enum #define MCMASA_LFE_ALPHA 0.67f #define MCMASA_LFE_BETA 0.09f #ifdef IVAS_FLOAT_FIXED #define MCMASA_LFE_1BIT_THRES_Q31 64424509 /* 0.03f in Q31 */ #define MCMASA_LFE_ALPHA_Q31 1438814044 /* 0.67f in Q31 */ #define MCMASA_LFE_BETA_Q31 193273528 /* 0.09f in Q31 */ #define MCMASA_LFE_1BIT_THRES_Q30 32212255 /* 0.03f in Q30 */ #define MCMASA_LFE_ALPHA_Q30 719407022 /* 0.67f in Q30 */ #define MCMASA_LFE_BETA_Q30 96636764 /* 0.09f in Q30 */ #endif #define MCMASA_LFE_THETA 1.3f #define MCMASA_LFE_SYNTH_ALPHA 0.95f /* Smoothing coefficient for LFE synthesis */ Loading Loading
lib_com/cldfb.c +0 −1 Original line number Diff line number Diff line Loading @@ -3133,7 +3133,6 @@ static void cldfb_init_proto_and_twiddles_enc( hs->rot_vec_syn_delay_re_fx = NULL; hs->rot_vec_syn_delay_im_fx = NULL; hs->p_filter_sf = (Word16) 17051; hs->q_scale = norm_s( (Word16) CLDFB80_40_SCALE ); hs->scale = cldfb_scale_2_5ms[4]; hs->p_filter = CLDFB80_40_fx; #endif Loading
lib_com/core_com_config.c +12 −0 Original line number Diff line number Diff line Loading @@ -1402,7 +1402,11 @@ void init_tcx_cfg( init_tcx_window_cfg( hTcxCfg, sr_core, input_Fs, L_frame, L_frameTCX, encoderLookahead_enc, encoderLookahead_FB, mdctWindowLength, mdctWindowLengthFB, element_mode ); /* SQ deadzone & memory quantization*/ #ifndef IVAS_FLOAT_FIXED hTcxCfg->sq_rounding_flt = 0.375f; /*deadzone of 1.25->rounding=1-1.25/2 (No deadzone=0.5)*/ #else hTcxCfg->sq_rounding = 12288; /*deadzone of 1.25->rounding=1-1.25/2 (No deadzone=0.5)*/ #endif /* TCX rate loop */ hTcxCfg->tcxRateLoopOpt = ( tcxonly ) ? 2 : 0; Loading Loading @@ -1453,7 +1457,11 @@ void init_tcx_cfg( } /* Scale TCX for non-active frames to adjust loudness with ACELP*/ #ifndef IVAS_FLOAT_FIXED hTcxCfg->na_scale_flt = 1.f; #else hTcxCfg->na_scale = 32767; #endif if ( na_scale_bwidth < SWB && !tcxonly ) { Loading @@ -1467,7 +1475,11 @@ void init_tcx_cfg( { i--; } #ifndef IVAS_FLOAT_FIXED hTcxCfg->na_scale_flt = scaleTcxTable[i].scale_flt; #else hTcxCfg->na_scale = scaleTcxTable[i].scale; #endif break; } } Loading
lib_com/fd_cng_com.c +18 −10 Original line number Diff line number Diff line Loading @@ -137,17 +137,28 @@ void initFdCngCom_flt( mhvals_flt( MSSUBFRLEN, &( hFdCngCom->msM_subwin_flt ) ); set_f( hFdCngCom->msPeriodogSum_flt, 0.0f, 2 ); set_f( hFdCngCom->msPsdSum_flt, 0.0f, 2 ); #ifndef IVAS_FLOAT_FIXED set_f( hFdCngCom->msSlope_flt, 0.0f, 2 ); set_f( hFdCngCom->msQeqInvAv_flt, 0.0f, 2 ); #else set16_fx( hFdCngCom->msSlope, 0, 2 ); set32_fx( hFdCngCom->msQeqInvAv, 0, 2 ); #endif hFdCngCom->init_old_flt = 0; hFdCngCom->msFrCnt_init_counter = 0; hFdCngCom->msFrCnt_init_thresh = 1; hFdCngCom->offsetflag = 0; hFdCngCom->msFrCnt = MSSUBFRLEN; hFdCngCom->msMinBufferPtr = 0; #ifndef IVAS_FLOAT_FIXED set_f( hFdCngCom->msAlphaCor_flt, 0.3f, 2 ); hFdCngCom->coherence_flt = 0.5f; #else set32_fx( hFdCngCom->msAlphaCor, 644245120l /*0.3f Q31*/, 2 ); hFdCngCom->coherence_fx = 16384; /* 0.5 in Q15 */ #endif return; } Loading Loading @@ -233,6 +244,7 @@ void initPartitions_flt( } #ifndef IVAS_FLOAT_FIXED /*------------------------------------------------------------------- * compress_range_flt() * Loading Loading @@ -639,6 +651,7 @@ void minimum_statistics_flt( return; } #endif /*------------------------------------------------------------------- Loading Loading @@ -675,6 +688,7 @@ void apply_scale_flt( } #ifndef IVAS_FLOAT_FIXED /*------------------------------------------------------------------- * bandcombinepow_flt() * Loading Loading @@ -796,6 +810,7 @@ void scalebands_flt( return; } #endif /*------------------------------------------------------------------- Loading Loading @@ -859,7 +874,6 @@ void AnalysisSTFT_flt( return; } #endif /*------------------------------------------------------------------- * SynthesisSTFT_flt() * Loading Loading @@ -946,6 +960,7 @@ void SynthesisSTFT_flt( return; } #endif #ifdef IVAS_FLOAT_FIXED /*------------------------------------------------------------------- Loading Loading @@ -1332,6 +1347,7 @@ Word16 rand_gauss_fix( } #endif #ifndef IVAS_FLOAT_FIXED /*------------------------------------------------------------------- * lpc_from_spectrum_flt() * Loading @@ -1352,9 +1368,6 @@ void lpc_from_spectrum_flt( int16_t fftlen = hFdCngCom->fftlen; const float *fftSineTab = hFdCngCom->fftSineTab_flt; float *A = hFdCngCom->A_cng_flt; #ifdef IVAS_FLOAT_FIXED Word16 *A_fx = hFdCngCom->A_cng; #endif /* Power Spectrum */ ptr = fftBuffer; Loading Loading @@ -1408,12 +1421,6 @@ void lpc_from_spectrum_flt( /* LPC */ lev_dur( A, r, M, NULL ); #ifdef IVAS_FLOAT_FIXED for ( i = 0; i < M + 1; i++ ) { A_fx[i] = float_to_fix16( A[i], Q13 ); } #endif return; } Loading Loading @@ -1486,3 +1493,4 @@ void FdCng_exc_flt( return; } #endif
lib_com/fft_fx.c +6 −0 Original line number Diff line number Diff line Loading @@ -7116,6 +7116,12 @@ void rfft_fx( s2 = -204; move16(); BREAK; case 240: s1 = 136; move16(); s2 = -136; move16(); BREAK; case 256: s1 = 128; move16(); Loading
lib_com/ivas_cnst.h +3 −3 Original line number Diff line number Diff line Loading @@ -1417,9 +1417,9 @@ typedef enum #define MCMASA_LFE_ALPHA 0.67f #define MCMASA_LFE_BETA 0.09f #ifdef IVAS_FLOAT_FIXED #define MCMASA_LFE_1BIT_THRES_Q31 64424509 /* 0.03f in Q31 */ #define MCMASA_LFE_ALPHA_Q31 1438814044 /* 0.67f in Q31 */ #define MCMASA_LFE_BETA_Q31 193273528 /* 0.09f in Q31 */ #define MCMASA_LFE_1BIT_THRES_Q30 32212255 /* 0.03f in Q30 */ #define MCMASA_LFE_ALPHA_Q30 719407022 /* 0.67f in Q30 */ #define MCMASA_LFE_BETA_Q30 96636764 /* 0.09f in Q30 */ #endif #define MCMASA_LFE_THETA 1.3f #define MCMASA_LFE_SYNTH_ALPHA 0.95f /* Smoothing coefficient for LFE synthesis */ Loading