Loading lib_com/ivas_prot_fx.h +2 −0 Original line number Diff line number Diff line Loading @@ -1616,6 +1616,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 @@ -1624,6 +1625,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 +1 −0 Original line number Diff line number Diff line Loading @@ -90,6 +90,7 @@ #define FIX_2479_HARM_PITCH_GAIN /* FhG: basop issue 2479: Harmonize tcx_ltp_pitch_search_*(), tcx_ltp_find_gain_*fx() */ #define HARMONIZE_2481_EXTEND_SHRINK /* FhG: basop issue 2481: Harmonize extend_frm_*fx() and shrink_frm_*fx() */ #define FIX_FLOAT_ISSUE_1546_DEAD_CODE /* FhG: remove dead code reported in the issue*/ #define HARMONIZE_2499_CONFIGUREFDCNGDEC /* FhG: basop issue 2499: harmonoize configureFdCngDec */ /* #################### End BE switches ################################## */ Loading lib_com/prot_fx.h +12 −0 Original line number Diff line number Diff line Loading @@ -6547,6 +6547,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 @@ -6555,6 +6556,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 @@ -8543,6 +8553,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 @@ -8550,6 +8561,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 +29 −8 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 @@ -4097,7 +4099,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 Loading @@ -4282,24 +4288,39 @@ void configureFdCngDec_ivas_fx( hFdCngDec->nFFTpart_shaping = hFdCngDec->npart_shaping; /*Q0*/ move16(); #ifdef HARMONIZE_2499_CONFIGUREFDCNGDEC IF( element_mode > EVS_MONO ) { BASOP_getTables( &hsCom->olapWinAna, NULL, NULL, shr( hsCom->fftlen, 1 ) ); BASOP_getTables( &hsCom->olapWinSyn, NULL, NULL, shr( hsCom->fftlen, 2 ) ); } #endif SWITCH( hsCom->fftlen ) { case 512: #ifdef HARMONIZE_2499_CONFIGUREFDCNGDEC IF( 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( 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 Loading
lib_com/ivas_prot_fx.h +2 −0 Original line number Diff line number Diff line Loading @@ -1616,6 +1616,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 @@ -1624,6 +1625,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 +1 −0 Original line number Diff line number Diff line Loading @@ -90,6 +90,7 @@ #define FIX_2479_HARM_PITCH_GAIN /* FhG: basop issue 2479: Harmonize tcx_ltp_pitch_search_*(), tcx_ltp_find_gain_*fx() */ #define HARMONIZE_2481_EXTEND_SHRINK /* FhG: basop issue 2481: Harmonize extend_frm_*fx() and shrink_frm_*fx() */ #define FIX_FLOAT_ISSUE_1546_DEAD_CODE /* FhG: remove dead code reported in the issue*/ #define HARMONIZE_2499_CONFIGUREFDCNGDEC /* FhG: basop issue 2499: harmonoize configureFdCngDec */ /* #################### End BE switches ################################## */ Loading
lib_com/prot_fx.h +12 −0 Original line number Diff line number Diff line Loading @@ -6547,6 +6547,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 @@ -6555,6 +6556,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 @@ -8543,6 +8553,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 @@ -8550,6 +8561,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 +29 −8 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 @@ -4097,7 +4099,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 Loading @@ -4282,24 +4288,39 @@ void configureFdCngDec_ivas_fx( hFdCngDec->nFFTpart_shaping = hFdCngDec->npart_shaping; /*Q0*/ move16(); #ifdef HARMONIZE_2499_CONFIGUREFDCNGDEC IF( element_mode > EVS_MONO ) { BASOP_getTables( &hsCom->olapWinAna, NULL, NULL, shr( hsCom->fftlen, 1 ) ); BASOP_getTables( &hsCom->olapWinSyn, NULL, NULL, shr( hsCom->fftlen, 2 ) ); } #endif SWITCH( hsCom->fftlen ) { case 512: #ifdef HARMONIZE_2499_CONFIGUREFDCNGDEC IF( 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( 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