Loading lib_com/swb_tbe_com_fx.c +9 −9 Original line number Diff line number Diff line Loading @@ -1564,7 +1564,7 @@ void GenShapedWBExcitation_ivas_fx( FOR( i = 0; i < L_FRAME16k / 4; i++ ) { L_tmp = L_mult( excTmp2_frac[i], excTmp2_frac[i] ); /* Q29 */ // saturation not possible: excTmp2_frac[i] < MIN_16 pow1 = L_add( pow1, L_shr( L_tmp, 10 ) ); /* Q22 */ // saturation not possible: ld(L_FRAME16k / 4) = ld(80) < 10 pow1 = L_add_sat( pow1, L_shr( L_tmp, 10 ) ); /* Q22 */ } #else FOR( i = 0; i < L_FRAME16k / 4; i++ ) Loading Loading @@ -1624,7 +1624,7 @@ void GenShapedWBExcitation_ivas_fx( FOR( i = 0; i < L_FRAME16k / 4; i++ ) { #ifdef ISSUE_1836_replace_overflow_libcom L_tmp = L_mult( exc4k_frac[i], exc4k_frac[i] ); /* Q29 */ L_tmp = L_mult_sat( exc4k_frac[i], exc4k_frac[i] ); /* Q29 */ //??sat pow22 = L_add( pow22, L_shr( L_tmp, 10 ) ); /* Q22 */ #else L_tmp = L_mult_o( exc4k_frac[i], exc4k_frac[i], &Overflow ); /* Q29 */ Loading @@ -1647,7 +1647,7 @@ void GenShapedWBExcitation_ivas_fx( FOR( i = 0; i < L_FRAME16k / 4; i++ ) { #ifdef ISSUE_1836_replace_overflow_libcom exc4kWhtnd[i] = round_fx_sat( L_shl_sat( L_mult( exc4k_frac[i], scale ), sc ) ); /* Q_bwe_exc+n2-10+16+ Q_bwe_exc + n2 -14 -16 = //Q_bwe_exc */ //??sat //??sat exc4kWhtnd[i] = round_fx_sat( L_shl_sat( L_mult_sat( exc4k_frac[i], scale ), sc ) ); /* Q_bwe_exc+n2-10+16+ Q_bwe_exc + n2 -14 -16 = //Q_bwe_exc */ //??sat //??sat //??sat #else exc4kWhtnd[i] = round_fx_o( L_shl_o( L_mult_o( exc4k_frac[i], scale, &Overflow ), sc, &Overflow ), &Overflow ); /* Q_bwe_exc+n2-10+16+ Q_bwe_exc + n2 -14 -16 = //Q_bwe_exc */ #endif Loading Loading @@ -1869,7 +1869,7 @@ void GenShapedWBExcitation_fx( FOR( i = 0; i < L_FRAME16k / 4; i++ ) { #ifdef ISSUE_1836_replace_overflow_libcom L_tmp = L_mult( excTmp2_frac[i], excTmp2_frac[i] ); /* Q29 */ L_tmp = L_mult_sat( excTmp2_frac[i], excTmp2_frac[i] ); /* Q29 */ //??sat pow1 = L_add_sat( pow1, L_shr( L_tmp, 7 ) ); /* Q22 */ //??sat #else L_tmp = L_mult_o( excTmp2_frac[i], excTmp2_frac[i], &Overflow ); /* Q29 */ Loading Loading @@ -1943,11 +1943,11 @@ void GenShapedWBExcitation_fx( { L_tmp = root_a_over_b_fx( pow1, sub( 22, shl( n1, 1 ) ), pow22, sub( 22, shl( n2, 1 ) ), &exp ); #ifdef ISSUE_1836_replace_overflow_libcom scale = round_fx_sat( L_shl_sat( L_tmp, exp ) ); /*Q15 */ scale = round_fx_sat( L_shl_sat( L_tmp, exp ) ); /*Q15 */ //??sat //??sat sc = sub( add( n2, Q_bwe_exc ), 14 ); FOR( i = 0; i < L_FRAME16k / 4; i++ ) { exc4kWhtnd[i] = round_fx_sat( L_shl_sat( L_mult( exc4k_frac[i], scale ), sc ) ); /* Q_bwe_exc+n2-10+16+ Q_bwe_exc + n2 -14 -16 = //Q_bwe_exc */ //??sat //??sat exc4kWhtnd[i] = round_fx_sat( L_shl_sat( L_mult_sat( exc4k_frac[i], scale ), sc ) ); /* Q_bwe_exc+n2-10+16+ Q_bwe_exc + n2 -14 -16 = //Q_bwe_exc */ //??sat //??sat //??sat move16(); } #else Loading Loading @@ -1994,7 +1994,7 @@ void GenShapedWBExcitation_fx( FOR( j = 0; j < L_FRAME16k / 16; j++ ) { L_tmp = L_mult( temp1, exc4kWhtnd[k] ); /* Q(16+Q_bwe_exc) */ L_tmp = L_add_sat( L_tmp, L_shl_sat( L_mult( temp2, exc4k_frac[k] ), sc ) ); /* Q(16+Q_bwe_exc) */ //??sat L_tmp = L_add_sat( L_tmp, L_shl_sat( L_mult( temp2, exc4k_frac[k] ), sc ) ); /* Q(16+Q_bwe_exc) */ //??sat //??sat exc4kWhtnd[k] = round_fx_sat( L_tmp ); /* Q_bwe_exc */ //??sat move16(); k = add( k, 1 ); Loading Loading @@ -5892,7 +5892,7 @@ void non_linearity_fx( /* (log2(scale / prev_scale))/length */ #ifdef ISSUE_1836_replace_overflow_libcom L_tmp = L_shl_sat( Mult_32_16( L_tmp, tmp ), sub( exp, 14 ) ); /* Q(16+29-exp+1-16+exp-14)->Q16 */ L_tmp = L_shl_sat( Mult_32_16( L_tmp, tmp ), sub( exp, 14 ) ); /* Q(16+29-exp+1-16+exp-14)->Q16 */ //??sat #else L_tmp = L_shl_o( Mult_32_16( L_tmp, tmp ), sub( exp, 14 ), &Overflow ); /* Q(16+29-exp+1-16+exp-14)->Q16 */ #endif Loading Loading @@ -7319,7 +7319,7 @@ void prep_tbe_exc_fx( { #ifdef ISSUE_1836_replace_overflow_libcom L_tmp = L_mult( gain_pit_fx, bwe_exc_fx[i + ( i_subfr_fx << 1 )] ); /*Q14+Q_exc+1 */ tmp = round_fx_sat( L_shl_sat( L_tmp, 1 /* (Q_exc+16)-(14+Q_exc+1)*/ ) ); /* tmp in Q_exc */ //??sat tmp = round_fx_sat( L_shl_sat( L_tmp, 1 /* (Q_exc+16)-(14+Q_exc+1)*/ ) ); /* tmp in Q_exc */ //??sat //??sat bwe_exc_fx[i + ( i_subfr_fx << 1 )] = add_sat( tmp, tmp_code_fx[i] ); /*Q_exc */ //??sat #else L_tmp = L_mult( gain_pit_fx, bwe_exc_fx[i + shl( i_subfr_fx, 1 )] ); /*Q14+Q_exc+1 */ Loading Loading
lib_com/swb_tbe_com_fx.c +9 −9 Original line number Diff line number Diff line Loading @@ -1564,7 +1564,7 @@ void GenShapedWBExcitation_ivas_fx( FOR( i = 0; i < L_FRAME16k / 4; i++ ) { L_tmp = L_mult( excTmp2_frac[i], excTmp2_frac[i] ); /* Q29 */ // saturation not possible: excTmp2_frac[i] < MIN_16 pow1 = L_add( pow1, L_shr( L_tmp, 10 ) ); /* Q22 */ // saturation not possible: ld(L_FRAME16k / 4) = ld(80) < 10 pow1 = L_add_sat( pow1, L_shr( L_tmp, 10 ) ); /* Q22 */ } #else FOR( i = 0; i < L_FRAME16k / 4; i++ ) Loading Loading @@ -1624,7 +1624,7 @@ void GenShapedWBExcitation_ivas_fx( FOR( i = 0; i < L_FRAME16k / 4; i++ ) { #ifdef ISSUE_1836_replace_overflow_libcom L_tmp = L_mult( exc4k_frac[i], exc4k_frac[i] ); /* Q29 */ L_tmp = L_mult_sat( exc4k_frac[i], exc4k_frac[i] ); /* Q29 */ //??sat pow22 = L_add( pow22, L_shr( L_tmp, 10 ) ); /* Q22 */ #else L_tmp = L_mult_o( exc4k_frac[i], exc4k_frac[i], &Overflow ); /* Q29 */ Loading @@ -1647,7 +1647,7 @@ void GenShapedWBExcitation_ivas_fx( FOR( i = 0; i < L_FRAME16k / 4; i++ ) { #ifdef ISSUE_1836_replace_overflow_libcom exc4kWhtnd[i] = round_fx_sat( L_shl_sat( L_mult( exc4k_frac[i], scale ), sc ) ); /* Q_bwe_exc+n2-10+16+ Q_bwe_exc + n2 -14 -16 = //Q_bwe_exc */ //??sat //??sat exc4kWhtnd[i] = round_fx_sat( L_shl_sat( L_mult_sat( exc4k_frac[i], scale ), sc ) ); /* Q_bwe_exc+n2-10+16+ Q_bwe_exc + n2 -14 -16 = //Q_bwe_exc */ //??sat //??sat //??sat #else exc4kWhtnd[i] = round_fx_o( L_shl_o( L_mult_o( exc4k_frac[i], scale, &Overflow ), sc, &Overflow ), &Overflow ); /* Q_bwe_exc+n2-10+16+ Q_bwe_exc + n2 -14 -16 = //Q_bwe_exc */ #endif Loading Loading @@ -1869,7 +1869,7 @@ void GenShapedWBExcitation_fx( FOR( i = 0; i < L_FRAME16k / 4; i++ ) { #ifdef ISSUE_1836_replace_overflow_libcom L_tmp = L_mult( excTmp2_frac[i], excTmp2_frac[i] ); /* Q29 */ L_tmp = L_mult_sat( excTmp2_frac[i], excTmp2_frac[i] ); /* Q29 */ //??sat pow1 = L_add_sat( pow1, L_shr( L_tmp, 7 ) ); /* Q22 */ //??sat #else L_tmp = L_mult_o( excTmp2_frac[i], excTmp2_frac[i], &Overflow ); /* Q29 */ Loading Loading @@ -1943,11 +1943,11 @@ void GenShapedWBExcitation_fx( { L_tmp = root_a_over_b_fx( pow1, sub( 22, shl( n1, 1 ) ), pow22, sub( 22, shl( n2, 1 ) ), &exp ); #ifdef ISSUE_1836_replace_overflow_libcom scale = round_fx_sat( L_shl_sat( L_tmp, exp ) ); /*Q15 */ scale = round_fx_sat( L_shl_sat( L_tmp, exp ) ); /*Q15 */ //??sat //??sat sc = sub( add( n2, Q_bwe_exc ), 14 ); FOR( i = 0; i < L_FRAME16k / 4; i++ ) { exc4kWhtnd[i] = round_fx_sat( L_shl_sat( L_mult( exc4k_frac[i], scale ), sc ) ); /* Q_bwe_exc+n2-10+16+ Q_bwe_exc + n2 -14 -16 = //Q_bwe_exc */ //??sat //??sat exc4kWhtnd[i] = round_fx_sat( L_shl_sat( L_mult_sat( exc4k_frac[i], scale ), sc ) ); /* Q_bwe_exc+n2-10+16+ Q_bwe_exc + n2 -14 -16 = //Q_bwe_exc */ //??sat //??sat //??sat move16(); } #else Loading Loading @@ -1994,7 +1994,7 @@ void GenShapedWBExcitation_fx( FOR( j = 0; j < L_FRAME16k / 16; j++ ) { L_tmp = L_mult( temp1, exc4kWhtnd[k] ); /* Q(16+Q_bwe_exc) */ L_tmp = L_add_sat( L_tmp, L_shl_sat( L_mult( temp2, exc4k_frac[k] ), sc ) ); /* Q(16+Q_bwe_exc) */ //??sat L_tmp = L_add_sat( L_tmp, L_shl_sat( L_mult( temp2, exc4k_frac[k] ), sc ) ); /* Q(16+Q_bwe_exc) */ //??sat //??sat exc4kWhtnd[k] = round_fx_sat( L_tmp ); /* Q_bwe_exc */ //??sat move16(); k = add( k, 1 ); Loading Loading @@ -5892,7 +5892,7 @@ void non_linearity_fx( /* (log2(scale / prev_scale))/length */ #ifdef ISSUE_1836_replace_overflow_libcom L_tmp = L_shl_sat( Mult_32_16( L_tmp, tmp ), sub( exp, 14 ) ); /* Q(16+29-exp+1-16+exp-14)->Q16 */ L_tmp = L_shl_sat( Mult_32_16( L_tmp, tmp ), sub( exp, 14 ) ); /* Q(16+29-exp+1-16+exp-14)->Q16 */ //??sat #else L_tmp = L_shl_o( Mult_32_16( L_tmp, tmp ), sub( exp, 14 ), &Overflow ); /* Q(16+29-exp+1-16+exp-14)->Q16 */ #endif Loading Loading @@ -7319,7 +7319,7 @@ void prep_tbe_exc_fx( { #ifdef ISSUE_1836_replace_overflow_libcom L_tmp = L_mult( gain_pit_fx, bwe_exc_fx[i + ( i_subfr_fx << 1 )] ); /*Q14+Q_exc+1 */ tmp = round_fx_sat( L_shl_sat( L_tmp, 1 /* (Q_exc+16)-(14+Q_exc+1)*/ ) ); /* tmp in Q_exc */ //??sat tmp = round_fx_sat( L_shl_sat( L_tmp, 1 /* (Q_exc+16)-(14+Q_exc+1)*/ ) ); /* tmp in Q_exc */ //??sat //??sat bwe_exc_fx[i + ( i_subfr_fx << 1 )] = add_sat( tmp, tmp_code_fx[i] ); /*Q_exc */ //??sat #else L_tmp = L_mult( gain_pit_fx, bwe_exc_fx[i + shl( i_subfr_fx, 1 )] ); /*Q14+Q_exc+1 */ Loading