From 35127d9b07f1da24b4fa1021d2a2c8bcaef6a03c Mon Sep 17 00:00:00 2001 From: Stefan Bayer Date: Fri, 23 Jun 2023 13:40:46 +0200 Subject: [PATCH 1/3] fix energy burst problem --- lib_com/ivas_cnst.h | 3 ++ lib_com/ivas_rom_com.c | 1 - lib_com/options.h | 8 +-- lib_enc/ivas_mc_param_enc.c | 100 ++++++++++++++++++++++++++++++++++-- lib_enc/ivas_rom_enc.c | 8 +++ lib_enc/ivas_rom_enc.h | 8 +++ lib_enc/ivas_stat_enc.h | 4 ++ 7 files changed, 124 insertions(+), 8 deletions(-) diff --git a/lib_com/ivas_cnst.h b/lib_com/ivas_cnst.h index c43692ea91..c9648446b8 100755 --- a/lib_com/ivas_cnst.h +++ b/lib_com/ivas_cnst.h @@ -1413,6 +1413,9 @@ typedef enum #ifdef FIX_563_PARAMMC_LIMITER #define PARAM_MC_ENER_LIMIT_MAX_DELTA_FAC (15.0f) #endif +#ifdef PARAMMC_ILD_ATTACKS +#define PARAM_MC_NUM_ATTACK_ILD_THRESH (3) +#endif #define PARAM_MC_LFE_ON_THRESH (8000.0f) #define PARAM_MC_BAND_TO_MDCT_BAND_RATIO 16 /* Ratio of resolution of CLDFB Bands to MDCT Bands */ #define PARAM_MC_SLOT_ENC_NS 2500000L diff --git a/lib_com/ivas_rom_com.c b/lib_com/ivas_rom_com.c index 0368b19700..5677a3cc9b 100644 --- a/lib_com/ivas_rom_com.c +++ b/lib_com/ivas_rom_com.c @@ -1803,7 +1803,6 @@ const int16_t param_mc_band_grouping_14[14 + 1] = 0, 1, 2, 3, 4, 5, 6, 8, 10, 13, 16, 20, 28, 40, 60 }; - const int16_t param_mc_coding_band_mapping_14[14] = { 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0 diff --git a/lib_com/options.h b/lib_com/options.h index 44ebea5128..41ba9a76a9 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -58,7 +58,7 @@ #ifdef DEBUGGING -/*#define DEBUG_MODE_INFO*/ /* output most important parameters to the subdirectory "res/" */ +#define DEBUG_MODE_INFO /* output most important parameters to the subdirectory "res/" */ #ifdef DEBUG_MODE_INFO /*#define DEBUG_MODE_ACELP*/ /* output most important ACELP core parameters to the subdirectory "res/" */ /*#define DEBUG_MODE_TCX*/ /* output most important TCX core parameters to the subdirectory "res/" */ @@ -66,9 +66,9 @@ /*#define DEBUG_MODE_TD*/ /* output most important TD stereo parameters to the subdirectory "res/ */ /*#define DEBUG_MODE_DIRAC*/ /* output most important DIRAC parameters to the subdirectory "res/" */ /*#define DEBUG_MODE_MDCT*/ /* output most important MDCT parameters to the subdirectory "res/" */ -/*#define DEBUG_MODE_PARAM_MC */ /* output Parametric MC paramters to the subdirectory "res/" */ +#define DEBUG_MODE_PARAM_MC /* output Parametric MC paramters to the subdirectory "res/" */ /*#define DEBUG_MODE_PARAM_ISM*/ /* output Parametric ISM paramters to the subdirectory "res/" */ -/*#define DEBUG_MODE_INFO_TWEAK*/ /* enable command line switch to specify subdirectory for debug info output inside "./res/" */ +#define DEBUG_MODE_INFO_TWEAK /* enable command line switch to specify subdirectory for debug info output inside "./res/" */ /*#define DEBUG_MODE_INFO_PLC */ /* define to output PLC related parameters */ /*#define DEBUG_MODE_INFO_ALLRAD*/ /* define to output generated HOA decoding mtx */ /*#define DEBUG_MODE_LFE */ /* define to output LFE relevant parameters */ @@ -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 /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_enc/ivas_mc_param_enc.c b/lib_enc/ivas_mc_param_enc.c index 66ca82b4cf..ac85d62fbf 100644 --- a/lib_enc/ivas_mc_param_enc.c +++ b/lib_enc/ivas_mc_param_enc.c @@ -35,6 +35,9 @@ #include "options.h" #include "cnst.h" #include "rom_enc.h" +#ifdef PARAMMC_ILD_ATTACKS +#include "ivas_rom_enc.h" +#endif #include "rom_com.h" #include "prot.h" #include "ivas_prot.h" @@ -75,7 +78,6 @@ static void ivas_param_mc_encode_parameter( int16_t *idx_in, HANDLE_IVAS_PARAM_M static void ivas_param_mc_range_encoder( const int16_t *seq_in, const int16_t num_symbols, const uint16_t *cum_freq, const uint16_t *sym_freq, const uint16_t tot_shift, const int16_t max_nb_bits, uint16_t *bit_buffer, int16_t *bit_pos ); - /*------------------------------------------------------------------------- * ivas_param_mc_enc_open() * @@ -213,6 +215,15 @@ 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 + /* 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 + st_ivas->hParamMC = hParamMC; return error; @@ -349,6 +360,7 @@ ivas_error ivas_param_mc_enc_reconfig( /* Init total/dmx ener factors */ set_f( hParamMC->ener_fac, 0.0f, PARAM_MC_MAX_PARAMETER_BANDS ); + return error; } @@ -483,7 +495,9 @@ void ivas_param_mc_enc( hParamMC->hMetadataPMC.attackIndex = 0; } +#ifndef PARAMMC_ILD_ATTACKS band_step = hParamMC->hMetadataPMC.bAttackPresent ? PARAM_MC_TRANSIENT_BAND_STEP : 1; +#endif } break; #ifdef DEBUGGING @@ -493,10 +507,14 @@ void ivas_param_mc_enc( } /* Encoding */ - /* 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 + band_step = hParamMC->hMetadataPMC.bAttackPresent ? PARAM_MC_TRANSIENT_BAND_STEP : 1; +#endif + + /* ILD parameter quantization */ for ( k = 0; k < hParamMC->hMetadataPMC.nbands_coded; k += band_step ) { @@ -830,6 +848,67 @@ static void ivas_param_mc_param_est_enc( } } +#ifdef PARAMMC_ILD_ATTACKS + if ( !hParamMC->hMetadataPMC.bAttackPresent ) + { + const PARAM_MC_ILD_MAPPING *h_ild_mapping; + int16_t ild_map_size; + int16_t ild_attack; + ild_attack = 0; + h_ild_mapping = hParamMC->hMetadataPMC.ild_mapping_conf; + ild_map_size = hParamMC->hMetadataPMC.ild_mapping_conf->ild_map_size_lfe; + /* create ILDs for to non transmitted parameter bands (only lower half) */ + for ( cur_param_band = 0; cur_param_band < hParamMC->hMetadataPMC.num_parameter_bands / 2; cur_param_band++ ) + { + float ILD[PARAM_MC_SZ_ILD_MAP]; + int16_t k; + int16_t num_ilds_to_code; + + if ( cur_param_band >= PARAM_MC_MAX_BAND_LFE ) + { + num_ilds_to_code = hParamMC->hMetadataPMC.ild_mapping_conf->ild_map_size_wo_lfe; + } + else + { + num_ilds_to_code = hParamMC->hMetadataPMC.ild_mapping_conf->ild_map_size_lfe; + } + if ( hParamMC->hMetadataPMC.param_frame_idx != hParamMC->hMetadataPMC.coding_band_mapping[cur_param_band] ) + { + float Nrg[MAX_CICP_CHANNELS]; + + /* get ICLDs */ + for ( k = 0; k < nchan_input; ++k ) + { + Nrg[k] = Cy_sum[cur_param_band][k][k]; + } + for ( k = 0; k < num_ilds_to_code; ++k ) + { + float ref_ener = 0.0f; + int16_t ref_channel_cnt; + int16_t ref_channel_idx; + + for ( ref_channel_cnt = 0; ref_channel_cnt < h_ild_mapping->num_ref_channels[k]; ref_channel_cnt++ ) + { + ref_channel_idx = h_ild_mapping->ref_channel_idx[k][ref_channel_cnt]; + ref_ener += Cx_sum[cur_param_band][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 ) ); + if ( hParamMC->prev_ilds[cur_param_band][k] - ILD[k] > param_mc_ild_diff_threshold[cur_param_band] ) + { + ild_attack++; + } + } + } + } + /* check if the ILDs change too much -> go into transient mode... */ + if ( ild_attack > PARAM_MC_NUM_ATTACK_ILD_THRESH ) + { + hParamMC->hMetadataPMC.bAttackPresent = 1; + } + } +#endif + + if ( hParamMC->hMetadataPMC.bAttackPresent ) { /* combine bands */ @@ -883,6 +962,7 @@ static void ivas_param_mc_param_est_enc( band_step = 2; } + /* map complex covariances to real values */ for ( cur_param_band = 0; cur_param_band < hParamMC->max_param_band_abs_cov; cur_param_band += band_step ) { @@ -1289,14 +1369,28 @@ 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 + hParamMC->prev_ilds[freq_idx][k] = ILD[k]; + if ( hParamMC->hMetadataPMC.bAttackPresent && ( ( freq_idx + 1 ) < hParamMC->hMetadataPMC.nbands_coded ) ) + { + hParamMC->prev_ilds[freq_idx + 1][k] = ILD[k]; + } +#endif } + /* quantize parameters */ ivas_param_mc_parameter_quantizer( ILD, num_ilds_to_code, hParamMC->hMetadataPMC.ild_coding.quantizer_size, hParamMC->hMetadataPMC.ild_coding.quantizer, ILD_idx, ILD_q ); /* 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; diff --git a/lib_enc/ivas_rom_enc.c b/lib_enc/ivas_rom_enc.c index 4565100883..22ed8f28bb 100644 --- a/lib_enc/ivas_rom_enc.c +++ b/lib_enc/ivas_rom_enc.c @@ -837,5 +837,13 @@ const HUFF_TABLE huff_beta_table[2] = const int16_t mc_paramupmix_fb_remix_order[4] = {0, 1, 2, 3}; +#ifdef PARAMMC_ILD_ATTACKS +/*----------------------------------------------------------------------------------* + * ParamMC ROM tables + *----------------------------------------------------------------------------------*/ +const float param_mc_ild_diff_threshold[20] = { 8.0f, 8.0f, 10.0f, 20.0f, + 20.0f, 20.0f, 20.0f, 20.0f, + 20.0f, 20.0f, 20.0f, 20.0f }; +#endif /* clang-format on */ diff --git a/lib_enc/ivas_rom_enc.h b/lib_enc/ivas_rom_enc.h index c208259ed6..e859115642 100644 --- a/lib_enc/ivas_rom_enc.h +++ b/lib_enc/ivas_rom_enc.h @@ -130,4 +130,12 @@ 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 +/*----------------------------------------------------------------------------------* + * ParamMC ROM tables + *----------------------------------------------------------------------------------*/ +extern const float param_mc_ild_diff_threshold[20]; +#endif + + #endif diff --git a/lib_enc/ivas_stat_enc.h b/lib_enc/ivas_stat_enc.h index 295c8ed838..89596a1bfa 100644 --- a/lib_enc/ivas_stat_enc.h +++ b/lib_enc/ivas_stat_enc.h @@ -727,6 +727,10 @@ typedef struct ivas_param_mc_enc_data_structure int16_t lfe_index; int16_t icc_map_index[PARAM_MC_PARAMETER_FRAMES][PARAM_MC_SZ_ICC_MAP]; int16_t max_param_band_abs_cov; +#ifdef PARAMMC_ILD_ATTACKS + float prev_ilds[PARAM_MC_MAX_PARAMETER_BANDS][PARAM_MC_SZ_ILD_MAP]; + int16_t prev_ild_idx[PARAM_MC_MAX_PARAMETER_BANDS][PARAM_MC_SZ_ILD_MAP]; +#endif float ener_fac[PARAM_MC_MAX_PARAMETER_BANDS]; -- GitLab From 644223c83273dda7123c7f815f1d8918e1a24e44 Mon Sep 17 00:00:00 2001 From: Stefan Bayer Date: Fri, 23 Jun 2023 13:49:02 +0200 Subject: [PATCH 2/3] further cleanup --- lib_com/ivas_cnst.h | 2 +- lib_com/options.h | 2 +- lib_enc/ivas_mc_param_enc.c | 21 +++++++-------------- lib_enc/ivas_rom_enc.c | 2 +- lib_enc/ivas_rom_enc.h | 2 +- lib_enc/ivas_stat_enc.h | 3 +-- 6 files changed, 12 insertions(+), 20 deletions(-) diff --git a/lib_com/ivas_cnst.h b/lib_com/ivas_cnst.h index c9648446b8..85d2fff74a 100755 --- a/lib_com/ivas_cnst.h +++ b/lib_com/ivas_cnst.h @@ -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) diff --git a/lib_com/options.h b/lib_com/options.h index 41ba9a76a9..908275c3dd 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -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 */ diff --git a/lib_enc/ivas_mc_param_enc.c b/lib_enc/ivas_mc_param_enc.c index ac85d62fbf..503f665d83 100644 --- a/lib_enc/ivas_mc_param_enc.c +++ b/lib_enc/ivas_mc_param_enc.c @@ -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" @@ -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 @@ -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 } @@ -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 @@ -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; @@ -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 ) ) { @@ -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; diff --git a/lib_enc/ivas_rom_enc.c b/lib_enc/ivas_rom_enc.c index 22ed8f28bb..a031d6df28 100644 --- a/lib_enc/ivas_rom_enc.c +++ b/lib_enc/ivas_rom_enc.c @@ -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 *----------------------------------------------------------------------------------*/ diff --git a/lib_enc/ivas_rom_enc.h b/lib_enc/ivas_rom_enc.h index e859115642..170bf31820 100644 --- a/lib_enc/ivas_rom_enc.h +++ b/lib_enc/ivas_rom_enc.h @@ -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 *----------------------------------------------------------------------------------*/ diff --git a/lib_enc/ivas_stat_enc.h b/lib_enc/ivas_stat_enc.h index 89596a1bfa..6a5964e86c 100644 --- a/lib_enc/ivas_stat_enc.h +++ b/lib_enc/ivas_stat_enc.h @@ -727,9 +727,8 @@ typedef struct ivas_param_mc_enc_data_structure int16_t lfe_index; int16_t icc_map_index[PARAM_MC_PARAMETER_FRAMES][PARAM_MC_SZ_ICC_MAP]; int16_t max_param_band_abs_cov; -#ifdef PARAMMC_ILD_ATTACKS +#ifdef FIX_580_PARAMMC_ENER_BURSTS float prev_ilds[PARAM_MC_MAX_PARAMETER_BANDS][PARAM_MC_SZ_ILD_MAP]; - int16_t prev_ild_idx[PARAM_MC_MAX_PARAMETER_BANDS][PARAM_MC_SZ_ILD_MAP]; #endif float ener_fac[PARAM_MC_MAX_PARAMETER_BANDS]; -- GitLab From 33fa9baa9e7ce2de4da1a98a5d392b603fa4dc7b Mon Sep 17 00:00:00 2001 From: Stefan Bayer Date: Fri, 23 Jun 2023 14:06:20 +0200 Subject: [PATCH 3/3] fix Linux compile problem, undef DEBUG_MODE_INFO --- lib_com/options.h | 6 +++--- lib_enc/ivas_mc_param_enc.c | 2 -- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 908275c3dd..98d81191b5 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -58,7 +58,7 @@ #ifdef DEBUGGING -#define DEBUG_MODE_INFO /* output most important parameters to the subdirectory "res/" */ +/*#define DEBUG_MODE_INFO*/ /* output most important parameters to the subdirectory "res/" */ #ifdef DEBUG_MODE_INFO /*#define DEBUG_MODE_ACELP*/ /* output most important ACELP core parameters to the subdirectory "res/" */ /*#define DEBUG_MODE_TCX*/ /* output most important TCX core parameters to the subdirectory "res/" */ @@ -66,9 +66,9 @@ /*#define DEBUG_MODE_TD*/ /* output most important TD stereo parameters to the subdirectory "res/ */ /*#define DEBUG_MODE_DIRAC*/ /* output most important DIRAC parameters to the subdirectory "res/" */ /*#define DEBUG_MODE_MDCT*/ /* output most important MDCT parameters to the subdirectory "res/" */ -#define DEBUG_MODE_PARAM_MC /* output Parametric MC paramters to the subdirectory "res/" */ +/*#define DEBUG_MODE_PARAM_MC*/ /* output Parametric MC paramters to the subdirectory "res/" */ /*#define DEBUG_MODE_PARAM_ISM*/ /* output Parametric ISM paramters to the subdirectory "res/" */ -#define DEBUG_MODE_INFO_TWEAK /* enable command line switch to specify subdirectory for debug info output inside "./res/" */ +/*#define DEBUG_MODE_INFO_TWEAK*/ /* enable command line switch to specify subdirectory for debug info output inside "./res/" */ /*#define DEBUG_MODE_INFO_PLC */ /* define to output PLC related parameters */ /*#define DEBUG_MODE_INFO_ALLRAD*/ /* define to output generated HOA decoding mtx */ /*#define DEBUG_MODE_LFE */ /* define to output LFE relevant parameters */ diff --git a/lib_enc/ivas_mc_param_enc.c b/lib_enc/ivas_mc_param_enc.c index 503f665d83..fe4f8e8cfc 100644 --- a/lib_enc/ivas_mc_param_enc.c +++ b/lib_enc/ivas_mc_param_enc.c @@ -851,11 +851,9 @@ static void ivas_param_mc_param_est_enc( if ( !hParamMC->hMetadataPMC.bAttackPresent ) { const PARAM_MC_ILD_MAPPING *h_ild_mapping; - int16_t ild_map_size; int16_t ild_attack; ild_attack = 0; h_ild_mapping = hParamMC->hMetadataPMC.ild_mapping_conf; - ild_map_size = hParamMC->hMetadataPMC.ild_mapping_conf->ild_map_size_lfe; /* create ILDs for to non transmitted parameter bands (only lower half) */ for ( cur_param_band = 0; cur_param_band < hParamMC->hMetadataPMC.num_parameter_bands / 2; cur_param_band++ ) { -- GitLab