Loading lib_com/options.h +2 −1 Original line number Diff line number Diff line Loading @@ -96,6 +96,7 @@ #define HARMONIZE_2446_CON_TCX_FX /* FhG: basop issue: 2446 harmonization of function con_tcx_fx() */ #define FIX_2433_ARITH_OVERFLOW_IN_QMETA_ENC /* Nokia: Fix to convert non-converted binary operations */ //#define FIX_2455_HARMONIZE_generate_comfort_noise_enc /* FhG: harmonize generate_comfort_noise_enc and generate_comfort_noise_enc_ivas */ //#define FIX_2455_HARMONIZE_configureFdCngEnc /* FhG: harmonize generate_comfort_noise_enc and generate_comfort_noise_enc_ivas */ /* #################### End BE switches ################################## */ Loading lib_com/prot_fx.h +2 −0 Original line number Diff line number Diff line Loading @@ -10049,11 +10049,13 @@ void core_coder_mode_switch_ivas_fx( const Word16 MCT_flag /* i : hMCT handle allocated (1) or not (0)*/ ); #ifndef FIX_2455_HARMONIZE_configureFdCngEnc void configureFdCngEnc_ivas_fx( HANDLE_FD_CNG_ENC hFdCngEnc, /* i/o: Contains the variables related to the FD-based CNG process */ const Word16 bwidth, /* Q0 */ const Word32 total_brate /* Q0 */ ); #endif void SetModeIndex_ivas_fx( Encoder_State *st, /* i : Encoder state */ Loading lib_enc/fd_cng_enc_fx.c +27 −1 Original line number Diff line number Diff line Loading @@ -159,11 +159,20 @@ void initFdCngEnc_fx( * Configure FD_CNG * ************************************/ #ifdef FIX_2455_HARMONIZE_configureFdCngEnc void configureFdCngEnc_fx( HANDLE_FD_CNG_ENC hsEnc, /* i/o: Contains the variables related to the FD-based CNG process */ const Word16 bandwidth, /* i : bandwidth Q0*/ const Word32 bitrate, /* Q0 */ const Word16 element_mode ) #else void configureFdCngEnc_fx( HANDLE_FD_CNG_ENC hsEnc, /* i/o: Contains the variables related to the FD-based CNG process */ const Word16 bandwidth, /* i : bandwidth Q0*/ const Word32 bitrate /* Q0 */ ) #endif { HANDLE_FD_CNG_COM hsCom = hsEnc->hFdCngCom; Word16 psizeDec[NPART]; Loading Loading @@ -265,12 +274,28 @@ void configureFdCngEnc_fx( SWITCH( hsCom->fftlen ) { case 512: #ifdef FIX_2455_HARMONIZE_configureFdCngEnc if ( GT_16( element_mode, 0 ) ) { hsCom->fftSineTab_fx = NULL; hsCom->olapWinAna_fx = olapWinAna512_fx; /* Q30 */ hsCom->olapWinSyn_fx = olapWinSyn256_fx; /* Q15 */ } #endif hsCom->fftlenShift = 8; move16(); hsCom->fftlenFac = 32767 /*1.0 Q15*/; move16(); BREAK; case 640: #ifdef FIX_2455_HARMONIZE_configureFdCngEnc if ( GT_16( element_mode, 0 ) ) { hsCom->fftSineTab_fx = fftSineTab640_fx; /* Q15 */ hsCom->olapWinAna_fx = olapWinAna640_fx; /* Q30 */ hsCom->olapWinSyn_fx = olapWinSyn320_fx; /* Q15 */ } #endif hsCom->fftlenShift = 9; move16(); hsCom->fftlenFac = 20480 /*0.625 Q15*/; Loading @@ -288,6 +313,7 @@ void configureFdCngEnc_fx( return; } #ifndef FIX_2455_HARMONIZE_configureFdCngEnc void configureFdCngEnc_ivas_fx( HANDLE_FD_CNG_ENC hFdCngEnc, /* i/o: Contains the variables related to the FD-based CNG process */ const Word16 bwidth, /* Q0 */ Loading Loading @@ -422,7 +448,7 @@ void configureFdCngEnc_ivas_fx( return; } #endif /*FIX_2455_HARMONIZE_configureFdCngEnc*/ /************************************** * Delete the instance of type FD_CNG * Loading lib_enc/init_enc_fx.c +4 −1 Original line number Diff line number Diff line Loading @@ -1177,8 +1177,11 @@ ivas_error init_encoder_fx( total_brate = st->total_brate; move32(); } #ifdef FIX_2455_HARMONIZE_configureFdCngEnc configureFdCngEnc_fx( st->hFdCngEnc, st->bwidth, total_brate, st->element_mode ); #else configureFdCngEnc_fx( st->hFdCngEnc, st->bwidth, total_brate ); #endif } } ELSE Loading lib_enc/ivas_core_enc_fx.c +11 −0 Original line number Diff line number Diff line Loading @@ -567,6 +567,16 @@ ivas_error ivas_core_enc_fx( test(); IF( ( NE_16( st->hFdCngEnc->hFdCngCom->frameSize, st->L_frame ) ) || ( NE_16( st->hFdCngEnc->hFdCngCom->CngBandwidth, st->bwidth ) ) ) { #ifdef FIX_2455_HARMONIZE_configureFdCngEnc IF( EQ_16( st->L_frame, L_FRAME16k ) ) { configureFdCngEnc_fx( st->hFdCngEnc, s_max( st->bwidth, WB ), ACELP_16k40, st->element_mode ); } ELSE { configureFdCngEnc_fx( st->hFdCngEnc, s_max( st->bwidth, WB ), ACELP_9k60, st->element_mode ); } #else IF( EQ_16( st->L_frame, L_FRAME16k ) ) { configureFdCngEnc_ivas_fx( st->hFdCngEnc, s_max( st->bwidth, WB ), ACELP_16k40 ); Loading @@ -575,6 +585,7 @@ ivas_error ivas_core_enc_fx( { configureFdCngEnc_ivas_fx( st->hFdCngEnc, s_max( st->bwidth, WB ), ACELP_9k60 ); } #endif } } Loading Loading
lib_com/options.h +2 −1 Original line number Diff line number Diff line Loading @@ -96,6 +96,7 @@ #define HARMONIZE_2446_CON_TCX_FX /* FhG: basop issue: 2446 harmonization of function con_tcx_fx() */ #define FIX_2433_ARITH_OVERFLOW_IN_QMETA_ENC /* Nokia: Fix to convert non-converted binary operations */ //#define FIX_2455_HARMONIZE_generate_comfort_noise_enc /* FhG: harmonize generate_comfort_noise_enc and generate_comfort_noise_enc_ivas */ //#define FIX_2455_HARMONIZE_configureFdCngEnc /* FhG: harmonize generate_comfort_noise_enc and generate_comfort_noise_enc_ivas */ /* #################### End BE switches ################################## */ Loading
lib_com/prot_fx.h +2 −0 Original line number Diff line number Diff line Loading @@ -10049,11 +10049,13 @@ void core_coder_mode_switch_ivas_fx( const Word16 MCT_flag /* i : hMCT handle allocated (1) or not (0)*/ ); #ifndef FIX_2455_HARMONIZE_configureFdCngEnc void configureFdCngEnc_ivas_fx( HANDLE_FD_CNG_ENC hFdCngEnc, /* i/o: Contains the variables related to the FD-based CNG process */ const Word16 bwidth, /* Q0 */ const Word32 total_brate /* Q0 */ ); #endif void SetModeIndex_ivas_fx( Encoder_State *st, /* i : Encoder state */ Loading
lib_enc/fd_cng_enc_fx.c +27 −1 Original line number Diff line number Diff line Loading @@ -159,11 +159,20 @@ void initFdCngEnc_fx( * Configure FD_CNG * ************************************/ #ifdef FIX_2455_HARMONIZE_configureFdCngEnc void configureFdCngEnc_fx( HANDLE_FD_CNG_ENC hsEnc, /* i/o: Contains the variables related to the FD-based CNG process */ const Word16 bandwidth, /* i : bandwidth Q0*/ const Word32 bitrate, /* Q0 */ const Word16 element_mode ) #else void configureFdCngEnc_fx( HANDLE_FD_CNG_ENC hsEnc, /* i/o: Contains the variables related to the FD-based CNG process */ const Word16 bandwidth, /* i : bandwidth Q0*/ const Word32 bitrate /* Q0 */ ) #endif { HANDLE_FD_CNG_COM hsCom = hsEnc->hFdCngCom; Word16 psizeDec[NPART]; Loading Loading @@ -265,12 +274,28 @@ void configureFdCngEnc_fx( SWITCH( hsCom->fftlen ) { case 512: #ifdef FIX_2455_HARMONIZE_configureFdCngEnc if ( GT_16( element_mode, 0 ) ) { hsCom->fftSineTab_fx = NULL; hsCom->olapWinAna_fx = olapWinAna512_fx; /* Q30 */ hsCom->olapWinSyn_fx = olapWinSyn256_fx; /* Q15 */ } #endif hsCom->fftlenShift = 8; move16(); hsCom->fftlenFac = 32767 /*1.0 Q15*/; move16(); BREAK; case 640: #ifdef FIX_2455_HARMONIZE_configureFdCngEnc if ( GT_16( element_mode, 0 ) ) { hsCom->fftSineTab_fx = fftSineTab640_fx; /* Q15 */ hsCom->olapWinAna_fx = olapWinAna640_fx; /* Q30 */ hsCom->olapWinSyn_fx = olapWinSyn320_fx; /* Q15 */ } #endif hsCom->fftlenShift = 9; move16(); hsCom->fftlenFac = 20480 /*0.625 Q15*/; Loading @@ -288,6 +313,7 @@ void configureFdCngEnc_fx( return; } #ifndef FIX_2455_HARMONIZE_configureFdCngEnc void configureFdCngEnc_ivas_fx( HANDLE_FD_CNG_ENC hFdCngEnc, /* i/o: Contains the variables related to the FD-based CNG process */ const Word16 bwidth, /* Q0 */ Loading Loading @@ -422,7 +448,7 @@ void configureFdCngEnc_ivas_fx( return; } #endif /*FIX_2455_HARMONIZE_configureFdCngEnc*/ /************************************** * Delete the instance of type FD_CNG * Loading
lib_enc/init_enc_fx.c +4 −1 Original line number Diff line number Diff line Loading @@ -1177,8 +1177,11 @@ ivas_error init_encoder_fx( total_brate = st->total_brate; move32(); } #ifdef FIX_2455_HARMONIZE_configureFdCngEnc configureFdCngEnc_fx( st->hFdCngEnc, st->bwidth, total_brate, st->element_mode ); #else configureFdCngEnc_fx( st->hFdCngEnc, st->bwidth, total_brate ); #endif } } ELSE Loading
lib_enc/ivas_core_enc_fx.c +11 −0 Original line number Diff line number Diff line Loading @@ -567,6 +567,16 @@ ivas_error ivas_core_enc_fx( test(); IF( ( NE_16( st->hFdCngEnc->hFdCngCom->frameSize, st->L_frame ) ) || ( NE_16( st->hFdCngEnc->hFdCngCom->CngBandwidth, st->bwidth ) ) ) { #ifdef FIX_2455_HARMONIZE_configureFdCngEnc IF( EQ_16( st->L_frame, L_FRAME16k ) ) { configureFdCngEnc_fx( st->hFdCngEnc, s_max( st->bwidth, WB ), ACELP_16k40, st->element_mode ); } ELSE { configureFdCngEnc_fx( st->hFdCngEnc, s_max( st->bwidth, WB ), ACELP_9k60, st->element_mode ); } #else IF( EQ_16( st->L_frame, L_FRAME16k ) ) { configureFdCngEnc_ivas_fx( st->hFdCngEnc, s_max( st->bwidth, WB ), ACELP_16k40 ); Loading @@ -575,6 +585,7 @@ ivas_error ivas_core_enc_fx( { configureFdCngEnc_ivas_fx( st->hFdCngEnc, s_max( st->bwidth, WB ), ACELP_9k60 ); } #endif } } Loading