Loading lib_com/ivas_fb_mixer.c +16 −6 Original line number Diff line number Diff line Loading @@ -177,7 +177,7 @@ ivas_error ivas_FB_mixer_open( IVAS_FB_CFG *fb_cfg /* i : FB config. handle */ #ifdef SBA_BR_SWITCHING_CLEAN_UP , const int16_t spar_reconfig_flag const int16_t spar_reconfig_flag /* i : SPAR reconfiguration flag */ #endif ) { Loading @@ -192,6 +192,7 @@ ivas_error ivas_FB_mixer_open( #ifdef SBA_BR_SWITCHING_CLEAN_UP hFbMixer = *hFbMixer_out; if ( !spar_reconfig_flag ) { #endif Loading @@ -214,6 +215,7 @@ ivas_error ivas_FB_mixer_open( #ifdef SBA_BR_SWITCHING_CLEAN_UP } #endif if ( fb_cfg->active_w_mixing == -1 ) { num_chs_alloc = 0; Loading Loading @@ -258,6 +260,7 @@ ivas_error ivas_FB_mixer_open( { num_chs_alloc = fb_cfg->num_in_chans; } for ( i = 0; i < num_chs_alloc; i++ ) { if ( ( hFbMixer->ppFilterbank_prior_input[i] = (float *) malloc( sizeof( float ) * fb_cfg->prior_input_length ) ) == NULL ) Loading Loading @@ -285,6 +288,7 @@ ivas_error ivas_FB_mixer_open( } } } #ifdef SBA_BR_SWITCHING_CLEAN_UP if ( !spar_reconfig_flag ) { Loading Loading @@ -340,10 +344,12 @@ ivas_error ivas_FB_mixer_open( #ifdef SBA_BR_SWITCHING_CLEAN_UP } #endif hFbMixer->fb_cfg = fb_cfg; #ifdef SBA_BR_SWITCHING_CLEAN_UP set_s( hFbMixer->first_frame, 1, hFbMixer->fb_cfg->num_out_chans ); set_s( hFbMixer->first_frame + hFbMixer->fb_cfg->num_out_chans, 0, IVAS_SPAR_MAX_CH - hFbMixer->fb_cfg->num_out_chans ); if ( !spar_reconfig_flag ) { #endif Loading @@ -354,6 +360,7 @@ ivas_error ivas_FB_mixer_open( #ifdef SBA_BR_SWITCHING_CLEAN_UP } #endif *hFbMixer_out = hFbMixer; return error; Loading @@ -371,7 +378,7 @@ void ivas_FB_mixer_close( const int32_t sampling_rate /* i : sampling rate in Hz */ #ifdef SBA_BR_SWITCHING_CLEAN_UP , const int16_t spar_reconfig_flag const int16_t spar_reconfig_flag /* i : SPAR reconfiguration flag */ #endif ) { Loading Loading @@ -431,6 +438,7 @@ void ivas_FB_mixer_close( free( hFbMixer->prior_mixer[0][0] ); hFbMixer->prior_mixer[0][0] = NULL; } #ifdef SBA_BR_SWITCHING_CLEAN_UP if ( !spar_reconfig_flag ) { Loading Loading @@ -471,11 +479,13 @@ void ivas_FB_mixer_close( #ifdef SBA_BR_SWITCHING_CLEAN_UP } #endif if ( hFbMixer->fb_cfg != NULL ) { free( hFbMixer->fb_cfg ); hFbMixer->fb_cfg = NULL; } #ifdef SBA_BR_SWITCHING_CLEAN_UP if ( !spar_reconfig_flag ) { Loading lib_com/ivas_prot.h +6 −6 Original line number Diff line number Diff line Loading @@ -3750,7 +3750,7 @@ void FdCngDecodeDiracMDCTStereoSID( ivas_error ivas_spar_enc_open( Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ #ifdef SBA_BR_SWITCHING_CLEAN_UP ,const int16_t spar_reconfig_flag ,const int16_t spar_reconfig_flag /* i : SPAR reconfiguration flag */ #endif ); Loading @@ -3759,7 +3759,7 @@ void ivas_spar_enc_close( const int32_t input_Fs, /* i : input sampling rate */ const int16_t nchan_inp /* i : number of input channels */ #ifdef SBA_BR_SWITCHING_CLEAN_UP ,const int16_t spar_reconfig_flag ,const int16_t spar_reconfig_flag /* i : SPAR reconfiguration flag */ #endif ); Loading @@ -3775,7 +3775,7 @@ ivas_error ivas_spar_dec_open( Decoder_Struct *st_ivas /* i/o: IVAS decoder handle */ #ifdef SBA_BR_SWITCHING_CLEAN_UP , const int16_t spar_reconfig_flag const int16_t spar_reconfig_flag /* i : SPAR reconfiguration flag */ #endif ); Loading @@ -3784,7 +3784,7 @@ void ivas_spar_dec_close( const int32_t output_Fs /* i : output sampling rate */ #ifdef SBA_BR_SWITCHING_CLEAN_UP , const int16_t spar_reconfig_flag const int16_t spar_reconfig_flag /* i : SPAR reconfiguration flag */ #endif ); Loading Loading @@ -4939,7 +4939,7 @@ ivas_error ivas_FB_mixer_open( IVAS_FB_CFG *fb_cfg /* i : FB config. handle */ #ifdef SBA_BR_SWITCHING_CLEAN_UP , const int16_t spar_reconfig_flag const int16_t spar_reconfig_flag /* i : SPAR reconfiguration flag */ #endif ); Loading @@ -4948,7 +4948,7 @@ void ivas_FB_mixer_close( const int32_t sampling_rate /* i : sampling rate in Hz */ #ifdef SBA_BR_SWITCHING_CLEAN_UP , const int16_t spar_reconfig_flag const int16_t spar_reconfig_flag /* i : SPAR reconfiguration flag */ #endif ); Loading lib_dec/ivas_sba_dec.c +9 −2 Original line number Diff line number Diff line Loading @@ -62,11 +62,13 @@ ivas_error ivas_sba_dec_reconfigure( int16_t sba_dirac_stereo_flag_old; SBA_MODE sba_mode_old; int32_t ivas_total_brate, last_ivas_total_brate; RENDERER_TYPE old_renderer_type; DECODER_CONFIG_HANDLE hDecoderConfig; ivas_error error; #ifdef SBA_BR_SWITCHING_CLEAN_UP int16_t band_grouping[IVAS_MAX_NUM_BANDS + 1]; #endif error = IVAS_ERR_OK; hDecoderConfig = st_ivas->hDecoderConfig; Loading Loading @@ -205,6 +207,7 @@ ivas_error ivas_sba_dec_reconfigure( free( st_ivas->hSpar->hPCA ); hSpar->hPCA = NULL; } if ( nchan_transport_old != ivas_get_sba_num_TCs( ivas_total_brate, sba_order_internal ) ) { Loading @@ -224,6 +227,7 @@ ivas_error ivas_sba_dec_reconfigure( return error; } } hSpar = st_ivas->hSpar; st_ivas->sba_dirac_stereo_flag = 0; #endif Loading Loading @@ -298,7 +302,6 @@ ivas_error ivas_sba_dec_reconfigure( /* renderer might have changed */ intern_config_old = st_ivas->intern_config; RENDERER_TYPE old_renderer_type; old_renderer_type = st_ivas->renderer_type; ivas_renderer_select( st_ivas ); Loading Loading @@ -346,10 +349,12 @@ ivas_error ivas_sba_dec_reconfigure( { ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); } #ifdef SBA_BR_SWITCHING_CLEAN_UP if ( ( ( st_ivas->renderer_type != RENDERER_DISABLE ) && ( st_ivas->renderer_type != RENDERER_SBA_LINEAR_DEC ) ) || ( sba_mode_old != st_ivas->sba_mode ) || ( ( st_ivas->sba_mode == SBA_MODE_SPAR ) && ( ( hDecoderConfig->output_config != AUDIO_CONFIG_FOA ) && ( st_ivas->hDecoderConfig->output_config != AUDIO_CONFIG_STEREO ) && ( st_ivas->hDecoderConfig->output_config != AUDIO_CONFIG_MONO ) ) ) ) { DIRAC_CONFIG_FLAG flag_config; flag_config = DIRAC_OPEN; if ( st_ivas->hDirAC != NULL ) { Loading @@ -359,11 +364,13 @@ ivas_error ivas_sba_dec_reconfigure( flag_config = DIRAC_RECONFIGURE; } } if ( ( error = ivas_dirac_dec_config( st_ivas, flag_config ) ) != IVAS_ERR_OK ) { return error; } } if ( st_ivas->sba_mode == SBA_MODE_SPAR ) { if ( ( error = ivas_dirac_sba_config( st_ivas->hQMetaData, &st_ivas->nchan_transport, &st_ivas->nSCE, &st_ivas->nCPE, &st_ivas->element_mode_init, ivas_total_brate, st_ivas->sba_analysis_order, st_ivas->sba_mode, IVAS_MAX_NUM_BANDS - SPAR_DIRAC_SPLIT_START_BAND ) ) != IVAS_ERR_OK ) Loading @@ -371,6 +378,7 @@ ivas_error ivas_sba_dec_reconfigure( return error; } } if ( ( ( hDecoderConfig->output_config == AUDIO_CONFIG_FOA ) || ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_STEREO ) || ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_MONO ) ) && ( ( sba_mode_old != st_ivas->sba_mode ) && ( st_ivas->sba_mode == SBA_MODE_SPAR ) ) ) { if ( st_ivas->hDirAC != NULL ) Loading @@ -379,7 +387,6 @@ ivas_error ivas_sba_dec_reconfigure( st_ivas->hDirAC = NULL; } st_ivas->hSpar->enc_param_start_band = min( IVAS_MAX_NUM_BANDS, SPAR_DIRAC_SPLIT_START_BAND ); ivas_dirac_config_bands( band_grouping, IVAS_MAX_NUM_BANDS, (int16_t) ( st_ivas->hDecoderConfig->output_Fs * INV_CLDFB_BANDWIDTH + 0.5f ), Loading lib_dec/ivas_spar_decoder.c +9 −5 Original line number Diff line number Diff line Loading @@ -64,7 +64,7 @@ ivas_error ivas_spar_dec_open( Decoder_Struct *st_ivas /* i/o: IVAS decoder handle */ #ifdef SBA_BR_SWITCHING_CLEAN_UP , const int16_t spar_reconfig_flag const int16_t spar_reconfig_flag /* i : SPAR reconfiguration flag */ #endif ) { Loading @@ -80,6 +80,7 @@ ivas_error ivas_spar_dec_open( num_channels_internal = ivas_sba_get_nchan_metadata( sba_order_internal ); #ifdef SBA_BR_SWITCHING_CLEAN_UP hSpar = st_ivas->hSpar; if ( !spar_reconfig_flag ) { #endif Loading @@ -91,6 +92,7 @@ ivas_error ivas_spar_dec_open( #ifdef SBA_BR_SWITCHING_CLEAN_UP } #endif output_Fs = st_ivas->hDecoderConfig->output_Fs; /* TD decorr. */ Loading Loading @@ -125,6 +127,7 @@ ivas_error ivas_spar_dec_open( { return error; } /* AGC handle */ if ( ( error = ivas_spar_agc_dec_open( &hSpar->hAgcDec, output_Fs ) ) != IVAS_ERR_OK ) { Loading Loading @@ -198,7 +201,7 @@ void ivas_spar_dec_close( const int32_t output_Fs /* i : output sampling rate */ #ifdef SBA_BR_SWITCHING_CLEAN_UP , const int16_t spar_reconfig_flag const int16_t spar_reconfig_flag /* i : SPAR reconfiguration flag */ #endif ) { Loading Loading @@ -226,6 +229,7 @@ void ivas_spar_dec_close( free( hSpar->hPCA ); hSpar->hPCA = NULL; } #ifdef SBA_BR_SWITCHING_CLEAN_UP if ( !spar_reconfig_flag ) { Loading lib_enc/ivas_mc_param_enc.c +1 −0 Original line number Diff line number Diff line Loading @@ -368,6 +368,7 @@ void ivas_param_mc_enc_close( const int32_t sampling_rate ) { ivas_param_mc_metadata_close( &hParamMC->hMetadataPMC ); #ifdef SBA_BR_SWITCHING_CLEAN_UP ivas_FB_mixer_close( &hParamMC->hFbMixer, sampling_rate, 0 ); #else Loading Loading
lib_com/ivas_fb_mixer.c +16 −6 Original line number Diff line number Diff line Loading @@ -177,7 +177,7 @@ ivas_error ivas_FB_mixer_open( IVAS_FB_CFG *fb_cfg /* i : FB config. handle */ #ifdef SBA_BR_SWITCHING_CLEAN_UP , const int16_t spar_reconfig_flag const int16_t spar_reconfig_flag /* i : SPAR reconfiguration flag */ #endif ) { Loading @@ -192,6 +192,7 @@ ivas_error ivas_FB_mixer_open( #ifdef SBA_BR_SWITCHING_CLEAN_UP hFbMixer = *hFbMixer_out; if ( !spar_reconfig_flag ) { #endif Loading @@ -214,6 +215,7 @@ ivas_error ivas_FB_mixer_open( #ifdef SBA_BR_SWITCHING_CLEAN_UP } #endif if ( fb_cfg->active_w_mixing == -1 ) { num_chs_alloc = 0; Loading Loading @@ -258,6 +260,7 @@ ivas_error ivas_FB_mixer_open( { num_chs_alloc = fb_cfg->num_in_chans; } for ( i = 0; i < num_chs_alloc; i++ ) { if ( ( hFbMixer->ppFilterbank_prior_input[i] = (float *) malloc( sizeof( float ) * fb_cfg->prior_input_length ) ) == NULL ) Loading Loading @@ -285,6 +288,7 @@ ivas_error ivas_FB_mixer_open( } } } #ifdef SBA_BR_SWITCHING_CLEAN_UP if ( !spar_reconfig_flag ) { Loading Loading @@ -340,10 +344,12 @@ ivas_error ivas_FB_mixer_open( #ifdef SBA_BR_SWITCHING_CLEAN_UP } #endif hFbMixer->fb_cfg = fb_cfg; #ifdef SBA_BR_SWITCHING_CLEAN_UP set_s( hFbMixer->first_frame, 1, hFbMixer->fb_cfg->num_out_chans ); set_s( hFbMixer->first_frame + hFbMixer->fb_cfg->num_out_chans, 0, IVAS_SPAR_MAX_CH - hFbMixer->fb_cfg->num_out_chans ); if ( !spar_reconfig_flag ) { #endif Loading @@ -354,6 +360,7 @@ ivas_error ivas_FB_mixer_open( #ifdef SBA_BR_SWITCHING_CLEAN_UP } #endif *hFbMixer_out = hFbMixer; return error; Loading @@ -371,7 +378,7 @@ void ivas_FB_mixer_close( const int32_t sampling_rate /* i : sampling rate in Hz */ #ifdef SBA_BR_SWITCHING_CLEAN_UP , const int16_t spar_reconfig_flag const int16_t spar_reconfig_flag /* i : SPAR reconfiguration flag */ #endif ) { Loading Loading @@ -431,6 +438,7 @@ void ivas_FB_mixer_close( free( hFbMixer->prior_mixer[0][0] ); hFbMixer->prior_mixer[0][0] = NULL; } #ifdef SBA_BR_SWITCHING_CLEAN_UP if ( !spar_reconfig_flag ) { Loading Loading @@ -471,11 +479,13 @@ void ivas_FB_mixer_close( #ifdef SBA_BR_SWITCHING_CLEAN_UP } #endif if ( hFbMixer->fb_cfg != NULL ) { free( hFbMixer->fb_cfg ); hFbMixer->fb_cfg = NULL; } #ifdef SBA_BR_SWITCHING_CLEAN_UP if ( !spar_reconfig_flag ) { Loading
lib_com/ivas_prot.h +6 −6 Original line number Diff line number Diff line Loading @@ -3750,7 +3750,7 @@ void FdCngDecodeDiracMDCTStereoSID( ivas_error ivas_spar_enc_open( Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ #ifdef SBA_BR_SWITCHING_CLEAN_UP ,const int16_t spar_reconfig_flag ,const int16_t spar_reconfig_flag /* i : SPAR reconfiguration flag */ #endif ); Loading @@ -3759,7 +3759,7 @@ void ivas_spar_enc_close( const int32_t input_Fs, /* i : input sampling rate */ const int16_t nchan_inp /* i : number of input channels */ #ifdef SBA_BR_SWITCHING_CLEAN_UP ,const int16_t spar_reconfig_flag ,const int16_t spar_reconfig_flag /* i : SPAR reconfiguration flag */ #endif ); Loading @@ -3775,7 +3775,7 @@ ivas_error ivas_spar_dec_open( Decoder_Struct *st_ivas /* i/o: IVAS decoder handle */ #ifdef SBA_BR_SWITCHING_CLEAN_UP , const int16_t spar_reconfig_flag const int16_t spar_reconfig_flag /* i : SPAR reconfiguration flag */ #endif ); Loading @@ -3784,7 +3784,7 @@ void ivas_spar_dec_close( const int32_t output_Fs /* i : output sampling rate */ #ifdef SBA_BR_SWITCHING_CLEAN_UP , const int16_t spar_reconfig_flag const int16_t spar_reconfig_flag /* i : SPAR reconfiguration flag */ #endif ); Loading Loading @@ -4939,7 +4939,7 @@ ivas_error ivas_FB_mixer_open( IVAS_FB_CFG *fb_cfg /* i : FB config. handle */ #ifdef SBA_BR_SWITCHING_CLEAN_UP , const int16_t spar_reconfig_flag const int16_t spar_reconfig_flag /* i : SPAR reconfiguration flag */ #endif ); Loading @@ -4948,7 +4948,7 @@ void ivas_FB_mixer_close( const int32_t sampling_rate /* i : sampling rate in Hz */ #ifdef SBA_BR_SWITCHING_CLEAN_UP , const int16_t spar_reconfig_flag const int16_t spar_reconfig_flag /* i : SPAR reconfiguration flag */ #endif ); Loading
lib_dec/ivas_sba_dec.c +9 −2 Original line number Diff line number Diff line Loading @@ -62,11 +62,13 @@ ivas_error ivas_sba_dec_reconfigure( int16_t sba_dirac_stereo_flag_old; SBA_MODE sba_mode_old; int32_t ivas_total_brate, last_ivas_total_brate; RENDERER_TYPE old_renderer_type; DECODER_CONFIG_HANDLE hDecoderConfig; ivas_error error; #ifdef SBA_BR_SWITCHING_CLEAN_UP int16_t band_grouping[IVAS_MAX_NUM_BANDS + 1]; #endif error = IVAS_ERR_OK; hDecoderConfig = st_ivas->hDecoderConfig; Loading Loading @@ -205,6 +207,7 @@ ivas_error ivas_sba_dec_reconfigure( free( st_ivas->hSpar->hPCA ); hSpar->hPCA = NULL; } if ( nchan_transport_old != ivas_get_sba_num_TCs( ivas_total_brate, sba_order_internal ) ) { Loading @@ -224,6 +227,7 @@ ivas_error ivas_sba_dec_reconfigure( return error; } } hSpar = st_ivas->hSpar; st_ivas->sba_dirac_stereo_flag = 0; #endif Loading Loading @@ -298,7 +302,6 @@ ivas_error ivas_sba_dec_reconfigure( /* renderer might have changed */ intern_config_old = st_ivas->intern_config; RENDERER_TYPE old_renderer_type; old_renderer_type = st_ivas->renderer_type; ivas_renderer_select( st_ivas ); Loading Loading @@ -346,10 +349,12 @@ ivas_error ivas_sba_dec_reconfigure( { ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); } #ifdef SBA_BR_SWITCHING_CLEAN_UP if ( ( ( st_ivas->renderer_type != RENDERER_DISABLE ) && ( st_ivas->renderer_type != RENDERER_SBA_LINEAR_DEC ) ) || ( sba_mode_old != st_ivas->sba_mode ) || ( ( st_ivas->sba_mode == SBA_MODE_SPAR ) && ( ( hDecoderConfig->output_config != AUDIO_CONFIG_FOA ) && ( st_ivas->hDecoderConfig->output_config != AUDIO_CONFIG_STEREO ) && ( st_ivas->hDecoderConfig->output_config != AUDIO_CONFIG_MONO ) ) ) ) { DIRAC_CONFIG_FLAG flag_config; flag_config = DIRAC_OPEN; if ( st_ivas->hDirAC != NULL ) { Loading @@ -359,11 +364,13 @@ ivas_error ivas_sba_dec_reconfigure( flag_config = DIRAC_RECONFIGURE; } } if ( ( error = ivas_dirac_dec_config( st_ivas, flag_config ) ) != IVAS_ERR_OK ) { return error; } } if ( st_ivas->sba_mode == SBA_MODE_SPAR ) { if ( ( error = ivas_dirac_sba_config( st_ivas->hQMetaData, &st_ivas->nchan_transport, &st_ivas->nSCE, &st_ivas->nCPE, &st_ivas->element_mode_init, ivas_total_brate, st_ivas->sba_analysis_order, st_ivas->sba_mode, IVAS_MAX_NUM_BANDS - SPAR_DIRAC_SPLIT_START_BAND ) ) != IVAS_ERR_OK ) Loading @@ -371,6 +378,7 @@ ivas_error ivas_sba_dec_reconfigure( return error; } } if ( ( ( hDecoderConfig->output_config == AUDIO_CONFIG_FOA ) || ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_STEREO ) || ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_MONO ) ) && ( ( sba_mode_old != st_ivas->sba_mode ) && ( st_ivas->sba_mode == SBA_MODE_SPAR ) ) ) { if ( st_ivas->hDirAC != NULL ) Loading @@ -379,7 +387,6 @@ ivas_error ivas_sba_dec_reconfigure( st_ivas->hDirAC = NULL; } st_ivas->hSpar->enc_param_start_band = min( IVAS_MAX_NUM_BANDS, SPAR_DIRAC_SPLIT_START_BAND ); ivas_dirac_config_bands( band_grouping, IVAS_MAX_NUM_BANDS, (int16_t) ( st_ivas->hDecoderConfig->output_Fs * INV_CLDFB_BANDWIDTH + 0.5f ), Loading
lib_dec/ivas_spar_decoder.c +9 −5 Original line number Diff line number Diff line Loading @@ -64,7 +64,7 @@ ivas_error ivas_spar_dec_open( Decoder_Struct *st_ivas /* i/o: IVAS decoder handle */ #ifdef SBA_BR_SWITCHING_CLEAN_UP , const int16_t spar_reconfig_flag const int16_t spar_reconfig_flag /* i : SPAR reconfiguration flag */ #endif ) { Loading @@ -80,6 +80,7 @@ ivas_error ivas_spar_dec_open( num_channels_internal = ivas_sba_get_nchan_metadata( sba_order_internal ); #ifdef SBA_BR_SWITCHING_CLEAN_UP hSpar = st_ivas->hSpar; if ( !spar_reconfig_flag ) { #endif Loading @@ -91,6 +92,7 @@ ivas_error ivas_spar_dec_open( #ifdef SBA_BR_SWITCHING_CLEAN_UP } #endif output_Fs = st_ivas->hDecoderConfig->output_Fs; /* TD decorr. */ Loading Loading @@ -125,6 +127,7 @@ ivas_error ivas_spar_dec_open( { return error; } /* AGC handle */ if ( ( error = ivas_spar_agc_dec_open( &hSpar->hAgcDec, output_Fs ) ) != IVAS_ERR_OK ) { Loading Loading @@ -198,7 +201,7 @@ void ivas_spar_dec_close( const int32_t output_Fs /* i : output sampling rate */ #ifdef SBA_BR_SWITCHING_CLEAN_UP , const int16_t spar_reconfig_flag const int16_t spar_reconfig_flag /* i : SPAR reconfiguration flag */ #endif ) { Loading Loading @@ -226,6 +229,7 @@ void ivas_spar_dec_close( free( hSpar->hPCA ); hSpar->hPCA = NULL; } #ifdef SBA_BR_SWITCHING_CLEAN_UP if ( !spar_reconfig_flag ) { Loading
lib_enc/ivas_mc_param_enc.c +1 −0 Original line number Diff line number Diff line Loading @@ -368,6 +368,7 @@ void ivas_param_mc_enc_close( const int32_t sampling_rate ) { ivas_param_mc_metadata_close( &hParamMC->hMetadataPMC ); #ifdef SBA_BR_SWITCHING_CLEAN_UP ivas_FB_mixer_close( &hParamMC->hFbMixer, sampling_rate, 0 ); #else Loading