Commit 2a2cb9f1 authored by Fabian Bauer's avatar Fabian Bauer
Browse files

fix swb_tbe_com_fx

parent 5586f852
Loading
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -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++ )
@@ -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 */
@@ -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
@@ -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 */
@@ -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
@@ -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 );
@@ -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
@@ -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 */