Commit 76b0e965 authored by multrus's avatar multrus
Browse files

Merge branch 'cleanup_20240109' into 'main'

Cleanup 20240109

See merge request !1312
parents dc47938d fbe4196b
Loading
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -151,8 +151,6 @@
/*#define FIX_I4_OL_PITCH*/                             /* fix open-loop pitch used for EVS core switching */
/*#define SPLIT_REND_WITH_HEAD_ROT  */                  /* Dlb,FhG: Split Rendering contributions 21 and 35 */

#define FIX_911_REMOVE_CREND_DUPLICATION                /* VA: issue 911: resolve duplication of CRend binaural external renderer function */
#define FIX_938_GCC_12_WARNINGS                         /* VA: issue #938: remove set_f(.,.,0) call in which length is always 0 to remove GCC 12.0 warning */

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

@@ -161,7 +159,6 @@
/* all switches in this category should start with "NONBE_" */

#define NONBE_FIX_856_TCX_LTP_SYNTH_FILTER                    /* FhG: issue 856: correct filtering length for tcx-ltp synth filtering*/
#define NONBE_FIX_943_RECONFIG_IGF_AFTER_SETTING_BW           /* FhG: issue 943: fix crash in BW switchin from WB in MDCT-Stereo core encoder */
#define NONBE_FIX_944_FEC_OMASA_1SEP_OBJ_MASA                 /* Nokia: issue 944: fix FEC error in OMASA */

/* ##################### End NON-BE switches ########################### */
+0 −4
Original line number Diff line number Diff line
@@ -242,10 +242,6 @@ void transf_cdbk_enc(
        x_tran[i] = (float) ( x_norm[i] );
    }

#ifndef FIX_938_GCC_12_WARNINGS
    set_f( x_tran + Nsv * WIDTH_BAND, 0.0f, L_SUBFR - WIDTH_BAND * Nsv );

