Commit 41c815ae authored by vaclav's avatar vaclav
Browse files

- Merge remote-tracking branch 'remotes/origin/main' into...

- Merge remote-tracking branch 'remotes/origin/main' into basop-2585-bit-allocation-corner-cases-miss-alignment-between-float-and-fix
parents 549c8bba 6dd0ecbe
Loading
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -464,6 +464,7 @@ int main(
        }
    }

#ifndef FIX_1550_WRONG_RENDER_FRAMESIZE_PRINTOUT
    /*-----------------------------------------------------------------*
     * Print config information
     *-----------------------------------------------------------------*/
@@ -473,6 +474,7 @@ int main(
        fprintf( stderr, "\nIVAS_DEC_PrintConfig failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) );
        goto cleanup;
    }
#endif

    /*-------------------------------------------------------------------*
     * Load renderer configuration from file
@@ -666,6 +668,18 @@ int main(
        hHrtfBinary.hrtf_set_audio_cfg = IVAS_AUDIO_CONFIG_INVALID;
    }

#ifdef FIX_1550_WRONG_RENDER_FRAMESIZE_PRINTOUT
    /*-----------------------------------------------------------------*
     * Print config information
     *-----------------------------------------------------------------*/

    if ( ( error = IVAS_DEC_PrintConfig( hIvasDec, 1, arg.voipMode ) ) != IVAS_ERR_OK )
    {
        fprintf( stderr, "\nIVAS_DEC_PrintConfig failed: %s\n\n", IVAS_DEC_GetErrorMessage( error ) );
        goto cleanup;
    }
#endif

    /*------------------------------------------------------------------------------------------*
     * Allocate output data buffer
     *------------------------------------------------------------------------------------------*/
+17 −1
Original line number Diff line number Diff line
@@ -107,6 +107,11 @@
#define FIX_1585_ASAN_FORMAT_SW_ALT                     /* VA,FhG: float issues 1585,1593: alternative fix memory leaks with format switching */
#define FIX_BASOP_2573_RF_MODE_UPDATE                   /* FhG: BASOP issue 2573: remove duplicated update of rf_mode parameters from evs_enc_fx(); was already done in updt_enc_common_fx() */
#define FIX_2570_BUF_OVFL                               /* Orange: basop issue 2570: global-buffer-overflow in lib_rend/ivas_objectRenderer_sources_fx.c */
#define FIX_1550_WRONG_RENDER_FRAMESIZE_PRINTOUT        /* Dolby: float issue 1550: Wrong render framesize printout */
#define HARMONIZE_2553_TonalConceal_Apply               /* FhG: Harmonize TonalMDCTConceal_Apply with its ivas derivate */
#define HARMONIZE_2553_TonalConceal_Init                /* FhG: Harmonize TonalMDCTConceal_Init with its ivas derivate */
#define HARMONIZE_2553_TonalConceal_SaveFreqSignal      /* FhG: Harmonize TonalConceal_SaveFreqSignal with its ivas derivate */
#define HARMONIZE_2553_TonalConceal_SaveTimeSignal      /* FhG: Harmonize TonalConceal_SaveTimeSignal with its ivas derivate */

/* #################### End BE switches ################################## */

@@ -135,9 +140,20 @@
#define FIX_1559                                        /* Eri/FhG: fix for Issue 1559 in FD CNG with bitrate/bw switching */
#define FIX_BASOP_2571_MASA_EXT_RENDER_FIXES            /* Nokia: BASOP issue 2571: Fix MASA EXT DirAC renderer by unifying it with decoder */
#define NONBE_FIX_2575                                  /* Fhg: Fix issue 2575, precision loss in FD CNG */

#define FIX_2584_TD_SM_ISSUE                            /* VA: Fix inconsistencies in the SM part of the TD stereo */
#define FIX_2556_ALIGN_CONDITIONS                       /* VA: Fix different conditions that were not exact between float and fix, BE on self-test */
#define FIX_2585_BIT_ALLOCATION_DIFF                    /* VA : issue 2585, bit allocation different behaviors between float and fixed-point for corner cases */
#define FIX_NONBE_2579_INCORRECT_LAG_CALCULATION        /* Dolby: fix 2579: Incorrect lag calculation */

/* 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 */
#define FIX_BASOP_2592_OVERFLOW                         /* FhG: BASOP #2592: fix overflow in GetF0() */
#define FIX_BASOP_2591_EDGE_DETECT_COMP                 /* FhG: BASOP #2591: Wrong comparison in edge_detect_fx() */

/* ##################### End NON-BE switches ########################### */

+34 −7
Original line number Diff line number Diff line
@@ -5556,6 +5556,7 @@ void RefineTonalComponents_fx(
    const Word16 element_mode,
    const PsychoacousticParameters *psychParamsCurrent );

#ifndef HARMONIZE_2553_TonalConceal_Init
ivas_error TonalMDCTConceal_Init_fx(
    TonalMDCTConcealPtr self,
    const Word16 nSamples,
@@ -5563,16 +5564,22 @@ ivas_error TonalMDCTConceal_Init_fx(
    const Word16 nScaleFactors,
    TCX_CONFIG_HANDLE hTcxCfg /* TCX config */
);
#endif

#ifdef HARMONIZE_2553_TonalConceal_Init
ivas_error TonalMDCTConceal_Init_fx(
    Word16 element_mode,
#else
ivas_error TonalMDCTConceal_Init_ivas_fx(
#endif
    TonalMDCTConcealPtr hTonalMDCTConc,
    const UWord16 nSamples,
    const UWord16 nSamplesCore,
    const UWord16 nScaleFactors,
    TCX_CONFIG_HANDLE hTcxCfg /* TCX config */
);
    TCX_CONFIG_HANDLE hTcxCfg );

/* Must be called only when a good frame is recieved - concealment is inactive */
#ifndef HARMONIZE_2553_TonalConceal_SaveFreqSignal
void TonalMDCTConceal_SaveFreqSignal_fx(
    TonalMDCTConcealPtr self,
    const Word32 *mdctSpectrum,
@@ -5582,8 +5589,14 @@ void TonalMDCTConceal_SaveFreqSignal_fx(
    const Word16 *scaleFactors,
    const Word16 *scaleFactors_exp,
    const Word16 gain_tcx_exp );
#endif

#ifdef HARMONIZE_2553_TonalConceal_SaveFreqSignal
void TonalMDCTConceal_SaveFreqSignal_fx(
    Word16 element_mode,
#else
void TonalMDCTConceal_SaveFreqSignal_ivas_fx(
#endif
    TonalMDCTConcealPtr hTonalMDCTConc,
    const Word32 *mdctSpectrum,
    const Word16 mdctSpectrum_exp,
@@ -5601,15 +5614,22 @@ void TonalMDCTConceal_UpdateState_fx(
    const Word16 badBlock,
    const Word8 tonalConcealmentActive );


#ifndef HARMONIZE_2553_TonalConceal_Apply
void TonalMDCTConceal_Apply_fx(
    const TonalMDCTConcealPtr hTonalMDCTConc, /*IN */
    Word32 *mdctSpectrum,                     /*IN/OUT*/
    Word16 *mdctSpectrum_exp                  /*IN */
);
#endif


#ifdef HARMONIZE_2553_TonalConceal_Apply
void TonalMDCTConceal_Apply_fx(
    Word16 element_mode,
#else
void TonalMDCTConceal_Apply_ivas_fx(
    TonalMDCTConcealPtr hTonalMDCTConc, /*IN */
#endif
    const TonalMDCTConcealPtr hTonalMDCTConc, /*IN    */
    Word32 *mdctSpectrum,                     /*IN/OUT*/
    Word16 mdctSpectrum_exp,                  /*IN    */
    const PsychoacousticParameters *psychParamsCurrent );
@@ -5638,14 +5658,21 @@ void TonalMDCTConceal_InsertNoise_fx(
    Word16 crossfadeGain,
    const Word16 crossOverFreq );

#ifndef HARMONIZE_2553_TonalConceal_SaveTimeSignal
void TonalMDCTConceal_SaveTimeSignal_fx(
    TonalMDCTConcealPtr hTonalMDCTConc,
    Word16 *timeSignal,
    Word16 nNewSamples );
#endif

#ifdef HARMONIZE_2553_TonalConceal_SaveTimeSignal
void TonalMDCTConceal_SaveTimeSignal_fx(
    Word16 element_mode,
#else
void TonalMDCTConceal_SaveTimeSignal_ivas_fx(
#endif
    TonalMDCTConcealPtr hTonalMDCTConc,
    Word16 *timeSignal,
    Word16 *timeSignal, // q_timeSignal
    Word16 q_timeSignal,
    Word16 nNewSamples );

+430 −33

File changed.

Preview size limit exceeded, changes collapsed.

+8 −0
Original line number Diff line number Diff line
@@ -907,7 +907,11 @@ void open_decoder_LPD_fx(
        st->hTonalMDCTConc->lastBlockData.nSamples = 0;
        move16();

#ifdef HARMONIZE_2553_TonalConceal_Init
        TonalMDCTConceal_Init_fx( EVS_MONO, st->hTonalMDCTConc, hTcxDec->L_frameTCX, st->L_frame, FDNS_NPTS, st->hTcxCfg );
#else
        TonalMDCTConceal_Init_fx( st->hTonalMDCTConc, hTcxDec->L_frameTCX, st->L_frame, FDNS_NPTS, st->hTcxCfg );
#endif
    }
    st->last_tns_active = 0;
    move16();
@@ -1962,7 +1966,11 @@ void open_decoder_LPD_ivas_fx(
        move16();
        st->hTonalMDCTConc->lastBlockData.nSamples = 0;
        move16();
#ifdef HARMONIZE_2553_TonalConceal_Init
        TonalMDCTConceal_Init_fx( 1 /*signal non-EVS*/, st->hTonalMDCTConc, st->hTcxDec->L_frameTCX, st->L_frame, FDNS_NPTS, st->hTcxCfg );
#else
        TonalMDCTConceal_Init_ivas_fx( st->hTonalMDCTConc, st->hTcxDec->L_frameTCX, st->L_frame, FDNS_NPTS, st->hTcxCfg );
#endif
    }

    st->last_tns_active = 0;
Loading