Loading lib_enc/acelp_core_enc_fx.c +1 −1 Original line number Diff line number Diff line Loading @@ -434,7 +434,7 @@ ivas_error acelp_core_enc_fx( { IF( st->hTdCngEnc != NULL ) { #ifdef HARMONIZE_2539_cng_energy #ifdef HARMONIZE_2539_cng_energy_ enr = cng_energy_fx( st->element_mode, st->bwidth, st->hDtxEnc->CNG_mode, st->hTdCngEnc->CNG_att_fx, exc_fx, st->L_frame, Q_new ); /* Q8 */ #else enr = cng_energy_ivas_fx( st->element_mode, st->bwidth, st->hDtxEnc->CNG_mode, st->hTdCngEnc->CNG_att_fx, exc_fx, st->L_frame, Q_new ); /* Q8 */ Loading lib_enc/fd_cng_enc_fx.c +27 −11 Original line number Diff line number Diff line Loading @@ -1163,12 +1163,6 @@ void generate_comfort_noise_enc_fx( return; } #ifndef HARMONIZE_2539_cng_energy /*-------------------------------------------------------------------* * cng_energy_fx() * * *-------------------------------------------------------------------*/ /*! r: CNG energy */ Word16 cng_energy_fx( Loading Loading @@ -1199,18 +1193,32 @@ Word16 cng_energy_fx( scale = norm_s( maxv ); pt_res = exc; L_ener = L_deposit_l( 1 ); #ifdef HARMONIZE_2539_cng_energy Word16 scale_tmp; Word32 scale_tmp32; scale_tmp = scale; scale_tmp32 = L_shr( 0x40000000, 7 - 1 ); #endif IF( EQ_16( len, L_FRAME ) ) { FOR( i = 0; i < 128; i++ ) { #ifdef HARMONIZE_2539_cng_energy tmp16 = shl( *pt_res, scale_tmp ); #else tmp16 = shl( *pt_res, scale ); #endif L_tmp = L_mult0( tmp16, tmp16 ); pt_res++; #ifdef HARMONIZE_2539_cng_energy tmp16 = shl( *pt_res, scale_tmp ); #else tmp16 = shl( *pt_res, scale ); #endif L_tmp = L_mac0_sat( L_tmp, tmp16, tmp16 ); /* 2*(Q_new+scale) */ pt_res++; #ifdef HARMONIZE_2539_cng_energy W_ener = W_msu0_32_32( W_ener, L_tmp, L_shr( 0x40000000, 7 - 1 ) ); /* 2*(Q_new+scale)+1, divide by L_frame done here */ W_ener = W_msu0_32_32( W_ener, L_tmp, scale_tmp32 ); /* 2*(Q_new+scale)+1, divide by L_frame done here */ #else L_ener = L_add( L_ener, L_shr( L_tmp, 7 ) ); /* 2*(Q_new+scale)+1, divide by L_frame done here */ #endif Loading @@ -1220,14 +1228,22 @@ Word16 cng_energy_fx( { FOR( i = 0; i < 160; i++ ) { #ifdef HARMONIZE_2539_cng_energy tmp16 = shl( *pt_res, scale_tmp ); #else tmp16 = shl( *pt_res, scale ); #endif L_tmp = L_mult0( tmp16, tmp16 ); pt_res++; #ifdef HARMONIZE_2539_cng_energy tmp16 = shl( *pt_res, scale_tmp ); #else tmp16 = shl( *pt_res, scale ); L_tmp = L_mac0_sat( L_tmp, tmp16, tmp16 ); /* 2*(Q_new+scale) */ #endif L_tmp = L_mac0_sat( L_tmp, tmp16, tmp16 ); pt_res++; #ifdef HARMONIZE_2539_cng_energy W_ener = W_msu0_32_32( W_ener, Mult_32_16( L_tmp, 26214 /* 256/320, Q15 */ ), L_shr( 0x40000000, 7 - 1 ) ); /* 2*(Q_new+scale)+15+1-16+1, divide by L_frame done here */ W_ener = W_msu0_32_32( W_ener, Mult_32_16( L_tmp, 26214 /* 256/320, Q15 */ ), scale_tmp32 ); /* 2*(Q_new+scale)+15+1-16+1, divide by L_frame done here */ #else L_ener = L_add( L_ener, L_shr( Mult_32_16( L_tmp, 26214 /* 256/320, Q15 */ ), 7 ) ); /* 2*(Q_new+scale)+15+1-16+1, divide by L_frame done here */ #endif Loading Loading @@ -1273,7 +1289,7 @@ Word16 cng_energy_fx( return enr; } #endif /*-------------------------------------------------------------------* * cng_energy_ivas_fx() Loading @@ -1282,7 +1298,7 @@ Word16 cng_energy_fx( *-------------------------------------------------------------------*/ /*! r: CNG energy */ #ifdef HARMONIZE_2539_cng_energy #ifdef HARMONIZE_2539_cng_energy_ Word16 cng_energy_fx( #else Word16 cng_energy_ivas_fx( Loading lib_enc/prot_fx_enc.h +1 −1 Original line number Diff line number Diff line Loading @@ -3860,7 +3860,7 @@ void writeLPCparam_fx( const Word16 no_param_lpc, /* i : number of LPC parameters */ Word16 *nbits_lpc /* o : LPC bits written */ ); #ifndef HARMONIZE_2539_cng_energy #ifndef HARMONIZE_2539_cng_energy_ Word16 cng_energy_ivas_fx( const Word16 element_mode, /* i : element mode */ const Word16 bwidth, /* i : audio bandwidh */ Loading Loading
lib_enc/acelp_core_enc_fx.c +1 −1 Original line number Diff line number Diff line Loading @@ -434,7 +434,7 @@ ivas_error acelp_core_enc_fx( { IF( st->hTdCngEnc != NULL ) { #ifdef HARMONIZE_2539_cng_energy #ifdef HARMONIZE_2539_cng_energy_ enr = cng_energy_fx( st->element_mode, st->bwidth, st->hDtxEnc->CNG_mode, st->hTdCngEnc->CNG_att_fx, exc_fx, st->L_frame, Q_new ); /* Q8 */ #else enr = cng_energy_ivas_fx( st->element_mode, st->bwidth, st->hDtxEnc->CNG_mode, st->hTdCngEnc->CNG_att_fx, exc_fx, st->L_frame, Q_new ); /* Q8 */ Loading
lib_enc/fd_cng_enc_fx.c +27 −11 Original line number Diff line number Diff line Loading @@ -1163,12 +1163,6 @@ void generate_comfort_noise_enc_fx( return; } #ifndef HARMONIZE_2539_cng_energy /*-------------------------------------------------------------------* * cng_energy_fx() * * *-------------------------------------------------------------------*/ /*! r: CNG energy */ Word16 cng_energy_fx( Loading Loading @@ -1199,18 +1193,32 @@ Word16 cng_energy_fx( scale = norm_s( maxv ); pt_res = exc; L_ener = L_deposit_l( 1 ); #ifdef HARMONIZE_2539_cng_energy Word16 scale_tmp; Word32 scale_tmp32; scale_tmp = scale; scale_tmp32 = L_shr( 0x40000000, 7 - 1 ); #endif IF( EQ_16( len, L_FRAME ) ) { FOR( i = 0; i < 128; i++ ) { #ifdef HARMONIZE_2539_cng_energy tmp16 = shl( *pt_res, scale_tmp ); #else tmp16 = shl( *pt_res, scale ); #endif L_tmp = L_mult0( tmp16, tmp16 ); pt_res++; #ifdef HARMONIZE_2539_cng_energy tmp16 = shl( *pt_res, scale_tmp ); #else tmp16 = shl( *pt_res, scale ); #endif L_tmp = L_mac0_sat( L_tmp, tmp16, tmp16 ); /* 2*(Q_new+scale) */ pt_res++; #ifdef HARMONIZE_2539_cng_energy W_ener = W_msu0_32_32( W_ener, L_tmp, L_shr( 0x40000000, 7 - 1 ) ); /* 2*(Q_new+scale)+1, divide by L_frame done here */ W_ener = W_msu0_32_32( W_ener, L_tmp, scale_tmp32 ); /* 2*(Q_new+scale)+1, divide by L_frame done here */ #else L_ener = L_add( L_ener, L_shr( L_tmp, 7 ) ); /* 2*(Q_new+scale)+1, divide by L_frame done here */ #endif Loading @@ -1220,14 +1228,22 @@ Word16 cng_energy_fx( { FOR( i = 0; i < 160; i++ ) { #ifdef HARMONIZE_2539_cng_energy tmp16 = shl( *pt_res, scale_tmp ); #else tmp16 = shl( *pt_res, scale ); #endif L_tmp = L_mult0( tmp16, tmp16 ); pt_res++; #ifdef HARMONIZE_2539_cng_energy tmp16 = shl( *pt_res, scale_tmp ); #else tmp16 = shl( *pt_res, scale ); L_tmp = L_mac0_sat( L_tmp, tmp16, tmp16 ); /* 2*(Q_new+scale) */ #endif L_tmp = L_mac0_sat( L_tmp, tmp16, tmp16 ); pt_res++; #ifdef HARMONIZE_2539_cng_energy W_ener = W_msu0_32_32( W_ener, Mult_32_16( L_tmp, 26214 /* 256/320, Q15 */ ), L_shr( 0x40000000, 7 - 1 ) ); /* 2*(Q_new+scale)+15+1-16+1, divide by L_frame done here */ W_ener = W_msu0_32_32( W_ener, Mult_32_16( L_tmp, 26214 /* 256/320, Q15 */ ), scale_tmp32 ); /* 2*(Q_new+scale)+15+1-16+1, divide by L_frame done here */ #else L_ener = L_add( L_ener, L_shr( Mult_32_16( L_tmp, 26214 /* 256/320, Q15 */ ), 7 ) ); /* 2*(Q_new+scale)+15+1-16+1, divide by L_frame done here */ #endif Loading Loading @@ -1273,7 +1289,7 @@ Word16 cng_energy_fx( return enr; } #endif /*-------------------------------------------------------------------* * cng_energy_ivas_fx() Loading @@ -1282,7 +1298,7 @@ Word16 cng_energy_fx( *-------------------------------------------------------------------*/ /*! r: CNG energy */ #ifdef HARMONIZE_2539_cng_energy #ifdef HARMONIZE_2539_cng_energy_ Word16 cng_energy_fx( #else Word16 cng_energy_ivas_fx( Loading
lib_enc/prot_fx_enc.h +1 −1 Original line number Diff line number Diff line Loading @@ -3860,7 +3860,7 @@ void writeLPCparam_fx( const Word16 no_param_lpc, /* i : number of LPC parameters */ Word16 *nbits_lpc /* o : LPC bits written */ ); #ifndef HARMONIZE_2539_cng_energy #ifndef HARMONIZE_2539_cng_energy_ Word16 cng_energy_ivas_fx( const Word16 element_mode, /* i : element mode */ const Word16 bwidth, /* i : audio bandwidh */ Loading