#endif
    if ( st->coder_type != INACTIVE && st->core_brate >= MIN_BRATE_AVQ_EXC && st->core_brate <= MAX_BRATE_AVQ_EXC_TD && !harm_flag_acelp )
    {
        mvr2r( x_tran, code_preQ, L_SUBFR );
+0 −18
Original line number Diff line number Diff line
@@ -519,22 +519,6 @@ ivas_error ivas_cpe_enc(
     * Core codec configuration
     *----------------------------------------------------------------*/

#ifndef NONBE_FIX_943_RECONFIG_IGF_AFTER_SETTING_BW
    /* IGF reconfiguration */
    for ( n = 0; n < n_CoreChannels; n++ )
    {
        if ( ( hCPE->last_element_brate != hCPE->element_brate || hCPE->element_mode != hCPE->last_element_mode || ( hCPE->element_mode == IVAS_CPE_TD && sts[0]->bits_frame_nominal != last_bits_frame_nominal ) || sts[n]->last_bwidth != sts[n]->bwidth ) && ( n == 0 || hCPE->element_mode == IVAS_CPE_MDCT ) )
        {
            int16_t igf;
            igf = getIgfPresent( sts[n]->element_mode, sts[n]->bits_frame_nominal * FRAMES_PER_SEC, sts[n]->max_bwidth, sts[n]->rf_mode );
            if ( ( error = IGF_Reconfig( &sts[n]->hIGFEnc, igf, 0, sts[n]->bits_frame_nominal * FRAMES_PER_SEC, sts[n]->max_bwidth, sts[n]->element_mode, sts[n]->rf_mode ) ) != IVAS_ERR_OK )
            {
                return error;
            }
        }
    }

#endif
    if ( hCPE->element_mode == IVAS_CPE_MDCT && st_ivas->hMCT == NULL )
    {
        /* set coded BW for MDCT stereo */
@@ -556,7 +540,6 @@ ivas_error ivas_cpe_enc(
        }
    }

#ifdef NONBE_FIX_943_RECONFIG_IGF_AFTER_SETTING_BW
    /* IGF reconfiguration */
    for ( n = 0; n < n_CoreChannels; n++ )
    {
@@ -570,7 +553,6 @@ ivas_error ivas_cpe_enc(
            }
        }
    }
#endif

    /* set ACELP@12k8 / ACELP@16k flag for flexible ACELP core */
    for ( n = 0; n < n_CoreChannels; n++ )
+0 −163
Original line number Diff line number Diff line
@@ -1738,149 +1738,6 @@ static ivas_error ivas_rend_crendConvolver(
    return IVAS_ERR_OK;
}

#ifndef FIX_911_REMOVE_CREND_DUPLICATION
/*-----------------------------------------------------------------------------------------*
 * Function ivas_rend_crendProcess()
 *
 * Process call for IVAS Crend renderer
 *-----------------------------------------------------------------------------------------*/

ivas_error ivas_rend_crendProcess(
    const CREND_WRAPPER *pCrend,
    const AUDIO_CONFIG inConfig,
    const AUDIO_CONFIG outConfig,
    DECODER_CONFIG_HANDLE hDecoderConfig,
    COMBINED_ORIENTATION_HANDLE hCombinedOrientationData,
    IVAS_OUTPUT_SETUP_HANDLE hIntSetup,
    EFAP_HANDLE hEFAPdata,
    float *output[], /* i/o: input/output audio channels     */
    const int32_t output_Fs,
#ifdef SPLIT_REND_WITH_HEAD_ROT
    const int16_t num_subframes /* i  : number of subframes to render */,
    const int16_t pos_idx
#else
    const int16_t num_subframes /* i  : number of subframes to render */
#endif
)
{
    int16_t i, subframe_idx, subframe_len;
    int16_t nchan_out;
    float pcm_tmp[BINAURAL_CHANNELS][L_FRAME48k];
    float *p_pcm_tmp[BINAURAL_CHANNELS];
    IVAS_REND_AudioConfigType inConfigType;
    int8_t combinedOrientationEnabled;
    ivas_error error;
    CREND_HANDLE hCrend;

#ifdef SPLIT_REND_WITH_HEAD_ROT
    hCrend = pCrend->hCrend[pos_idx];
#else
    hCrend = pCrend->hCrend;
#endif

    combinedOrientationEnabled = 0;
    if ( hCombinedOrientationData != NULL )
    {
        for ( subframe_idx = 0; subframe_idx < num_subframes; subframe_idx++ )
        {
            if ( hCombinedOrientationData->enableCombinedOrientation[subframe_idx] != 0 )
            {
                combinedOrientationEnabled = 1;
                break;
            }
        }
    }

    push_wmops( "ivas_rend_crendProcess" );
    inConfigType = getAudioConfigType( inConfig );

    if ( ( error = getAudioConfigNumChannels( outConfig, &nchan_out ) ) != IVAS_ERR_OK )
    {
        return error;
    }

    subframe_len = (int16_t) ( output_Fs / ( FRAMES_PER_SEC * MAX_PARAM_SPATIAL_SUBFRAMES ) );

    for ( i = 0; i < BINAURAL_CHANNELS; i++ )
    {
        p_pcm_tmp[i] = pcm_tmp[i];
    }

    for ( subframe_idx = 0; subframe_idx < num_subframes; subframe_idx++ )
    {
        /* Early Reflections */
        if ( hCrend->reflections != NULL )
        {
            if ( hCrend->reflections->use_er == 1 && hCrend->reflections->is_ready == 1 )
            {
                if ( ( error = ivas_er_process( hCrend->reflections, subframe_len, subframe_idx, output, inConfig ) ) != IVAS_ERR_OK )
                {
                    return error;
                }
            }
        }

        if ( hDecoderConfig && combinedOrientationEnabled )
        {
            /* Orientation tracking */

            /* Rotation in SHD for:
                MC with elevation (5_1_2 / 5_1_4 / 7_1_4) -> BINAURAL
                SBA SPAR -> BINAURAL or BINAURAL_ROOM
            */
            if ( inConfig == IVAS_AUDIO_CONFIG_FOA || inConfig == IVAS_AUDIO_CONFIG_HOA2 || inConfig == IVAS_AUDIO_CONFIG_HOA3 )
            {
                rotateFrame_shd( hCombinedOrientationData, output, subframe_len, *hIntSetup, subframe_idx );
            }
            /* Rotation in SD for MC -> BINAURAL_ROOM */
            else if ( ( hIntSetup != NULL ) && hIntSetup->is_loudspeaker_setup )
            {
                rotateFrame_sd( hCombinedOrientationData, output, subframe_len, *hIntSetup, hEFAPdata, subframe_idx );
            }
        }

        if ( inConfigType == IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED || inConfigType == IVAS_REND_AUDIO_CONFIG_TYPE_AMBISONICS )
        {
#ifdef SPLIT_REND_WITH_HEAD_ROT
            if ( ( error = ivas_rend_crendConvolver( pCrend, inConfig, outConfig, output, p_pcm_tmp, output_Fs, subframe_idx, pos_idx ) ) != IVAS_ERR_OK )
#else
            if ( ( error = ivas_rend_crendConvolver( pCrend, inConfig, outConfig, output, p_pcm_tmp, output_Fs, subframe_idx ) ) != IVAS_ERR_OK )
#endif
            {
                return error;
            }

            if ( hCrend->hReverb != NULL )
            {
#ifdef SPLIT_REND_WITH_HEAD_ROT
                if ( ( error = ivas_reverb_process( pCrend->hCrend[pos_idx]->hReverb, inConfig, 1, output, p_pcm_tmp, subframe_idx ) ) != IVAS_ERR_OK )
#else
                if ( ( error = ivas_reverb_process( pCrend->hCrend->hReverb, inConfig, 1, output, p_pcm_tmp, subframe_idx ) ) != IVAS_ERR_OK )
#endif
                {
                    return error;
                }
            }

            /* update combined orientation access index */
            ivas_combined_orientation_update_index( hCombinedOrientationData, subframe_len );
        }
        else
        {
            return IVAS_ERR_INVALID_INPUT_FORMAT;
        }
    }

    /* move to output */
    for ( i = 0; i < nchan_out; i++ )
    {
        mvr2r( pcm_tmp[i], output[i], num_subframes * subframe_len );
    }

    pop_wmops();
    return IVAS_ERR_OK;
}
#endif

/*-----------------------------------------------------------------------------------------*
 * Function ivas_rend_crendProcessSubframe()
@@ -1955,10 +1812,8 @@ ivas_error ivas_rend_crendProcessSubframe(
        p_pcm_tmp[ch] = pcm_tmp[ch];
    }

#ifdef FIX_911_REMOVE_CREND_DUPLICATION
    if ( hTcBuffer != NULL )
    {
#endif
        slot_size = hTcBuffer->n_samples_granularity;

        /* loop for synthesis, assume we always have to render in multiples of 5ms subframes with spills */
@@ -1971,7 +1826,6 @@ ivas_error ivas_rend_crendProcessSubframe(
            slots_to_render -= hTcBuffer->subframe_nbslots[last_sf];
            last_sf++;
        }
#ifdef FIX_911_REMOVE_CREND_DUPLICATION
        subframe_len = -1; /* will be set later */
    }
    else
