Loading lib_com/hq2_noise_inject_fx.c +5 −1 Original line number Diff line number Diff line Loading @@ -110,7 +110,7 @@ void hq2_noise_inject_fx( test(); test(); test(); IF( ( EQ_16( hqswb_clas, HQ_HARMONIC ) || EQ_16( hqswb_clas, HQ_NORMAL ) ) && ( EQ_32( bwe_br, HQ_16k40 ) || EQ_32( bwe_br, HQ_13k20 ) ) && EQ_16( bwidth, SWB ) ) IF( ( EQ_16( hqswb_clas, HQ_HARMONIC ) || hqswb_clas == HQ_NORMAL ) && ( EQ_32( bwe_br, HQ_16k40 ) || EQ_32( bwe_br, HQ_13k20 ) ) && EQ_16( bwidth, SWB ) ) { sb = 17; move16(); Loading Loading @@ -608,6 +608,8 @@ void hq2_noise_inject_fx( IF( EQ_16( k, max_pos_pulse ) && add( sub( k, bands ), p2a_bands ) < 0 && NE_16( satur, 1 ) && NE_16( bwidth, SWB ) ) { j = 0; move16(); Q_speech = norm_l( ni_gain_fx[k] ); tmp = extract_h( L_shl( ni_gain_fx[k], Q_speech ) ); /*Q(Q_speech+1) */ IF( tmp != 0 ) Loading Loading @@ -654,6 +656,8 @@ void hq2_noise_inject_fx( { tmp = 0x7fff; Q_speech = 0; move16(); move16(); } tmp1 = sub( fac_fx, 4096 ); /*Q12 */ L_tmp = L_mult( tmp1, j ); /*Q13 */ Loading lib_com/hq_bit_allocation_fx.c +3 −0 Original line number Diff line number Diff line Loading @@ -279,15 +279,18 @@ void hq_bit_allocation_fx( IF( EQ_32( core_brate, HQ_32k ) ) { *num_bits = sub( *num_bits, HQ_GENERIC_SWB_NBITS2 ); move16(); } ELSE { *num_bits = sub( *num_bits, HQ_GENERIC_SWB_NBITS ); move16(); } if ( EQ_16( hqswb_clas, HQ_GEN_FB ) ) { *num_bits = sub( *num_bits, HQ_GENERIC_FB_NBITS ); move16(); } } Loading lib_com/hq_conf.c +3 −1 Original line number Diff line number Diff line Loading @@ -406,6 +406,7 @@ void hq_configure_fx( *nb_sfm = HVQ_THRES_SFM_24k; move16(); *num_env_bands = sub( *num_sfm, *nb_sfm ); move16(); *start_norm = HVQ_THRES_SFM_24k; move16(); Loading @@ -417,6 +418,7 @@ void hq_configure_fx( *nb_sfm = HVQ_THRES_SFM_32k; move16(); *num_env_bands = sub( *num_sfm, *nb_sfm ); move16(); *start_norm = HVQ_THRES_SFM_32k; move16(); Loading Loading @@ -534,7 +536,7 @@ void hq_configure_fx( move16(); move16(); } else ELSE { Copy( p_sfmsize, sfmsize, *num_sfm ); Copy( p_sfm_start, sfm_start, *num_sfm ); Loading lib_com/hq_conf_fx.c +6 −1 Original line number Diff line number Diff line Loading @@ -169,6 +169,7 @@ void ivas_hq_configure_fx( *nb_sfm = HVQ_THRES_SFM_24k; move16(); *num_env_bands = sub( *num_sfm, *nb_sfm ); move16(); *start_norm = HVQ_THRES_SFM_24k; move16(); Loading @@ -180,6 +181,7 @@ void ivas_hq_configure_fx( *nb_sfm = HVQ_THRES_SFM_32k; move16(); *num_env_bands = sub( *num_sfm, *nb_sfm ); move16(); *start_norm = HVQ_THRES_SFM_32k; move16(); Loading Loading @@ -332,6 +334,7 @@ void hq_configure_evs_fx( Word16 i, bw_ext; bw_ext = 0; move16(); *start_norm = 0; move16(); Loading Loading @@ -465,6 +468,7 @@ void hq_configure_evs_fx( *nb_sfm = HVQ_THRES_SFM_24k; move16(); *num_env_bands = sub( *num_sfm, *nb_sfm ); move16(); *start_norm = HVQ_THRES_SFM_24k; move16(); Loading @@ -476,6 +480,7 @@ void hq_configure_evs_fx( *nb_sfm = HVQ_THRES_SFM_32k; move16(); *num_env_bands = sub( *num_sfm, *nb_sfm ); move16(); *start_norm = HVQ_THRES_SFM_32k; move16(); Loading Loading @@ -593,7 +598,7 @@ void hq_configure_evs_fx( move16(); move16(); } else ELSE { Copy( p_sfmsize, sfmsize, *num_sfm ); Copy( p_sfm_start, sfm_start, *num_sfm ); Loading lib_com/hq_tools_fx.c +10 −7 Original line number Diff line number Diff line Loading @@ -410,7 +410,6 @@ void apply_noisefill_HQ_fx( Word32 L_E_cb_vec; Word32 L_E_corr; test(); test(); IF( ( GE_16( length, L_FRAME32k ) ) || ( NE_32( L_core_brate, HQ_32k ) ) ) { Loading Loading @@ -864,7 +863,7 @@ void ivas_harm_bwe_fx( FOR( sfm = 0; sfm <= last_sfm; sfm++ ) { IF( EQ_16( R[sfm], 0 ) ) IF( R[sfm] == 0 ) { normq = dicn_fx[norm[sfm]]; /*Q14 */ move16(); Loading Loading @@ -1309,7 +1308,7 @@ void hvq_bwe_fx( } power_shift = shl( shift, 1 ); L_E = L_shr( L_E, sub( power_shift, 28 - 2 * qin ) ); /* Q28 */ L_E = L_shr( L_E, sub( power_shift, sub( 28, shl( qin, 1 ) ) ) ); /* Q28 */ /* E_L = (float)sqrt((sfm_end[norm_ind+1] - sfm_start[norm_ind])/E_L); */ L_E = Mult_32_16( L_E, inv_tbl_fx[band_size] ); /* Q28 (28+15+1-16) */ Loading Loading @@ -1623,14 +1622,14 @@ void noise_mix_fx( IF( L_tmp0 != 0 ) { /* Normalize with 1 bit headroom for addition */ tmp = 30 - ( qin + 2 ); /* Assuming fixed Q values */ tmp = sub( 30, add( qin, 2 ) ); /* Assuming fixed Q values */ tmp = s_min( norm_l( L_tmp0 ), tmp ); tmp = sub( tmp, 1 ); L_tmp0 = L_add( L_shl( L_tmp0, tmp ), L_deposit_l( lshr( lsb, sub( 16, tmp ) ) ) ); /* Qin+2+tmp */ L_tmp0 = L_add( L_tmp0, L_shr( L_mult0( noise_level, Random( seed ) ), sub( 30 - ( qin + 2 ), tmp ) ) ); /* Qin+2+tmp */ tmp = round_fx( L_shl( L_tmp0, 27 - ( qin + 2 ) - tmp ) ); /* Q11 (Qin+2+tmp+27-qin-2-tmp-16) */ tmp = round_fx( L_shl( L_tmp0, sub( sub( 27, add( qin, 2 ) ), tmp ) ) ); /* Q11 (Qin+2+tmp+27-qin-2-tmp-16) */ Mpy_32_16_ss( L_normq, tmp, &L_tmp0, &lsb ); /* Q10 (14+11+1-16) */ L_coeff_out[i] = L_add( L_shl( L_tmp0, qout - 10 ), L_deposit_l( lshr( lsb, 10 + 16 - qout ) ) ); move32(); /* Qout (10+qout-10) */ Loading Loading @@ -2000,7 +1999,7 @@ Word16 calc_nor_delta_hf_fx( delta = max_delta; move16(); } ELSE if ( LT_16( delta, min_delta ) ) ELSE IF( LT_16( delta, min_delta ) ) { delta = min_delta; move16(); Loading Loading @@ -2103,6 +2102,9 @@ void hq_wb_nf_bwe_fx( /* the variance of bit allocation */ total_bit = 0; bitalloc_var_fx = 0; move16(); move16(); FOR( sfm = 8; sfm <= last_sfm; sfm++ ) { tmp = abs_s( sub( R[sfm], R[sub( sfm, 1 )] ) ); Loading @@ -2125,6 +2127,7 @@ void hq_wb_nf_bwe_fx( ELSE { bitalloc_var_fx = 0; /*Q14 */ move16(); } /* calculate the peak-average ratio of saturable subbands */ num = 0; Loading Loading
lib_com/hq2_noise_inject_fx.c +5 −1 Original line number Diff line number Diff line Loading @@ -110,7 +110,7 @@ void hq2_noise_inject_fx( test(); test(); test(); IF( ( EQ_16( hqswb_clas, HQ_HARMONIC ) || EQ_16( hqswb_clas, HQ_NORMAL ) ) && ( EQ_32( bwe_br, HQ_16k40 ) || EQ_32( bwe_br, HQ_13k20 ) ) && EQ_16( bwidth, SWB ) ) IF( ( EQ_16( hqswb_clas, HQ_HARMONIC ) || hqswb_clas == HQ_NORMAL ) && ( EQ_32( bwe_br, HQ_16k40 ) || EQ_32( bwe_br, HQ_13k20 ) ) && EQ_16( bwidth, SWB ) ) { sb = 17; move16(); Loading Loading @@ -608,6 +608,8 @@ void hq2_noise_inject_fx( IF( EQ_16( k, max_pos_pulse ) && add( sub( k, bands ), p2a_bands ) < 0 && NE_16( satur, 1 ) && NE_16( bwidth, SWB ) ) { j = 0; move16(); Q_speech = norm_l( ni_gain_fx[k] ); tmp = extract_h( L_shl( ni_gain_fx[k], Q_speech ) ); /*Q(Q_speech+1) */ IF( tmp != 0 ) Loading Loading @@ -654,6 +656,8 @@ void hq2_noise_inject_fx( { tmp = 0x7fff; Q_speech = 0; move16(); move16(); } tmp1 = sub( fac_fx, 4096 ); /*Q12 */ L_tmp = L_mult( tmp1, j ); /*Q13 */ Loading
lib_com/hq_bit_allocation_fx.c +3 −0 Original line number Diff line number Diff line Loading @@ -279,15 +279,18 @@ void hq_bit_allocation_fx( IF( EQ_32( core_brate, HQ_32k ) ) { *num_bits = sub( *num_bits, HQ_GENERIC_SWB_NBITS2 ); move16(); } ELSE { *num_bits = sub( *num_bits, HQ_GENERIC_SWB_NBITS ); move16(); } if ( EQ_16( hqswb_clas, HQ_GEN_FB ) ) { *num_bits = sub( *num_bits, HQ_GENERIC_FB_NBITS ); move16(); } } Loading
lib_com/hq_conf.c +3 −1 Original line number Diff line number Diff line Loading @@ -406,6 +406,7 @@ void hq_configure_fx( *nb_sfm = HVQ_THRES_SFM_24k; move16(); *num_env_bands = sub( *num_sfm, *nb_sfm ); move16(); *start_norm = HVQ_THRES_SFM_24k; move16(); Loading @@ -417,6 +418,7 @@ void hq_configure_fx( *nb_sfm = HVQ_THRES_SFM_32k; move16(); *num_env_bands = sub( *num_sfm, *nb_sfm ); move16(); *start_norm = HVQ_THRES_SFM_32k; move16(); Loading Loading @@ -534,7 +536,7 @@ void hq_configure_fx( move16(); move16(); } else ELSE { Copy( p_sfmsize, sfmsize, *num_sfm ); Copy( p_sfm_start, sfm_start, *num_sfm ); Loading
lib_com/hq_conf_fx.c +6 −1 Original line number Diff line number Diff line Loading @@ -169,6 +169,7 @@ void ivas_hq_configure_fx( *nb_sfm = HVQ_THRES_SFM_24k; move16(); *num_env_bands = sub( *num_sfm, *nb_sfm ); move16(); *start_norm = HVQ_THRES_SFM_24k; move16(); Loading @@ -180,6 +181,7 @@ void ivas_hq_configure_fx( *nb_sfm = HVQ_THRES_SFM_32k; move16(); *num_env_bands = sub( *num_sfm, *nb_sfm ); move16(); *start_norm = HVQ_THRES_SFM_32k; move16(); Loading Loading @@ -332,6 +334,7 @@ void hq_configure_evs_fx( Word16 i, bw_ext; bw_ext = 0; move16(); *start_norm = 0; move16(); Loading Loading @@ -465,6 +468,7 @@ void hq_configure_evs_fx( *nb_sfm = HVQ_THRES_SFM_24k; move16(); *num_env_bands = sub( *num_sfm, *nb_sfm ); move16(); *start_norm = HVQ_THRES_SFM_24k; move16(); Loading @@ -476,6 +480,7 @@ void hq_configure_evs_fx( *nb_sfm = HVQ_THRES_SFM_32k; move16(); *num_env_bands = sub( *num_sfm, *nb_sfm ); move16(); *start_norm = HVQ_THRES_SFM_32k; move16(); Loading Loading @@ -593,7 +598,7 @@ void hq_configure_evs_fx( move16(); move16(); } else ELSE { Copy( p_sfmsize, sfmsize, *num_sfm ); Copy( p_sfm_start, sfm_start, *num_sfm ); Loading
lib_com/hq_tools_fx.c +10 −7 Original line number Diff line number Diff line Loading @@ -410,7 +410,6 @@ void apply_noisefill_HQ_fx( Word32 L_E_cb_vec; Word32 L_E_corr; test(); test(); IF( ( GE_16( length, L_FRAME32k ) ) || ( NE_32( L_core_brate, HQ_32k ) ) ) { Loading Loading @@ -864,7 +863,7 @@ void ivas_harm_bwe_fx( FOR( sfm = 0; sfm <= last_sfm; sfm++ ) { IF( EQ_16( R[sfm], 0 ) ) IF( R[sfm] == 0 ) { normq = dicn_fx[norm[sfm]]; /*Q14 */ move16(); Loading Loading @@ -1309,7 +1308,7 @@ void hvq_bwe_fx( } power_shift = shl( shift, 1 ); L_E = L_shr( L_E, sub( power_shift, 28 - 2 * qin ) ); /* Q28 */ L_E = L_shr( L_E, sub( power_shift, sub( 28, shl( qin, 1 ) ) ) ); /* Q28 */ /* E_L = (float)sqrt((sfm_end[norm_ind+1] - sfm_start[norm_ind])/E_L); */ L_E = Mult_32_16( L_E, inv_tbl_fx[band_size] ); /* Q28 (28+15+1-16) */ Loading Loading @@ -1623,14 +1622,14 @@ void noise_mix_fx( IF( L_tmp0 != 0 ) { /* Normalize with 1 bit headroom for addition */ tmp = 30 - ( qin + 2 ); /* Assuming fixed Q values */ tmp = sub( 30, add( qin, 2 ) ); /* Assuming fixed Q values */ tmp = s_min( norm_l( L_tmp0 ), tmp ); tmp = sub( tmp, 1 ); L_tmp0 = L_add( L_shl( L_tmp0, tmp ), L_deposit_l( lshr( lsb, sub( 16, tmp ) ) ) ); /* Qin+2+tmp */ L_tmp0 = L_add( L_tmp0, L_shr( L_mult0( noise_level, Random( seed ) ), sub( 30 - ( qin + 2 ), tmp ) ) ); /* Qin+2+tmp */ tmp = round_fx( L_shl( L_tmp0, 27 - ( qin + 2 ) - tmp ) ); /* Q11 (Qin+2+tmp+27-qin-2-tmp-16) */ tmp = round_fx( L_shl( L_tmp0, sub( sub( 27, add( qin, 2 ) ), tmp ) ) ); /* Q11 (Qin+2+tmp+27-qin-2-tmp-16) */ Mpy_32_16_ss( L_normq, tmp, &L_tmp0, &lsb ); /* Q10 (14+11+1-16) */ L_coeff_out[i] = L_add( L_shl( L_tmp0, qout - 10 ), L_deposit_l( lshr( lsb, 10 + 16 - qout ) ) ); move32(); /* Qout (10+qout-10) */ Loading Loading @@ -2000,7 +1999,7 @@ Word16 calc_nor_delta_hf_fx( delta = max_delta; move16(); } ELSE if ( LT_16( delta, min_delta ) ) ELSE IF( LT_16( delta, min_delta ) ) { delta = min_delta; move16(); Loading Loading @@ -2103,6 +2102,9 @@ void hq_wb_nf_bwe_fx( /* the variance of bit allocation */ total_bit = 0; bitalloc_var_fx = 0; move16(); move16(); FOR( sfm = 8; sfm <= last_sfm; sfm++ ) { tmp = abs_s( sub( R[sfm], R[sub( sfm, 1 )] ) ); Loading @@ -2125,6 +2127,7 @@ void hq_wb_nf_bwe_fx( ELSE { bitalloc_var_fx = 0; /*Q14 */ move16(); } /* calculate the peak-average ratio of saturable subbands */ num = 0; Loading