Loading lib_com/fd_cng_com_fx.c +2 −0 Original line number Diff line number Diff line Loading @@ -169,7 +169,9 @@ void initFdCngCom( #ifndef FIX_BASOP_2262_OLAP_BUFFER_SYNTH_SWITCHING set32_fx( hFdCngCom->olapBufferSynth_fx, 0, FFTLEN ); #endif #ifndef FIX_BASOP_REMOVE_SYNTH2_FX set32_fx( hFdCngCom->olapBufferSynth2_fx, 0, FFTLEN ); #endif set32_fx( hFdCngCom->exc_cng_32fx, 0, L_FRAME16k ); set16_fx( hFdCngCom->exc_cng, 0, L_FRAME16k ); Loading lib_com/options.h +7 −0 Original line number Diff line number Diff line Loading @@ -94,6 +94,9 @@ #define HQ_ALIGN_DUPLICATED_CODE /* Eri: Align duplicated code */ #define FIX_2467_RENAME_GSC_FUNCTION /* VA: basop issue 2467: Removal of unused function/table and renaming of _ivas_fx versions to default ones. */ #define HARMONIZE_FUNC /* VA: basop issue 2460: Remove duplicated code: various functions */ #define FIX_FLOAT_1536_INIT_NO_PARAM_LPC /* FhG: make sure no_param_lpc is initialized in core_encode_twodiv() */ #define FIX_BASOP_2871_INIT_Q_SYN_FACTOR /* FhG: make sure, st_fx->Q_syn_factor gets initialized during decoder startup */ #define FIX_BASOP_2470_POWER_SPEC_E_INIT /* FhG: make sure powerSpec_e is always initialized in core_signal_analysis_high_bitrate_fx() */ #define HARMONIZE_2446_CON_TCX_FX /* FhG: basop issue: 2446 harmonization of function con_tcx_fx() */ /* #################### End BE switches ################################## */ Loading @@ -107,6 +110,10 @@ #define FIX_2440_AGC_PRESCALING /* FhG: basop issue 2440: Fix loop bounds when scaling p_output_fx before ivas_spar_dec_agc_pca_fx() */ #define FIX_2471_REMOVE_POSSIBLE_OVRF /* VA: basop issue 2471: correcting undesired overflow */ #define FIX_2465_Q_BWE_EXC /* VA: basop issue 2465: fix calculation of Q_bwe_exc in SWB TBE encoder */ #define FIX_2436_CLDFBANAHANDLE_ADRESS /* FhG: cldfb handle pointer were handed over in faulty manner*/ #define FIX_BASOP_2436_REUSED_CLDFB_IN_OMASA_SR /* FhG: basop issue 2436 (related to basop 2283): fix garbage output for >1 object OMASA with extrend as ISAR prerenderer */ #define FIX_BASOP_2472_IGF_SP_AUD_DEC_CHAN /* FhG: always use channel 1 for sp_aud_decision0[] being passed to ProcessIGF_ivas_fx() */ #define FIX_BASOP_REMOVE_SYNTH2_FX /* FhG: Replace 32bit olapBufferSynth2_fx with 16bit olapBufferSynth2 buffer */ /* ##################### End NON-BE switches ########################### */ Loading lib_com/prot_fx.h +11 −3 Original line number Diff line number Diff line Loading @@ -7257,11 +7257,19 @@ ivas_error core_switching_pre_dec_fx( const Word16 nchan_out, /* i : number of output channels */ const Word16 last_element_mode, /* i : last_element_mode */ const Word32 last_element_brate, /* i : last element bitrate */ #if defined( FIX_BASOP_REMOVE_SYNTH2_FX ) && defined( FIX_BASOP_2262_OLAP_BUFFER_SYNTH_SWITCHING ) const Word16 Q_old_synthFB ); #elif defined( FIX_BASOP_2262_OLAP_BUFFER_SYNTH_SWITCHING ) const Word16 Q_old_synthFB, Word16 *Q_olapBufferSynth2 ); #elif defined( FIX_BASOP_REMOVE_SYNTH2_FX ) const Word16 Q_old_synthFB, Word16 *Q_olapBufferSynth ); #else const Word16 Q_old_synthFB, #ifndef FIX_BASOP_2262_OLAP_BUFFER_SYNTH_SWITCHING Word16 *Q_olapBufferSynth, #endif Word16 *Q_olapBufferSynth2 ); #endif ivas_error core_switching_post_dec_fx( Decoder_State *st_fx, /* i/o: decoder state structure */ Loading lib_com/stat_com.h +3 −1 Original line number Diff line number Diff line Loading @@ -370,7 +370,9 @@ typedef struct #ifndef FIX_BASOP_2262_OLAP_BUFFER_SYNTH_SWITCHING Word32 olapBufferSynth_fx[FFTLEN]; /*Q_olapBufferSynth*/ #endif Word32 olapBufferSynth2_fx[FFTLEN]; /*Q_olapBufferSynth2*/ #ifndef FIX_BASOP_REMOVE_SYNTH2_FX Word32 olapBufferSynth2_fx[FFTLEN]; #endif const Word32 *olapWinAna_fx; /* Q30 */ const Word16 *olapWinSyn_fx; /* Q15 */ Loading lib_dec/acelp_core_dec_fx.c +7 −1 Original line number Diff line number Diff line Loading @@ -1645,7 +1645,9 @@ ivas_error acelp_core_dec_fx( IF( NE_16( st->element_mode, last_element_mode ) ) { set16_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2, 0, st->hFdCngDec->hFdCngCom->fftlen ); #ifndef FIX_BASOP_REMOVE_SYNTH2_FX set32_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, 0, st->hFdCngDec->hFdCngCom->fftlen ); #endif } Word32 psyn_32_fx[L_FRAME16k]; Loading @@ -1653,7 +1655,9 @@ ivas_error acelp_core_dec_fx( generate_masking_noise_ivas_fx( psyn_32_fx, &exp, st->hFdCngDec->hFdCngCom, st->hFdCngDec->hFdCngCom->frameSize, 0, 0, 0, st->element_mode, hStereoCng, nchan_out ); Copy_Scale_sig_32_16( psyn_32_fx, psyn_fx, st->hFdCngDec->hFdCngCom->frameSize, sub( st->Q_syn, exp ) ); // Q = st->Q_syn #ifndef FIX_BASOP_REMOVE_SYNTH2_FX Copy_Scale_sig_32_16( st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, st->hFdCngDec->hFdCngCom->olapBufferSynth2, shl( st->hFdCngDec->hFdCngCom->frameSize, 1 ), -Q15 ); // Q0 #endif } } } Loading Loading @@ -1741,7 +1745,9 @@ ivas_error acelp_core_dec_fx( IF( st->idchan == 0 ) { set16_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2, 0, st->hFdCngDec->hFdCngCom->fftlen ); #ifndef FIX_BASOP_REMOVE_SYNTH2_FX set32_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, 0, st->hFdCngDec->hFdCngCom->fftlen ); #endif } IF( hStereoCng != NULL && ( st->idchan == 0 ) ) { Loading Loading
lib_com/fd_cng_com_fx.c +2 −0 Original line number Diff line number Diff line Loading @@ -169,7 +169,9 @@ void initFdCngCom( #ifndef FIX_BASOP_2262_OLAP_BUFFER_SYNTH_SWITCHING set32_fx( hFdCngCom->olapBufferSynth_fx, 0, FFTLEN ); #endif #ifndef FIX_BASOP_REMOVE_SYNTH2_FX set32_fx( hFdCngCom->olapBufferSynth2_fx, 0, FFTLEN ); #endif set32_fx( hFdCngCom->exc_cng_32fx, 0, L_FRAME16k ); set16_fx( hFdCngCom->exc_cng, 0, L_FRAME16k ); Loading
lib_com/options.h +7 −0 Original line number Diff line number Diff line Loading @@ -94,6 +94,9 @@ #define HQ_ALIGN_DUPLICATED_CODE /* Eri: Align duplicated code */ #define FIX_2467_RENAME_GSC_FUNCTION /* VA: basop issue 2467: Removal of unused function/table and renaming of _ivas_fx versions to default ones. */ #define HARMONIZE_FUNC /* VA: basop issue 2460: Remove duplicated code: various functions */ #define FIX_FLOAT_1536_INIT_NO_PARAM_LPC /* FhG: make sure no_param_lpc is initialized in core_encode_twodiv() */ #define FIX_BASOP_2871_INIT_Q_SYN_FACTOR /* FhG: make sure, st_fx->Q_syn_factor gets initialized during decoder startup */ #define FIX_BASOP_2470_POWER_SPEC_E_INIT /* FhG: make sure powerSpec_e is always initialized in core_signal_analysis_high_bitrate_fx() */ #define HARMONIZE_2446_CON_TCX_FX /* FhG: basop issue: 2446 harmonization of function con_tcx_fx() */ /* #################### End BE switches ################################## */ Loading @@ -107,6 +110,10 @@ #define FIX_2440_AGC_PRESCALING /* FhG: basop issue 2440: Fix loop bounds when scaling p_output_fx before ivas_spar_dec_agc_pca_fx() */ #define FIX_2471_REMOVE_POSSIBLE_OVRF /* VA: basop issue 2471: correcting undesired overflow */ #define FIX_2465_Q_BWE_EXC /* VA: basop issue 2465: fix calculation of Q_bwe_exc in SWB TBE encoder */ #define FIX_2436_CLDFBANAHANDLE_ADRESS /* FhG: cldfb handle pointer were handed over in faulty manner*/ #define FIX_BASOP_2436_REUSED_CLDFB_IN_OMASA_SR /* FhG: basop issue 2436 (related to basop 2283): fix garbage output for >1 object OMASA with extrend as ISAR prerenderer */ #define FIX_BASOP_2472_IGF_SP_AUD_DEC_CHAN /* FhG: always use channel 1 for sp_aud_decision0[] being passed to ProcessIGF_ivas_fx() */ #define FIX_BASOP_REMOVE_SYNTH2_FX /* FhG: Replace 32bit olapBufferSynth2_fx with 16bit olapBufferSynth2 buffer */ /* ##################### End NON-BE switches ########################### */ Loading
lib_com/prot_fx.h +11 −3 Original line number Diff line number Diff line Loading @@ -7257,11 +7257,19 @@ ivas_error core_switching_pre_dec_fx( const Word16 nchan_out, /* i : number of output channels */ const Word16 last_element_mode, /* i : last_element_mode */ const Word32 last_element_brate, /* i : last element bitrate */ #if defined( FIX_BASOP_REMOVE_SYNTH2_FX ) && defined( FIX_BASOP_2262_OLAP_BUFFER_SYNTH_SWITCHING ) const Word16 Q_old_synthFB ); #elif defined( FIX_BASOP_2262_OLAP_BUFFER_SYNTH_SWITCHING ) const Word16 Q_old_synthFB, Word16 *Q_olapBufferSynth2 ); #elif defined( FIX_BASOP_REMOVE_SYNTH2_FX ) const Word16 Q_old_synthFB, Word16 *Q_olapBufferSynth ); #else const Word16 Q_old_synthFB, #ifndef FIX_BASOP_2262_OLAP_BUFFER_SYNTH_SWITCHING Word16 *Q_olapBufferSynth, #endif Word16 *Q_olapBufferSynth2 ); #endif ivas_error core_switching_post_dec_fx( Decoder_State *st_fx, /* i/o: decoder state structure */ Loading
lib_com/stat_com.h +3 −1 Original line number Diff line number Diff line Loading @@ -370,7 +370,9 @@ typedef struct #ifndef FIX_BASOP_2262_OLAP_BUFFER_SYNTH_SWITCHING Word32 olapBufferSynth_fx[FFTLEN]; /*Q_olapBufferSynth*/ #endif Word32 olapBufferSynth2_fx[FFTLEN]; /*Q_olapBufferSynth2*/ #ifndef FIX_BASOP_REMOVE_SYNTH2_FX Word32 olapBufferSynth2_fx[FFTLEN]; #endif const Word32 *olapWinAna_fx; /* Q30 */ const Word16 *olapWinSyn_fx; /* Q15 */ Loading
lib_dec/acelp_core_dec_fx.c +7 −1 Original line number Diff line number Diff line Loading @@ -1645,7 +1645,9 @@ ivas_error acelp_core_dec_fx( IF( NE_16( st->element_mode, last_element_mode ) ) { set16_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2, 0, st->hFdCngDec->hFdCngCom->fftlen ); #ifndef FIX_BASOP_REMOVE_SYNTH2_FX set32_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, 0, st->hFdCngDec->hFdCngCom->fftlen ); #endif } Word32 psyn_32_fx[L_FRAME16k]; Loading @@ -1653,7 +1655,9 @@ ivas_error acelp_core_dec_fx( generate_masking_noise_ivas_fx( psyn_32_fx, &exp, st->hFdCngDec->hFdCngCom, st->hFdCngDec->hFdCngCom->frameSize, 0, 0, 0, st->element_mode, hStereoCng, nchan_out ); Copy_Scale_sig_32_16( psyn_32_fx, psyn_fx, st->hFdCngDec->hFdCngCom->frameSize, sub( st->Q_syn, exp ) ); // Q = st->Q_syn #ifndef FIX_BASOP_REMOVE_SYNTH2_FX Copy_Scale_sig_32_16( st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, st->hFdCngDec->hFdCngCom->olapBufferSynth2, shl( st->hFdCngDec->hFdCngCom->frameSize, 1 ), -Q15 ); // Q0 #endif } } } Loading Loading @@ -1741,7 +1745,9 @@ ivas_error acelp_core_dec_fx( IF( st->idchan == 0 ) { set16_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2, 0, st->hFdCngDec->hFdCngCom->fftlen ); #ifndef FIX_BASOP_REMOVE_SYNTH2_FX set32_fx( st->hFdCngDec->hFdCngCom->olapBufferSynth2_fx, 0, st->hFdCngDec->hFdCngCom->fftlen ); #endif } IF( hStereoCng != NULL && ( st->idchan == 0 ) ) { Loading