Loading lib_com/options.h +2 −1 Original line number Diff line number Diff line Loading @@ -98,7 +98,8 @@ #define FIX_BASOP_2546_HARMONIZE_TCX_SCALAR /* FhG: Fix issue 2546 Harmonize function tcx_scalar_quantization_rateloop*/ #define FIX_BASOP_2532_cx_e /* FhG: Fix issue 2532 about additional exponent variable*/ #define HARMONIZE_2553_TonalConceal_Apply /* FhG: Harmonize TonalMDCTConceal_Apply with its ivas derivate */ #define HARMONIZE_2553_TonalConceal_Init /* FhG: Harmonize TonalMDCTConceal_Init with its ivas derivate */ //#define HARMONIZE_2553_TonalConceal_Init /* FhG: Harmonize TonalMDCTConceal_Init with its ivas derivate */ #define HARMONIZE_2553_TonalConceal_SaveFreqSignal /* FhG: Harmonize TonalConceal_SaveFreqSignal with its ivas derivate */ #define HARMONIZE_2543_SQ_gain /* FhG: Harmonize SQ_gain */ #define FIX_ISSUE_2533_EXTRA_CONDITION /* FhG: Fix issue basop 2533 removing the extra condition*/ #define HARMONIZE_2537_SetTCXModeInfo /* FhG: Harmonize SetTCXModeInfo - IVAS_VERSION OBVIOUSLY NOT FITTING FOR EVS - pipes not green */ Loading lib_com/prot_fx.h +7 −0 Original line number Diff line number Diff line Loading @@ -5665,6 +5665,7 @@ ivas_error TonalMDCTConceal_Init_ivas_fx( TCX_CONFIG_HANDLE hTcxCfg ); /* Must be called only when a good frame is recieved - concealment is inactive */ #ifndef HARMONIZE_2553_TonalConceal_SaveFreqSignal void TonalMDCTConceal_SaveFreqSignal_fx( TonalMDCTConcealPtr self, const Word32 *mdctSpectrum, Loading @@ -5674,8 +5675,14 @@ void TonalMDCTConceal_SaveFreqSignal_fx( const Word16 *scaleFactors, const Word16 *scaleFactors_exp, const Word16 gain_tcx_exp ); #endif #ifdef HARMONIZE_2553_TonalConceal_SaveFreqSignal void TonalMDCTConceal_SaveFreqSignal_fx( Word16 element_mode, #else void TonalMDCTConceal_SaveFreqSignal_ivas_fx( #endif TonalMDCTConcealPtr hTonalMDCTConc, const Word32 *mdctSpectrum, const Word16 mdctSpectrum_exp, Loading lib_dec/dec_tcx_fx.c +8 −0 Original line number Diff line number Diff line Loading @@ -814,7 +814,11 @@ void decoder_tcx_fx( IF( bfi == 0 ) { #ifdef HARMONIZE_2553_TonalConceal_SaveFreqSignal TonalMDCTConceal_SaveFreqSignal_fx( st->element_mode, st->hTonalMDCTConc, x, x_e, L_frameTCX, L_frame, gainlpc2, gainlpc2_e, gain_tcx_e, 0 ); #else TonalMDCTConceal_SaveFreqSignal_fx( st->hTonalMDCTConc, x, x_e, L_frameTCX, L_frame, gainlpc2, gainlpc2_e, gain_tcx_e ); #endif } ELSE { Loading Loading @@ -4883,7 +4887,11 @@ void decoder_tcx_noisefilling_fx( test(); IF( bfi == 0 && NE_16( st->element_mode, IVAS_CPE_MDCT ) ) { #ifdef HARMONIZE_2553_TonalConceal_SaveFreqSignal TonalMDCTConceal_SaveFreqSignal_fx( st->element_mode, st->hTonalMDCTConc, x, *x_e, L_frameTCX, L_frame, gainlpc2, gainlpc2_e, gain_tcx_e, infoIGFStartLine ); #else TonalMDCTConceal_SaveFreqSignal_ivas_fx( st->hTonalMDCTConc, x, *x_e, L_frameTCX, L_frame, gainlpc2, gainlpc2_e, gain_tcx_e, infoIGFStartLine ); #endif } ELSE IF( bfi ) { Loading lib_dec/ivas_mdct_core_dec_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -1588,7 +1588,11 @@ void ivas_mdct_core_tns_ns_fx( scf_e[ind] = sub( 15, q_shift ); move16(); } #ifdef HARMONIZE_2553_TonalConceal_SaveFreqSignal TonalMDCTConceal_SaveFreqSignal_fx( st->element_mode, st->hTonalMDCTConc, x_fx[ch][k], x_e, L_frameTCX[ch], L_frame[ch], &scf_fx[0], scf_e, 0, get_igf_startline_fx( st, L_frame[ch], L_frameTCX[ch] ) ); #else TonalMDCTConceal_SaveFreqSignal_ivas_fx( st->hTonalMDCTConc, x_fx[ch][k], x_e, L_frameTCX[ch], L_frame[ch], &scf_fx[0], scf_e, 0, get_igf_startline_fx( st, L_frame[ch], L_frameTCX[ch] ) ); #endif } } ELSE Loading lib_dec/ivas_stereo_mdct_core_dec_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -418,7 +418,11 @@ void stereo_mdct_core_dec_fx( } Word16 s = getScaleFactor32( x_fx[ch][k], L_frameTCX[ch] ); Scale_sig32( x_fx[ch][k], L_frameTCX[ch], s ); /* exp(x_e + 31 - s) */ #ifdef HARMONIZE_2553_TonalConceal_SaveFreqSignal TonalMDCTConceal_SaveFreqSignal_fx( 1 /*signal non-EVS*/, st->hTonalMDCTConc, x_fx[ch][k], sub( x_e[ch][k], s ), L_frameTCX[ch], L_frame[ch], &scf_fx[0], scf_e, 0, get_igf_startline_fx( st, L_frame[ch], L_frameTCX[ch] ) ); #else TonalMDCTConceal_SaveFreqSignal_ivas_fx( st->hTonalMDCTConc, x_fx[ch][k], sub( x_e[ch][k], s ), L_frameTCX[ch], L_frame[ch], &scf_fx[0], scf_e, 0, get_igf_startline_fx( st, L_frame[ch], L_frameTCX[ch] ) ); #endif Scale_sig32( x_fx[ch][k], L_frameTCX[ch], negate( s ) ); /* exp(x_e) */ } } Loading Loading
lib_com/options.h +2 −1 Original line number Diff line number Diff line Loading @@ -98,7 +98,8 @@ #define FIX_BASOP_2546_HARMONIZE_TCX_SCALAR /* FhG: Fix issue 2546 Harmonize function tcx_scalar_quantization_rateloop*/ #define FIX_BASOP_2532_cx_e /* FhG: Fix issue 2532 about additional exponent variable*/ #define HARMONIZE_2553_TonalConceal_Apply /* FhG: Harmonize TonalMDCTConceal_Apply with its ivas derivate */ #define HARMONIZE_2553_TonalConceal_Init /* FhG: Harmonize TonalMDCTConceal_Init with its ivas derivate */ //#define HARMONIZE_2553_TonalConceal_Init /* FhG: Harmonize TonalMDCTConceal_Init with its ivas derivate */ #define HARMONIZE_2553_TonalConceal_SaveFreqSignal /* FhG: Harmonize TonalConceal_SaveFreqSignal with its ivas derivate */ #define HARMONIZE_2543_SQ_gain /* FhG: Harmonize SQ_gain */ #define FIX_ISSUE_2533_EXTRA_CONDITION /* FhG: Fix issue basop 2533 removing the extra condition*/ #define HARMONIZE_2537_SetTCXModeInfo /* FhG: Harmonize SetTCXModeInfo - IVAS_VERSION OBVIOUSLY NOT FITTING FOR EVS - pipes not green */ Loading
lib_com/prot_fx.h +7 −0 Original line number Diff line number Diff line Loading @@ -5665,6 +5665,7 @@ ivas_error TonalMDCTConceal_Init_ivas_fx( TCX_CONFIG_HANDLE hTcxCfg ); /* Must be called only when a good frame is recieved - concealment is inactive */ #ifndef HARMONIZE_2553_TonalConceal_SaveFreqSignal void TonalMDCTConceal_SaveFreqSignal_fx( TonalMDCTConcealPtr self, const Word32 *mdctSpectrum, Loading @@ -5674,8 +5675,14 @@ void TonalMDCTConceal_SaveFreqSignal_fx( const Word16 *scaleFactors, const Word16 *scaleFactors_exp, const Word16 gain_tcx_exp ); #endif #ifdef HARMONIZE_2553_TonalConceal_SaveFreqSignal void TonalMDCTConceal_SaveFreqSignal_fx( Word16 element_mode, #else void TonalMDCTConceal_SaveFreqSignal_ivas_fx( #endif TonalMDCTConcealPtr hTonalMDCTConc, const Word32 *mdctSpectrum, const Word16 mdctSpectrum_exp, Loading
lib_dec/dec_tcx_fx.c +8 −0 Original line number Diff line number Diff line Loading @@ -814,7 +814,11 @@ void decoder_tcx_fx( IF( bfi == 0 ) { #ifdef HARMONIZE_2553_TonalConceal_SaveFreqSignal TonalMDCTConceal_SaveFreqSignal_fx( st->element_mode, st->hTonalMDCTConc, x, x_e, L_frameTCX, L_frame, gainlpc2, gainlpc2_e, gain_tcx_e, 0 ); #else TonalMDCTConceal_SaveFreqSignal_fx( st->hTonalMDCTConc, x, x_e, L_frameTCX, L_frame, gainlpc2, gainlpc2_e, gain_tcx_e ); #endif } ELSE { Loading Loading @@ -4883,7 +4887,11 @@ void decoder_tcx_noisefilling_fx( test(); IF( bfi == 0 && NE_16( st->element_mode, IVAS_CPE_MDCT ) ) { #ifdef HARMONIZE_2553_TonalConceal_SaveFreqSignal TonalMDCTConceal_SaveFreqSignal_fx( st->element_mode, st->hTonalMDCTConc, x, *x_e, L_frameTCX, L_frame, gainlpc2, gainlpc2_e, gain_tcx_e, infoIGFStartLine ); #else TonalMDCTConceal_SaveFreqSignal_ivas_fx( st->hTonalMDCTConc, x, *x_e, L_frameTCX, L_frame, gainlpc2, gainlpc2_e, gain_tcx_e, infoIGFStartLine ); #endif } ELSE IF( bfi ) { Loading
lib_dec/ivas_mdct_core_dec_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -1588,7 +1588,11 @@ void ivas_mdct_core_tns_ns_fx( scf_e[ind] = sub( 15, q_shift ); move16(); } #ifdef HARMONIZE_2553_TonalConceal_SaveFreqSignal TonalMDCTConceal_SaveFreqSignal_fx( st->element_mode, st->hTonalMDCTConc, x_fx[ch][k], x_e, L_frameTCX[ch], L_frame[ch], &scf_fx[0], scf_e, 0, get_igf_startline_fx( st, L_frame[ch], L_frameTCX[ch] ) ); #else TonalMDCTConceal_SaveFreqSignal_ivas_fx( st->hTonalMDCTConc, x_fx[ch][k], x_e, L_frameTCX[ch], L_frame[ch], &scf_fx[0], scf_e, 0, get_igf_startline_fx( st, L_frame[ch], L_frameTCX[ch] ) ); #endif } } ELSE Loading
lib_dec/ivas_stereo_mdct_core_dec_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -418,7 +418,11 @@ void stereo_mdct_core_dec_fx( } Word16 s = getScaleFactor32( x_fx[ch][k], L_frameTCX[ch] ); Scale_sig32( x_fx[ch][k], L_frameTCX[ch], s ); /* exp(x_e + 31 - s) */ #ifdef HARMONIZE_2553_TonalConceal_SaveFreqSignal TonalMDCTConceal_SaveFreqSignal_fx( 1 /*signal non-EVS*/, st->hTonalMDCTConc, x_fx[ch][k], sub( x_e[ch][k], s ), L_frameTCX[ch], L_frame[ch], &scf_fx[0], scf_e, 0, get_igf_startline_fx( st, L_frame[ch], L_frameTCX[ch] ) ); #else TonalMDCTConceal_SaveFreqSignal_ivas_fx( st->hTonalMDCTConc, x_fx[ch][k], sub( x_e[ch][k], s ), L_frameTCX[ch], L_frame[ch], &scf_fx[0], scf_e, 0, get_igf_startline_fx( st, L_frame[ch], L_frameTCX[ch] ) ); #endif Scale_sig32( x_fx[ch][k], L_frameTCX[ch], negate( s ) ); /* exp(x_e) */ } } Loading