Commit ceed256e authored by vaclav's avatar vaclav
Browse files

add FIX_1314_STEREO_TO_EXT

parent 390e2bbb
Loading
Loading
Loading
Loading
Loading
+33 −17
Original line number Diff line number Diff line
@@ -276,9 +276,6 @@ static ivas_error get_ls_conversion_matrix_fx(
    Word16 index;
    Word32 value;
    const LS_CONVERSION_MATRIX_FX *conversion_matrix_fx;
    ivas_error error;

    error = IVAS_ERR_OK;

    conversion_matrix_fx = NULL;

@@ -319,7 +316,7 @@ static ivas_error get_ls_conversion_matrix_fx(
                        }
                    }
                }
                return error;
                return IVAS_ERR_OK;
            }
            ELSE
            {
@@ -333,7 +330,7 @@ static ivas_error get_ls_conversion_matrix_fx(
                        hLsSetUpConversion->dmxMtx_fx[k][k] = ONE_IN_Q30;
                        move32();
                    }
                    return error;
                    return IVAS_ERR_OK;
                }
                ELSE
                {
@@ -360,13 +357,15 @@ static ivas_error get_ls_conversion_matrix_fx(
                        move32();
                    }
                }
                return error;
                return IVAS_ERR_OK;
            }
        }
    }

    return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "The conversion matrix between these formats is not defined!\n" );
}


/*-------------------------------------------------------------------------
 * ivas_ls_setup_conversion_open()
 *
@@ -381,8 +380,10 @@ ivas_error ivas_ls_setup_conversion_open_fx(
    Word16 chIdx, inChannels, outChannels;
    Word16 output_frame;
    Word32 output_Fs;
    Word16 nchan_out;
    Word16 paramUpmixMonoStereo;
#ifdef FIX_1052_EXT_OUTPUT
    ivas_error error;
#endif

    test();
    test();
@@ -399,7 +400,7 @@ ivas_error ivas_ls_setup_conversion_open_fx(
    }
    output_Fs = st_ivas->hDecoderConfig->output_Fs;
    move32();
    nchan_out = st_ivas->hDecoderConfig->nchan_out;
    outChannels = st_ivas->hDecoderConfig->nchan_out;
    move16();
    output_frame = (Word16) ( output_Fs / FRAMES_PER_SEC );

@@ -409,10 +410,8 @@ ivas_error ivas_ls_setup_conversion_open_fx(
        return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for LS configuration Conversion Handle \n" ) );
    }

    assert( LE_16( nchan_out, MAX_OUTPUT_CHANNELS ) );
    assert( LE_16( outChannels, MAX_OUTPUT_CHANNELS ) );

    outChannels = nchan_out;
    move16();
    IF( EQ_32( st_ivas->renderer_type, RENDERER_MC_PARAMMC ) )
    {
        inChannels = add( st_ivas->hTransSetup.nchan_out_woLFE, st_ivas->hTransSetup.num_lfe );
@@ -511,16 +510,37 @@ ivas_error ivas_ls_setup_conversion_open_fx(
        {
            IF( EQ_16( paramUpmixMonoStereo, TRUE ) )
            {
#ifdef FIX_1052_EXT_OUTPUT
                IF( ( error = get_ls_conversion_matrix_fx( hLsSetUpConversion, IVAS_AUDIO_CONFIG_5_1_2, st_ivas->hDecoderConfig->output_config ) ) != IVAS_ERR_OK )
                {
                    return error;
                }
#else
                get_ls_conversion_matrix_fx( hLsSetUpConversion, IVAS_AUDIO_CONFIG_5_1_2, st_ivas->hDecoderConfig->output_config );
#endif
            }
            ELSE
            {
#ifdef FIX_1052_EXT_OUTPUT
                IF( ( error = get_ls_conversion_matrix_fx( hLsSetUpConversion, st_ivas->transport_config, st_ivas->hDecoderConfig->output_config ) ) != IVAS_ERR_OK )
                {
                    return error;
                }
#else
                get_ls_conversion_matrix_fx( hLsSetUpConversion, st_ivas->transport_config, st_ivas->hDecoderConfig->output_config );
#endif
            }
        }
        ELSE
        {
#ifdef FIX_1052_EXT_OUTPUT
            IF( ( error = get_ls_conversion_matrix_fx( hLsSetUpConversion, st_ivas->intern_config, st_ivas->hDecoderConfig->output_config ) ) != IVAS_ERR_OK )
            {
                return error;
            }
#else
            get_ls_conversion_matrix_fx( hLsSetUpConversion, st_ivas->intern_config, st_ivas->hDecoderConfig->output_config );
#endif
        }
    }

@@ -756,9 +776,7 @@ void ivas_ls_setup_conversion_process_mdct_fx(
            move32();

            test();
            IF(
                NE_16( chInIdx, LFE_CHANNEL ) &&
                NE_16( mct_chan_mode[chInIdx], MCT_CHAN_MODE_IGNORE ) )
            IF( NE_16( chInIdx, LFE_CHANNEL ) && NE_16( mct_chan_mode[chInIdx], MCT_CHAN_MODE_IGNORE ) )
            {
                /* Step 1: Compute the target energy and DMX signal (possible since we have all signals in TCX20 resolution) */
                IF( dmxCoeff )
@@ -906,9 +924,7 @@ void ivas_ls_setup_conversion_process_mdct_fx(
    FOR( chInIdx = 0; chInIdx < inChannels; chInIdx++ )
    {
        test();
        IF(
            NE_16( chInIdx, LFE_CHANNEL ) &&
            NE_16( mct_chan_mode[chInIdx], MCT_CHAN_MODE_IGNORE ) )
        IF( NE_16( chInIdx, LFE_CHANNEL ) && NE_16( mct_chan_mode[chInIdx], MCT_CHAN_MODE_IGNORE ) )
        {
            IF( EQ_16( transform_type[chInIdx][0], TCX_20 ) )
            {
+5 −0
Original line number Diff line number Diff line
@@ -278,7 +278,12 @@ void ivas_renderer_select(
    ELSE IF( EQ_32( st_ivas->ivas_format, STEREO_FORMAT ) )
    {
        test();
#ifdef FIX_1052_EXT_OUTPUT
        test();
        IF( NE_32( output_config, IVAS_AUDIO_CONFIG_STEREO ) && NE_32( output_config, IVAS_AUDIO_CONFIG_MONO ) && NE_32( output_config, IVAS_AUDIO_CONFIG_EXTERNAL ) )
#else
        IF( NE_32( output_config, IVAS_AUDIO_CONFIG_STEREO ) && NE_32( output_config, IVAS_AUDIO_CONFIG_MONO ) )
#endif
        {
            *renderer_type = RENDERER_MC;
            move16();