Commit 50e6c3bb authored by Dominik Weckbecker's avatar Dominik Weckbecker 💬
Browse files

Merge remote-tracking branch 'origin/main' into FhG_object_editing_interface

parents 4002d2ef 589a24be
Loading
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -167,8 +167,6 @@

#define FIX_CREND_SIMPLIFY_CODE                         /* Ora : simplify line code in crend */
#define TMP_FIX_1119_SPLIT_RENDERING_VOIP               /* FhG: Add error check for unsupported config: split rendering with VoIP mode */
#define FIX_1113_EXTREND_ISAR                           /* FhG: issue 1113: fix external renderer asserts for FOA/HOA2 and CLDFB config */
#define FIX_1113_CLDFB_REND_IN_ISAR                     /* issue 1113: fix the use of CLDFB renderer in split-rendering at the external renderer */

#define FIX_POINT_HRTF_FILE_FORMAT                     /* All: fix point hrtf binary file format */
#ifdef FIX_POINT_HRTF_FILE_FORMAT
@@ -178,7 +176,6 @@
#define FIX_1123_PARAMBIN_16BIT_ROM                     /* FhG,Nok: issue 1123: update ParamBin ROM tables and scripts to generate 16 bit tables instead of float */
#define FIX_RETURN                                      /* VA: fix location of function returns */
#endif
#define FIX_BASOP_812_NAN_COHSNR                        /* FhG: BASOP issue 812: fix nan values in sparse frames for cohSNR value in ITD estimation*/

/* #################### End BE switches ################################## */

@@ -186,7 +183,6 @@
/* any switch which is non-be wrt selection floating point code */
/* all switches in this category should start with "NONBE_" */

#define NONBE_FIX_1132_THRESHOLD_POW_IN_SWB_TBE               /* VA: issue 1132: prevent division by extremely low energy value in SWB TBE */
#define NONBE_FIX_1141_OSBA_ROOM_RENDERING                    /* FhG: Fix for issue 1141: render objects in OSBA decoder with room effect */

