Loading lib_enc/fd_cng_enc_fx.c +14 −6 Original line number Diff line number Diff line Loading @@ -1185,6 +1185,10 @@ Word16 cng_energy_fx( Word16 hi, lo, enr, tmp16, att; const Word16 *pt_res; Word32 L_ener, L_tmp; #ifdef HARMONIZE_2539_cng_energy Word64 W_ener = 0; move64(); #endif maxv = 0; move16(); Loading @@ -1206,7 +1210,7 @@ Word16 cng_energy_fx( 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 */ W_ener = W_msu0_32_32( W_ener, L_tmp, L_shr( 0x8000000, 7-1 ) ); /* 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 @@ -1223,14 +1227,14 @@ Word16 cng_energy_fx( 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 */ ), shr( 0x8000, 7 ) ); /* 2*(Q_new+scale)+15+1-16+1, divide by L_frame done here */ L_ener = W_msu0_32_32( W_ener, Mult_32_16( L_tmp, 26214 /* 256/320, Q15 */ ), shr( 0x8000, 7-1 ) ); /* 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 ); L_ener = W_extract_h( W_neg( W_ener ) ); #endif hi = norm_l( L_ener ); lo = Log2_norm_lc( L_shl( L_ener, hi ) ); Loading Loading @@ -1291,6 +1295,10 @@ Word16 cng_energy_ivas_fx( Word16 hi, lo, enr, tmp16, att; const Word16 *pt_res; Word32 L_ener, L_tmp; #ifdef HARMONIZE_2539_cng_energy Word64 W_ener = 0; move64(); #endif maxv = 0; move16(); Loading @@ -1312,7 +1320,7 @@ Word16 cng_energy_ivas_fx( 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 */ W_ener = W_msu0_32_32( W_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 Loading @@ -1329,14 +1337,14 @@ Word16 cng_energy_ivas_fx( 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 */ ), 0x8000 ); /* 2*(Q_new+scale)+15+1-16+1, divide by L_frame done here */ W_ener = W_msu0_32_32( 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 ); L_ener = L_shl( W_extract_h( W_neg( W_ener ) ), 1 ); #endif hi = norm_l( L_ener ); lo = Log2_norm_lc( L_shl( L_ener, hi ) ); Loading Loading
lib_enc/fd_cng_enc_fx.c +14 −6 Original line number Diff line number Diff line Loading @@ -1185,6 +1185,10 @@ Word16 cng_energy_fx( Word16 hi, lo, enr, tmp16, att; const Word16 *pt_res; Word32 L_ener, L_tmp; #ifdef HARMONIZE_2539_cng_energy Word64 W_ener = 0; move64(); #endif maxv = 0; move16(); Loading @@ -1206,7 +1210,7 @@ Word16 cng_energy_fx( 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 */ W_ener = W_msu0_32_32( W_ener, L_tmp, L_shr( 0x8000000, 7-1 ) ); /* 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 @@ -1223,14 +1227,14 @@ Word16 cng_energy_fx( 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 */ ), shr( 0x8000, 7 ) ); /* 2*(Q_new+scale)+15+1-16+1, divide by L_frame done here */ L_ener = W_msu0_32_32( W_ener, Mult_32_16( L_tmp, 26214 /* 256/320, Q15 */ ), shr( 0x8000, 7-1 ) ); /* 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 ); L_ener = W_extract_h( W_neg( W_ener ) ); #endif hi = norm_l( L_ener ); lo = Log2_norm_lc( L_shl( L_ener, hi ) ); Loading Loading @@ -1291,6 +1295,10 @@ Word16 cng_energy_ivas_fx( Word16 hi, lo, enr, tmp16, att; const Word16 *pt_res; Word32 L_ener, L_tmp; #ifdef HARMONIZE_2539_cng_energy Word64 W_ener = 0; move64(); #endif maxv = 0; move16(); Loading @@ -1312,7 +1320,7 @@ Word16 cng_energy_ivas_fx( 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 */ W_ener = W_msu0_32_32( W_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 Loading @@ -1329,14 +1337,14 @@ Word16 cng_energy_ivas_fx( 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 */ ), 0x8000 ); /* 2*(Q_new+scale)+15+1-16+1, divide by L_frame done here */ W_ener = W_msu0_32_32( 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 ); L_ener = L_shl( W_extract_h( W_neg( W_ener ) ), 1 ); #endif hi = norm_l( L_ener ); lo = Log2_norm_lc( L_shl( L_ener, hi ) ); Loading