Commit 16df82e2 authored by Manuel Jander's avatar Manuel Jander
Browse files

Resolve merge conflict.

parents 36272664 f51f2c58
Loading
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -896,7 +896,6 @@ Word16 shr_o( Word16 var1, Word16 var2, Flag *Overflow )

Word16 shr( Word16 var1, Word16 var2 )
{
#ifdef FIX_BASOP_2563_CRASH_HQ_GENERIC_DEC
    Flag Overflow;
    Word16 result;

@@ -908,9 +907,6 @@ Word16 shr( Word16 var1, Word16 var2 )
        assert( 0 );
    }
    return result;
#else
    return shr_o( var1, var2, NULL );
#endif
}
Word16 shr_sat( Word16 var1, Word16 var2 )
{
+6 −6
Original line number Diff line number Diff line
@@ -79,7 +79,7 @@ Word64 W_add_nosat( Word64 L64_var1, Word64 L64_var2 )
{
    Word64 L64_var_out;
#ifdef FIX_2493_CHECK_64BIT
    assert( W_abs( ( ( L64_var1 + L64_var2 ) >> 1 ) - ( ( L64_var1 >> 1 ) + ( L64_var2 >> 1 ) ) ) < 2 );
    assert( !( ( L64_var2 > 0 && L64_var1 > MAX_64 - L64_var2 ) || ( L64_var2 < 0 && L64_var1 < MIN_64 - L64_var2 ) ) );
#endif
    L64_var_out = L64_var1 + L64_var2;

@@ -124,7 +124,7 @@ Word64 W_sub_nosat( Word64 L64_var1, Word64 L64_var2 )
{
    Word64 L64_var_out;
#ifdef FIX_2493_CHECK_64BIT
    assert( W_abs( ( ( L64_var1 - L64_var2 ) >> 1 ) - ( ( L64_var1 >> 1 ) - ( L64_var2 >> 1 ) ) ) < 2 );
    assert( !( ( L64_var2 < 0 && L64_var1 > MAX_64 + L64_var2 ) || ( L64_var2 > 0 && L64_var1 < MIN_64 + L64_var2 ) ) );
#endif
    L64_var_out = L64_var1 - L64_var2;

@@ -438,7 +438,7 @@ Word64 W_mac_32_16( Word64 L64_var1, Word32 L_var2, Word16 var3 )
{
    Word64 L64_var_out = ( (Word64) L_var2 * var3 ) << 1;
#ifdef FIX_2493_CHECK_64BIT
    assert( W_abs( ( ( L64_var_out + L64_var1 ) >> 1 ) - ( ( L64_var_out >> 1 ) + ( L64_var1 >> 1 ) ) ) < 2 );
    assert( !( ( L64_var_out > 0 && L64_var1 > MAX_64 - L64_var_out ) || ( L64_var_out < 0 && L64_var1 < MIN_64 - L64_var_out ) ) );
#endif
    L64_var_out += L64_var1;
#ifdef WMOPS
@@ -488,7 +488,7 @@ Word64 W_msu_32_16( Word64 L64_var1, Word32 L_var2, Word16 var3 )
{
    Word64 L64_var_out = ( (Word64) L_var2 * var3 ) << 1;
#ifdef FIX_2493_CHECK_64BIT
    assert( W_abs( ( ( L64_var1 - L64_var_out ) >> 1 ) - ( ( L64_var1 >> 1 ) - ( L64_var_out >> 1 ) ) ) < 2 );
    assert( !( ( L64_var_out < 0 && L64_var1 > MAX_64 + L64_var_out ) || ( L64_var_out > 0 && L64_var1 < MIN_64 + L64_var_out ) ) );
#endif
    L64_var_out = L64_var1 - L64_var_out;
#ifdef WMOPS
@@ -617,7 +617,7 @@ Word64 W_mac0_16_16( Word64 L64_var1, Word16 var2, Word16 var3 )
{
    Word64 L64_var_out = (Word64) var2 * var3;
#ifdef FIX_2493_CHECK_64BIT
    assert( W_abs( ( ( L64_var_out + L64_var1 ) >> 1 ) - ( ( L64_var_out >> 1 ) + ( L64_var1 >> 1 ) ) ) < 2 );
    assert( !( ( L64_var_out > 0 && L64_var1 > MAX_64 - L64_var_out ) || ( L64_var_out < 0 && L64_var1 < MIN_64 - L64_var_out ) ) );
#endif
    L64_var_out += L64_var1;
#ifdef WMOPS
@@ -666,7 +666,7 @@ Word64 W_msu0_16_16( Word64 L64_var1, Word16 var2, Word16 var3 )
{
    Word64 L64_var_out = (Word64) var2 * var3;
#ifdef FIX_2493_CHECK_64BIT
    assert( W_abs( ( ( L64_var1 - L64_var_out ) >> 1 ) - ( ( L64_var1 >> 1 ) - ( L64_var_out >> 1 ) ) ) < 2 );
    assert( !( ( L64_var_out < 0 && L64_var1 > MAX_64 + L64_var_out ) || ( L64_var_out > 0 && L64_var1 < MIN_64 + L64_var_out ) ) );
#endif
    L64_var_out = L64_var1 - L64_var_out;
#ifdef WMOPS
+5 −21
Original line number Diff line number Diff line
@@ -2720,19 +2720,14 @@ Word32 dotWord32_16_Mant32Exp( const Word32 *bufX32, /* i: 32-bit buffer with un
                               const Word16 *bufY16,  /* i: 16-bit buffer quite right-aligned   */
                               Word16 bufY16_exp,     /* i: exponent of buffer bufY16           */
                               Word16 len,            /* i: buffer len to process               */
#ifdef FIX_BASOP_1765_MASA1TC_CNG_MISMATCH
                               Word16 *exp,           /* o: result exponent                     */
                               const Word16 is_ivas ) /* i: flag indicating IVAS to maintain EVS BE */
#else
                               Word16 *exp ) /* o: result exponent                     */
#endif
{
    Word32 L_sum;
    Word16 shift, shift1, i;


    shift = getScaleFactor32( bufX32, len ); /* current available headroom */
#ifdef FIX_BASOP_1765_MASA1TC_CNG_MISMATCH
    IF( EQ_16( is_ivas, 1 ) )
    {
        shift = sub( shift, sub( 15, norm_s( len ) ) ); /* reduced required headroom  */
@@ -2741,14 +2736,10 @@ Word32 dotWord32_16_Mant32Exp( const Word32 *bufX32, /* i: 32-bit buffer with un
    {
        shift = sub( shift, sub( 14, norm_s( len ) ) ); /* reduced required headroom  */
    }
#else
    shift = sub( shift, sub( 14, norm_s( len ) ) ); /* reduced required headroom  */
#endif
    L_sum = 0; /* Clear accu                 */
    move32();
    FOR( i = 0; i < len; i++ )
    {
#ifdef FIX_BASOP_1765_MASA1TC_CNG_MISMATCH
        IF( EQ_16( is_ivas, 1 ) )
        {
            L_sum = L_add( L_sum, Mpy_32_16_1( L_shl( bufX32[i], shift ), bufY16[i] ) );
@@ -2757,22 +2748,15 @@ Word32 dotWord32_16_Mant32Exp( const Word32 *bufX32, /* i: 32-bit buffer with un
        {
            L_sum = L_mac0( L_sum, round_fx( L_shl( bufX32[i], shift ) ), bufY16[i] );
        }
#else
        L_sum = L_mac0( L_sum, round_fx( L_shl( bufX32[i], shift ) ), bufY16[i] );
#endif
    }
    shift1 = norm_l( L_sum );
    L_sum = L_shl( L_sum, shift1 ); /* return value */

    shift = sub( add( bufX32_exp, bufY16_exp ), add( shift, shift1 ) );
#ifdef FIX_BASOP_1765_MASA1TC_CNG_MISMATCH
    IF( EQ_16( is_ivas, 0 ) )
    {
        shift = add( shift, 1 ); /* compensate for factor of 2 introduced by L_mac0 */
    }
#else
    shift = add( shift, 1 ); /* compensate for factor of 2 introduced by L_mac0 */
#endif
    /* In case of NULL result, we want to have a 0 exponent too */
    if ( L_sum == 0 )
        shift = 0;
+5 −9
Original line number Diff line number Diff line
@@ -864,12 +864,8 @@ Word32 dotWord32_16_Mant32Exp( const Word32 *bufX32, /* i: 32-bit buffer with un
                               const Word16 *bufY16,   /* i: 16-bit buffer quite right-aligned   */
                               Word16 bufY16_exp,      /* i: exponent of buffer bufY16           */
                               Word16 len,             /* i: buffer len to process               */
#ifdef FIX_BASOP_1765_MASA1TC_CNG_MISMATCH
                               Word16 *exp,            /* o: result exponent                     */
                               const Word16 is_ivas ); /* i: flag indicating IVAS to maintain EVS BE */
#else
                               Word16 *exp ); /* o: result exponent                     */
#endif

/*!**********************************************************************
   \brief   Converts linear factor or energy to Decibel
+4 −0
Original line number Diff line number Diff line
@@ -349,7 +349,11 @@ Word32 ivas_interformat_brate_fx(

    limit_high = IVAS_512k / FRAMES_PER_SEC;
    move16();
#ifdef FIX_2636_OMASA_INTERFORMAT_BRATE
    IF( LT_32( element_brate, SCE_CORE_16k_LOW_LIMIT ) )
#else
    IF( LE_32( element_brate, SCE_CORE_16k_LOW_LIMIT ) )
#endif
    {
        limit_high = ACELP_12k8_HIGH_LIMIT / FRAMES_PER_SEC;
        move16();
Loading