Commit 96df11ff authored by bayers's avatar bayers
Browse files

Merge remote-tracking branch 'remotes/origin/main' into...

Merge remote-tracking branch 'remotes/origin/main' into 834-rs-number-of-existing-channels-on-the-heap-mem-wrong
parents b6b20319 0b2b1ac3
Loading
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -168,7 +168,7 @@


/* #################### End BE switches ################################## */

#define BE_FIX_832_ASAN_ERROR_EFAP_OSBA                       /* FhG: issue #832: fix ASAN error caused by re-allocating EFAP memories in OSBA*/

/* #################### Start NON-BE switches ############################ */
/* any switch which is non-be wrt selection floating point code */
@@ -185,6 +185,7 @@
#define NONBE_FIX_840_PARAMMC_RS                              /* FhG: Issue #840: Resolve "MC RS ParamMC hoa encoder wrongly set to zero" */
#define NONBE_FIX_826_JBM_MASA_CNA_CNG                        /* FhG: issue #826:  Resolve "JBM MASA: CNA and CNG not in sync with non-JBM decoding" */
#define NONBE_FIX_835_JBM_PARAMUPMIX_HEADROT                  /* FhG: issue #835: Resolve "JBM: ParamUpmix head rotation broken" */
#define NONBE_FIX_838_CRASH_24_4_WB                           /* FhG: Issue 838: fix encoder crashes for Unified Stereo and MASA 2 TC at 24.4 kbps WB due to missing IGF (re-) allocation */
#define NONBE_FIX_839_MC_RS_CHANNEL_ALLOC                     /* FhG: Issues #839: problems with reallocation of the channels on the heap in case of MC RS */
/* ##################### End NON-BE switches ########################### */

+4 −1
Original line number Diff line number Diff line
@@ -67,8 +67,11 @@ ivas_error ivas_ism_renderer_open(
    {
        return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for ISM renderer\n" ) );
    }

#ifdef BE_FIX_832_ASAN_ERROR_EFAP_OSBA
    if ( st_ivas->hIntSetup.is_loudspeaker_setup && st_ivas->hIntSetup.ls_azimuth != NULL && st_ivas->hIntSetup.ls_elevation != NULL && st_ivas->hEFAPdata == NULL )
#else
    if ( st_ivas->hIntSetup.is_loudspeaker_setup && st_ivas->hIntSetup.ls_azimuth != NULL && st_ivas->hIntSetup.ls_elevation != NULL )
#endif
    {
        if ( ( error = efap_init_data( &( st_ivas->hEFAPdata ), st_ivas->hIntSetup.ls_azimuth, st_ivas->hIntSetup.ls_elevation, st_ivas->hIntSetup.nchan_out_woLFE, EFAP_MODE_EFAP ) ) != IVAS_ERR_OK )
        {
+10 −0
Original line number Diff line number Diff line
@@ -110,6 +110,9 @@ ivas_error ivas_cpe_enc(
    ivas_error error;
    int32_t cpe_brate;
    int32_t element_brate_ref;
#ifdef NONBE_FIX_838_CRASH_24_4_WB
    int16_t last_bits_frame_nominal;
#endif

    error = IVAS_ERR_OK;

@@ -123,6 +126,9 @@ ivas_error ivas_cpe_enc(
    input_Fs = hEncoderConfig->input_Fs;
    ivas_total_brate = hEncoderConfig->ivas_total_brate;
    element_brate_ref = hCPE->element_brate;
#ifdef NONBE_FIX_838_CRASH_24_4_WB
    last_bits_frame_nominal = sts[0]->bits_frame_nominal;
#endif

    /*------------------------------------------------------------------*
     * Initialization - general
@@ -521,7 +527,11 @@ ivas_error ivas_cpe_enc(
    /* IGF reconfiguration */
    for ( n = 0; n < n_CoreChannels; n++ )
    {
#ifdef NONBE_FIX_838_CRASH_24_4_WB
        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 ) )
#else
        if ( ( hCPE->last_element_brate != hCPE->element_brate || sts[n]->last_bwidth != sts[n]->bwidth ) && ( n == 0 || hCPE->element_mode == IVAS_CPE_MDCT ) )
#endif
        {
            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 );