Commit 1473fa6c authored by TYAGIRIS's avatar TYAGIRIS
Browse files

clean up of switch SPLIT_REND_LCLD_5MS

parent baf63d2f
Loading
Loading
Loading
Loading
Loading
+0 −33
Original line number Diff line number Diff line
@@ -455,14 +455,9 @@ int main(
     *------------------------------------------------------------------------------------------*/

#ifdef SPLIT_REND_WITH_HEAD_ROT
#ifdef SPLIT_REND_LCLD_5MS
    asked_frame_size = arg.renderFramesize;
#endif
    if ( arg.outputConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_CODED || arg.outputConfig == IVAS_AUDIO_CONFIG_BINAURAL_SPLIT_PCM )
    {
#ifndef SPLIT_REND_LCLD_5MS
        asked_frame_size = arg.renderFramesize;
#endif
        if ( ( error = IVAS_DEC_EnableSplitRendering( hIvasDec ) ) != IVAS_ERR_OK )
        {
            fprintf( stderr, "\nConfigure failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) );
@@ -475,12 +470,6 @@ int main(
            goto cleanup;
        }

#ifndef SPLIT_REND_LCLD_5MS
        if ( arg.renderFramesize != asked_frame_size )
        {
            fprintf( stderr, "\nChanged render framesize, only 20ms are allowed for split rendering!\n" );
        }
#endif
        arg.enableHeadRotation = true;
    }
#endif
@@ -633,26 +622,6 @@ int main(
            goto cleanup;
        }

#ifdef SPLIT_REND_WITH_HEAD_ROT
#ifndef SPLIT_REND_LCLD_5MS
        if ( arg.renderFramesize == IVAS_RENDER_FRAMESIZE_5MS && ( renderConfig.split_rend_config.poseCorrectionMode == IVAS_SPLIT_REND_POSE_CORRECTION_MODE_NONE ||
                                                                   renderConfig.split_rend_config.dof == 0 ) )
        {
            /*TODO : needs to be refined as this wont work with LCLD codec*/
            arg.renderFramesize = IVAS_RENDER_FRAMESIZE_5MS;
        }
        else
        {
            arg.renderFramesize = IVAS_RENDER_FRAMESIZE_20MS;
        }

        if ( ( error = IVAS_DEC_SetRenderFramesize( hIvasDec, arg.renderFramesize ) ) != IVAS_ERR_OK )
        {
            return error;
        }

#endif
#endif
        if ( RenderConfigReader_read( renderConfigReader, arg.renderConfigFilename, &renderConfig ) != IVAS_ERR_OK )
        {
            fprintf( stderr, "Failed to read renderer configuration from file %s\n\n", arg.renderConfigFilename );
@@ -665,7 +634,6 @@ int main(
            goto cleanup;
        }

#ifdef SPLIT_REND_LCLD_5MS
#ifdef SPLIT_REND_WITH_HEAD_ROT
        if ( asked_frame_size != IVAS_RENDER_FRAMESIZE_20MS && ( renderConfig.split_rend_config.poseCorrectionMode == IVAS_SPLIT_REND_POSE_CORRECTION_MODE_NONE ||
                                                                 renderConfig.split_rend_config.dof == 0 ) )
@@ -686,7 +654,6 @@ int main(
        {
            fprintf( stderr, "\nChanged render framesize, only 20ms are allowed for non-0dof split rendering!\n" );
        }
#endif
#endif

        if ( arg.outputConfig == IVAS_AUDIO_CONFIG_BINAURAL_ROOM_REVERB )
+0 −18
Original line number Diff line number Diff line
@@ -1889,7 +1889,6 @@ int main(
#ifdef SPLIT_REND_WITH_HEAD_ROT
        for ( i = 0; i < args.inConfig.numBinBuses; ++i )
        {
#ifdef SPLIT_REND_LCLD_5MS
            if ( numSamplesRead > 0 )
            {
                if ( ( error = IVAS_REND_GetInputNumChannels( hIvasRend, splitBinIds[i], &numChannels ) ) != IVAS_ERR_OK )
@@ -1905,23 +1904,8 @@ int main(
                    exit( -1 );
                }
            }
#endif
            if ( splitBinNeedsNewFrame )
            {
#ifndef SPLIT_REND_LCLD_5MS
                if ( ( error = IVAS_REND_GetInputNumChannels( hIvasRend, splitBinIds[i], &numChannels ) ) != IVAS_ERR_OK )
                {
                    fprintf( stderr, "Error: %s\n", ivas_error_to_string( error ) );
                    exit( -1 );
                }
                IVAS_REND_ReadOnlyAudioBuffer tmpBuffer = getReadOnlySubBuffer( inBuffer, (int16_t) args.inConfig.binBuses[i].inputChannelIndex, numChannels );

                if ( ( error = IVAS_REND_FeedInputAudio( hIvasRend, splitBinIds[i], tmpBuffer ) ) != IVAS_ERR_OK )
                {
                    fprintf( stderr, "Error: %s\n", ivas_error_to_string( error ) );
                    exit( -1 );
                }
#endif
                if ( ( error = IVAS_REND_FeedSplitBinauralBitstream( hIvasRend, splitBinIds[i], &bitsBuffer ) ) != IVAS_ERR_OK )
                {
                    fprintf( stderr, "Error: %s\n", ivas_error_to_string( error ) );
@@ -2225,9 +2209,7 @@ cleanup:
    }

    split_rend_reader_writer_close( &hSplitRendFileReadWrite );
#ifdef SPLIT_REND_LCLD_5MS
    SplitRendBFIFileReader_close( &splitRendBFIReader );
#endif
#endif

    for ( i = 0; i < RENDERER_MAX_MC_INPUTS; ++i )
+0 −5
Original line number Diff line number Diff line
@@ -173,11 +173,6 @@
/* all switches in this category should start with "NONBE_" */

#define NONBE_FIX_978_MC_TDREND_REVERB                        /* Eri : activate reverb for TDREND with headtracking */

#ifdef SPLIT_REND_WITH_HEAD_ROT
#define SPLIT_REND_LCLD_5MS                                   /* Dlb: LCLD 5ms framing operation  */
#endif

#define NONBE_FIX_984_OMASA_EXT_OUTPUT                        /* Nokia: issue #984: complete the OMASA EXT output implementation */
#define NONBE_FIX_1000_G1_G2_SWB_TBE                          /* VA: issue 1000: avoid div by zero due to g1 + g2 being zero in SWB TBE */
#define NONBE_FIX_999_JBM_MCT_FLUSH                           /* FhG: issue #999: fix wrong flushing for MCT at a JBM rate switch */
+0 −20
Original line number Diff line number Diff line
@@ -247,17 +247,10 @@ static ivas_error ivas_dec_init_split_rend(
        }
    }

#ifdef SPLIT_REND_LCLD_5MS
    if ( ( error = ivas_split_rend_choose_default_codec( &st_ivas->hRenderConfig->split_rend_config.codec, &st_ivas->hRenderConfig->split_rend_config.codec_frame_size_ms, cldfb_in_flag, pcm_out_flag, (int16_t) st_ivas->hDecoderConfig->render_framesize ) ) != IVAS_ERR_OK )
    {
        return error;
    }
#else
    if ( ( error = ivas_split_rend_choose_default_codec( &st_ivas->hRenderConfig->split_rend_config.codec, &st_ivas->hRenderConfig->split_rend_config.codec_frame_size_ms, cldfb_in_flag, pcm_out_flag ) ) != IVAS_ERR_OK )
    {
        return error;
    }
#endif

#ifdef SPLIT_REND_WITH_HEAD_ROT
    if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV && st_ivas->ivas_format == SBA_ISM_FORMAT )
@@ -266,11 +259,7 @@ static ivas_error ivas_dec_init_split_rend(
    }
#endif

#ifdef SPLIT_REND_LCLD_5MS
    error = ivas_split_renderer_open( &st_ivas->hSplitBinRend.splitrend, &st_ivas->hRenderConfig->split_rend_config, st_ivas->hDecoderConfig->output_Fs, cldfb_in_flag, pcm_out_flag, (int16_t) st_ivas->hDecoderConfig->render_framesize );
#else
    error = ivas_split_renderer_open( &st_ivas->hSplitBinRend.splitrend, &st_ivas->hRenderConfig->split_rend_config, st_ivas->hDecoderConfig->output_Fs, cldfb_in_flag, pcm_out_flag, st_ivas->hDecoderConfig->render_framesize == IVAS_RENDER_FRAMESIZE_5MS );
#endif
    return error;
}
#endif
@@ -2559,9 +2548,6 @@ void ivas_initialize_handles_dec(
    st_ivas->hSplitBinRend.hMultiBinCldfbData = NULL;
    st_ivas->hSplitBinRend.hSplitRendBits = NULL;
    st_ivas->hSplitBinRend.hCldfbDataOut = NULL;
#ifndef SPLIT_REND_LCLD_5MS
    st_ivas->hSplitBinRend.tdDataOut = NULL;
#endif
    st_ivas->hSplitBinRend.numTdSamplesPerChannelCached = 0;
    ivas_init_split_rend_handles( &st_ivas->hSplitBinRend.splitrend );
#endif
@@ -2711,12 +2697,6 @@ void ivas_destroy_dec(
        free( st_ivas->hSplitBinRend.hCldfbDataOut );
        st_ivas->hSplitBinRend.hCldfbDataOut = NULL;
    }
#ifndef SPLIT_REND_LCLD_5MS
    if ( st_ivas->hSplitBinRend.tdDataOut != NULL )
    {
        free( st_ivas->hSplitBinRend.tdDataOut );
    }
#endif
#endif

    /* Parametric binaural renderer handle */
+0 −44
Original line number Diff line number Diff line
@@ -66,15 +66,7 @@ const int16_t MC_PARAMUPMIX_CHIDX2[MC_PARAMUPMIX_COMBINATIONS] = { 2, 3, 6, 7 };

static void ps_pred_process_sf( MC_PARAMUPMIX_DEC_HANDLE hMCParamUpmix, DECODER_TC_BUFFER_HANDLE hTcBuffer, float qmf_mod_re[JBM_CLDFB_SLOTS_IN_SUBFRAME][CLDFB_NO_CHANNELS_MAX], float qmf_mod_im[JBM_CLDFB_SLOTS_IN_SUBFRAME][CLDFB_NO_CHANNELS_MAX], float qmf_side_re[JBM_CLDFB_SLOTS_IN_SUBFRAME][CLDFB_NO_CHANNELS_MAX], float qmf_side_im[JBM_CLDFB_SLOTS_IN_SUBFRAME][CLDFB_NO_CHANNELS_MAX], float *param_interpol, const int16_t ch, const int16_t slots_rendered );

#ifndef SPLIT_REND_LCLD_5MS
#ifdef SPLIT_REND_WITH_HEAD_ROT
static void ivas_mc_paramupmix_dec_sf( Decoder_Struct *st_ivas, float *output_f[MAX_OUTPUT_CHANNELS], const int16_t slot_index_start );
#else
static void ivas_mc_paramupmix_dec_sf( Decoder_Struct *st_ivas, float *output_f[MAX_OUTPUT_CHANNELS] );
#endif
#else
static void ivas_mc_paramupmix_dec_sf( Decoder_Struct *st_ivas, float *output_f[MAX_OUTPUT_CHANNELS] );
#endif

static void ivas_param_upmix_dec_decorr_subframes( Decoder_Struct *st_ivas, const int16_t nSamplesForRendering );

@@ -234,11 +226,6 @@ void ivas_mc_paramupmix_dec_render(
    int16_t slots_to_render, first_sf, last_sf, subframe_idx;
    uint16_t slot_size, ch;
    float *output_f_local[MAX_OUTPUT_CHANNELS];
#ifndef SPLIT_REND_LCLD_5MS
#ifdef SPLIT_REND_WITH_HEAD_ROT
    int16_t slot_index_start;
#endif
#endif
    MC_PARAMUPMIX_DEC_HANDLE hMCParamUpmix;

    hMCParamUpmix = st_ivas->hMCParamUpmix;
@@ -273,25 +260,10 @@ void ivas_mc_paramupmix_dec_render(
    assert( slots_to_render == 0 );
#endif
    {
#ifndef SPLIT_REND_LCLD_5MS
#ifdef SPLIT_REND_WITH_HEAD_ROT
        slot_index_start = 0;
#endif
#endif
        for ( subframe_idx = first_sf; subframe_idx < last_sf; subframe_idx++ )
        {
            int16_t n_samples_sf = slot_size * st_ivas->hTcBuffer->subframe_nbslots[subframe_idx];
#ifndef SPLIT_REND_LCLD_5MS
#ifdef SPLIT_REND_WITH_HEAD_ROT
            ivas_mc_paramupmix_dec_sf( st_ivas, output_f_local, slot_index_start );

            slot_index_start += st_ivas->hTcBuffer->subframe_nbslots[subframe_idx];
#else
            ivas_mc_paramupmix_dec_sf( st_ivas, output_f_local );
#endif
#else
            ivas_mc_paramupmix_dec_sf( st_ivas, output_f_local );
#endif

            for ( ch = 0; ch < min( MAX_OUTPUT_CHANNELS, ivas_get_nchan_buffers_dec( st_ivas, -1, -1 ) ); ch++ )
            {
@@ -664,22 +636,10 @@ static void ps_pred_process_sf(
    return;
}

#ifndef SPLIT_REND_LCLD_5MS
static void ivas_mc_paramupmix_dec_sf(
    Decoder_Struct *st_ivas,             /* i/o: IVAS decoder handle                        */
#ifdef SPLIT_REND_WITH_HEAD_ROT
    float *output_f[MAX_OUTPUT_CHANNELS], /* i/o: synthesized core-coder transport channels  */
    const int16_t slot_index_start
#else
    float *output_f[MAX_OUTPUT_CHANNELS] /* i/o: synthesized core-coder transport channels  */
#endif
)
#else
static void ivas_mc_paramupmix_dec_sf(
    Decoder_Struct *st_ivas,             /* i/o: IVAS decoder handle                        */
    float *output_f[MAX_OUTPUT_CHANNELS] /* i/o: synthesized core-coder transport channels  */
)
#endif
{
    int16_t i, ch, slot_idx, k;
    float *pPcm_temp[MC_PARAMUPMIX_COMBINATIONS * 2]; /* decorrelated and undecorrelated*/
@@ -694,9 +654,7 @@ static void ivas_mc_paramupmix_dec_sf(
#ifdef SPLIT_REND_WITH_HEAD_ROT
    float Cldfb_RealBuffer_Binaural[MAX_HEAD_ROT_POSES][BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX];
    float Cldfb_ImagBuffer_Binaural[MAX_HEAD_ROT_POSES][BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX];
#ifdef SPLIT_REND_LCLD_5MS
    int16_t slot_index_start;
#endif
#else
    float Cldfb_RealBuffer_Binaural[BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX];
    float Cldfb_ImagBuffer_Binaural[BINAURAL_CHANNELS][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX];
@@ -707,9 +665,7 @@ static void ivas_mc_paramupmix_dec_sf(
    push_wmops( "ivas_mc_paramupmix_dec_sf" );

#ifdef SPLIT_REND_WITH_HEAD_ROT
#ifdef SPLIT_REND_LCLD_5MS
    slot_index_start = st_ivas->hTcBuffer->slots_rendered;
#endif
#endif
    for ( i = 0; i < MC_PARAMUPMIX_COMBINATIONS; i++ )
    {
Loading