@@ -1980,18 +1834,13 @@ ivas_error ivas_rend_crendProcessSubframe(
        first_sf = 0;
        last_sf = n_samples_to_render / subframe_len;
    }
#endif

    for ( subframe_idx = first_sf; subframe_idx < last_sf; subframe_idx++ )
    {
#ifdef FIX_911_REMOVE_CREND_DUPLICATION
        if ( hTcBuffer != NULL )
        {
#endif
            subframe_len = hTcBuffer->subframe_nbslots[subframe_idx] * hTcBuffer->n_samples_granularity;
#ifdef FIX_911_REMOVE_CREND_DUPLICATION
        }
#endif

        /* Early Reflections */
        if ( hCrend->reflections != NULL )
@@ -2061,14 +1910,10 @@ ivas_error ivas_rend_crendProcessSubframe(
                p_pcm_tmp[ch] += subframe_len;
            }

#ifdef FIX_911_REMOVE_CREND_DUPLICATION
            if ( hTcBuffer != NULL )
            {
#endif
                hTcBuffer->slots_rendered += hTcBuffer->subframe_nbslots[subframe_idx];
#ifdef FIX_911_REMOVE_CREND_DUPLICATION
            }
#endif
        }
        else
        {
@@ -2085,14 +1930,10 @@ ivas_error ivas_rend_crendProcessSubframe(
        mvr2r( pcm_tmp[ch], output[ch], n_samples_to_render );
    }

#ifdef FIX_911_REMOVE_CREND_DUPLICATION
    if ( hTcBuffer != NULL )
    {
#endif
        hTcBuffer->subframes_rendered = last_sf;
#ifdef FIX_911_REMOVE_CREND_DUPLICATION
    }
#endif

    pop_wmops();

@@ -2201,12 +2042,8 @@ ivas_error ivas_rend_crendProcessSplitBin(
            mvr2r( hCombinedOrientationData->Rmat_prev[pos_idx][i], pCombinedOrientationDataLocal->Rmat_prev[0][i], 3 );
        }

#ifdef FIX_911_REMOVE_CREND_DUPLICATION
        if ( ( error = ivas_rend_crendProcessSubframe( pCrend, inConfig, outConfig, hDecoderConfig, pCombinedOrientationDataLocal, hIntSetup, hEFAPdata,
                                                       NULL, p_tmpInputBuffer, p_tmpInputBuffer, output_frame, output_Fs, pos_idx ) ) != IVAS_ERR_OK )
#else
        if ( ( error = ivas_rend_crendProcess( pCrend, inConfig, outConfig, hDecoderConfig, pCombinedOrientationDataLocal, hIntSetup, hEFAPdata, p_tmpInputBuffer, output_Fs, hCombinedOrientationData->num_subframes, pos_idx ) ) != IVAS_ERR_OK )
#endif
        {
            return error;
        }
+0 −20
Original line number Diff line number Diff line
@@ -918,26 +918,6 @@ ivas_error ivas_rend_initCrendWrapper(
#endif
);

#ifndef FIX_911_REMOVE_CREND_DUPLICATION
ivas_error ivas_rend_crendProcess(
    const CREND_WRAPPER *pCrend,
    const AUDIO_CONFIG inConfig,
    const AUDIO_CONFIG outConfig,
    DECODER_CONFIG_HANDLE hDecoderConfig,
    COMBINED_ORIENTATION_HANDLE hCombinedOrientationData,
    IVAS_OUTPUT_SETUP_HANDLE hIntSetup,
    EFAP_HANDLE hEFAPdata,
    float *output[],                                            /* i/o: input/output audio channels             */
    const int32_t output_Fs,   
#ifdef SPLIT_REND_WITH_HEAD_ROT
    const int16_t num_subframes,                                /* i  : number of subframes to render           */
    const int16_t pos_idx                                       /* i  : pose index                              */
#else
    const int16_t num_subframes                                 /* i  : number of subframes to render */
#endif
);

#endif
ivas_error ivas_rend_crendProcessSubframe(
    const CREND_WRAPPER *pCrend,                                /* i/o: Crend wrapper handle                    */
    const AUDIO_CONFIG inConfig,                                /* i  : input audio configuration               */
Loading