Commit e60effed authored by Vidhya V P's avatar Vidhya V P
Browse files

Merge branch 'main' into adding-new-tests-to-improve-code-coverage-and-fix-santizer-issues

parents 09bba6f4 8e40fa16
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@ if [ $BUILD -eq 1 ];then
fi

# Configuration
modes=('SBA_b128_wb_cbr' 'MC_7_1_b96_fb_cbr' 'ISM2_b48_fb_cbr')
modes=('HOA3_b128_wb_cbr' 'MC_7_1_b96_fb_cbr' 'ISM2_b48_fb_cbr')
output_formats=('STEREO' 'FOA' '7_1' 'HOA3')
limit_input_to_x_seconds=30
verbosity_cmd="-z console"
+3 −1
Original line number Diff line number Diff line
@@ -181,12 +181,14 @@
#define NONBE_FIX_802_PARAMUPMIX_HIGHPASS                     /* Dlb: issue 802: Move HighPass filter operation for ParamUpmix */
#define NONBE_FIX_809_EXTERNAL_TARGET_INTERPOLATION           /* FhG: issue 809: unify external target interpolation inter and intra frame behaviour */
#define NONBE_FIX_775_OSBA_BR_SWITCHING_CRASH                 /* FhG: issue 775: fix crash in OSBA with bitrate switching and output order lower than input order */

#define NONBE_FIX_827_JBM_CREND_EARLY_REFLECTIONS             /* FhG: issue #827: Resolve "JBM Crend early reflections are wrong" */
#define JBM_FOR_OSBA                                          /* FhG: implement OSBA format in the JBM path */
#ifdef JBM_FOR_OSBA
#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 ########################### */

+11 −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 );
            }
@@ -587,6 +591,13 @@ ivas_error ivas_jbm_dec_tc(
            /* Rendering */
            if ( ( st_ivas->renderer_type == RENDERER_MC ) && ( output_config == IVAS_AUDIO_CONFIG_MONO || output_config == IVAS_AUDIO_CONFIG_STEREO ) )
            {
#ifdef NONBE_FIX_787_PARAM_UPMIX_LEVEL
                /* Compensate loudness for not doing full upmix */
                for ( n = 4; n < 8; n++ )
                {
                    v_multc( p_output[n], 2.0f, p_output[n], output_frame );
                }
#endif
                if ( output_config == IVAS_AUDIO_CONFIG_MONO || output_config == IVAS_AUDIO_CONFIG_STEREO )
                {
                    ivas_ls_setup_conversion( st_ivas, audioCfg2channels( IVAS_AUDIO_CONFIG_5_1_2 ), output_frame, p_output, p_output );
+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 ||
Loading