Loading lib_com/ivas_prot_fx.h +2 −0 Original line number Diff line number Diff line Loading @@ -1622,6 +1622,7 @@ void ivas_dirac_dec_output_synthesis_cov_param_mc_collect_slot_fx( const Word16 nchan_in /* i : number of input channels */ ); #ifndef HARMONIZE_2499_CONFIGUREFDCNGDEC void configureFdCngDec_ivas_fx( HANDLE_FD_CNG_DEC hFdCngDec, /* i/o: Contains the variables related to the FD-based CNG process */ const Word16 bwidth, Loading @@ -1630,6 +1631,7 @@ void configureFdCngDec_ivas_fx( const Word16 last_L_frame, const Word16 element_mode ); #endif void synchonize_channels_mdct_sid_fx( Decoder_State *sts[CPE_CHANNELS], /* i/o: decoder state structure */ Loading lib_com/options.h +6 −0 Original line number Diff line number Diff line Loading @@ -95,6 +95,7 @@ #define FIX_1527_CMR_BITRATE_IDX /* Fix for incorrect bitrate idx packed in rtp CMR E-byte */ #define HARMONIZE_2494_FdCng_decodeSID_fx /* FhG: harmonize FdCng_decodeSID_fx with _ivas_ version */ #define FIX_BASOP_2509_EVS_CONCEAL_UNINIT_MEM /* FhG: BASOP 2509: st->hTcxCfg->psychParamsCurrent is not initialized */ #define HARMONIZE_2499_CONFIGUREFDCNGDEC /* FhG: basop issue 2499: harmonoize configureFdCngDec */ #define SIMPLIFY_CORE_ENC /* VA: basop issue 2430: Simplify ivas_core_enc_fx() */ /* #################### End BE switches ################################## */ Loading @@ -112,6 +113,11 @@ #define FIX_FLOAT_1569_REND_RENDER_CONFIG_CHECKS /* Nokia: float issue 1569: fix render config checks in renderer */ #define FIX_BASOP_2526_SPAR_MASA_PARAM_MAP_Q_BUG /* Nokia: BASOP issue 2526: Fix wrong Q variable in SPAR to MASA param mapping */ #define FIX_BASOP_2524_MASA_REDUCE_META_BUG /* Nokia: BASOP issue 2524: Fix wrong reset of W_tmp in reduce_metadata_further_fx */ #define FIX_BASOP_2520_PARAMBIN_THRESHOLD_FIX /* Nokia: BASOP issue 2520: Fix wrong threshold in ParamBin */ #define FIX_BASOP_2510_UNNECESSARY_ASSERT /* Nokia: BASOP issue 2510: Fix by removing assert */ #define FIX_2515_TDREND_PORT_ERROR_SCALING /* Nokia: BASOP issue 2515: Fix port error by changing to correct scaling */ #define FIX_BASOP_2522_MAP_PARAMS_DIRAC_STEREO /* FhG: BASOP issue 2522: Fix copy and paste error for side_gain calculation in map_params_dirac_to_stereo() */ #define FIX_2505_IVAS_DEC_SEGFAULT /* FhG: BASOP #2505: Add headroom to input of ivas_rend_crendProcessSubframe_fx() for ivas_mdft_fx() calculation */ /* ##################### End NON-BE switches ########################### */ Loading lib_com/prot_fx.h +12 −0 Original line number Diff line number Diff line Loading @@ -6510,6 +6510,7 @@ void initFdCngDec_fx( void deleteFdCngDec_fx( HANDLE_FD_CNG_DEC *hFdCngDec ); #ifndef HARMONIZE_2499_CONFIGUREFDCNGDEC /* Configure CLDFB-CNG */ void configureFdCngDec_fx( HANDLE_FD_CNG_DEC hFdCngDec, /* i/o: Contains the variables related to the CLDFB-based CNG process */ Loading @@ -6518,6 +6519,15 @@ void configureFdCngDec_fx( Word16 L_frame, const Word16 Last_L_frame, const Word16 element_mode ); #else void configureFdCngDec_fx( HANDLE_FD_CNG_DEC hFdCngDec, /* i/o: Contains the variables related to the FD-based CNG process */ const Word16 bwidth, const Word32 total_brate, const Word16 L_frame, const Word16 last_L_frame, const Word16 element_mode ); #endif Word16 ApplyFdCng_fx( Word16 *timeDomainInput, /* i : pointer to time domain input */ Loading Loading @@ -8516,6 +8526,7 @@ void v_mult16_fx( const Word16 N /* i : Vector length */ ); #ifndef HARMONIZE_2499_CONFIGUREFDCNGDEC void configureFdCngDec_fx( HANDLE_FD_CNG_DEC hFdCngDec, /* i/o: Contains the variables related to the FD-based CNG process */ const Word16 bwidth, Loading @@ -8523,6 +8534,7 @@ void configureFdCngDec_fx( const Word16 L_frame, const Word16 last_L_frame, const Word16 element_mode ); #endif Word32 sum2_f_16_fx( const Word16 *vec, /* i : input vector */ Loading lib_dec/core_switching_dec_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -1893,7 +1893,11 @@ ivas_error core_switching_pre_dec_fx( } ELSE { #ifdef HARMONIZE_2499_CONFIGUREFDCNGDEC configureFdCngDec_fx( st->hFdCngDec, st->bwidth, st->total_brate, st->L_frame, st->last_L_frame, st->element_mode ); #else configureFdCngDec_ivas_fx( st->hFdCngDec, st->bwidth, st->total_brate, st->L_frame, st->last_L_frame, st->element_mode ); #endif } } ELSE Loading lib_dec/fd_cng_dec_fx.c +26 −15 Original line number Diff line number Diff line Loading @@ -199,6 +199,7 @@ void initFdCngDec_fx( return; } #ifndef HARMONIZE_2499_CONFIGUREFDCNGDEC /* configureFdCngDec_fx Loading Loading @@ -424,6 +425,7 @@ void configureFdCngDec_fx( hsCom->frameSize = shr( hsCom->fftlen, 1 ); move16(); } #endif /* Loading Loading @@ -4279,7 +4281,11 @@ void generate_masking_noise_mdct_ivas_fx( * * Initialize an instance of type FD_CNG *-------------------------------------------------------------------*/ #ifdef HARMONIZE_2499_CONFIGUREFDCNGDEC void configureFdCngDec_fx( #else void configureFdCngDec_ivas_fx( #endif HANDLE_FD_CNG_DEC hFdCngDec, /* i/o: Contains the variables related to the FD-based CNG process */ const Word16 bwidth, /*Q0*/ const Word32 total_brate, /*Q0*/ Loading @@ -4306,14 +4312,11 @@ void configureFdCngDec_ivas_fx( ELSE IF( EQ_32( hsCom->CngBitrate, -1 ) ) { /* set minimum active CBR bitrate IF CngBitrate is uninitialized */ IF( element_mode > EVS_MONO ) { hsCom->CngBitrate = IVAS_13k2; hsCom->CngBitrate = ACELP_7k20; move32(); } ELSE if ( GT_16( element_mode, EVS_MONO ) ) { hsCom->CngBitrate = ACELP_7k20; hsCom->CngBitrate = IVAS_13k2; move32(); } } Loading Loading @@ -4464,24 +4467,31 @@ void configureFdCngDec_ivas_fx( hFdCngDec->nFFTpart_shaping = hFdCngDec->npart_shaping; /*Q0*/ move16(); BASOP_getTables( &hsCom->olapWinAna, NULL, NULL, shr( hsCom->fftlen, 1 ) ); BASOP_getTables( &hsCom->olapWinSyn, NULL, NULL, shr( hsCom->fftlen, 2 ) ); SWITCH( hsCom->fftlen ) { case 512: #ifdef HARMONIZE_2499_CONFIGUREFDCNGDEC IF( GT_16( element_mode, EVS_MONO ) ) { hsCom->olapWinAna_fx = olapWinAna512_fx; /*Q30*/ hsCom->fftSineTab_fx = NULL; hsCom->olapWinSyn_fx = olapWinSyn256_fx; /*Q15*/ } #endif hsCom->fftlenShift = 8; move16(); hsCom->fftlenFac = 32767 /*1.0 Q15*/; move16(); BREAK; case 640: #ifdef HARMONIZE_2499_CONFIGUREFDCNGDEC IF( GT_16( element_mode, EVS_MONO ) ) { hsCom->olapWinAna_fx = olapWinAna640_fx; /*Q30*/ hsCom->fftSineTab_fx = fftSineTab640_fx; /*Q15*/ hsCom->olapWinSyn_fx = olapWinSyn320_fx; /*Q15*/ } #endif hsCom->fftlenShift = 9; move16(); hsCom->fftlenFac = 20480 /*0.625 Q15*/; Loading @@ -4491,6 +4501,7 @@ void configureFdCngDec_ivas_fx( assert( !"Unsupported FFT length for FD-based CNG" ); BREAK; } BASOP_getTables( &hsCom->olapWinAna, NULL, NULL, shr( hsCom->fftlen, 1 ) ); BASOP_getTables( &hsCom->olapWinSyn, NULL, NULL, shr( hsCom->fftlen, 2 ) ); hsCom->frameSize = shr( hsCom->fftlen, 1 ); Loading Loading
lib_com/ivas_prot_fx.h +2 −0 Original line number Diff line number Diff line Loading @@ -1622,6 +1622,7 @@ void ivas_dirac_dec_output_synthesis_cov_param_mc_collect_slot_fx( const Word16 nchan_in /* i : number of input channels */ ); #ifndef HARMONIZE_2499_CONFIGUREFDCNGDEC void configureFdCngDec_ivas_fx( HANDLE_FD_CNG_DEC hFdCngDec, /* i/o: Contains the variables related to the FD-based CNG process */ const Word16 bwidth, Loading @@ -1630,6 +1631,7 @@ void configureFdCngDec_ivas_fx( const Word16 last_L_frame, const Word16 element_mode ); #endif void synchonize_channels_mdct_sid_fx( Decoder_State *sts[CPE_CHANNELS], /* i/o: decoder state structure */ Loading
lib_com/options.h +6 −0 Original line number Diff line number Diff line Loading @@ -95,6 +95,7 @@ #define FIX_1527_CMR_BITRATE_IDX /* Fix for incorrect bitrate idx packed in rtp CMR E-byte */ #define HARMONIZE_2494_FdCng_decodeSID_fx /* FhG: harmonize FdCng_decodeSID_fx with _ivas_ version */ #define FIX_BASOP_2509_EVS_CONCEAL_UNINIT_MEM /* FhG: BASOP 2509: st->hTcxCfg->psychParamsCurrent is not initialized */ #define HARMONIZE_2499_CONFIGUREFDCNGDEC /* FhG: basop issue 2499: harmonoize configureFdCngDec */ #define SIMPLIFY_CORE_ENC /* VA: basop issue 2430: Simplify ivas_core_enc_fx() */ /* #################### End BE switches ################################## */ Loading @@ -112,6 +113,11 @@ #define FIX_FLOAT_1569_REND_RENDER_CONFIG_CHECKS /* Nokia: float issue 1569: fix render config checks in renderer */ #define FIX_BASOP_2526_SPAR_MASA_PARAM_MAP_Q_BUG /* Nokia: BASOP issue 2526: Fix wrong Q variable in SPAR to MASA param mapping */ #define FIX_BASOP_2524_MASA_REDUCE_META_BUG /* Nokia: BASOP issue 2524: Fix wrong reset of W_tmp in reduce_metadata_further_fx */ #define FIX_BASOP_2520_PARAMBIN_THRESHOLD_FIX /* Nokia: BASOP issue 2520: Fix wrong threshold in ParamBin */ #define FIX_BASOP_2510_UNNECESSARY_ASSERT /* Nokia: BASOP issue 2510: Fix by removing assert */ #define FIX_2515_TDREND_PORT_ERROR_SCALING /* Nokia: BASOP issue 2515: Fix port error by changing to correct scaling */ #define FIX_BASOP_2522_MAP_PARAMS_DIRAC_STEREO /* FhG: BASOP issue 2522: Fix copy and paste error for side_gain calculation in map_params_dirac_to_stereo() */ #define FIX_2505_IVAS_DEC_SEGFAULT /* FhG: BASOP #2505: Add headroom to input of ivas_rend_crendProcessSubframe_fx() for ivas_mdft_fx() calculation */ /* ##################### End NON-BE switches ########################### */ Loading
lib_com/prot_fx.h +12 −0 Original line number Diff line number Diff line Loading @@ -6510,6 +6510,7 @@ void initFdCngDec_fx( void deleteFdCngDec_fx( HANDLE_FD_CNG_DEC *hFdCngDec ); #ifndef HARMONIZE_2499_CONFIGUREFDCNGDEC /* Configure CLDFB-CNG */ void configureFdCngDec_fx( HANDLE_FD_CNG_DEC hFdCngDec, /* i/o: Contains the variables related to the CLDFB-based CNG process */ Loading @@ -6518,6 +6519,15 @@ void configureFdCngDec_fx( Word16 L_frame, const Word16 Last_L_frame, const Word16 element_mode ); #else void configureFdCngDec_fx( HANDLE_FD_CNG_DEC hFdCngDec, /* i/o: Contains the variables related to the FD-based CNG process */ const Word16 bwidth, const Word32 total_brate, const Word16 L_frame, const Word16 last_L_frame, const Word16 element_mode ); #endif Word16 ApplyFdCng_fx( Word16 *timeDomainInput, /* i : pointer to time domain input */ Loading Loading @@ -8516,6 +8526,7 @@ void v_mult16_fx( const Word16 N /* i : Vector length */ ); #ifndef HARMONIZE_2499_CONFIGUREFDCNGDEC void configureFdCngDec_fx( HANDLE_FD_CNG_DEC hFdCngDec, /* i/o: Contains the variables related to the FD-based CNG process */ const Word16 bwidth, Loading @@ -8523,6 +8534,7 @@ void configureFdCngDec_fx( const Word16 L_frame, const Word16 last_L_frame, const Word16 element_mode ); #endif Word32 sum2_f_16_fx( const Word16 *vec, /* i : input vector */ Loading
lib_dec/core_switching_dec_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -1893,7 +1893,11 @@ ivas_error core_switching_pre_dec_fx( } ELSE { #ifdef HARMONIZE_2499_CONFIGUREFDCNGDEC configureFdCngDec_fx( st->hFdCngDec, st->bwidth, st->total_brate, st->L_frame, st->last_L_frame, st->element_mode ); #else configureFdCngDec_ivas_fx( st->hFdCngDec, st->bwidth, st->total_brate, st->L_frame, st->last_L_frame, st->element_mode ); #endif } } ELSE Loading
lib_dec/fd_cng_dec_fx.c +26 −15 Original line number Diff line number Diff line Loading @@ -199,6 +199,7 @@ void initFdCngDec_fx( return; } #ifndef HARMONIZE_2499_CONFIGUREFDCNGDEC /* configureFdCngDec_fx Loading Loading @@ -424,6 +425,7 @@ void configureFdCngDec_fx( hsCom->frameSize = shr( hsCom->fftlen, 1 ); move16(); } #endif /* Loading Loading @@ -4279,7 +4281,11 @@ void generate_masking_noise_mdct_ivas_fx( * * Initialize an instance of type FD_CNG *-------------------------------------------------------------------*/ #ifdef HARMONIZE_2499_CONFIGUREFDCNGDEC void configureFdCngDec_fx( #else void configureFdCngDec_ivas_fx( #endif HANDLE_FD_CNG_DEC hFdCngDec, /* i/o: Contains the variables related to the FD-based CNG process */ const Word16 bwidth, /*Q0*/ const Word32 total_brate, /*Q0*/ Loading @@ -4306,14 +4312,11 @@ void configureFdCngDec_ivas_fx( ELSE IF( EQ_32( hsCom->CngBitrate, -1 ) ) { /* set minimum active CBR bitrate IF CngBitrate is uninitialized */ IF( element_mode > EVS_MONO ) { hsCom->CngBitrate = IVAS_13k2; hsCom->CngBitrate = ACELP_7k20; move32(); } ELSE if ( GT_16( element_mode, EVS_MONO ) ) { hsCom->CngBitrate = ACELP_7k20; hsCom->CngBitrate = IVAS_13k2; move32(); } } Loading Loading @@ -4464,24 +4467,31 @@ void configureFdCngDec_ivas_fx( hFdCngDec->nFFTpart_shaping = hFdCngDec->npart_shaping; /*Q0*/ move16(); BASOP_getTables( &hsCom->olapWinAna, NULL, NULL, shr( hsCom->fftlen, 1 ) ); BASOP_getTables( &hsCom->olapWinSyn, NULL, NULL, shr( hsCom->fftlen, 2 ) ); SWITCH( hsCom->fftlen ) { case 512: #ifdef HARMONIZE_2499_CONFIGUREFDCNGDEC IF( GT_16( element_mode, EVS_MONO ) ) { hsCom->olapWinAna_fx = olapWinAna512_fx; /*Q30*/ hsCom->fftSineTab_fx = NULL; hsCom->olapWinSyn_fx = olapWinSyn256_fx; /*Q15*/ } #endif hsCom->fftlenShift = 8; move16(); hsCom->fftlenFac = 32767 /*1.0 Q15*/; move16(); BREAK; case 640: #ifdef HARMONIZE_2499_CONFIGUREFDCNGDEC IF( GT_16( element_mode, EVS_MONO ) ) { hsCom->olapWinAna_fx = olapWinAna640_fx; /*Q30*/ hsCom->fftSineTab_fx = fftSineTab640_fx; /*Q15*/ hsCom->olapWinSyn_fx = olapWinSyn320_fx; /*Q15*/ } #endif hsCom->fftlenShift = 9; move16(); hsCom->fftlenFac = 20480 /*0.625 Q15*/; Loading @@ -4491,6 +4501,7 @@ void configureFdCngDec_ivas_fx( assert( !"Unsupported FFT length for FD-based CNG" ); BREAK; } BASOP_getTables( &hsCom->olapWinAna, NULL, NULL, shr( hsCom->fftlen, 1 ) ); BASOP_getTables( &hsCom->olapWinSyn, NULL, NULL, shr( hsCom->fftlen, 2 ) ); hsCom->frameSize = shr( hsCom->fftlen, 1 ); Loading