Loading lib_com/ivas_prot.h +160 −157 Original line number Diff line number Diff line Loading @@ -209,6 +209,9 @@ ivas_error pre_proc_front_ivas( const int16_t front_vad_flag, /* i : front-VAD flag to overwrite VAD decision */ const int16_t force_front_vad, /* i : flag to force VAD decision */ const int16_t front_vad_dtx_flag, /* i : front-VAD DTX flag to overwrite VAD decision*/ #ifdef FIX_529_BWD_ISSUE const IVAS_FORMAT ivas_format, /* i : IVAS format */ #endif const int32_t ivas_total_brate /* i : IVAS total bitrate */ ); Loading lib_com/options.h +3 −0 Original line number Diff line number Diff line Loading @@ -154,6 +154,9 @@ // #define FIX_532_ISM_MD_INACTIVE /* VA: issue 532: improve MD coding in ISM inactive frames */ #define FIX_547_NAN_IGF_DEC /* FhG: issue 547: fix possible nan in IGF decoder */ #define FIX_529_BWD_ISSUE /* VA: issue 529: fix Bandwidth Detector not working reliably for Music and Generic Audio */ #define IGF_TUNING_96 /* FhG: Issue 546: slight tuning of IGF config used in 96 kbps stereo, 128 kbps SBA and others */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ Loading lib_com/prot.h +13 −10 Original line number Diff line number Diff line Loading @@ -3891,6 +3891,9 @@ void bw_detect( const float signal_in[], /* i : input signal */ float *spectrum, /* i : MDCT spectrum */ const float *enerBuffer, /* i : energy buffer */ #ifdef FIX_529_BWD_ISSUE const IVAS_FORMAT ivas_format, /* i : IVAS format */ #endif const int16_t mct_on /* i : flag MCT mode */ ); Loading lib_com/rom_com.c +8 −0 Original line number Diff line number Diff line Loading @@ -21632,14 +21632,22 @@ const int16_t igf_tile_offset_table[IGF_BITRATE_UNKNOWN][2*IGF_MAX_TILES+1] = { { 3, 1, 0, 2, 40, 3, 80 }, /* 48000 SWB (stereo TCX10) */ { 4, 2, 80, 4, 128, 6, 144, 7, 212 }, /* 64000 SWB (stereo) */ { 2, 2, 212, 4, 280 }, /* 80000 SWB (stereo) */ #ifdef IGF_TUNING_96 { 1, 3, 200}, /* 96000 SWB (stereo) */ #else { 1, 3, 320}, /* 96000 SWB (stereo) */ #endif { 9, 1, 0, 2, 32, 3, 72, 4, 120, 5, 48, 6, 112, 7, 64, 8, 0, 9, 80 }, /* 24400 FB (stereo) */ {10, 1, 0, 2, 28, 3, 64, 4, 104, 5, 32, 6, 80, 7, 136, 8, 64, 9, 0, 10, 80 }, /* 32000 FB (stereo) */ { 7, 1, 120, 2, 152, 3, 184, 4, 224, 5, 140, 6, 192, 8, 140}, /* 48000 FB (stereo) */ { 4, 1, 0, 2, 40, 3, 80, 4, 140 }, /* 48000 FB (stereo TCX10) */ { 5, 2, 80, 4, 128, 6, 144, 7, 212, 9, 160 }, /* 64000 FB (stereo) */ { 3, 2, 212, 4, 280, 6, 200 }, /* 80000 FB (stereo) */ #ifdef IGF_TUNING_96 { 2, 3, 200, 5, 240}, /* 96000 FB (stereo) */ #else { 2, 3, 320, 5, 240}, /* 96000 FB (stereo) */ #endif { 1, 2, 416} /*128000 FB (stereo) */ }; lib_enc/amr_wb_enc.c +5 −2 Original line number Diff line number Diff line Loading @@ -342,8 +342,11 @@ void amr_wb_enc( * WB, SWB and FB bandwidth detector *----------------------------------------------------------------*/ bw_detect( st, st->input, NULL, NULL, 0 ); #ifdef FIX_529_BWD_ISSUE bw_detect( st, st->input, NULL, NULL, MONO_FORMAT, 0 ); #else bw_detect( st, st->input, NULL, NULL, 0 ); #endif /* in AMR_WB IO, limit the maximum band-width to WB */ if ( st->bwidth > WB ) Loading Loading
lib_com/ivas_prot.h +160 −157 Original line number Diff line number Diff line Loading @@ -209,6 +209,9 @@ ivas_error pre_proc_front_ivas( const int16_t front_vad_flag, /* i : front-VAD flag to overwrite VAD decision */ const int16_t force_front_vad, /* i : flag to force VAD decision */ const int16_t front_vad_dtx_flag, /* i : front-VAD DTX flag to overwrite VAD decision*/ #ifdef FIX_529_BWD_ISSUE const IVAS_FORMAT ivas_format, /* i : IVAS format */ #endif const int32_t ivas_total_brate /* i : IVAS total bitrate */ ); Loading
lib_com/options.h +3 −0 Original line number Diff line number Diff line Loading @@ -154,6 +154,9 @@ // #define FIX_532_ISM_MD_INACTIVE /* VA: issue 532: improve MD coding in ISM inactive frames */ #define FIX_547_NAN_IGF_DEC /* FhG: issue 547: fix possible nan in IGF decoder */ #define FIX_529_BWD_ISSUE /* VA: issue 529: fix Bandwidth Detector not working reliably for Music and Generic Audio */ #define IGF_TUNING_96 /* FhG: Issue 546: slight tuning of IGF config used in 96 kbps stereo, 128 kbps SBA and others */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ Loading
lib_com/prot.h +13 −10 Original line number Diff line number Diff line Loading @@ -3891,6 +3891,9 @@ void bw_detect( const float signal_in[], /* i : input signal */ float *spectrum, /* i : MDCT spectrum */ const float *enerBuffer, /* i : energy buffer */ #ifdef FIX_529_BWD_ISSUE const IVAS_FORMAT ivas_format, /* i : IVAS format */ #endif const int16_t mct_on /* i : flag MCT mode */ ); Loading
lib_com/rom_com.c +8 −0 Original line number Diff line number Diff line Loading @@ -21632,14 +21632,22 @@ const int16_t igf_tile_offset_table[IGF_BITRATE_UNKNOWN][2*IGF_MAX_TILES+1] = { { 3, 1, 0, 2, 40, 3, 80 }, /* 48000 SWB (stereo TCX10) */ { 4, 2, 80, 4, 128, 6, 144, 7, 212 }, /* 64000 SWB (stereo) */ { 2, 2, 212, 4, 280 }, /* 80000 SWB (stereo) */ #ifdef IGF_TUNING_96 { 1, 3, 200}, /* 96000 SWB (stereo) */ #else { 1, 3, 320}, /* 96000 SWB (stereo) */ #endif { 9, 1, 0, 2, 32, 3, 72, 4, 120, 5, 48, 6, 112, 7, 64, 8, 0, 9, 80 }, /* 24400 FB (stereo) */ {10, 1, 0, 2, 28, 3, 64, 4, 104, 5, 32, 6, 80, 7, 136, 8, 64, 9, 0, 10, 80 }, /* 32000 FB (stereo) */ { 7, 1, 120, 2, 152, 3, 184, 4, 224, 5, 140, 6, 192, 8, 140}, /* 48000 FB (stereo) */ { 4, 1, 0, 2, 40, 3, 80, 4, 140 }, /* 48000 FB (stereo TCX10) */ { 5, 2, 80, 4, 128, 6, 144, 7, 212, 9, 160 }, /* 64000 FB (stereo) */ { 3, 2, 212, 4, 280, 6, 200 }, /* 80000 FB (stereo) */ #ifdef IGF_TUNING_96 { 2, 3, 200, 5, 240}, /* 96000 FB (stereo) */ #else { 2, 3, 320, 5, 240}, /* 96000 FB (stereo) */ #endif { 1, 2, 416} /*128000 FB (stereo) */ };
lib_enc/amr_wb_enc.c +5 −2 Original line number Diff line number Diff line Loading @@ -342,8 +342,11 @@ void amr_wb_enc( * WB, SWB and FB bandwidth detector *----------------------------------------------------------------*/ bw_detect( st, st->input, NULL, NULL, 0 ); #ifdef FIX_529_BWD_ISSUE bw_detect( st, st->input, NULL, NULL, MONO_FORMAT, 0 ); #else bw_detect( st, st->input, NULL, NULL, 0 ); #endif /* in AMR_WB IO, limit the maximum band-width to WB */ if ( st->bwidth > WB ) Loading