Commit a1b06f83 authored by Jan Kiene's avatar Jan Kiene
Browse files

Merge branch 'main' into ci/updates-to-ci-linux-json-files

parents 2c30b2f4 084b0abf
Loading
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -187,6 +187,8 @@
#define OSBA_ROOM_IR
#endif
#define NONBE_FIX_730_DPID_NOT_SET_CORRECTLY                  /* Eri: issue 730: write dpid read from file in correct index, print informative error message when DPID specified is not found. */
#define NONBE_FIX_825_SBA_JBM_MONO_STEREO_OUTPUT              /* FhG: issue #825: Resolve "JBM SBA: AGC and PCA run twice for MONO and STEREO output"   */
#define NONBE_FIX_808_JBM_PARAMUPMIX_RS                       /* FhG: Issue 808: fix JBM MC rate switching */

/* ##################### End NON-BE switches ########################### */

+4 −0
Original line number Diff line number Diff line
@@ -296,7 +296,11 @@ ivas_error ivas_jbm_dec_tc(
                num_md_sub_frames = ivas_get_spar_dec_md_num_subframes( st_ivas->sba_analysis_order, ivas_total_brate, st_ivas->last_active_ivas_total_brate );
                ivas_sba_mix_matrix_determiner( st_ivas->hSpar, p_output, st_ivas->bfi, nchan_remapped, output_frame, num_md_sub_frames );
            }
#ifdef NONBE_FIX_825_SBA_JBM_MONO_STEREO_OUTPUT
            else if ( st_ivas->renderer_type != RENDERER_DISABLE )
#else
            else
#endif
            {
                ivas_spar_dec_agc_pca( st_ivas, p_output, output_frame );
            }
+16 −1
Original line number Diff line number Diff line
@@ -658,6 +658,18 @@ ivas_error ivas_mc_paramupmix_dec_open(
    /* allocate transport channels*/
    hMCParamUpmix->free_param_interpolator = 0;
    hMCParamUpmix->param_interpolator = NULL;
#ifdef NONBE_FIX_808_JBM_PARAMUPMIX_RS
    if ( st_ivas->hDecoderConfig->Opt_5ms == 1 )
    {
        if ( ( hMCParamUpmix->param_interpolator = (float *) malloc( MAX_JBM_CLDFB_TIMESLOTS * sizeof( float ) ) ) == NULL )
        {
            return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for interpolator\n" ) );
        }
        hMCParamUpmix->free_param_interpolator = 1;

        ivas_jbm_dec_get_adapted_linear_interpolator( DEFAULT_JBM_CLDFB_TIMESLOTS, DEFAULT_JBM_CLDFB_TIMESLOTS, hMCParamUpmix->param_interpolator );
    }
#endif
    if ( st_ivas->hDecoderConfig->Opt_5ms == 1 && st_ivas->hTcBuffer == NULL )
    {
        int16_t nchan_to_allocate;
@@ -667,11 +679,12 @@ ivas_error ivas_mc_paramupmix_dec_open(
        buffer_mode = TC_BUFFER_MODE_RENDERER;
        nchan_tc = ivas_jbm_dec_get_num_tc_channels( st_ivas );
        nchan_to_allocate = MC_PARAMUPMIX_MAX_INPUT_CHANS;
#ifndef NONBE_FIX_808_JBM_PARAMUPMIX_RS
        if ( ( hMCParamUpmix->param_interpolator = (float *) malloc( MAX_JBM_CLDFB_TIMESLOTS * sizeof( float ) ) ) == NULL )
        {
            return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for interpolator\n" ) );
        }

#endif
        if ( st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_STEREO || st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_MONO )
        {
            buffer_mode = TC_BUFFER_MODE_BUFFER;
@@ -686,9 +699,11 @@ ivas_error ivas_mc_paramupmix_dec_open(
        {
            return error;
        }
#ifndef NONBE_FIX_808_JBM_PARAMUPMIX_RS
        hMCParamUpmix->free_param_interpolator = 1;

        ivas_jbm_dec_get_adapted_linear_interpolator( DEFAULT_JBM_CLDFB_TIMESLOTS, DEFAULT_JBM_CLDFB_TIMESLOTS, hMCParamUpmix->param_interpolator );
#endif
    }

    st_ivas->hMCParamUpmix = hMCParamUpmix;
+13 −0
Original line number Diff line number Diff line
@@ -1346,6 +1346,19 @@ static ivas_error ivas_mc_dec_reconfig(
        {
            tc_nchan_full_new = 0;
        }
#ifdef NONBE_FIX_808_JBM_PARAMUPMIX_RS
        else if ( st_ivas->mc_mode == MC_MODE_PARAMUPMIX )
        {
            tc_nchan_allocate_new = MC_PARAMUPMIX_MAX_INPUT_CHANS;
            if ( st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_STEREO || st_ivas->hDecoderConfig->output_config == IVAS_AUDIO_CONFIG_MONO )
            {
                tc_buffer_mode_new = TC_BUFFER_MODE_BUFFER;
                tc_nchan_tc_new = st_ivas->hDecoderConfig->nchan_out;
                tc_nchan_allocate_new = tc_nchan_tc_new;
            }
            tc_nchan_full_new = tc_nchan_allocate_new;
        }
#endif

        /* reconfigure buffer */
        if ( hTcBuffer->tc_buffer_mode != tc_buffer_mode_new || hTcBuffer->nchan_transport_jbm != tc_nchan_tc_new ||