diff --git a/lib_com/options.h b/lib_com/options.h index ee1d1b1559547b00d56674fd63f9b8eea136d4ae..8f1408af7e3a931509b43fed7ab5339875a4b0f7 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -165,6 +165,7 @@ #define NONBE_FIX_907_VLBR_DIRAC_BAND_MAPPING /* Dlb: issue 907: fix for band mapping at VLBR */ #define NONBE_FIX_869_MASA_PREREND_MERGE /* Nokia: issue: #869: MASA pre-rend not updating energy */ #define NONBE_FIX_931_IGF_STEREO_DEC_NOISE /* FhG: issue #931: fix noise substitution in the stereo IGF decoder */ +#define NONBE_FIX_943_RECONFIG_IGF_AFTER_SETTING_BW /* FhG: issue 943: fix crash in BW switchin from WB in MDCT-Stereo core encoder */ /* ##################### End NON-BE switches ########################### */ diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index 480b559dc70aa276fe7af4e354cba67d9e50b4e1..558d569f7b6bdef4c29ff826a64dcc35c0468b8b 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -519,6 +519,7 @@ ivas_error ivas_cpe_enc( * Core codec configuration *----------------------------------------------------------------*/ +#ifndef NONBE_FIX_943_RECONFIG_IGF_AFTER_SETTING_BW /* IGF reconfiguration */ for ( n = 0; n < n_CoreChannels; n++ ) { @@ -533,6 +534,7 @@ ivas_error ivas_cpe_enc( } } +#endif if ( hCPE->element_mode == IVAS_CPE_MDCT && st_ivas->hMCT == NULL ) { /* set coded BW for MDCT stereo */ @@ -554,6 +556,22 @@ ivas_error ivas_cpe_enc( } } +#ifdef NONBE_FIX_943_RECONFIG_IGF_AFTER_SETTING_BW + /* IGF reconfiguration */ + for ( n = 0; n < n_CoreChannels; n++ ) + { + if ( ( hCPE->last_element_brate != hCPE->element_brate || hCPE->element_mode != hCPE->last_element_mode || ( hCPE->element_mode == IVAS_CPE_TD && sts[0]->bits_frame_nominal != last_bits_frame_nominal ) || sts[n]->last_bwidth != sts[n]->bwidth ) && ( n == 0 || hCPE->element_mode == IVAS_CPE_MDCT ) ) + { + int16_t igf; + igf = getIgfPresent( sts[n]->element_mode, sts[n]->bits_frame_nominal * FRAMES_PER_SEC, sts[n]->max_bwidth, sts[n]->rf_mode ); + if ( ( error = IGF_Reconfig( &sts[n]->hIGFEnc, igf, 0, sts[n]->bits_frame_nominal * FRAMES_PER_SEC, sts[n]->max_bwidth, sts[n]->element_mode, sts[n]->rf_mode ) ) != IVAS_ERR_OK ) + { + return error; + } + } + } +#endif + /* set ACELP@12k8 / ACELP@16k flag for flexible ACELP core */ for ( n = 0; n < n_CoreChannels; n++ ) { diff --git a/scripts/testv/ivas_bws_20fr_start_FB.txt b/scripts/testv/ivas_bws_20fr_start_FB.txt new file mode 100644 index 0000000000000000000000000000000000000000..19ce2034ec2a64b0188325da071167f59eee30e7 --- /dev/null +++ b/scripts/testv/ivas_bws_20fr_start_FB.txt @@ -0,0 +1,300 @@ +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB diff --git a/scripts/testv/ivas_bws_20fr_start_SWB.txt b/scripts/testv/ivas_bws_20fr_start_SWB.txt new file mode 100644 index 0000000000000000000000000000000000000000..b28fc5ca57e1806e414c59ae8a698ef2dee76be2 --- /dev/null +++ b/scripts/testv/ivas_bws_20fr_start_SWB.txt @@ -0,0 +1,300 @@ +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB diff --git a/scripts/testv/ivas_bws_20fr_start_WB.txt b/scripts/testv/ivas_bws_20fr_start_WB.txt new file mode 100644 index 0000000000000000000000000000000000000000..d2a6ba76ca668ffc33e662176e6aeb80d185ba72 --- /dev/null +++ b/scripts/testv/ivas_bws_20fr_start_WB.txt @@ -0,0 +1,300 @@ +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB +20 WB +20 SWB +20 WB +20 FB +20 SWB +20 FB