Loading lib_com/swb_bwe_com_fx.c +13 −12 Original line number Diff line number Diff line Loading @@ -61,9 +61,6 @@ Word16 WB_BWE_gain_pred_fx( Word32 L_WB_fenv0, L_WB_fenv1; Word16 pitch_buf_tmp[4]; Word16 alfa = 32767; #ifdef BASOP_NOGLOB_DECLARE_LOCAL Flag Overflow = 0; #endif move16(); mode = NORMAL; Loading @@ -73,7 +70,7 @@ Word16 WB_BWE_gain_pred_fx( FOR (n_freq = 128; n_freq<192; n_freq++) { #ifdef BASOP_NOGLOB enerL = L_mac0_o( enerL, core_dec_freq[n_freq], core_dec_freq[n_freq], &Overflow ); /*2(Q_syn) */ enerL = L_mac0_sat( enerL, core_dec_freq[n_freq], core_dec_freq[n_freq]); /*2(Q_syn) */ #else enerL = L_mac0( enerL, core_dec_freq[n_freq], core_dec_freq[n_freq] ); /*2(Q_syn) */ #endif Loading @@ -83,7 +80,7 @@ Word16 WB_BWE_gain_pred_fx( FOR (n_freq = 192; n_freq<224; n_freq++) { #ifdef BASOP_NOGLOB L_WB_fenv0 = L_mac0_o(L_WB_fenv0, core_dec_freq[n_freq],core_dec_freq[n_freq], &Overflow);/*2*Q_syn */ L_WB_fenv0 = L_mac0_sat(L_WB_fenv0, core_dec_freq[n_freq],core_dec_freq[n_freq]);/*2*Q_syn */ #else L_WB_fenv0 = L_mac0(L_WB_fenv0, core_dec_freq[n_freq],core_dec_freq[n_freq]);/*2*Q_syn */ #endif Loading @@ -93,7 +90,7 @@ Word16 WB_BWE_gain_pred_fx( FOR (n_freq = 224; n_freq<256; n_freq++) { #ifdef BASOP_NOGLOB L_WB_fenv1= L_mac0_o(L_WB_fenv1, core_dec_freq[n_freq],core_dec_freq[n_freq], &Overflow);/*2*Q_syn */ L_WB_fenv1= L_mac0_sat(L_WB_fenv1, core_dec_freq[n_freq],core_dec_freq[n_freq]);/*2*Q_syn */ #else L_WB_fenv1= L_mac0(L_WB_fenv1, core_dec_freq[n_freq],core_dec_freq[n_freq]);/*2*Q_syn */ #endif Loading @@ -115,7 +112,7 @@ Word16 WB_BWE_gain_pred_fx( test(); #ifdef BASOP_NOGLOB IF(GT_32(L_WB_fenv0, L_shl_o(L_WB_fenv1,1, &Overflow))) IF(GT_32(L_WB_fenv0, L_shl_sat(L_WB_fenv1,1))) #else IF(GT_32(L_WB_fenv0, L_shl(L_WB_fenv1,1))) #endif Loading @@ -130,7 +127,7 @@ Word16 WB_BWE_gain_pred_fx( L_WB_fenv0 = Mult_32_16(L_WB_fenv0, alfa);/*2*Q_syn+15-15->2*Q_syn */ } #ifdef BASOP_NOGLOB ELSE IF (GT_32(L_WB_fenv1, L_shl_o(L_WB_fenv0, 1, &Overflow))&&NE_16(coder_type,UNVOICED)) ELSE IF (GT_32(L_WB_fenv1, L_shl_sat(L_WB_fenv0, 1))&&NE_16(coder_type,UNVOICED)) #else ELSE IF (GT_32(L_WB_fenv1, L_shl(L_WB_fenv0, 1))&&NE_16(coder_type,UNVOICED)) #endif Loading Loading @@ -161,7 +158,7 @@ Word16 WB_BWE_gain_pred_fx( } #ifdef BASOP_NOGLOB L_tmp = L_add_o(L_WB_fenv0, L_WB_fenv1, &Overflow); /* In 2*Q_syn */ L_tmp = L_add_sat(L_WB_fenv0, L_WB_fenv1); /* In 2*Q_syn */ #else L_tmp = L_add(L_WB_fenv0, L_WB_fenv1); /* In 2*Q_syn */ #endif Loading Loading @@ -192,7 +189,7 @@ Word16 WB_BWE_gain_pred_fx( L_tmp = L_deposit_h(tmp); L_tmp = Isqrt_lc(L_tmp, &exp); #ifdef BASOP_NOGLOB enerL_16 = round_fx_o(L_shl_o(L_tmp, sub(exp, 15), &Overflow), &Overflow); /* Q0 */ enerL_16 = round_fx_sat(L_shl_sat(L_tmp, sub(exp, 15))); /* Q0 */ #else enerL_16 = round_fx(L_shl(L_tmp, sub(exp, 15))); /* Q0 */ #endif Loading Loading @@ -233,7 +230,7 @@ Word16 WB_BWE_gain_pred_fx( tmp = div_s(shl(1,sub(14,exp)), pitch); /*Q(29-exp-5) */ L_tmp = L_mult0(tmp1, tmp); /*29-exp-5->24-exp */ #ifdef BASOP_NOGLOB tmp = round_fx_o(L_shl_o(L_tmp, add(exp,6), &Overflow), &Overflow); /*14 */ tmp = round_fx_sat(L_shl_sat(L_tmp, add(exp,6))); /*14 */ #else tmp = round_fx(L_shl(L_tmp, add(exp,6))); /*14 */ #endif Loading @@ -247,7 +244,7 @@ Word16 WB_BWE_gain_pred_fx( enerL = L_deposit_l(enerL_16); enerL = L_shl(enerL, 6); /*Q6 */ #ifdef BASOP_NOGLOB tmp1 = i_mult_o(3, WB_fenv[0], &Overflow);/*Q3 */ tmp1 = i_mult_sat(3, WB_fenv[0]);/*Q3 */ #else tmp1 = i_mult(3, WB_fenv[0]);/*Q3 */ #endif Loading @@ -265,7 +262,11 @@ Word16 WB_BWE_gain_pred_fx( exp = norm_s(WB_fenv[0]); tmp = div_s(shl(1,sub(14,exp)), WB_fenv[0]); /*Q(29-exp-3) */ L_tmp = L_mult(enerL_64 ,tmp); /*Q(30-exp) */ #ifdef BASOP_NOGLOB tmp = round_fx_sat(L_shl_sat(L_tmp, sub(exp,2))); /*Q12 */ #else tmp = round_fx(L_shl(L_tmp, sub(exp,2))); /*Q12 */ #endif tmp = s_min(tmp, 16384); L_tmp = L_shr( L_mult0(tmp, WB_fenv[0]), 12);/*Q3 */ WB_fenv[0] = extract_l(L_tmp);/*Q3 */ Loading Loading
lib_com/swb_bwe_com_fx.c +13 −12 Original line number Diff line number Diff line Loading @@ -61,9 +61,6 @@ Word16 WB_BWE_gain_pred_fx( Word32 L_WB_fenv0, L_WB_fenv1; Word16 pitch_buf_tmp[4]; Word16 alfa = 32767; #ifdef BASOP_NOGLOB_DECLARE_LOCAL Flag Overflow = 0; #endif move16(); mode = NORMAL; Loading @@ -73,7 +70,7 @@ Word16 WB_BWE_gain_pred_fx( FOR (n_freq = 128; n_freq<192; n_freq++) { #ifdef BASOP_NOGLOB enerL = L_mac0_o( enerL, core_dec_freq[n_freq], core_dec_freq[n_freq], &Overflow ); /*2(Q_syn) */ enerL = L_mac0_sat( enerL, core_dec_freq[n_freq], core_dec_freq[n_freq]); /*2(Q_syn) */ #else enerL = L_mac0( enerL, core_dec_freq[n_freq], core_dec_freq[n_freq] ); /*2(Q_syn) */ #endif Loading @@ -83,7 +80,7 @@ Word16 WB_BWE_gain_pred_fx( FOR (n_freq = 192; n_freq<224; n_freq++) { #ifdef BASOP_NOGLOB L_WB_fenv0 = L_mac0_o(L_WB_fenv0, core_dec_freq[n_freq],core_dec_freq[n_freq], &Overflow);/*2*Q_syn */ L_WB_fenv0 = L_mac0_sat(L_WB_fenv0, core_dec_freq[n_freq],core_dec_freq[n_freq]);/*2*Q_syn */ #else L_WB_fenv0 = L_mac0(L_WB_fenv0, core_dec_freq[n_freq],core_dec_freq[n_freq]);/*2*Q_syn */ #endif Loading @@ -93,7 +90,7 @@ Word16 WB_BWE_gain_pred_fx( FOR (n_freq = 224; n_freq<256; n_freq++) { #ifdef BASOP_NOGLOB L_WB_fenv1= L_mac0_o(L_WB_fenv1, core_dec_freq[n_freq],core_dec_freq[n_freq], &Overflow);/*2*Q_syn */ L_WB_fenv1= L_mac0_sat(L_WB_fenv1, core_dec_freq[n_freq],core_dec_freq[n_freq]);/*2*Q_syn */ #else L_WB_fenv1= L_mac0(L_WB_fenv1, core_dec_freq[n_freq],core_dec_freq[n_freq]);/*2*Q_syn */ #endif Loading @@ -115,7 +112,7 @@ Word16 WB_BWE_gain_pred_fx( test(); #ifdef BASOP_NOGLOB IF(GT_32(L_WB_fenv0, L_shl_o(L_WB_fenv1,1, &Overflow))) IF(GT_32(L_WB_fenv0, L_shl_sat(L_WB_fenv1,1))) #else IF(GT_32(L_WB_fenv0, L_shl(L_WB_fenv1,1))) #endif Loading @@ -130,7 +127,7 @@ Word16 WB_BWE_gain_pred_fx( L_WB_fenv0 = Mult_32_16(L_WB_fenv0, alfa);/*2*Q_syn+15-15->2*Q_syn */ } #ifdef BASOP_NOGLOB ELSE IF (GT_32(L_WB_fenv1, L_shl_o(L_WB_fenv0, 1, &Overflow))&&NE_16(coder_type,UNVOICED)) ELSE IF (GT_32(L_WB_fenv1, L_shl_sat(L_WB_fenv0, 1))&&NE_16(coder_type,UNVOICED)) #else ELSE IF (GT_32(L_WB_fenv1, L_shl(L_WB_fenv0, 1))&&NE_16(coder_type,UNVOICED)) #endif Loading Loading @@ -161,7 +158,7 @@ Word16 WB_BWE_gain_pred_fx( } #ifdef BASOP_NOGLOB L_tmp = L_add_o(L_WB_fenv0, L_WB_fenv1, &Overflow); /* In 2*Q_syn */ L_tmp = L_add_sat(L_WB_fenv0, L_WB_fenv1); /* In 2*Q_syn */ #else L_tmp = L_add(L_WB_fenv0, L_WB_fenv1); /* In 2*Q_syn */ #endif Loading Loading @@ -192,7 +189,7 @@ Word16 WB_BWE_gain_pred_fx( L_tmp = L_deposit_h(tmp); L_tmp = Isqrt_lc(L_tmp, &exp); #ifdef BASOP_NOGLOB enerL_16 = round_fx_o(L_shl_o(L_tmp, sub(exp, 15), &Overflow), &Overflow); /* Q0 */ enerL_16 = round_fx_sat(L_shl_sat(L_tmp, sub(exp, 15))); /* Q0 */ #else enerL_16 = round_fx(L_shl(L_tmp, sub(exp, 15))); /* Q0 */ #endif Loading Loading @@ -233,7 +230,7 @@ Word16 WB_BWE_gain_pred_fx( tmp = div_s(shl(1,sub(14,exp)), pitch); /*Q(29-exp-5) */ L_tmp = L_mult0(tmp1, tmp); /*29-exp-5->24-exp */ #ifdef BASOP_NOGLOB tmp = round_fx_o(L_shl_o(L_tmp, add(exp,6), &Overflow), &Overflow); /*14 */ tmp = round_fx_sat(L_shl_sat(L_tmp, add(exp,6))); /*14 */ #else tmp = round_fx(L_shl(L_tmp, add(exp,6))); /*14 */ #endif Loading @@ -247,7 +244,7 @@ Word16 WB_BWE_gain_pred_fx( enerL = L_deposit_l(enerL_16); enerL = L_shl(enerL, 6); /*Q6 */ #ifdef BASOP_NOGLOB tmp1 = i_mult_o(3, WB_fenv[0], &Overflow);/*Q3 */ tmp1 = i_mult_sat(3, WB_fenv[0]);/*Q3 */ #else tmp1 = i_mult(3, WB_fenv[0]);/*Q3 */ #endif Loading @@ -265,7 +262,11 @@ Word16 WB_BWE_gain_pred_fx( exp = norm_s(WB_fenv[0]); tmp = div_s(shl(1,sub(14,exp)), WB_fenv[0]); /*Q(29-exp-3) */ L_tmp = L_mult(enerL_64 ,tmp); /*Q(30-exp) */ #ifdef BASOP_NOGLOB tmp = round_fx_sat(L_shl_sat(L_tmp, sub(exp,2))); /*Q12 */ #else tmp = round_fx(L_shl(L_tmp, sub(exp,2))); /*Q12 */ #endif tmp = s_min(tmp, 16384); L_tmp = L_shr( L_mult0(tmp, WB_fenv[0]), 12);/*Q3 */ WB_fenv[0] = extract_l(L_tmp);/*Q3 */ Loading