Commit 9e9741ee authored by PLAINSI's avatar PLAINSI
Browse files

Render from internal 5_1_2 for Mono and Stereo

parent e35b925e
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -528,9 +528,16 @@ ivas_error ivas_dec(
                ivas_binaural_add_LFE( st_ivas, output_frame, output );
            }
            else if ( st_ivas->renderer_type == RENDERER_MC )
            {
                if ( ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_MONO ) || ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_STEREO ) )
                {
                    ivas_ls_setup_conversion( st_ivas, audioCfg2channels( AUDIO_CONFIG_5_1_2 ), output_frame, output );
                }
                else
                {
                    ivas_ls_setup_conversion( st_ivas, MC_PARAMUPMIX_MAX_INPUT_CHANS, output_frame, output );
                }
            }
            else if ( st_ivas->renderer_type == RENDERER_SBA_LINEAR_ENC )
            {
                ivas_mc2sba( st_ivas->hIntSetup, output, output_frame, st_ivas->hOutSetup.ambisonics_order, 0.f );
+30 −1
Original line number Diff line number Diff line
@@ -312,7 +312,18 @@ ivas_error ivas_ls_setup_conversion_open(
    int16_t output_frame;
    int32_t output_Fs;
    int16_t nchan_out;
#ifdef MC_PARAMUPMIX_MODE
    int16_t paramUpmixMonoStereo;

    if ( st_ivas->ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_PARAMUPMIX && ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_MONO ) || ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_STEREO ) )
    {
        paramUpmixMonoStereo = TRUE;
    }
    else
    {
        paramUpmixMonoStereo = FALSE;
    }
#endif
    output_Fs = st_ivas->hDecoderConfig->output_Fs;
    nchan_out = st_ivas->hDecoderConfig->nchan_out;
    output_frame = (int16_t) ( output_Fs / FRAMES_PER_SEC );
@@ -353,9 +364,16 @@ ivas_error ivas_ls_setup_conversion_open(
    {
#ifdef MC_PARAMUPMIX_MODE
        if ( st_ivas->ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_PARAMUPMIX )
        {
            if ( paramUpmixMonoStereo == TRUE )
            {
                inChannels = audioCfg2channels( AUDIO_CONFIG_5_1_2 );
            }
            else
            {
                inChannels = st_ivas->hTransSetup.nchan_out_woLFE + st_ivas->hTransSetup.num_lfe;
            }
        }
        else
        {
            inChannels = st_ivas->nchan_transport;
@@ -409,8 +427,19 @@ ivas_error ivas_ls_setup_conversion_open(
    {
        if ( st_ivas->transport_config != AUDIO_CONFIG_INVALID )
        {
#ifdef MC_PARAMUPMIX_MODE
            if ( paramUpmixMonoStereo == TRUE )
            {
                get_ls_conversion_matrix( hLsSetUpConversion, AUDIO_CONFIG_5_1_2, st_ivas->hDecoderConfig->output_config );
            }
            else
            {
                get_ls_conversion_matrix( hLsSetUpConversion, st_ivas->transport_config, st_ivas->hDecoderConfig->output_config );
            }
#else
            get_ls_conversion_matrix( hLsSetUpConversion, st_ivas->transport_config, st_ivas->hDecoderConfig->output_config );
#endif
        }
        else
        {
            get_ls_conversion_matrix( hLsSetUpConversion, st_ivas->intern_config, st_ivas->hDecoderConfig->output_config );