Loading lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -97,7 +97,7 @@ #define FIX_BASOP_2509_EVS_CONCEAL_UNINIT_MEM /* FhG: BASOP 2509: st->hTcxCfg->psychParamsCurrent is not initialized */ #define HARMONIZE_2499_CONFIGUREFDCNGDEC /* FhG: basop issue 2499: harmonoize configureFdCngDec */ #define FIX_BASOP_2530_IVAS_DECISION_MAT /* VA: Fix ambiguous usage of extract_l() */ #define HARMONIZE_2539_cng_energy /* FhG: basop issue 2499: harmonoize cng_energy */ /* #################### End BE switches ################################## */ Loading lib_enc/fd_cng_enc_fx.c +22 −2 Original line number Diff line number Diff line Loading @@ -1205,7 +1205,11 @@ Word16 cng_energy_fx( tmp16 = shl( *pt_res, scale ); L_tmp = L_mac0_sat( L_tmp, tmp16, tmp16 ); /* 2*(Q_new+scale) */ pt_res++; #ifdef HARMONIZE_2539_cng_energy L_ener = L_msu( L_ener, L_tmp, L_shr( 0x8000000, 7 ) ); /* 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 } } ELSE /* L_FRAME16k */ Loading @@ -1218,10 +1222,16 @@ Word16 cng_energy_fx( tmp16 = shl( *pt_res, scale ); L_tmp = L_mac0_sat( L_tmp, tmp16, tmp16 ); /* 2*(Q_new+scale) */ pt_res++; #ifdef HARMONIZE_2539_cng_energy L_ener = L_msu( L_ener, Mult_32_16( L_tmp, 26214 /* 256/320, Q15 */ ), L_shr( 0x80000000, 7 ) ); /* 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 } } #ifdef HARMONIZE_2539_cng_energy L_ener = L_negate( L_ener ); #endif hi = norm_l( L_ener ); lo = Log2_norm_lc( L_shl( L_ener, hi ) ); hi = sub( 30, add( hi, shl( add( Q_new, scale ), 1 ) ) ); /* log2 exp in Q2*(Q_new+scale) */ Loading Loading @@ -1301,7 +1311,11 @@ Word16 cng_energy_ivas_fx( tmp16 = shl( *pt_res, sub( scale, 4 ) ); // Q_new + scale - 4 L_tmp = L_mac0( L_tmp, tmp16, tmp16 ); /* 2*(Q_new+scale) + 7 */ pt_res++; #ifdef HARMONIZE_2539_cng_energy L_ener = L_msu( L_ener, L_tmp, 0x80000000 ); /* 2*(Q_new+scale)+1, divide by L_frame done here */ #else L_ener = L_add( L_ener, L_tmp ); /* 2*(Q_new+scale)+1, divide by L_frame done here */ #endif } } ELSE /* L_FRAME16k */ Loading @@ -1314,10 +1328,16 @@ Word16 cng_energy_ivas_fx( tmp16 = shl( *pt_res, sub( scale, 4 ) ); // Q_new + scale - 4 L_tmp = L_mac( L_tmp, tmp16, tmp16 ); /* 2*(Q_new+scale) - 7 */ pt_res++; #ifdef HARMONIZE_2539_cng_energy L_ener = L_msu( L_ener, Mult_32_16( L_tmp, 26214 /* 256/320, Q15 */ ), 0x80000000 ); /* 2*(Q_new+scale)+15+1-16+1, divide by L_frame done here */ #else L_ener = L_add( L_ener, Mult_32_16( L_tmp, 26214 /* 256/320, Q15 */ ) ); /* 2*(Q_new+scale)+15+1-16+1, divide by L_frame done here */ #endif } } #ifdef HARMONIZE_2539_cng_energy L_ener = L_negate( L_ener ); #endif hi = norm_l( L_ener ); lo = Log2_norm_lc( L_shl( L_ener, hi ) ); hi = sub( 30, add( hi, shl( add( Q_new, scale ), 1 ) ) ); /* log2 exp in Q2*(Q_new+scale) */ Loading Loading
lib_com/options.h +1 −1 Original line number Diff line number Diff line Loading @@ -97,7 +97,7 @@ #define FIX_BASOP_2509_EVS_CONCEAL_UNINIT_MEM /* FhG: BASOP 2509: st->hTcxCfg->psychParamsCurrent is not initialized */ #define HARMONIZE_2499_CONFIGUREFDCNGDEC /* FhG: basop issue 2499: harmonoize configureFdCngDec */ #define FIX_BASOP_2530_IVAS_DECISION_MAT /* VA: Fix ambiguous usage of extract_l() */ #define HARMONIZE_2539_cng_energy /* FhG: basop issue 2499: harmonoize cng_energy */ /* #################### End BE switches ################################## */ Loading
lib_enc/fd_cng_enc_fx.c +22 −2 Original line number Diff line number Diff line Loading @@ -1205,7 +1205,11 @@ Word16 cng_energy_fx( tmp16 = shl( *pt_res, scale ); L_tmp = L_mac0_sat( L_tmp, tmp16, tmp16 ); /* 2*(Q_new+scale) */ pt_res++; #ifdef HARMONIZE_2539_cng_energy L_ener = L_msu( L_ener, L_tmp, L_shr( 0x8000000, 7 ) ); /* 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 } } ELSE /* L_FRAME16k */ Loading @@ -1218,10 +1222,16 @@ Word16 cng_energy_fx( tmp16 = shl( *pt_res, scale ); L_tmp = L_mac0_sat( L_tmp, tmp16, tmp16 ); /* 2*(Q_new+scale) */ pt_res++; #ifdef HARMONIZE_2539_cng_energy L_ener = L_msu( L_ener, Mult_32_16( L_tmp, 26214 /* 256/320, Q15 */ ), L_shr( 0x80000000, 7 ) ); /* 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 } } #ifdef HARMONIZE_2539_cng_energy L_ener = L_negate( L_ener ); #endif hi = norm_l( L_ener ); lo = Log2_norm_lc( L_shl( L_ener, hi ) ); hi = sub( 30, add( hi, shl( add( Q_new, scale ), 1 ) ) ); /* log2 exp in Q2*(Q_new+scale) */ Loading Loading @@ -1301,7 +1311,11 @@ Word16 cng_energy_ivas_fx( tmp16 = shl( *pt_res, sub( scale, 4 ) ); // Q_new + scale - 4 L_tmp = L_mac0( L_tmp, tmp16, tmp16 ); /* 2*(Q_new+scale) + 7 */ pt_res++; #ifdef HARMONIZE_2539_cng_energy L_ener = L_msu( L_ener, L_tmp, 0x80000000 ); /* 2*(Q_new+scale)+1, divide by L_frame done here */ #else L_ener = L_add( L_ener, L_tmp ); /* 2*(Q_new+scale)+1, divide by L_frame done here */ #endif } } ELSE /* L_FRAME16k */ Loading @@ -1314,10 +1328,16 @@ Word16 cng_energy_ivas_fx( tmp16 = shl( *pt_res, sub( scale, 4 ) ); // Q_new + scale - 4 L_tmp = L_mac( L_tmp, tmp16, tmp16 ); /* 2*(Q_new+scale) - 7 */ pt_res++; #ifdef HARMONIZE_2539_cng_energy L_ener = L_msu( L_ener, Mult_32_16( L_tmp, 26214 /* 256/320, Q15 */ ), 0x80000000 ); /* 2*(Q_new+scale)+15+1-16+1, divide by L_frame done here */ #else L_ener = L_add( L_ener, Mult_32_16( L_tmp, 26214 /* 256/320, Q15 */ ) ); /* 2*(Q_new+scale)+15+1-16+1, divide by L_frame done here */ #endif } } #ifdef HARMONIZE_2539_cng_energy L_ener = L_negate( L_ener ); #endif hi = norm_l( L_ener ); lo = Log2_norm_lc( L_shl( L_ener, hi ) ); hi = sub( 30, add( hi, shl( add( Q_new, scale ), 1 ) ) ); /* log2 exp in Q2*(Q_new+scale) */ Loading