Commit f0083e01 authored by JÜRGEN Gerstacker's avatar JÜRGEN Gerstacker
Browse files

issue _1965_ fix

parent 97bdfd50
Loading
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -647,7 +647,11 @@ Word32 norm_llQ31( /* o : normalized result Q31 */
 * \brief Compute normalized Q31 Values out of overflowed Q31 value
 *        using 64-bit operators
 *------------------------------------------------------------------*/
static inline Word32 w_norm_llQ31( Word64 L64_var1, Word16 *S_var2 ) /*Q31 - L_tmp_exp*/
static inline
Word32 w_norm_llQ31(                   /* o : normalized result               Q31 - *S_var2 */
                     Word64 L64_var1,  /* i : 64-bit accu                     Q63           */
                     Word16 *S_var2    /* o : exponent of result in [-32,31]  Q0            */
)
{
    Word32 L_result;
    Word16 sh = W_norm( L64_var1 );
+6 −5
Original line number Diff line number Diff line
@@ -1274,7 +1274,7 @@ void QuantizeSpectrum_fx(
    CONTEXT_HM_CONFIG *phm_cfg;
    TCX_ENC_HANDLE hTcxEnc = st->hTcxEnc;
#ifdef BASOP_NOGLOB_DECLARE_LOCAL
#ifndef FIX_ISSUE_1965_REPLACE_CARRY_OVERFLOW
#ifndef FIX_ISSUE_1965_REPLACE_CARRY_OVERFLOWxxx
    Flag Overflow = 0;
    Flag Carry = 0;
#endif
@@ -1851,9 +1851,9 @@ void QuantizeSpectrum_fx(
                spectrum[i] = L_mult( sqQ[i], 1 << ( 30 - SPEC_EXP_DEC ) );
                move32();
                /* noise filling seed */
#ifndef FIX_ISSUE_1965_REPLACE_CARRY_OVERFLOW
#ifndef FIX_ISSUE_1965_REPLACE_CARRY_OVERFLOWxxx
                tmp32 = L_macNs_co( tmp32, abs_s( sqQ[i] ), i, &Carry, &Overflow );
#else
//#else
                seed = W_mac_16_16( seed, abs_s( sqQ[i] ), i );
#endif
            }
@@ -1861,9 +1861,10 @@ void QuantizeSpectrum_fx(
            move16();

#ifdef FIX_ISSUE_1965_REPLACE_CARRY_OVERFLOW
            nf_seed = extract_l( W_extract_l( seed ) ); // Q0
#else
            Word16 nf_seed2 = extract_l( W_extract_l( seed ) ); // Q0
///#else
            nf_seed = extract_l( tmp32 );
            if (nf_seed != nf_seed2) fprintf(stderr, "nfseed=0x%04x, nf_seed2= 0x%04x\n", nf_seed&0xffff,  nf_seed2&0xffff);
#endif
        }
        ELSE /* low rates: new arithmetic coder */