Admin message

WARNING! Gitlab maintenance operation scheduled for Monday, 20 April between 12:00 and 14:00 (CET). During this time window, short service interruptions (less than 5 minutes) may occur. Thank you in advance for your understanding.

Condition in ivas_param_mc_dec_prepare_renderer()

Bug description

Seems that the call to ivas_param_mc_get_mixing_matrices() has an extra condition compared to float:

BASOP:

FOR( is_next_band = 0; is_next_band < 2; is_next_band++ )
{
    test();
    IF( is_next_band && skip_next_band )
    {
        CONTINUE;
    }

    IF( NE_32( hParamMC->synthesis_conf, PARAM_MC_SYNTH_MONO_STEREO ) )
    {
        IF( is_next_band )
        {
             ivas_param_mc_get_mixing_matrices_fx( hParamMC, hSynthesisOutputSetup, cx_next_band_fx, cx_e, add( param_band_idx, is_next_band ), hParamMC->h_output_synthesis_cov_state.mixing_matrix_fx, hParamMC->h_output_synthesis_cov_state.mixing_matrix_exp, hParamMC->h_output_synthesis_cov_state.mixing_matrix_res_fx, hParamMC->h_output_synthesis_cov_state.mixing_matrix_res_exp, nchan_out_transport, hParamMC->synthesis_conf, nchan_transport, nchan_out_cov );
        }
        ELSE
        {
            ivas_param_mc_get_mixing_matrices_fx( hParamMC, hSynthesisOutputSetup, cx_fx, cx_e, add( param_band_idx, is_next_band ), hParamMC->h_output_synthesis_cov_state.mixing_matrix_fx, hParamMC->h_output_synthesis_cov_state.mixing_matrix_exp, hParamMC->h_output_synthesis_cov_state.mixing_matrix_res_fx, hParamMC->h_output_synthesis_cov_state.mixing_matrix_res_exp, nchan_out_transport, hParamMC->synthesis_conf, nchan_transport, nchan_out_cov );
        }
    }
}

Float:

for ( is_next_band = 0; is_next_band < 2; is_next_band++ )
{
    if ( is_next_band && skip_next_band )
    {
        continue;
    }

    /* generate mixing matrices */
    ivas_param_mc_get_mixing_matrices( hParamMC,
                                       hSynthesisOutputSetup,
                                       is_next_band ? cx_next_band : cx,
                                       param_band_idx + is_next_band,
                                       hParamMC->h_output_synthesis_cov_state.mixing_matrix,
                                       hParamMC->h_output_synthesis_cov_state.mixing_matrix_res,
                                       nchan_out_transport,
                                       hParamMC->synthesis_conf,
                                       nchan_transport,
                                       nchan_out_cov );
}

More precisely, the condition

IF( NE_32( hParamMC->synthesis_conf, PARAM_MC_SYNTH_MONO_STEREO ) )

is not present in float.

Edited Apr 13, 2026 by multrus
Assignee Loading
Time tracking Loading