Commit 42dee6a0 authored by emerit's avatar emerit
Browse files

Merge branch 'main' into update_crend

parents a680c982 4010db07
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -370,7 +370,11 @@ static Word32 Sqrt32_common(Word32 m,
  if (m != 0)
  {
    BASOP_SATURATE_WARNING_OFF_EVS;
#ifdef BASOP_NOGLOB
      m = L_mac_sat( SqrtTable[index], SqrtDiffTable[index], frac );
#else
    m = L_mac(SqrtTable[index], SqrtDiffTable[index], frac);
#endif
    BASOP_SATURATE_WARNING_ON_EVS;
  }

@@ -654,8 +658,13 @@ void BASOP_Util_Sqrt_InvSqrt_MantExp(Word16 mantissa, /*!< mantissa */

  /* interpolate */
  BASOP_SATURATE_WARNING_OFF_EVS;
#ifdef BASOP_NOGLOB
  m = mac_r_sat( SqrtTable[index], SqrtDiffTable[index], frac );
  mi = msu_r_sat(ISqrtTable[index], ISqrtDiffTable[index], frac);
#else
  m = mac_r(SqrtTable[index], SqrtDiffTable[index], frac);
  mi = msu_r(ISqrtTable[index], ISqrtDiffTable[index], frac);
#endif
  BASOP_SATURATE_WARNING_ON_EVS;

  /* handle even/odd exponents */
@@ -2040,7 +2049,11 @@ Word16 BASOP_Util_Cmp_Mant32Exp /*!< o: flag: result of compari
  }

  BASOP_SATURATE_WARNING_OFF_EVS
#ifdef BASOP_NOGLOB
  diff_m = L_sub_sat( a_m, b_m );
#else
    diff_m = L_sub(a_m, b_m);
#endif
  BASOP_SATURATE_WARNING_ON_EVS
    diff_e = sub(a_e, b_e);

+5 −2
Original line number Diff line number Diff line
@@ -371,8 +371,11 @@ Word16 BitAllocF_fx (
        exp1 = sub(norm_l(L_tmp1), 1);
        exp2 = norm_s(n);
        tmp = div_s(extract_h(L_shl(L_tmp1, exp1)), shl(n, exp2));/*15 + 15 + exp1 - 16 - exp2*/
#ifdef BASOP_NOGLOB
        m_fx = shl_sat( tmp, sub( exp2, exp1 ) ); /*Q14*/
#else
        m_fx = shl( tmp, sub( exp2, exp1 ) ); /*Q14*/

#endif
        t_fx = L_deposit_l(0);
        n = 0;
        move16();
+18 −0
Original line number Diff line number Diff line
@@ -505,7 +505,11 @@ void cldfbAnalysisFiltering( HANDLE_CLDFB_FILTER_BANK cldfbBank,
    /* move and scale filter states */
    FOR (i=0; i<offset; i++)
    {
#ifdef BASOP_NOGLOB
        pStates[i] = shl_sat( pStates[i + nSamplesUpd], scale );
#else
        pStates[i] = shl(pStates[i+nSamplesUpd], scale);
#endif
        move16();
    }

@@ -513,7 +517,11 @@ void cldfbAnalysisFiltering( HANDLE_CLDFB_FILTER_BANK cldfbBank,
    scale = sub(timeIn_e, cldfbBank->FilterStates_eg);
    FOR (i=0; i<nSamples; i++)
    {
#ifdef BASOP_NOGLOB
        pStates[offset + i] = shl_sat( *timeIn, scale );
#else
        pStates[offset+i] = shl(*timeIn, scale);
#endif
        move16();
        timeIn = timeIn + stride;
    }
@@ -1163,8 +1171,13 @@ AnalysisPostSpectrumScaling_Fx (HANDLE_CLDFB_FILTER_BANK cldfbBank, /*!< Handle
    {
        FOR (j=0; j < cldfbBank->no_channels; j++)
        {
#ifdef BASOP_NOGLOB
            rSubband16[i][j] = round_fx_sat( L_shl_sat( rSubband32[i][j], headRoom ) );
            iSubband16[i][j] = round_fx_sat(L_shl_sat(iSubband32[i][j], headRoom));
#else
            rSubband16[i][j] = round_fx(L_shl(rSubband32[i][j], headRoom));
            iSubband16[i][j] = round_fx(L_shl(iSubband32[i][j], headRoom));
#endif
        }
    }

@@ -1404,8 +1417,13 @@ GetEnergyCldfb( Word32 *energyLookahead, /*!< o: Q(*sf_energyLookahead) | p
        sm = sub(s_min(s, 44), 1);
        BASOP_SATURATE_WARNING_OFF_EVS
        /* nrg + 6.1e-5f => value 0x40000000, scale 44 */
#ifdef BASOP_NOGLOB
        *energyLookahead = L_add_sat( L_shr_sat( nrg, sub( s, sm ) ),
                                 L_shr_sat(0x40000000, s_max(-31, s_min(31, sub(44, sm)))));
#else
        *energyLookahead = L_add(L_shr(nrg, sub(s, sm)),
                                 L_shr(0x40000000, s_max(-31, s_min(31, sub(44, sm)))));
#endif
        move32();
        BASOP_SATURATE_WARNING_ON_EVS
        *sf_energyLookahead = sm;
+24 −0
Original line number Diff line number Diff line
@@ -199,7 +199,11 @@ void CNG_exc_fx(
         *------------------------------------------------------------*/
        L_tmp = Mult_32_16(*lp_ener, Random(cng_ener_seed));
        L_tmp = Mult_32_16(L_tmp, GAIN_VAR);
#ifdef BASOP_NOGLOB
        L_tmp = L_add_sat( L_tmp, *lp_ener );
#else
        L_tmp = L_add(L_tmp, *lp_ener);
#endif
        L_tmp = L_max(L_tmp, 1);

        /* enr = dot_product( exc2, exc2, L_SUBFR ) + 0.01f */
@@ -327,7 +331,11 @@ void CNG_exc_fx(
#endif
            L_tmp = L_shr(L_tmp,1);/* 2*Q_exc+6 */
            tmp = add(Q_exc,Q_exc);
#ifdef BASOP_NOGLOB
            env[i] = L_shr_sat( L_tmp, tmp );
#else
            env[i] = L_shr(L_tmp,tmp);
#endif
            move32();/* Q6 */
            ptR++;
            ptI--;
@@ -336,8 +344,13 @@ void CNG_exc_fx(
        FOR ( i=0; i<NUM_ENV_CNG; i++ )
        {
            /* denv[i] = lp_env[i] + 2*(*lp_ener) - env[i]; */
#ifdef BASOP_NOGLOB
            L_tmp = L_add_sat( *lp_ener, *lp_ener );
            denv[i] = L_sub_sat(L_add_sat(lp_env[i],L_tmp),env[i]);
#else
            L_tmp = L_add(*lp_ener,*lp_ener);
            denv[i] = L_sub(L_add(lp_env[i],L_tmp),env[i]);
#endif
            move32();/* Q6 */

            if ( denv[i] < 0 )
@@ -371,8 +384,13 @@ void CNG_exc_fx(
            /* itmp[i] += own_random( cng_ener_seed1 )*denv[i]*0.000011f + denv[i]; */
            L_tmp = Mult_32_16(denv[i], Random(cng_ener_seed1));
            L_tmp = Mult_32_16(L_tmp, GAIN_VAR);
#ifdef BASOP_NOGLOB
            L_tmp = L_add_sat( L_tmp, denv[i] );
            itmp[i] = L_add_sat(L_tmp, itmp[i]);
#else
            L_tmp = L_add(L_tmp, denv[i]);
            itmp[i] = L_add(L_tmp, itmp[i]);
#endif
            move32();/* Q6 */

            if (itmp[i] < 0)
@@ -538,9 +556,15 @@ void CNG_exc_fx(
            {
                L_tmp = L_mult0(*pt_fft_io, *pt_fft_io);
                pt_fft_io++;
#ifdef BASOP_NOGLOB
                L_tmp = L_mac0_sat( L_tmp, *pt_fft_io, *pt_fft_io ); /* 2*(Q_exc) */
                pt_fft_io++;
                L_tmp2 = L_add_sat(L_tmp2, L_shr(L_tmp, 7)); /* 2*(Q_exc)+1, divide by L_frame done here */
#else
                L_tmp = L_mac0(L_tmp, *pt_fft_io, *pt_fft_io); /* 2*(Q_exc) */
                pt_fft_io++;
                L_tmp2 = L_add(L_tmp2, L_shr(L_tmp, 7)); /* 2*(Q_exc)+1, divide by L_frame done here */
#endif
            }
        }
        ELSE /* L_FRAME16k */
+1 −1
Original line number Diff line number Diff line
@@ -226,7 +226,7 @@ enum{
#define INV_LOG_2                       1.442695040888963f /* 1/log(2)  */
#define INV_SQRT_2                      0.70710676908493f  /* 1/sqrt(2) */
#define INV_SQRT_2_Q15                  23170  /* 1/sqrt(2) in Q15 */
#define INV_SQRT_2_Q31                  1.51850022e+09  /* 1/sqrt(2) in Q31 */
#define INV_SQRT_2_Q31                  (Word32)1.51850022e+09  /* 1/sqrt(2) in Q31 */

#define MAX_V_MULT_MAT                  100             /* maximum array length for the function v_mult_mat() */

Loading