Loading lib_com/ivas_cnst.h +1 −1 Original line number Diff line number Diff line Loading @@ -1413,7 +1413,7 @@ typedef enum #ifdef FIX_563_PARAMMC_LIMITER #define PARAM_MC_ENER_LIMIT_MAX_DELTA_FAC (15.0f) #endif #ifdef PARAMMC_ILD_ATTACKS #ifdef FIX_580_PARAMMC_ENER_BURSTS #define PARAM_MC_NUM_ATTACK_ILD_THRESH (3) #endif #define PARAM_MC_LFE_ON_THRESH (8000.0f) Loading lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -157,7 +157,7 @@ #define FIX_578_PARAMMC_ILD_BS /* FhG: Issue 578: transmitt also center ILD in band 0 when LFE is active in 3TC ParamMC */ #define FIX_UNCLR_ISSUE /* VoiceAge: issue 574: Fix UNCLR mis-classifications in noisy speech stereo */ #define FIX_TCX_LOWRATE_LIMITATION /* VA: issue 577: TCX bitrate limitation only when DEBUGGING is active */ #define PARAMMC_ILD_ATTACKS #define FIX_580_PARAMMC_ENER_BURSTS /* FhG: issue 580: energy bursts due to ILD holding when energy relations change too much */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ Loading lib_enc/ivas_mc_param_enc.c +7 −14 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ #include "options.h" #include "cnst.h" #include "rom_enc.h" #ifdef PARAMMC_ILD_ATTACKS #ifdef FIX_580_PARAMMC_ENER_BURSTS #include "ivas_rom_enc.h" #endif #include "rom_com.h" Loading Loading @@ -215,12 +215,11 @@ ivas_error ivas_param_mc_enc_open( /* Init total/dmx ener factors */ set_f( hParamMC->ener_fac, 0.0f, PARAM_MC_MAX_PARAMETER_BANDS ); #ifdef PARAMMC_ILD_ATTACKS #ifdef FIX_580_PARAMMC_ENER_BURSTS /* init previous ILDs */ for ( i = 0; i < PARAM_MC_MAX_PARAMETER_BANDS; i++ ) { set_zero( hParamMC->prev_ilds[i], PARAM_MC_SZ_ILD_MAP ); set_s( hParamMC->prev_ild_idx[i], 0, PARAM_MC_SZ_ILD_MAP ); } #endif Loading Loading @@ -495,7 +494,7 @@ void ivas_param_mc_enc( hParamMC->hMetadataPMC.attackIndex = 0; } #ifndef PARAMMC_ILD_ATTACKS #ifndef FIX_580_PARAMMC_ENER_BURSTS band_step = hParamMC->hMetadataPMC.bAttackPresent ? PARAM_MC_TRANSIENT_BAND_STEP : 1; #endif } Loading @@ -510,7 +509,7 @@ void ivas_param_mc_enc( /* parameter estimation*/ ivas_param_mc_param_est_enc( hParamMC, data_f, Cy_sum, Cx_sum, input_frame, nchan_inp, st_ivas->nchan_transport ); #ifdef PARAMMC_ILD_ATTACKS #ifdef FIX_580_PARAMMC_ENER_BURSTS band_step = hParamMC->hMetadataPMC.bAttackPresent ? PARAM_MC_TRANSIENT_BAND_STEP : 1; #endif Loading Loading @@ -848,7 +847,7 @@ static void ivas_param_mc_param_est_enc( } } #ifdef PARAMMC_ILD_ATTACKS #ifdef FIX_580_PARAMMC_ENER_BURSTS if ( !hParamMC->hMetadataPMC.bAttackPresent ) { const PARAM_MC_ILD_MAPPING *h_ild_mapping; Loading Loading @@ -1369,7 +1368,7 @@ static void ivas_param_mc_quantize_ilds( ref_ener += Cx[ref_channel_idx][ref_channel_idx]; } ILD[k] = 10.0f * log10f( ( Nrg[h_ild_mapping->ild_index[k]] + EPSILON ) / ( hParamMC->hMetadataPMC.ild_factors[k] * ref_ener + EPSILON ) ); #ifdef PARAMMC_ILD_ATTACKS #ifdef FIX_580_PARAMMC_ENER_BURSTS hParamMC->prev_ilds[freq_idx][k] = ILD[k]; if ( hParamMC->hMetadataPMC.bAttackPresent && ( ( freq_idx + 1 ) < hParamMC->hMetadataPMC.nbands_coded ) ) { Loading @@ -1384,13 +1383,7 @@ static void ivas_param_mc_quantize_ilds( /* Save current quantized ICLDs */ mvs2s( ILD_idx, ILD_idx_out + freq_idx * ild_map_size, num_ilds_to_code ); #ifdef PARAMMC_ILD_ATTACKS mvs2s( ILD_idx, hParamMC->prev_ild_idx[freq_idx], num_ilds_to_code ); if ( hParamMC->hMetadataPMC.bAttackPresent && ( ( freq_idx + 1 ) < hParamMC->hMetadataPMC.nbands_coded ) ) { mvs2s( ILD_idx, hParamMC->prev_ild_idx[freq_idx + 1], num_ilds_to_code ); } #endif pop_wmops(); return; Loading lib_enc/ivas_rom_enc.c +1 −1 Original line number Diff line number Diff line Loading @@ -837,7 +837,7 @@ const HUFF_TABLE huff_beta_table[2] = const int16_t mc_paramupmix_fb_remix_order[4] = {0, 1, 2, 3}; #ifdef PARAMMC_ILD_ATTACKS #ifdef FIX_580_PARAMMC_ENER_BURSTS /*----------------------------------------------------------------------------------* * ParamMC ROM tables *----------------------------------------------------------------------------------*/ Loading lib_enc/ivas_rom_enc.h +1 −1 Original line number Diff line number Diff line Loading @@ -130,7 +130,7 @@ extern const HUFF_TABLE huff_alpha_table[2]; extern const HUFF_TABLE huff_beta_table[2]; extern const int16_t mc_paramupmix_fb_remix_order[4]; #ifdef PARAMMC_ILD_ATTACKS #ifdef FIX_580_PARAMMC_ENER_BURSTS /*----------------------------------------------------------------------------------* * ParamMC ROM tables *----------------------------------------------------------------------------------*/ Loading Loading
lib_com/ivas_cnst.h +1 −1 Original line number Diff line number Diff line Loading @@ -1413,7 +1413,7 @@ typedef enum #ifdef FIX_563_PARAMMC_LIMITER #define PARAM_MC_ENER_LIMIT_MAX_DELTA_FAC (15.0f) #endif #ifdef PARAMMC_ILD_ATTACKS #ifdef FIX_580_PARAMMC_ENER_BURSTS #define PARAM_MC_NUM_ATTACK_ILD_THRESH (3) #endif #define PARAM_MC_LFE_ON_THRESH (8000.0f) Loading
lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -157,7 +157,7 @@ #define FIX_578_PARAMMC_ILD_BS /* FhG: Issue 578: transmitt also center ILD in band 0 when LFE is active in 3TC ParamMC */ #define FIX_UNCLR_ISSUE /* VoiceAge: issue 574: Fix UNCLR mis-classifications in noisy speech stereo */ #define FIX_TCX_LOWRATE_LIMITATION /* VA: issue 577: TCX bitrate limitation only when DEBUGGING is active */ #define PARAMMC_ILD_ATTACKS #define FIX_580_PARAMMC_ENER_BURSTS /* FhG: issue 580: energy bursts due to ILD holding when energy relations change too much */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ Loading
lib_enc/ivas_mc_param_enc.c +7 −14 Original line number Diff line number Diff line Loading @@ -35,7 +35,7 @@ #include "options.h" #include "cnst.h" #include "rom_enc.h" #ifdef PARAMMC_ILD_ATTACKS #ifdef FIX_580_PARAMMC_ENER_BURSTS #include "ivas_rom_enc.h" #endif #include "rom_com.h" Loading Loading @@ -215,12 +215,11 @@ ivas_error ivas_param_mc_enc_open( /* Init total/dmx ener factors */ set_f( hParamMC->ener_fac, 0.0f, PARAM_MC_MAX_PARAMETER_BANDS ); #ifdef PARAMMC_ILD_ATTACKS #ifdef FIX_580_PARAMMC_ENER_BURSTS /* init previous ILDs */ for ( i = 0; i < PARAM_MC_MAX_PARAMETER_BANDS; i++ ) { set_zero( hParamMC->prev_ilds[i], PARAM_MC_SZ_ILD_MAP ); set_s( hParamMC->prev_ild_idx[i], 0, PARAM_MC_SZ_ILD_MAP ); } #endif Loading Loading @@ -495,7 +494,7 @@ void ivas_param_mc_enc( hParamMC->hMetadataPMC.attackIndex = 0; } #ifndef PARAMMC_ILD_ATTACKS #ifndef FIX_580_PARAMMC_ENER_BURSTS band_step = hParamMC->hMetadataPMC.bAttackPresent ? PARAM_MC_TRANSIENT_BAND_STEP : 1; #endif } Loading @@ -510,7 +509,7 @@ void ivas_param_mc_enc( /* parameter estimation*/ ivas_param_mc_param_est_enc( hParamMC, data_f, Cy_sum, Cx_sum, input_frame, nchan_inp, st_ivas->nchan_transport ); #ifdef PARAMMC_ILD_ATTACKS #ifdef FIX_580_PARAMMC_ENER_BURSTS band_step = hParamMC->hMetadataPMC.bAttackPresent ? PARAM_MC_TRANSIENT_BAND_STEP : 1; #endif Loading Loading @@ -848,7 +847,7 @@ static void ivas_param_mc_param_est_enc( } } #ifdef PARAMMC_ILD_ATTACKS #ifdef FIX_580_PARAMMC_ENER_BURSTS if ( !hParamMC->hMetadataPMC.bAttackPresent ) { const PARAM_MC_ILD_MAPPING *h_ild_mapping; Loading Loading @@ -1369,7 +1368,7 @@ static void ivas_param_mc_quantize_ilds( ref_ener += Cx[ref_channel_idx][ref_channel_idx]; } ILD[k] = 10.0f * log10f( ( Nrg[h_ild_mapping->ild_index[k]] + EPSILON ) / ( hParamMC->hMetadataPMC.ild_factors[k] * ref_ener + EPSILON ) ); #ifdef PARAMMC_ILD_ATTACKS #ifdef FIX_580_PARAMMC_ENER_BURSTS hParamMC->prev_ilds[freq_idx][k] = ILD[k]; if ( hParamMC->hMetadataPMC.bAttackPresent && ( ( freq_idx + 1 ) < hParamMC->hMetadataPMC.nbands_coded ) ) { Loading @@ -1384,13 +1383,7 @@ static void ivas_param_mc_quantize_ilds( /* Save current quantized ICLDs */ mvs2s( ILD_idx, ILD_idx_out + freq_idx * ild_map_size, num_ilds_to_code ); #ifdef PARAMMC_ILD_ATTACKS mvs2s( ILD_idx, hParamMC->prev_ild_idx[freq_idx], num_ilds_to_code ); if ( hParamMC->hMetadataPMC.bAttackPresent && ( ( freq_idx + 1 ) < hParamMC->hMetadataPMC.nbands_coded ) ) { mvs2s( ILD_idx, hParamMC->prev_ild_idx[freq_idx + 1], num_ilds_to_code ); } #endif pop_wmops(); return; Loading
lib_enc/ivas_rom_enc.c +1 −1 Original line number Diff line number Diff line Loading @@ -837,7 +837,7 @@ const HUFF_TABLE huff_beta_table[2] = const int16_t mc_paramupmix_fb_remix_order[4] = {0, 1, 2, 3}; #ifdef PARAMMC_ILD_ATTACKS #ifdef FIX_580_PARAMMC_ENER_BURSTS /*----------------------------------------------------------------------------------* * ParamMC ROM tables *----------------------------------------------------------------------------------*/ Loading
lib_enc/ivas_rom_enc.h +1 −1 Original line number Diff line number Diff line Loading @@ -130,7 +130,7 @@ extern const HUFF_TABLE huff_alpha_table[2]; extern const HUFF_TABLE huff_beta_table[2]; extern const int16_t mc_paramupmix_fb_remix_order[4]; #ifdef PARAMMC_ILD_ATTACKS #ifdef FIX_580_PARAMMC_ENER_BURSTS /*----------------------------------------------------------------------------------* * ParamMC ROM tables *----------------------------------------------------------------------------------*/ Loading