Loading lib_com/gs_gains_fx.c +18 −11 Original line number Diff line number Diff line Loading @@ -241,6 +241,7 @@ void Comp_and_apply_gain_ivas_fx( } #endif /*========================================================================*/ /* FUNCTION : Ener_per_band_comp_fx() */ /*------------------------------------------------------------------------*/ Loading @@ -259,7 +260,6 @@ void Comp_and_apply_gain_ivas_fx( /* _ (Word32*) etmp14 : Energy band 14 Q_exc_diff*2+1 */ /* _ (Word32*) etmp15 : Energy band 15 Q_exc_diff*2+1 */ /*------------------------------------------------------------------------*/ /*------------------------------------------------------------------------*/ /* RETURN ARGUMENTS : */ /* _ None */ Loading @@ -286,6 +286,7 @@ static Word16 Comp_band_log_ener( return tmp16; } void Ener_per_band_comp_fx( const Word16 exc_diff_fx[], /* i : target signal Q_exc_diff */ Word16 y_gain4_fx[], /* o : Energy per band to quantize Q12 */ Loading Loading @@ -404,6 +405,7 @@ static void GSC_gain_adj( /* Gain adjustment to fit ACELP generic inactive coding gain at low rate */ Word16 Gain_off, i; Word16 Fac_div; Fac_div = 102; move16(); Loading Loading @@ -541,6 +543,7 @@ Word16 gsc_gaindec_fx( idx_g_fx = (Word16) get_next_indice_fx( st_fx, 7 ); VDQ_vec_fx( y_gainQ_fx + 6, Mean_dic_NB_fx + 6, Gain_dic3_NBHR_fx, idx_g_fx, 4 ); } test(); IF( LE_32( core_brate_fx, ACELP_9k60 ) && ( coder_type == INACTIVE ) ) { Loading Loading @@ -577,7 +580,9 @@ Word16 gsc_gaindec_fx( *--------------------------------------------------------------------------------------*/ idx_g_fx = (Word16) get_next_indice_fx( st_fx, 5 ); VDQ_vec_fx( y_gainQ_fx, YGain_mean_LR_fx, YGain_dic1_LR_fx, idx_g_fx, 3 ); IF( !( coder_type == INACTIVE && st_fx->tdm_LRTD_flag == 0 && EQ_16( st_fx->idchan, 1 ) ) || GT_32( st_fx->core_brate, GSC_LRES_GAINQ_LIMIT ) ) { idx_g_fx = (Word16) get_next_indice_fx( st_fx, 5 ); Loading @@ -601,7 +606,9 @@ Word16 gsc_gaindec_fx( move16(); y_gainQ_fx[11] = 0; move16(); ifft_rel_fx( y_gainQ_fx + 8, 8, 3 ); FOR( i = 8; i < 16; i++ ) { y_gainQ_fx[i] = round_fx( L_shl( L_mult( y_gainQ_fx[i], 23101 ), 1 ) ); /*Q12 */ Loading lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -118,8 +118,8 @@ #define FIX_2302_LSF_CDBK_THRESHOLD /* VA: basop issue 2302: fix threshold for LSF Q codebook-type decision */ #define FIX_1500_ISM_MD_DTX /* VA: float issue 1500: fix ISM elevation metadata smoothing in DTX */ #define FIX_2348_REPLACE_FEC_ENC /* VA: basop issue 2348: replace FEC_encode_ivas_fx with FEC_encode_fx */ #define FIX_2338_HARM_GSC_GAIN_COMP /* VA: basop issue 2338: harmonization of band gain computation for both EVS and IVAS */ /* ##################### End NON-BE switches ########################### */ Loading Loading
lib_com/gs_gains_fx.c +18 −11 Original line number Diff line number Diff line Loading @@ -241,6 +241,7 @@ void Comp_and_apply_gain_ivas_fx( } #endif /*========================================================================*/ /* FUNCTION : Ener_per_band_comp_fx() */ /*------------------------------------------------------------------------*/ Loading @@ -259,7 +260,6 @@ void Comp_and_apply_gain_ivas_fx( /* _ (Word32*) etmp14 : Energy band 14 Q_exc_diff*2+1 */ /* _ (Word32*) etmp15 : Energy band 15 Q_exc_diff*2+1 */ /*------------------------------------------------------------------------*/ /*------------------------------------------------------------------------*/ /* RETURN ARGUMENTS : */ /* _ None */ Loading @@ -286,6 +286,7 @@ static Word16 Comp_band_log_ener( return tmp16; } void Ener_per_band_comp_fx( const Word16 exc_diff_fx[], /* i : target signal Q_exc_diff */ Word16 y_gain4_fx[], /* o : Energy per band to quantize Q12 */ Loading Loading @@ -404,6 +405,7 @@ static void GSC_gain_adj( /* Gain adjustment to fit ACELP generic inactive coding gain at low rate */ Word16 Gain_off, i; Word16 Fac_div; Fac_div = 102; move16(); Loading Loading @@ -541,6 +543,7 @@ Word16 gsc_gaindec_fx( idx_g_fx = (Word16) get_next_indice_fx( st_fx, 7 ); VDQ_vec_fx( y_gainQ_fx + 6, Mean_dic_NB_fx + 6, Gain_dic3_NBHR_fx, idx_g_fx, 4 ); } test(); IF( LE_32( core_brate_fx, ACELP_9k60 ) && ( coder_type == INACTIVE ) ) { Loading Loading @@ -577,7 +580,9 @@ Word16 gsc_gaindec_fx( *--------------------------------------------------------------------------------------*/ idx_g_fx = (Word16) get_next_indice_fx( st_fx, 5 ); VDQ_vec_fx( y_gainQ_fx, YGain_mean_LR_fx, YGain_dic1_LR_fx, idx_g_fx, 3 ); IF( !( coder_type == INACTIVE && st_fx->tdm_LRTD_flag == 0 && EQ_16( st_fx->idchan, 1 ) ) || GT_32( st_fx->core_brate, GSC_LRES_GAINQ_LIMIT ) ) { idx_g_fx = (Word16) get_next_indice_fx( st_fx, 5 ); Loading @@ -601,7 +606,9 @@ Word16 gsc_gaindec_fx( move16(); y_gainQ_fx[11] = 0; move16(); ifft_rel_fx( y_gainQ_fx + 8, 8, 3 ); FOR( i = 8; i < 16; i++ ) { y_gainQ_fx[i] = round_fx( L_shl( L_mult( y_gainQ_fx[i], 23101 ), 1 ) ); /*Q12 */ Loading
lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -118,8 +118,8 @@ #define FIX_2302_LSF_CDBK_THRESHOLD /* VA: basop issue 2302: fix threshold for LSF Q codebook-type decision */ #define FIX_1500_ISM_MD_DTX /* VA: float issue 1500: fix ISM elevation metadata smoothing in DTX */ #define FIX_2348_REPLACE_FEC_ENC /* VA: basop issue 2348: replace FEC_encode_ivas_fx with FEC_encode_fx */ #define FIX_2338_HARM_GSC_GAIN_COMP /* VA: basop issue 2338: harmonization of band gain computation for both EVS and IVAS */ /* ##################### End NON-BE switches ########################### */ Loading