Loading lib_com/hq2_core_com_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -169,7 +169,11 @@ void mdct_spectrum_denorm_fx( /*gamma *= gain_tweak; */ L_tmp = L_mult(gamma_fx, gain_tweak_fx); /* Qgamma+Qtweak+1 */ exp_norm = norm_l(L_tmp); #ifdef BASOP_NOGLOB gamma_fx = round_fx_o(L_shl_o(L_tmp, exp_norm, &Overflow), &Overflow); #else gamma_fx = round_fx(L_shl(L_tmp, exp_norm)); #endif Qgamma = sub(add(add(Qgamma, Qtweak), exp_norm), 15);/*Qgamma+Qtweak+1+exp_norm-16; */ } Loading lib_enc/enc_acelpx.c +28 −2 Original line number Diff line number Diff line Loading @@ -138,7 +138,9 @@ static void E_ACELP_2pulse_searchx( Word32 alp0, alp1, alp2, s; Word16 *pR, sgnx; Word16 sqk[2], alpk[2], ik; #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif /* eight dn2 max positions per track */ pos_x = &dn2[shl(track_x,3)]; Loading @@ -163,7 +165,12 @@ static void E_ACELP_2pulse_searchx( { sgnx = negate(sgnx); } #ifdef BASOP_NOGLOB if (mac_ro(L_mac_o(L_mac_o(alp0, cor[x], sign[x], &Overflow), cor[track_y], sign[track_y], &Overflow), R[track_y-x], sgnx, &Overflow) < 0) #else if (mac_r(L_mac(L_mac(alp0, cor[x], sign[x]), cor[track_y], sign[track_y]), R[track_y-x], sgnx) < 0) #endif { sqk[0] = 1; move16(); Loading @@ -184,8 +191,11 @@ static void E_ACELP_2pulse_searchx( /*ps1 = ps0 + dn[x]; INDIRECT(1);ADD(1);*/ ps1 = add(ps0, dn[x]); /*alp1 = alp0 + 2*sgnx*cor[x]; INDIRECT(1);MULT(1); MAC(1);*/ #ifdef BASOP_NOGLOB alp1 = L_mac_o(alp0, cor[x], sgnx, &Overflow); /* Qalp = (Q_R=Q_cor)*Q_signval */ #else alp1 = L_mac(alp0, cor[x], sgnx); /* Qalp = (Q_R=Q_cor)*Q_signval */ #endif pR = R-x; FOR (y = track_y; y < L_SUBFR; y += 4) Loading @@ -201,14 +211,26 @@ static void E_ACELP_2pulse_searchx( assert(sgnx != 0); alp2_16 = 0; #ifdef BASOP_NOGLOB alp2 = L_mac_o(alp1, cor[y], sign[y], &Overflow); /* Qalp = (Q_R=Q_cor)*Q_signval */ #else alp2 = L_mac(alp1, cor[y], sign[y]); /* Qalp = (Q_R=Q_cor)*Q_signval */ #endif if (sgnx > 0) { #ifdef BASOP_NOGLOB alp2_16 = mac_ro(alp2, pR[y], sign[y], &Overflow); /* Qalp = (Q_R=Q_cor)*Q_signval */ #else alp2_16 = mac_r(alp2, pR[y], sign[y]); /* Qalp = (Q_R=Q_cor)*Q_signval */ #endif } if (sgnx < 0) { #ifdef BASOP_NOGLOB alp2_16 = msu_ro(alp2, pR[y], sign[y], &Overflow); /* Qalp = (Q_R=Q_cor)*Q_signval */ #else alp2_16 = msu_r(alp2, pR[y], sign[y]); /* Qalp = (Q_R=Q_cor)*Q_signval */ #endif } alpk[1-ik] = alp2_16; move16(); Loading @@ -220,7 +242,11 @@ static void E_ACELP_2pulse_searchx( /*s = (alpk * sq) - (sqk * alp2); MULT(1);MAC(1);*/ #ifdef BASOP_NOGLOB s = L_msu_o(L_mult(alpk[ik], sq), sqk[ik], alp2_16, &Overflow); /* Q_sq = Q_sqk, Q_alpk = Q_alp */ #else s = L_msu(L_mult(alpk[ik], sq), sqk[ik], alp2_16); /* Q_sq = Q_sqk, Q_alpk = Q_alp */ #endif if (s > 0) { ik = sub(1, ik); Loading lib_enc/tcx_utils_enc.c +5 −1 Original line number Diff line number Diff line Loading @@ -1216,7 +1216,11 @@ void tcx_noise_factor( att = BASOP_Util_Divide3232_Scale( L_shl(L_min(accu1, accu2), 1), L_add(accu1, accu2), &s ); att = Sqrt16(att, &s); BASOP_SATURATE_WARNING_OFF; /* att is always <= 1.0 */ #ifdef BASOP_NOGLOB att = shl_o(att, s, &Overflow); #else att = shl(att, s); #endif BASOP_SATURATE_WARNING_ON; } ELSE Loading Loading
lib_com/hq2_core_com_fx.c +4 −0 Original line number Diff line number Diff line Loading @@ -169,7 +169,11 @@ void mdct_spectrum_denorm_fx( /*gamma *= gain_tweak; */ L_tmp = L_mult(gamma_fx, gain_tweak_fx); /* Qgamma+Qtweak+1 */ exp_norm = norm_l(L_tmp); #ifdef BASOP_NOGLOB gamma_fx = round_fx_o(L_shl_o(L_tmp, exp_norm, &Overflow), &Overflow); #else gamma_fx = round_fx(L_shl(L_tmp, exp_norm)); #endif Qgamma = sub(add(add(Qgamma, Qtweak), exp_norm), 15);/*Qgamma+Qtweak+1+exp_norm-16; */ } Loading
lib_enc/enc_acelpx.c +28 −2 Original line number Diff line number Diff line Loading @@ -138,7 +138,9 @@ static void E_ACELP_2pulse_searchx( Word32 alp0, alp1, alp2, s; Word16 *pR, sgnx; Word16 sqk[2], alpk[2], ik; #ifdef BASOP_NOGLOB Flag Overflow = 0; #endif /* eight dn2 max positions per track */ pos_x = &dn2[shl(track_x,3)]; Loading @@ -163,7 +165,12 @@ static void E_ACELP_2pulse_searchx( { sgnx = negate(sgnx); } #ifdef BASOP_NOGLOB if (mac_ro(L_mac_o(L_mac_o(alp0, cor[x], sign[x], &Overflow), cor[track_y], sign[track_y], &Overflow), R[track_y-x], sgnx, &Overflow) < 0) #else if (mac_r(L_mac(L_mac(alp0, cor[x], sign[x]), cor[track_y], sign[track_y]), R[track_y-x], sgnx) < 0) #endif { sqk[0] = 1; move16(); Loading @@ -184,8 +191,11 @@ static void E_ACELP_2pulse_searchx( /*ps1 = ps0 + dn[x]; INDIRECT(1);ADD(1);*/ ps1 = add(ps0, dn[x]); /*alp1 = alp0 + 2*sgnx*cor[x]; INDIRECT(1);MULT(1); MAC(1);*/ #ifdef BASOP_NOGLOB alp1 = L_mac_o(alp0, cor[x], sgnx, &Overflow); /* Qalp = (Q_R=Q_cor)*Q_signval */ #else alp1 = L_mac(alp0, cor[x], sgnx); /* Qalp = (Q_R=Q_cor)*Q_signval */ #endif pR = R-x; FOR (y = track_y; y < L_SUBFR; y += 4) Loading @@ -201,14 +211,26 @@ static void E_ACELP_2pulse_searchx( assert(sgnx != 0); alp2_16 = 0; #ifdef BASOP_NOGLOB alp2 = L_mac_o(alp1, cor[y], sign[y], &Overflow); /* Qalp = (Q_R=Q_cor)*Q_signval */ #else alp2 = L_mac(alp1, cor[y], sign[y]); /* Qalp = (Q_R=Q_cor)*Q_signval */ #endif if (sgnx > 0) { #ifdef BASOP_NOGLOB alp2_16 = mac_ro(alp2, pR[y], sign[y], &Overflow); /* Qalp = (Q_R=Q_cor)*Q_signval */ #else alp2_16 = mac_r(alp2, pR[y], sign[y]); /* Qalp = (Q_R=Q_cor)*Q_signval */ #endif } if (sgnx < 0) { #ifdef BASOP_NOGLOB alp2_16 = msu_ro(alp2, pR[y], sign[y], &Overflow); /* Qalp = (Q_R=Q_cor)*Q_signval */ #else alp2_16 = msu_r(alp2, pR[y], sign[y]); /* Qalp = (Q_R=Q_cor)*Q_signval */ #endif } alpk[1-ik] = alp2_16; move16(); Loading @@ -220,7 +242,11 @@ static void E_ACELP_2pulse_searchx( /*s = (alpk * sq) - (sqk * alp2); MULT(1);MAC(1);*/ #ifdef BASOP_NOGLOB s = L_msu_o(L_mult(alpk[ik], sq), sqk[ik], alp2_16, &Overflow); /* Q_sq = Q_sqk, Q_alpk = Q_alp */ #else s = L_msu(L_mult(alpk[ik], sq), sqk[ik], alp2_16); /* Q_sq = Q_sqk, Q_alpk = Q_alp */ #endif if (s > 0) { ik = sub(1, ik); Loading
lib_enc/tcx_utils_enc.c +5 −1 Original line number Diff line number Diff line Loading @@ -1216,7 +1216,11 @@ void tcx_noise_factor( att = BASOP_Util_Divide3232_Scale( L_shl(L_min(accu1, accu2), 1), L_add(accu1, accu2), &s ); att = Sqrt16(att, &s); BASOP_SATURATE_WARNING_OFF; /* att is always <= 1.0 */ #ifdef BASOP_NOGLOB att = shl_o(att, s, &Overflow); #else att = shl(att, s); #endif BASOP_SATURATE_WARNING_ON; } ELSE Loading