Commit 27b06f43 authored by malenovsky's avatar malenovsky
Browse files

Merge branch...

Merge branch '577-some-ism-modes-crash-in-instrumented-codec-build-but-not-in-normal-build' into 'main'

[BE] Resolve "Some ISM modes crash in instrumented codec build, but not in normal build"

See merge request !786
parents 159805f9 d5872b56
Loading
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -153,10 +153,11 @@
#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 ######################### */
/* clang-format on */

+29 −9
Original line number Diff line number Diff line
@@ -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 )
        {
@@ -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 */
@@ -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 )
    {
@@ -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