Commit a761cf34 authored by Jan Kiene's avatar Jan Kiene
Browse files

Accept FIX_ISSUE_1966_PHASE_DIFF

parent e8f1b4cb
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -105,7 +105,6 @@
/* Macros for issue 1966 are independent, phase diff is always BE for EVS_MONO */
/* The changes for F0+thdModification are mainly for IVAS better float compatibility, */
/* for EVS_MONO, all is kept BE. */
#define FIX_ISSUE_1966_PHASE_DIFF                       /* FhG: Basop issue 1966: shift phase range to [-2PI..+2PI[, handle 4 quadrants */
#define FIX_ISSUE_1966_F0_32BIT                         /* FhG: Basop issue 1966: use 32-bit variables for F0 and thresholdModification */
#define FIX_BASOP_2519_TCA_LA_ZERO_EXP                  /* FhG: BASOP #2519: Exclude zero samples from exp_com calculation in tcaTargetCh_LA_fx */
#define FIX_BASOP_2519_ICBWE_DEC_Q_TRACK                /* FhG: BASOP #2519: Track Q-format of dec_2over3_mem_fx across frames in stereo_icBWE_preproc_fx */
+0 −27
Original line number Diff line number Diff line
@@ -23,11 +23,7 @@ static void CalcMDXT( const TonalMDCTConcealPtr hTonalMDCTConc, const Word16 typ
static void CalcPowerSpec( const Word32 *mdctSpec, const Word16 mdctSpec_exp, const Word32 *mdstSpec, const Word16 mdstSpec_exp, const Word16 nSamples, const Word16 floorPowerSpectrum, Word32 *powerSpec, Word16 *powerSpec_exp );
static void CalcPowerSpecAndDetectTonalComponents_fx( TonalMDCTConcealPtr const hTonalMDCTConc, Word32 secondLastMDST[], Word16 secondLastMDST_exp, Word32 secondLastMDCT[], Word16 secondLastMDCT_exp, Word32 const pitchLag, const PsychoacousticParameters *psychParamsCurrent, Word16 element_mode );
static void FindPhases( TonalMDCTConcealPtr const hTonalMDCTConc, Word32 secondLastMDCT[], Word32 secondLastMDST[], Word16 diff_exp );
#ifdef FIX_ISSUE_1966_PHASE_DIFF
static void FindPhaseDifferences( TonalMDCTConcealPtr const hTonalMDCTConc, Word32 powerSpectrum[], const Word16 element_mode );
#else
static void FindPhaseDifferences( TonalMDCTConcealPtr const hTonalMDCTConc, Word32 powerSpectrum[] );
#endif


/*******************************************************/
@@ -423,10 +419,8 @@ static void FindPhases(
static void FindPhaseDifferences(
    TonalMDCTConcealPtr const hTonalMDCTConc, /* i  : Pointer to internal structure        */
    Word32 powerSpectrum[]                    /* i  : Power spectrum data Qx                 */
#ifdef FIX_ISSUE_1966_PHASE_DIFF
    ,
    const Word16 element_mode /* i  : EVS_MONO or anything else */
#endif
)
{
    Word16 i, k;
@@ -457,7 +451,6 @@ static void FindPhaseDifferences(
            phaseDiff[i] = 0; /*(float)tan(0.0f*EVS_PI/bandwidth);*/
            move16();

#ifdef FIX_ISSUE_1966_PHASE_DIFF
            /* Note: This version is closer to the float reference, except */
            /*       for the phase range. It is here [-2PI..+2PI[, while */
            /*       in float it is [0..4PI[. */
@@ -487,14 +480,6 @@ static void FindPhaseDifferences(
                    move16();
                }
            }
#else
            if ( s_and( k, 1 ) != 0 )
            {
                phaseDiff[i] = -12868 /*-EVS_PI 3Q12*/;
                move16();
            }

#endif
        }
        ELSE
        {
@@ -503,7 +488,6 @@ static void FindPhaseDifferences(
                phaseDiff[i] = 12868 /*EVS_PI 3Q12*/; /*(float)tan(2.0f*PI/bandwidth);*/
                move16();

#ifdef FIX_ISSUE_1966_PHASE_DIFF
                IF( EQ_16( element_mode, EVS_MONO ) )
                {
                    if ( s_and( k, 1 ) != 0 )
@@ -530,13 +514,6 @@ static void FindPhaseDifferences(
                        move16();
                    }
                }
#else
                if ( s_and( k, 1 ) != 0 )
                {
                    phaseDiff[i] = 0 /*0 Q13*/; /*2Q13*/
                    move16();
                }
#endif
            }
            ELSE
            {
@@ -688,11 +665,7 @@ static void CalcPowerSpecAndDetectTonalComponents_fx(
                              floorPowerSpectrum, psychParamsCurrent, element_mode );
    FindPhases( hTonalMDCTConc, secondLastMDCT, secondLastMDST, sub( secondLastMDST_exp, secondLastMDCT_exp ) );

#ifdef FIX_ISSUE_1966_PHASE_DIFF
    FindPhaseDifferences( hTonalMDCTConc, powerSpectrum, element_mode );
#else
    FindPhaseDifferences( hTonalMDCTConc, powerSpectrum );
#endif

    IF( hTonalMDCTConc->pTCI->numIndexes > 0 )
    {