Loading lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -153,10 +153,10 @@ #define FIX_562_ISM2_64KBPS /* VA: issue 562: fix ISM2 at 64kbps issue */ #define FIX_559_EXTL_IGF_MISMATCH /* VA: issue 559: fix mismatch between st->extl and st->igf observed as crash in PlanarSBA bitrate switching */ #define FIX_572_LFE_LPF_ENC /* FhG: issue 572: always apply the low pass filter to the LFE channel */ #define FIX_QMETA_SID_5k2 /* Nokia: Issue 137: enable using full 5.2k bitrate in MASA SID */ #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 */ /* ################## End DEVELOPMENT switches ######################### */ Loading lib_enc/ivas_decision_matrix_enc.c +29 −9 Original line number Diff line number Diff line Loading @@ -164,6 +164,8 @@ void ivas_decision_matrix_enc( /* select TCX core or HQ core using bits_frame_nominal to match the TCX configuration bitrate */ st->core = mdct_classifier( st, fft_buff, enerBuffer, st->bits_frame_nominal * FRAMES_PER_SEC ); } #ifndef FIX_TCX_LOWRATE_LIMITATION /* Warning: TCX not available at low bitrates -> replace it by GSC */ if ( st->core == TCX_20_CORE && st->total_brate < STEREO_TCX_MIN_RATE ) { Loading @@ -175,6 +177,7 @@ void ivas_decision_matrix_enc( st->coder_type = INACTIVE; } } #endif } /* do not allow TD stereo ACELP core -> DFT stereo TCX core switching as it is on the WC complexity path */ Loading Loading @@ -219,7 +222,9 @@ void ivas_decision_matrix_enc( { st->core = HQ_CORE; } } #ifndef FIX_TCX_LOWRATE_LIMITATION /* TCX not available at low bitrates -> replace it by GSC */ if ( st->core == TCX_20_CORE && st->total_brate < STEREO_TCX_MIN_RATE ) { Loading @@ -232,6 +237,21 @@ void ivas_decision_matrix_enc( st->coder_type = INACTIVE; } } #endif #endif #ifdef FIX_TCX_LOWRATE_LIMITATION /* TCX not available at low bitrates -> replace it by GSC */ if ( st->core == TCX_20_CORE && st->total_brate < STEREO_TCX_MIN_RATE ) { st->core = ACELP_CORE; st->coder_type = AUDIO; st->sp_aud_decision2 = 0; if ( st->low_rate_mode ) { st->coder_type = INACTIVE; } } #endif Loading Loading
lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -153,10 +153,10 @@ #define FIX_562_ISM2_64KBPS /* VA: issue 562: fix ISM2 at 64kbps issue */ #define FIX_559_EXTL_IGF_MISMATCH /* VA: issue 559: fix mismatch between st->extl and st->igf observed as crash in PlanarSBA bitrate switching */ #define FIX_572_LFE_LPF_ENC /* FhG: issue 572: always apply the low pass filter to the LFE channel */ #define FIX_QMETA_SID_5k2 /* Nokia: Issue 137: enable using full 5.2k bitrate in MASA SID */ #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 */ /* ################## End DEVELOPMENT switches ######################### */ Loading
lib_enc/ivas_decision_matrix_enc.c +29 −9 Original line number Diff line number Diff line Loading @@ -164,6 +164,8 @@ void ivas_decision_matrix_enc( /* select TCX core or HQ core using bits_frame_nominal to match the TCX configuration bitrate */ st->core = mdct_classifier( st, fft_buff, enerBuffer, st->bits_frame_nominal * FRAMES_PER_SEC ); } #ifndef FIX_TCX_LOWRATE_LIMITATION /* Warning: TCX not available at low bitrates -> replace it by GSC */ if ( st->core == TCX_20_CORE && st->total_brate < STEREO_TCX_MIN_RATE ) { Loading @@ -175,6 +177,7 @@ void ivas_decision_matrix_enc( st->coder_type = INACTIVE; } } #endif } /* do not allow TD stereo ACELP core -> DFT stereo TCX core switching as it is on the WC complexity path */ Loading Loading @@ -219,7 +222,9 @@ void ivas_decision_matrix_enc( { st->core = HQ_CORE; } } #ifndef FIX_TCX_LOWRATE_LIMITATION /* TCX not available at low bitrates -> replace it by GSC */ if ( st->core == TCX_20_CORE && st->total_brate < STEREO_TCX_MIN_RATE ) { Loading @@ -232,6 +237,21 @@ void ivas_decision_matrix_enc( st->coder_type = INACTIVE; } } #endif #endif #ifdef FIX_TCX_LOWRATE_LIMITATION /* TCX not available at low bitrates -> replace it by GSC */ if ( st->core == TCX_20_CORE && st->total_brate < STEREO_TCX_MIN_RATE ) { st->core = ACELP_CORE; st->coder_type = AUDIO; st->sp_aud_decision2 = 0; if ( st->low_rate_mode ) { st->coder_type = INACTIVE; } } #endif Loading