Loading lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -117,6 +117,7 @@ #define FIX_2338_HARM_GSC_GAIN_COMP /* VA: basop issue 2338: harmonization of band gain computation for both EVS and IVAS */ #define FIX_BASOP_2317_UNINIT_VALUE_IN_STEREO_CNG /* Eri: Basop issue 2317: Uninitialized value read in case of DTX and BW switching */ #define FIX_1283_STEREO_DFT_COLLAPSE /* FhG: float issue 1283: fix for critical issue with DFT stereo core coder */ #define FIX_2379_REMOVE_previoussynth_fx_32 /* VA: basop issue 2379: remove duplicated buffer st->previoussynth_fx_32[] */ /* ##################### End NON-BE switches ########################### */ Loading lib_dec/acelp_core_dec_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -2112,7 +2112,11 @@ ivas_error acelp_core_dec_fx( } /* save synthesis - needed in case of core switching */ #ifdef FIX_2379_REMOVE_previoussynth_fx_32 Copy_Scale_sig_32_16( synth_fx, st->previoussynth_fx, output_frame, 0 ); // Q0 #else Copy32( synth_fx, st->previoussynth_fx_32, output_frame ); // Q0 #endif } ELSE { Loading lib_dec/core_switching_dec_fx.c +13 −1 Original line number Diff line number Diff line Loading @@ -1598,7 +1598,13 @@ ivas_error core_switching_pre_dec_fx( } ELSE { #ifdef FIX_2379_REMOVE_previoussynth_fx_32 Word32 previoussynth_fx_32[L_FRAME48k]; Copy_Scale_sig_16_32_no_sat( st->previoussynth_fx, previoussynth_fx_32, output_frame, 0 ); fer_energy_fx( output_frame, UNVOICED_CLAS, previoussynth_fx_32, 0, -1, &st->enr_old_fx, 1 ); /*Q0*/ #else fer_energy_fx( output_frame, UNVOICED_CLAS, st->previoussynth_fx_32, 0, -1, &st->enr_old_fx, 1 ); /*Q-0*/ #endif st->lp_gainp_fx = 0; move16(); st->lp_gainc_fx = extract_h( Sqrt32( st->lp_ener_fx, &exp ) ); /*Q=15-exp*/ Loading Loading @@ -1681,7 +1687,13 @@ ivas_error core_switching_pre_dec_fx( set16_fx( st->dm_fx.prev_gain_pit, 0, 6 ); st->last_coder_type = GENERIC; move16(); #ifdef FIX_2379_REMOVE_previoussynth_fx_32 Word32 previoussynth_fx_32[L_FRAME48k]; Copy_Scale_sig_16_32_no_sat( st->previoussynth_fx, previoussynth_fx_32, output_frame, 0 ); fer_energy_fx( output_frame, UNVOICED_CLAS, previoussynth_fx_32, 0, -1, &st->enr_old_fx, 1 ); /*Q0*/ #else fer_energy_fx( output_frame, UNVOICED_CLAS, st->previoussynth_fx_32, 0, -1, &st->enr_old_fx, 1 ); /*Q-0*/ #endif st->lp_gainp_fx = 0; move16(); Loading lib_dec/init_dec_fx.c +2 −0 Original line number Diff line number Diff line Loading @@ -436,7 +436,9 @@ ivas_error init_decoder_fx( set16_fx( st_fx->previoussynth_fx, 0, L_FRAME48k ); set32_fx( st_fx->delay_buf_out32_fx, 0, HQ_DELTA_MAX * HQ_DELAY_COMP ); #ifndef FIX_2379_REMOVE_previoussynth_fx_32 set32_fx( st_fx->previoussynth_fx_32, 0, L_FRAME48k ); #endif IF( st_fx->element_mode == EVS_MONO ) { Loading lib_dec/ivas_core_dec_fx.c +4 −2 Original line number Diff line number Diff line Loading @@ -446,8 +446,9 @@ ivas_error ivas_core_dec_fx( move16(); move16(); #ifndef FIX_2379_REMOVE_previoussynth_fx_32 Copy_Scale_sig_16_32_DEPREC( st->previoussynth_fx, st->previoussynth_fx_32, L_FRAME48k, 0 ); // Q0 #endif IF( NE_32( ( error = core_switching_pre_dec_fx( st, output_frame, sts[0]->last_core_brate, nchan_out, last_element_mode, last_element_brate, st->Q_syn, &Q_olapBufferSynth, &Q_olapBufferSynth2 ) ), IVAS_ERR_OK ) ) { return error; Loading Loading @@ -557,8 +558,9 @@ ivas_error ivas_core_dec_fx( } } #ifndef FIX_2379_REMOVE_previoussynth_fx_32 Copy_Scale_sig_32_16( st->previoussynth_fx_32, st->previoussynth_fx, L_FRAME48k, 0 ); // Q0 #endif test(); test(); IF( ( EQ_16( st->core, TCX_20_CORE ) || EQ_16( st->core, TCX_10_CORE ) ) && NE_16( st->element_mode, IVAS_CPE_MDCT ) ) Loading Loading
lib_com/options.h +1 −0 Original line number Diff line number Diff line Loading @@ -117,6 +117,7 @@ #define FIX_2338_HARM_GSC_GAIN_COMP /* VA: basop issue 2338: harmonization of band gain computation for both EVS and IVAS */ #define FIX_BASOP_2317_UNINIT_VALUE_IN_STEREO_CNG /* Eri: Basop issue 2317: Uninitialized value read in case of DTX and BW switching */ #define FIX_1283_STEREO_DFT_COLLAPSE /* FhG: float issue 1283: fix for critical issue with DFT stereo core coder */ #define FIX_2379_REMOVE_previoussynth_fx_32 /* VA: basop issue 2379: remove duplicated buffer st->previoussynth_fx_32[] */ /* ##################### End NON-BE switches ########################### */ Loading
lib_dec/acelp_core_dec_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -2112,7 +2112,11 @@ ivas_error acelp_core_dec_fx( } /* save synthesis - needed in case of core switching */ #ifdef FIX_2379_REMOVE_previoussynth_fx_32 Copy_Scale_sig_32_16( synth_fx, st->previoussynth_fx, output_frame, 0 ); // Q0 #else Copy32( synth_fx, st->previoussynth_fx_32, output_frame ); // Q0 #endif } ELSE { Loading
lib_dec/core_switching_dec_fx.c +13 −1 Original line number Diff line number Diff line Loading @@ -1598,7 +1598,13 @@ ivas_error core_switching_pre_dec_fx( } ELSE { #ifdef FIX_2379_REMOVE_previoussynth_fx_32 Word32 previoussynth_fx_32[L_FRAME48k]; Copy_Scale_sig_16_32_no_sat( st->previoussynth_fx, previoussynth_fx_32, output_frame, 0 ); fer_energy_fx( output_frame, UNVOICED_CLAS, previoussynth_fx_32, 0, -1, &st->enr_old_fx, 1 ); /*Q0*/ #else fer_energy_fx( output_frame, UNVOICED_CLAS, st->previoussynth_fx_32, 0, -1, &st->enr_old_fx, 1 ); /*Q-0*/ #endif st->lp_gainp_fx = 0; move16(); st->lp_gainc_fx = extract_h( Sqrt32( st->lp_ener_fx, &exp ) ); /*Q=15-exp*/ Loading Loading @@ -1681,7 +1687,13 @@ ivas_error core_switching_pre_dec_fx( set16_fx( st->dm_fx.prev_gain_pit, 0, 6 ); st->last_coder_type = GENERIC; move16(); #ifdef FIX_2379_REMOVE_previoussynth_fx_32 Word32 previoussynth_fx_32[L_FRAME48k]; Copy_Scale_sig_16_32_no_sat( st->previoussynth_fx, previoussynth_fx_32, output_frame, 0 ); fer_energy_fx( output_frame, UNVOICED_CLAS, previoussynth_fx_32, 0, -1, &st->enr_old_fx, 1 ); /*Q0*/ #else fer_energy_fx( output_frame, UNVOICED_CLAS, st->previoussynth_fx_32, 0, -1, &st->enr_old_fx, 1 ); /*Q-0*/ #endif st->lp_gainp_fx = 0; move16(); Loading
lib_dec/init_dec_fx.c +2 −0 Original line number Diff line number Diff line Loading @@ -436,7 +436,9 @@ ivas_error init_decoder_fx( set16_fx( st_fx->previoussynth_fx, 0, L_FRAME48k ); set32_fx( st_fx->delay_buf_out32_fx, 0, HQ_DELTA_MAX * HQ_DELAY_COMP ); #ifndef FIX_2379_REMOVE_previoussynth_fx_32 set32_fx( st_fx->previoussynth_fx_32, 0, L_FRAME48k ); #endif IF( st_fx->element_mode == EVS_MONO ) { Loading
lib_dec/ivas_core_dec_fx.c +4 −2 Original line number Diff line number Diff line Loading @@ -446,8 +446,9 @@ ivas_error ivas_core_dec_fx( move16(); move16(); #ifndef FIX_2379_REMOVE_previoussynth_fx_32 Copy_Scale_sig_16_32_DEPREC( st->previoussynth_fx, st->previoussynth_fx_32, L_FRAME48k, 0 ); // Q0 #endif IF( NE_32( ( error = core_switching_pre_dec_fx( st, output_frame, sts[0]->last_core_brate, nchan_out, last_element_mode, last_element_brate, st->Q_syn, &Q_olapBufferSynth, &Q_olapBufferSynth2 ) ), IVAS_ERR_OK ) ) { return error; Loading Loading @@ -557,8 +558,9 @@ ivas_error ivas_core_dec_fx( } } #ifndef FIX_2379_REMOVE_previoussynth_fx_32 Copy_Scale_sig_32_16( st->previoussynth_fx_32, st->previoussynth_fx, L_FRAME48k, 0 ); // Q0 #endif test(); test(); IF( ( EQ_16( st->core, TCX_20_CORE ) || EQ_16( st->core, TCX_10_CORE ) ) && NE_16( st->element_mode, IVAS_CPE_MDCT ) ) Loading