/* ##################### End NON-BE switches ########################### */
+2 −39
Original line number Diff line number Diff line
@@ -1171,11 +1171,7 @@ static void ivas_binaural_obtain_DMX(
            set_zero( outImagRightPtr, CLDFB_NO_CHANNELS_MAX );

            /*Ambisonics input requires different processing*/
#ifdef FIX_1113_CLDFB_REND_IN_ISAR
            if ( hBinRenderer->nInChannels == HOA3_CHANNELS )
#else
            if ( hBinRenderer->nInChannels == 16 )
#endif
            {
                float *inRealPtr_W, *inImagPtr_W;
                float *inRealPtr_Y, *inImagPtr_Y;
@@ -1271,12 +1267,7 @@ ivas_error ivas_rend_openCldfbRend(
        hBinRenderer->conv_band = convBand;
    }

#ifdef FIX_1113_EXTREND_ISAR
    ivas_output_init( hBinRenderer->hInputSetup, inConfig );
#else
    hBinRenderer->hInputSetup->is_loudspeaker_setup = 0;
    hBinRenderer->hInputSetup->output_config = inConfig;
#endif
    if ( ( error = getAudioConfigNumChannels( inConfig, &hBinRenderer->hInputSetup->nchan_out_woLFE ) ) != IVAS_ERR_OK )
    {
        return error;
@@ -1307,8 +1298,6 @@ ivas_error ivas_rend_openCldfbRend(
        return error;
    }

#ifdef FIX_1113_CLDFB_REND_IN_ISAR
#ifdef FIX_1113_EXTREND_ISAR
    if ( inConfig == IVAS_AUDIO_CONFIG_FOA )
    {
        pCldfbRend->binaural_latency_ns = (int32_t) ( pCldfbRend->hHrtfFastConv->FASTCONV_FOA_latency_s * 1000000000.f );
@@ -1326,12 +1315,6 @@ ivas_error ivas_rend_openCldfbRend(
        /* should never happen for SBA */
        return IVAS_ERR_INVALID_OUTPUT_FORMAT;
    }
#else
    pCldfbRend->binaural_latency_ns = (int32_t) ( pCldfbRend->hHrtfFastConv->FASTCONV_HOA3_latency_s * 1000000000.f );
#endif
#else
    pCldfbRend->binaural_latency_ns = (int32_t) ( FASTCONV_HOA3_latency_s * 1000000000.f );
#endif
    hBinRenderer->hReverb = NULL;
    hBinRenderer->hEFAPdata = NULL;

@@ -1465,27 +1448,15 @@ ivas_error ivas_binRenderer_open(
            }
            else
            {
#ifdef FIX_1113_CLDFB_REND_IN_ISAR
                if ( hBinRenderer->nInChannels == HOA3_CHANNELS )
#else
                if ( hBinRenderer->nInChannels == 16 )
#endif
                {
                    st_ivas->binaural_latency_ns = (int32_t) ( st_ivas->hHrtfFastConv->FASTCONV_HOA3_latency_s * 1000000000.f );
                }
#ifdef FIX_1113_CLDFB_REND_IN_ISAR
                else if ( hBinRenderer->nInChannels == HOA2_CHANNELS )
#else
                else if ( hBinRenderer->nInChannels == 9 )
#endif
                {
                    st_ivas->binaural_latency_ns = (int32_t) ( st_ivas->hHrtfFastConv->FASTCONV_HOA2_latency_s * 1000000000.f );
                }
#ifdef FIX_1113_CLDFB_REND_IN_ISAR
                else if ( hBinRenderer->nInChannels == FOA_CHANNELS )
#else
                else if ( hBinRenderer->nInChannels == 4 )
#endif
                {
                    st_ivas->binaural_latency_ns = (int32_t) ( st_ivas->hHrtfFastConv->FASTCONV_FOA_latency_s * 1000000000.f );
                }
@@ -2199,12 +2170,8 @@ void ivas_binRenderer(
    }

    /* HOA decoding to CICP19 if needed*/
#ifdef FIX_1113_EXTREND_ISAR
    if ( hBinRenderer->hInputSetup->is_loudspeaker_setup == 0 &&
         ( hBinRenderer->nInChannels != HOA3_CHANNELS && hBinRenderer->nInChannels != HOA2_CHANNELS && hBinRenderer->nInChannels != FOA_CHANNELS ) )
#else
    if ( hBinRenderer->hInputSetup->is_loudspeaker_setup == 0 && hBinRenderer->nInChannels != 16 )
#endif
    {
        ivas_sba2mc_cldfb( *( hBinRenderer->hInputSetup ), RealBuffer, ImagBuffer, hBinRenderer->nInChannels, hBinRenderer->conv_band, numTimeSlots, hBinRenderer->hoa_dec_mtx );
    }
@@ -2262,11 +2229,7 @@ void ivas_binRenderer(
                    }
                    else
                    {
#ifdef FIX_1113_EXTREND_ISAR
                        rotateFrame_shd_cldfb( RealBuffer, ImagBuffer, Rmat_local, hBinRenderer->hInputSetup->nchan_out_woLFE, numTimeSlots, hBinRenderer->hInputSetup->ambisonics_order );
#else
                        rotateFrame_shd_cldfb( RealBuffer, ImagBuffer, Rmat_local, hBinRenderer->hInputSetup->nchan_out_woLFE, numTimeSlots, 3 );
#endif
                    }

                    ivas_binRenderer_filterModule( Cldfb_RealBuffer_Binaural[pos_idx], Cldfb_ImagBuffer_Binaural[pos_idx], RealBuffer, ImagBuffer, numTimeSlots, hBinRenderer, pos_idx );
+0 −4
Original line number Diff line number Diff line
@@ -328,14 +328,12 @@ void wb_tbe_dec(
        prev_pow = sum2_f( shaped_wb_excitation, L_SHB_LAHEAD / 4 );
        curr_pow = sum2_f( shaped_wb_excitation + L_SHB_LAHEAD / 4, L_SHB_LAHEAD / 4 );

#ifdef NONBE_FIX_1132_THRESHOLD_POW_IN_SWB_TBE
        if ( st->element_mode > EVS_MONO )
        {
            /* prevent too low values of energy */
            prev_pow = max( 0.00001f, prev_pow );
            curr_pow = max( 0.00001f, curr_pow );
        }
#endif

        if ( voice_factors[0] > 0.75f )
        {
@@ -1073,14 +1071,12 @@ void swb_tbe_dec(
        prev_pow = sum2_f( shaped_shb_excitation, L_SHB_LAHEAD + 10 );
        curr_pow = sum2_f( shaped_shb_excitation + L_SHB_LAHEAD + 10, L_SHB_LAHEAD + 10 );

#ifdef NONBE_FIX_1132_THRESHOLD_POW_IN_SWB_TBE
        if ( st->element_mode > EVS_MONO )
        {
            /* prevent too low values of energy */
            prev_pow = max( 0.00001f, prev_pow );
            curr_pow = max( 0.00001f, curr_pow );
        }
#endif

        if ( voice_factors[0] > 0.75f )
        {
+0 −4
Original line number Diff line number Diff line
@@ -1051,18 +1051,14 @@ void stereo_dft_enc_compute_itd(
    }

    /*calculate total cohSNR for frame in dB*/
#ifdef FIX_BASOP_812_NAN_COHSNR
    if ( mEr > 1.0f )
    {
#endif
        cohSNR = 20 * log10f( mEr );
#ifdef FIX_BASOP_812_NAN_COHSNR
    }
    else
    {
        cohSNR = 0;
    }
#endif

    /* collect UNCLR classifier parameters */
    {
+0 −4
Original line number Diff line number Diff line
@@ -383,14 +383,12 @@ void wb_tbe_enc(
    prev_pow = sum2_f( shaped_wb_excitation, L_SHB_LAHEAD / 4 );
    curr_pow = sum2_f( shaped_wb_excitation + L_SHB_LAHEAD / 4, L_SHB_LAHEAD / 4 );

#ifdef NONBE_FIX_1132_THRESHOLD_POW_IN_SWB_TBE
    if ( st->element_mode > EVS_MONO )
    {
        /* prevent too low values of energy */
        prev_pow = max( 0.00001f, prev_pow );
        curr_pow = max( 0.00001f, curr_pow );
    }
#endif

    if ( voice_factors[0] > 0.75f )
    {
@@ -1069,14 +1067,12 @@ void swb_tbe_enc(
        prev_pow = sum2_f( shaped_shb_excitation, L_SHB_LAHEAD + 10 );
        curr_pow = sum2_f( shaped_shb_excitation + L_SHB_LAHEAD + 10, L_SHB_LAHEAD + 10 );

#ifdef NONBE_FIX_1132_THRESHOLD_POW_IN_SWB_TBE
        if ( st->element_mode > EVS_MONO )
        {
            /* prevent too low values of energy */
            prev_pow = max( 0.00001f, prev_pow );
            curr_pow = max( 0.00001f, curr_pow );
        }
#endif

        if ( voice_factors[0] > 0.75f )
        {
Loading