Loading lib_com/ivas_prot.h +4 −0 Original line number Diff line number Diff line Loading @@ -1095,11 +1095,13 @@ void ivas_param_ism_dec_close( const AUDIO_CONFIG output_config /* i : output audio configuration */ ); #ifndef FIX_1022_REMOVE_PARAMISM_DEC void ivas_param_ism_dec( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ float *output_f[] /* i/o: synthesized core-coder transport channels/DirAC output */ ); #endif void ivas_ism_dec_digest_tc( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); Loading Loading @@ -3867,11 +3869,13 @@ void ivas_param_mc_dec_render( float *output_f[] /* o : rendered time signal */ ); #ifndef FIX_1023_REMOVE_PARAMMC_DEC void ivas_param_mc_dec( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ float *output_f[] /* i/o: synthesized core-coder transport channels/DirAC output */ ); #endif /*! r: number of cldfb synthesis instances */ int16_t param_mc_get_num_cldfb_syntheses( Decoder_Struct *st_ivas /* i : IVAS decoder structure */ Loading lib_com/options.h +3 −0 Original line number Diff line number Diff line Loading @@ -157,6 +157,9 @@ /*#define SPLIT_REND_WITH_HEAD_ROT */ /* Dlb,FhG: Split Rendering contributions 21 and 35 */ #define FIX_1027_GSC_INT_OVERFLOW /* VA: issue 2207: overflow in GSC */ #define FIX_1024_REMOVE_PARAMMC_MIXING_MAT /* VA: issue 1024: remove unused function ivas_param_mc_get_mono_stereo_mixing_matrices() */ #define FIX_1023_REMOVE_PARAMMC_DEC /* VA: issue 1023: remove unused function ivas_param_mc_dec() */ #define FIX_1022_REMOVE_PARAMISM_DEC /* VA: issue 1022: remove unused function ivas_param_ism_dec() */ /* #################### End BE switches ################################## */ Loading lib_dec/ivas_ism_param_dec.c +9 −5 Original line number Diff line number Diff line Loading @@ -324,7 +324,7 @@ static void ivas_param_ism_render_slot( return; } #ifndef FIX_1022_REMOVE_PARAMISM_DEC static void ivas_param_ism_rendering( PARAM_ISM_DEC_HANDLE hParamIsmDec, SPAT_PARAM_REND_COMMON_DATA_HANDLE hSpatParamRendCom, Loading Loading @@ -361,7 +361,7 @@ static void ivas_param_ism_rendering( return; } #endif static ivas_error ivas_param_ism_rendering_init( PARAM_ISM_RENDERING_HANDLE hParamIsmRendering, Loading Loading @@ -729,7 +729,7 @@ void ivas_param_ism_dec_close( return; } #ifndef FIX_1022_REMOVE_PARAMISM_DEC /*-------------------------------------------------------------------------* * ivas_param_ism_dec() * Loading Loading @@ -973,7 +973,7 @@ void ivas_param_ism_dec( return; } #endif /*-------------------------------------------------------------------------* * ivas_ism_dec_digest_tc() Loading Loading @@ -1121,7 +1121,7 @@ void ivas_param_ism_dec_digest_tc( nchan_out_woLFE = st_ivas->hIntSetup.nchan_out_woLFE; } push_wmops( "ivas_param_ism_dec" ); push_wmops( "ivas_param_ism_dec_digest_tc" ); /* general setup */ ivas_jbm_dec_get_adapted_linear_interpolator( DEFAULT_JBM_CLDFB_TIMESLOTS, nCldfbSlots, hParamIsmDec->hParamIsmRendering->interpolator ); Loading Loading @@ -1533,8 +1533,10 @@ void ivas_param_ism_params_to_masa_param_mapping( st_ivas->hISMDTX.dtx_flag = 1; } #ifndef FIX_1022_REMOVE_PARAMISM_DEC if ( st_ivas->nchan_ism > 1 ) { #endif if ( st_ivas->hISMDTX.dtx_flag ) { float energy_ratio; Loading Loading @@ -1598,6 +1600,7 @@ void ivas_param_ism_params_to_masa_param_mapping( } } } #ifndef FIX_1022_REMOVE_PARAMISM_DEC } else { Loading @@ -1617,6 +1620,7 @@ void ivas_param_ism_params_to_masa_param_mapping( } } } #endif return; } lib_dec/ivas_mc_param_dec.c +13 −4 Original line number Diff line number Diff line Loading @@ -88,8 +88,10 @@ static void ivas_param_mc_dequantize_cov( PARAM_MC_DEC_HANDLE hDirAC, float *ild static void ivas_param_mc_get_mixing_matrices( PARAM_MC_DEC_HANDLE hParamMC, IVAS_OUTPUT_SETUP *hSynthesisOutputSetup, float Cx_in[PARAM_MC_MAX_PARAMETER_BANDS][PARAM_MC_MAX_TRANSPORT_CHANS * PARAM_MC_MAX_TRANSPORT_CHANS], float *mixing_matrix[], float *mixing_matrix_res[], const int16_t nY_int, const PARAM_MC_SYNTHESIS_CONF synth_conf, const int16_t nX, const int16_t nY ); #ifndef FIX_1024_REMOVE_PARAMMC_MIXING_MAT static void ivas_param_mc_get_mono_stereo_mixing_matrices( PARAM_MC_DEC_HANDLE hParamMC, float Cx_in[PARAM_MC_MAX_PARAMETER_BANDS][PARAM_MC_MAX_TRANSPORT_CHANS * PARAM_MC_MAX_TRANSPORT_CHANS], float *mixing_matrix[], float *mixing_matrix_res[], const int16_t nY_intern, const int16_t nX, const int16_t nY_cov ); #endif static void param_mc_update_mixing_matrices( PARAM_MC_DEC_HANDLE hParamMC, float *mixing_matrix[], float *mixing_matrix_res[], const uint16_t nX, const uint16_t nY ); static void ivas_param_mc_dec_compute_interpolator( const uint16_t bAttackPresent, const uint16_t attackPos, const uint16_t interp_length, float *interpolator ); Loading Loading @@ -1454,15 +1456,19 @@ void ivas_param_mc_dec_digest_tc( } #ifndef FIX_1024_REMOVE_PARAMMC_MIXING_MAT if ( hParamMC->synthesis_conf == PARAM_MC_SYNTH_MONO_STEREO ) { ivas_param_mc_get_mono_stereo_mixing_matrices( hParamMC, cx, hParamMC->h_output_synthesis_cov_state.mixing_matrix, hParamMC->h_output_synthesis_cov_state.mixing_matrix_res, nchan_out_transport, nchan_transport, nchan_out_cov ); } else { #endif /* generate mixing matrices */ ivas_param_mc_get_mixing_matrices( hParamMC, hSynthesisOutputSetup, cx, hParamMC->h_output_synthesis_cov_state.mixing_matrix, hParamMC->h_output_synthesis_cov_state.mixing_matrix_res, nchan_out_transport, hParamMC->synthesis_conf, nchan_transport, nchan_out_cov ); #ifndef FIX_1024_REMOVE_PARAMMC_MIXING_MAT } #endif pop_wmops(); Loading @@ -1471,9 +1477,9 @@ void ivas_param_mc_dec_digest_tc( /*------------------------------------------------------------------------- * ivas_param_mc_dec() * ivas_param_mc_dec_render() * * Parametric MC decoding process * Parametric MC rendering process *------------------------------------------------------------------------*/ void ivas_param_mc_dec_render( Loading Loading @@ -1809,6 +1815,8 @@ void ivas_param_mc_dec_render( return; } #ifndef FIX_1023_REMOVE_PARAMMC_DEC /*------------------------------------------------------------------------- * ivas_param_mc_dec() * Loading Loading @@ -1848,6 +1856,7 @@ void ivas_param_mc_dec( pop_wmops(); return; } #endif /*------------------------------------------------------------------------- * param_mc_dec_init() Loading Loading @@ -2445,7 +2454,7 @@ static void ivas_param_mc_get_mixing_matrices( return; } #ifndef FIX_1024_REMOVE_PARAMMC_MIXING_MAT /*------------------------------------------------------------------------- * ivas_param_mc_get_mono_stereo_mixing_matrices() * Loading Loading @@ -2566,7 +2575,7 @@ static void ivas_param_mc_get_mono_stereo_mixing_matrices( return; } #endif /*------------------------------------------------------------------------- * param_mc_update_mixing_matrices() Loading lib_dec/ivas_out_setup_conversion.c +8 −0 Original line number Diff line number Diff line Loading @@ -973,7 +973,11 @@ void ivas_ls_setup_conversion_process_mdct_param_mc( set_zero( Nrqq, MAX_OUTPUT_CHANNELS ); set_zero( target_ch_ener, MAX_OUTPUT_CHANNELS ); #ifdef FIX_1024_REMOVE_PARAMMC_MIXING_MAT /* Step 1.2, get target channel energies for the transported format, Nrqq calculation */ #else /* Step 1.2, get target channel energies for the transported format as in ivas_param_mc_get_mono_stereo_mixing_matrices(), Nrqq calculation */ #endif ild_q = hParamMC->icld_q + bandIdx * hParamMC->hMetadataPMC->ild_mapping_conf->ild_map_size_lfe; for ( chInIdx = 0; chInIdx < nchan_transport_format; chInIdx++ ) Loading @@ -991,7 +995,11 @@ void ivas_ls_setup_conversion_process_mdct_param_mc( Nrqq[hParamMC->hMetadataPMC->ild_mapping_conf->ild_index[chInIdx]] = powf( 10.0f, ild_q[chInIdx] / 10.0f ) * hParamMC->hMetadataPMC->ild_factors[chInIdx] * ref_ener; } #ifdef FIX_1024_REMOVE_PARAMMC_MIXING_MAT /* Step 1.3 get target Cy (with dmx matrix from CICPX to MONO/STEREO saved in hParamMC) */ #else /* Step 1.3 get target Cy like in ivas_param_mc_get_mono_stereo_mixing_matrices() (with dmx matrix from CICPX to MONO/STEREO saved in hParamMC) */ #endif for ( chOutIdx = 0; chOutIdx < nchan_out; chOutIdx++ ) { for ( i = 0; i < nchan_transport_format; i++ ) Loading Loading
lib_com/ivas_prot.h +4 −0 Original line number Diff line number Diff line Loading @@ -1095,11 +1095,13 @@ void ivas_param_ism_dec_close( const AUDIO_CONFIG output_config /* i : output audio configuration */ ); #ifndef FIX_1022_REMOVE_PARAMISM_DEC void ivas_param_ism_dec( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ float *output_f[] /* i/o: synthesized core-coder transport channels/DirAC output */ ); #endif void ivas_ism_dec_digest_tc( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); Loading Loading @@ -3867,11 +3869,13 @@ void ivas_param_mc_dec_render( float *output_f[] /* o : rendered time signal */ ); #ifndef FIX_1023_REMOVE_PARAMMC_DEC void ivas_param_mc_dec( Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ float *output_f[] /* i/o: synthesized core-coder transport channels/DirAC output */ ); #endif /*! r: number of cldfb synthesis instances */ int16_t param_mc_get_num_cldfb_syntheses( Decoder_Struct *st_ivas /* i : IVAS decoder structure */ Loading
lib_com/options.h +3 −0 Original line number Diff line number Diff line Loading @@ -157,6 +157,9 @@ /*#define SPLIT_REND_WITH_HEAD_ROT */ /* Dlb,FhG: Split Rendering contributions 21 and 35 */ #define FIX_1027_GSC_INT_OVERFLOW /* VA: issue 2207: overflow in GSC */ #define FIX_1024_REMOVE_PARAMMC_MIXING_MAT /* VA: issue 1024: remove unused function ivas_param_mc_get_mono_stereo_mixing_matrices() */ #define FIX_1023_REMOVE_PARAMMC_DEC /* VA: issue 1023: remove unused function ivas_param_mc_dec() */ #define FIX_1022_REMOVE_PARAMISM_DEC /* VA: issue 1022: remove unused function ivas_param_ism_dec() */ /* #################### End BE switches ################################## */ Loading
lib_dec/ivas_ism_param_dec.c +9 −5 Original line number Diff line number Diff line Loading @@ -324,7 +324,7 @@ static void ivas_param_ism_render_slot( return; } #ifndef FIX_1022_REMOVE_PARAMISM_DEC static void ivas_param_ism_rendering( PARAM_ISM_DEC_HANDLE hParamIsmDec, SPAT_PARAM_REND_COMMON_DATA_HANDLE hSpatParamRendCom, Loading Loading @@ -361,7 +361,7 @@ static void ivas_param_ism_rendering( return; } #endif static ivas_error ivas_param_ism_rendering_init( PARAM_ISM_RENDERING_HANDLE hParamIsmRendering, Loading Loading @@ -729,7 +729,7 @@ void ivas_param_ism_dec_close( return; } #ifndef FIX_1022_REMOVE_PARAMISM_DEC /*-------------------------------------------------------------------------* * ivas_param_ism_dec() * Loading Loading @@ -973,7 +973,7 @@ void ivas_param_ism_dec( return; } #endif /*-------------------------------------------------------------------------* * ivas_ism_dec_digest_tc() Loading Loading @@ -1121,7 +1121,7 @@ void ivas_param_ism_dec_digest_tc( nchan_out_woLFE = st_ivas->hIntSetup.nchan_out_woLFE; } push_wmops( "ivas_param_ism_dec" ); push_wmops( "ivas_param_ism_dec_digest_tc" ); /* general setup */ ivas_jbm_dec_get_adapted_linear_interpolator( DEFAULT_JBM_CLDFB_TIMESLOTS, nCldfbSlots, hParamIsmDec->hParamIsmRendering->interpolator ); Loading Loading @@ -1533,8 +1533,10 @@ void ivas_param_ism_params_to_masa_param_mapping( st_ivas->hISMDTX.dtx_flag = 1; } #ifndef FIX_1022_REMOVE_PARAMISM_DEC if ( st_ivas->nchan_ism > 1 ) { #endif if ( st_ivas->hISMDTX.dtx_flag ) { float energy_ratio; Loading Loading @@ -1598,6 +1600,7 @@ void ivas_param_ism_params_to_masa_param_mapping( } } } #ifndef FIX_1022_REMOVE_PARAMISM_DEC } else { Loading @@ -1617,6 +1620,7 @@ void ivas_param_ism_params_to_masa_param_mapping( } } } #endif return; }
lib_dec/ivas_mc_param_dec.c +13 −4 Original line number Diff line number Diff line Loading @@ -88,8 +88,10 @@ static void ivas_param_mc_dequantize_cov( PARAM_MC_DEC_HANDLE hDirAC, float *ild static void ivas_param_mc_get_mixing_matrices( PARAM_MC_DEC_HANDLE hParamMC, IVAS_OUTPUT_SETUP *hSynthesisOutputSetup, float Cx_in[PARAM_MC_MAX_PARAMETER_BANDS][PARAM_MC_MAX_TRANSPORT_CHANS * PARAM_MC_MAX_TRANSPORT_CHANS], float *mixing_matrix[], float *mixing_matrix_res[], const int16_t nY_int, const PARAM_MC_SYNTHESIS_CONF synth_conf, const int16_t nX, const int16_t nY ); #ifndef FIX_1024_REMOVE_PARAMMC_MIXING_MAT static void ivas_param_mc_get_mono_stereo_mixing_matrices( PARAM_MC_DEC_HANDLE hParamMC, float Cx_in[PARAM_MC_MAX_PARAMETER_BANDS][PARAM_MC_MAX_TRANSPORT_CHANS * PARAM_MC_MAX_TRANSPORT_CHANS], float *mixing_matrix[], float *mixing_matrix_res[], const int16_t nY_intern, const int16_t nX, const int16_t nY_cov ); #endif static void param_mc_update_mixing_matrices( PARAM_MC_DEC_HANDLE hParamMC, float *mixing_matrix[], float *mixing_matrix_res[], const uint16_t nX, const uint16_t nY ); static void ivas_param_mc_dec_compute_interpolator( const uint16_t bAttackPresent, const uint16_t attackPos, const uint16_t interp_length, float *interpolator ); Loading Loading @@ -1454,15 +1456,19 @@ void ivas_param_mc_dec_digest_tc( } #ifndef FIX_1024_REMOVE_PARAMMC_MIXING_MAT if ( hParamMC->synthesis_conf == PARAM_MC_SYNTH_MONO_STEREO ) { ivas_param_mc_get_mono_stereo_mixing_matrices( hParamMC, cx, hParamMC->h_output_synthesis_cov_state.mixing_matrix, hParamMC->h_output_synthesis_cov_state.mixing_matrix_res, nchan_out_transport, nchan_transport, nchan_out_cov ); } else { #endif /* generate mixing matrices */ ivas_param_mc_get_mixing_matrices( hParamMC, hSynthesisOutputSetup, cx, hParamMC->h_output_synthesis_cov_state.mixing_matrix, hParamMC->h_output_synthesis_cov_state.mixing_matrix_res, nchan_out_transport, hParamMC->synthesis_conf, nchan_transport, nchan_out_cov ); #ifndef FIX_1024_REMOVE_PARAMMC_MIXING_MAT } #endif pop_wmops(); Loading @@ -1471,9 +1477,9 @@ void ivas_param_mc_dec_digest_tc( /*------------------------------------------------------------------------- * ivas_param_mc_dec() * ivas_param_mc_dec_render() * * Parametric MC decoding process * Parametric MC rendering process *------------------------------------------------------------------------*/ void ivas_param_mc_dec_render( Loading Loading @@ -1809,6 +1815,8 @@ void ivas_param_mc_dec_render( return; } #ifndef FIX_1023_REMOVE_PARAMMC_DEC /*------------------------------------------------------------------------- * ivas_param_mc_dec() * Loading Loading @@ -1848,6 +1856,7 @@ void ivas_param_mc_dec( pop_wmops(); return; } #endif /*------------------------------------------------------------------------- * param_mc_dec_init() Loading Loading @@ -2445,7 +2454,7 @@ static void ivas_param_mc_get_mixing_matrices( return; } #ifndef FIX_1024_REMOVE_PARAMMC_MIXING_MAT /*------------------------------------------------------------------------- * ivas_param_mc_get_mono_stereo_mixing_matrices() * Loading Loading @@ -2566,7 +2575,7 @@ static void ivas_param_mc_get_mono_stereo_mixing_matrices( return; } #endif /*------------------------------------------------------------------------- * param_mc_update_mixing_matrices() Loading
lib_dec/ivas_out_setup_conversion.c +8 −0 Original line number Diff line number Diff line Loading @@ -973,7 +973,11 @@ void ivas_ls_setup_conversion_process_mdct_param_mc( set_zero( Nrqq, MAX_OUTPUT_CHANNELS ); set_zero( target_ch_ener, MAX_OUTPUT_CHANNELS ); #ifdef FIX_1024_REMOVE_PARAMMC_MIXING_MAT /* Step 1.2, get target channel energies for the transported format, Nrqq calculation */ #else /* Step 1.2, get target channel energies for the transported format as in ivas_param_mc_get_mono_stereo_mixing_matrices(), Nrqq calculation */ #endif ild_q = hParamMC->icld_q + bandIdx * hParamMC->hMetadataPMC->ild_mapping_conf->ild_map_size_lfe; for ( chInIdx = 0; chInIdx < nchan_transport_format; chInIdx++ ) Loading @@ -991,7 +995,11 @@ void ivas_ls_setup_conversion_process_mdct_param_mc( Nrqq[hParamMC->hMetadataPMC->ild_mapping_conf->ild_index[chInIdx]] = powf( 10.0f, ild_q[chInIdx] / 10.0f ) * hParamMC->hMetadataPMC->ild_factors[chInIdx] * ref_ener; } #ifdef FIX_1024_REMOVE_PARAMMC_MIXING_MAT /* Step 1.3 get target Cy (with dmx matrix from CICPX to MONO/STEREO saved in hParamMC) */ #else /* Step 1.3 get target Cy like in ivas_param_mc_get_mono_stereo_mixing_matrices() (with dmx matrix from CICPX to MONO/STEREO saved in hParamMC) */ #endif for ( chOutIdx = 0; chOutIdx < nchan_out; chOutIdx++ ) { for ( i = 0; i < nchan_transport_format; i++ ) Loading