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 +1 −0 Original line number Diff line number Diff line Loading @@ -112,6 +112,7 @@ #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 +1 −0 Original line number Diff line number Diff line Loading @@ -112,6 +112,7 @@ #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