Commit 769b238b authored by multrus's avatar multrus
Browse files

Merge branch 'cleanup_20251210' into 'main'

Cleanup 20251210

See merge request !2644
parents c1451885 279f3f20
Loading
Loading
Loading
Loading
Loading
+0 −110
Original line number Diff line number Diff line
@@ -58,11 +58,7 @@ ivas_error createFdCngCom_fx(
 *
 *-------------------------------------------------------------------*/

#ifdef FIX_2245_INIT_FD_CNG_EVS
void initFdCngCom(
#else
void ivas_initFdCngCom_fx(
#endif
    HANDLE_FD_CNG_COM hFdCngCom,
    Word16 scale )
{
@@ -178,112 +174,6 @@ void ivas_initFdCngCom_fx(
    return;
}

#ifndef FIX_2245_INIT_FD_CNG_EVS
void initFdCngCom( HANDLE_FD_CNG_COM hFdCngCom, Word16 scale )
{
    /* Calculate CLDFB scaling factor */
    /* shl(i_mult2(scale, scale), 3) does not fit in 16 bit */
    /*hFdCngCom->scalingFactor = div_s(1, shl(i_mult2(scale, scale), 3));*/
    assert( 2048 /*1.0/(1<<4) Q15*/ < mult( scale, scale ) );
    /* Exponent invScalingFactor: -16 = -(2*7 (scale) + 2 (8.0) */
    hFdCngCom->invScalingFactor = shl( mult( scale, scale ), 1 );
    move16();
    /* Exponent scalingFactor: -15 = -(2*7 (scale) + 2 (8.0) - 1 (1.0)) */
    hFdCngCom->scalingFactor = div_s( 0x4000, hFdCngCom->invScalingFactor );
    move16();

    /* Initialize the overlap-add */
    set16_fx( hFdCngCom->timeDomainBuffer, 0, L_FRAME16k );
    hFdCngCom->olapBufferAna = NULL;
    set16_fx( hFdCngCom->olapBufferAna_fx, 0, FFTLEN );

    set16_fx( hFdCngCom->olapBufferSynth, 0, FFTLEN );
    hFdCngCom->olapBufferSynth2 = NULL;

    /* Initialize the comfort noise generation */
    set32_fx( hFdCngCom->fftBuffer, 0, FFTLEN );
    set32_fx( hFdCngCom->cngNoiseLevel, 0, FFTCLDFBLEN );
    set16_fx( &hFdCngCom->cngNoiseLevelExp, 0, 1 );

    /* Initialize quantizer */
    set32_fx( hFdCngCom->sidNoiseEst, 0, NPART );
    set16_fx( &hFdCngCom->sidNoiseEstExp, 0, 1 );
    set16_fx( hFdCngCom->A_cng, 0, M + 1 );
    hFdCngCom->A_cng[0] = 4096 /*1.f Q12*/; /* 3Q12 */
    move16();

    /* Set some counters and flags */
    hFdCngCom->inactive_frame_counter = 0; /* Either SID or zero frames */
    move16();
    hFdCngCom->active_frame_counter = 0;
    move16();
    hFdCngCom->frame_type_previous = ACTIVE_FRAME;
    move16();
    hFdCngCom->flag_noisy_speech = 0;
    move16();
    hFdCngCom->likelihood_noisy_speech = 0;
    move16();
    hFdCngCom->numCoreBands = 0;
    move16();
    hFdCngCom->stopBand = 0;
    move16();
    hFdCngCom->startBand = 0;
    move16();
    hFdCngCom->stopFFTbin = 0;
    move16();
    hFdCngCom->frameSize = 0;
    move16();
    hFdCngCom->fftlen = 0;
    move16();
    hFdCngCom->seed = 0;
    move16();
    // hFdCngCom->seed2 = 1;
    // move16();
    // hFdCngCom->seed3 = 2;
    // move16();
    hFdCngCom->CngBitrate = -1;
    move16();

    /* Initialize noise estimation algorithm */
    set32_fx( hFdCngCom->periodog, 0, PERIODOGLEN );
    mhvals( MSNUMSUBFR * MSSUBFRLEN, &( hFdCngCom->msM_win ) );
    mhvals( MSSUBFRLEN, &( hFdCngCom->msM_subwin ) );
    set32_fx( hFdCngCom->msPeriodogSum, 0, 2 );
    hFdCngCom->msPeriodogSum_exp[0] = 0;
    move16();
    hFdCngCom->msPeriodogSum_exp[1] = 0;
    move16();
    set32_fx( hFdCngCom->msPsdSum, 0, 2 );
    set16_fx( hFdCngCom->msSlope, 0, 2 );
    set32_fx( hFdCngCom->msQeqInvAv, 0, 2 );
    hFdCngCom->msQeqInvAv_exp[0] = 0;
    move16();
    hFdCngCom->msQeqInvAv_exp[1] = 0;
    move16();
    hFdCngCom->msFrCnt_init_counter = 0;
    move16();
    hFdCngCom->msFrCnt_init_thresh = 1;
    move16();
    hFdCngCom->init_old = 0;
    move16();
    hFdCngCom->offsetflag = 0;
    move16();
    hFdCngCom->msFrCnt = MSSUBFRLEN;
    move16();
    hFdCngCom->msMinBufferPtr = 0;
    move16();
    hFdCngCom->msAlphaCor[0] = 644245120l /*0.3f Q31*/;
    move16();
    hFdCngCom->msAlphaCor[1] = 644245120l /*0.3f Q31*/;
    move16();
    set16_fx( hFdCngCom->psize, 0, NPART );
    /* Initialize exponents */
    hFdCngCom->exp_cldfb_periodog = 0;
    move16();

    return;
}
#endif
/*-------------------------------------------------------------------
 * deleteFdCngCom()
 *
+0 −10
Original line number Diff line number Diff line
@@ -1990,16 +1990,6 @@ ivas_error stereo_memory_dec_fx(
    const Word16 nchan_transport                                /* i  : number of transport channels            */
);

#ifndef FIX_2245_INIT_FD_CNG_EVS
void initFdCngDec_ivas_fx(
    DEC_CORE_HANDLE st,                                         /* i/o: decoder state structure                 */
    Word16 scale 
);

void ivas_initFdCngCom_fx( 
    HANDLE_FD_CNG_COM hFdCngCom, Word16 scale 
);
#endif
Word16 set_ACELP_flag_IVAS(
    const Word16 element_mode,                                  /* i  : element mode                            */
    const Word32 element_brate,                                 /* i  : element bitrate                         */
+0 −5
Original line number Diff line number Diff line
@@ -86,8 +86,6 @@
#define TMP_1342_WORKAROUND_DEC_FLUSH_BROKEN_IN_SR      /* FhG: Temporary workaround for incorrect implementation of decoder flush with split rendering */
#define NONBE_1122_KEEP_EVS_MODE_UNCHANGED              /* FhG: Disables fix for issue 1122 in EVS mode to keep BE tests green. This switch should be removed once the 1122 fix is added to EVS via a CR.  */
#define FIX_1435_MOVE_STEREO_PANNING                    /* VA: issue 1435: do the EVS stereo panning in the renderer */
#define FIX_BASOP_2201_HARMONIZE_HRTF_FILE_READER_CREND /* OR : Fix issue basop 2201 hrtf_file_reader crend differs between basop ivas-main and ivas-float-update */
#define FIX_2245_INIT_FD_CNG_EVS                        /* Dolby/VA: Issue 2245: initialize FD CNG with EVS-type of init function */
#define FIX_2252_SCALING_SAVE_HB_SYNTH                  /* VA: issue 2252: fix use-of-uninit-value in save_hb_synth_fx[] scaling in FOA decoding with bitstream that starts with an SID */
#define FIX_2248_EVS_ASSERT                             /* VA: Include _sat in an EVS related part of the code */

@@ -97,9 +95,6 @@
/* any switch which is non-be wrt. TS 26.251 V3.0 */

#define FIX_1454_FIX_STEREO_TO_FOA_JBM                  /* VA: issue 1454: fix buggy stereo to FOA in JBM */
#define FIX_2015_PREMPH_SAT_ALT_PART2                   /* VA: Add missing scaling factor to be passed to AVQ_cod() */
#define FIX_2253_CORRECT_GSC_MINIMUM_PIT_SEARCH         /* VA: Fix Issue 2253 where the encoder and decoder could get out of sync */
#define NONBE_FIX_1967_SBA_DECODER_MONO_OUT_BIG_DIFFERENCES /* Dolby: Fix basop issue 1967 */
#define FIX_1461_CNG_BW_SWITCHING                       /* Eri: float issue 1461: Stereo parameters are not updated when SID/NODATA forces BW to stay the same */
#define FIX_2041_SPECTRAL_GAPS_FOR_INACTIVE_FRAMES      /* FhG: Using rounding in multiplication to improve precision in cngNoiseLevel[] */
#define FIX_2264_OUT_OF_BOUND_READING_IN_LOG2_NORM_LC   /* VA: Fix issue 2264 by adding a proper safeguard in log2 and by adding a missing normalization in swb_pre_proc_ivas_fx()*/
+1 −9
Original line number Diff line number Diff line
@@ -4043,11 +4043,7 @@ void decoder_tcx_ivas_fx(
    decoder_tcx_tns_fx( st, L_frame_glob, L_spec, L_frame, L_frameTCX, x_fx, fUseTns, &tnsData, bfi, frame_cnt, 0, NULL );

    Scale_sig32( x_fx, N_MAX, sub( x_e, 20 ) );                                             // Scaling x_fx to Q11
#ifdef NONBE_FIX_1967_SBA_DECODER_MONO_OUT_BIG_DIFFERENCES
    Scale_sig( xn_buf_fx, L_MDCT_OVLP_MAX + L_FRAME_PLUS + L_MDCT_OVLP_MAX, -( Q14 - 2 ) ); // Scaling xn_buf_fx to Q(-2)
#else
    Scale_sig( xn_buf_fx, L_MDCT_OVLP_MAX + L_FRAME_PLUS + L_MDCT_OVLP_MAX, sub( st->Q_syn, 14 ) ); // Scaling xn_buf_fx to Q_syn
#endif
    x_e = sub( 31, 11 );

    IF( st->igf != 0 )
@@ -5648,11 +5644,7 @@ void decoder_tcx_imdct_fx(
        generate_masking_noise_mdct_ivas_fx( x_fx, &x_e, st->hFdCngDec->hFdCngCom );
        FOR( Word16 ind = 0; ind < L_frame; ind++ )
        {
#ifdef NONBE_FIX_1967_SBA_DECODER_MONO_OUT_BIG_DIFFERENCES
            x_fx[ind] = L_shl( x_fx[ind], sub( 31, add( x_e, q_x ) ) ); // q_x
#else
            x_fx[ind] = L_shr( x_fx[ind], sub( 31, add( x_e, q_x ) ) );                             // q_x
#endif
        }
    }

+0 −104
Original line number Diff line number Diff line
@@ -78,27 +78,17 @@ ivas_error createFdCngDec_fx( HANDLE_FD_CNG_DEC *hFdCngDec )
    return error;
}

#ifdef FIX_2245_INIT_FD_CNG_EVS
void initFdCngDec_fx(
    DEC_CORE_HANDLE st, /* i/o: decoder state structure     */
    const Word16 scale  /* i  : Q factor                    */
)
#else
void initFdCngDec_ivas_fx(
    DEC_CORE_HANDLE st, /* i/o: decoder state structure     */
    Word16 scale /*Q15*/ )
#endif
{
    /* Initialize common */
    HANDLE_FD_CNG_DEC hFdCngDec;

    hFdCngDec = st->hFdCngDec;

#ifdef FIX_2245_INIT_FD_CNG_EVS
    initFdCngCom( hFdCngDec->hFdCngCom, scale );
#else
    ivas_initFdCngCom_fx( hFdCngDec->hFdCngCom, scale );
#endif
    set16_fx( hFdCngDec->olapBufferAna, 0, FFTLEN );
    hFdCngDec->hFdCngCom->olapBufferAna = hFdCngDec->olapBufferAna;
    set16_fx( hFdCngDec->olapBufferSynth2, 0, FFTLEN );
@@ -133,9 +123,7 @@ void initFdCngDec_ivas_fx(

    set16_fx( hFdCngDec->msPsd, 0, NPART_SHAPING );
    set32_fx( hFdCngDec->msPsd_fx, 0, NPART_SHAPING );
#ifdef FIX_2245_INIT_FD_CNG_EVS
    set16_fx( hFdCngDec->msNoiseFloor, 0, NPART_SHAPING );
#endif
    set32_fx( hFdCngDec->msNoiseFloor_32fx, 0, NPART_SHAPING );

    set32_fx( hFdCngDec->msNoiseEst, 0, NPART_SHAPING );
@@ -161,9 +149,7 @@ void initFdCngDec_ivas_fx(
    move16();

    set16_fx( hFdCngDec->msLogPeriodog, 0, NPART_SHAPING );
#ifdef FIX_2245_INIT_FD_CNG_EVS
    set16_fx( hFdCngDec->msLogNoiseEst, 0, NPART_SHAPING );
#endif
    set32_fx( hFdCngDec->msLogNoiseEst_32fx, 0, NPART_SHAPING );

    set16_fx( hFdCngDec->psize_shaping, 0, NPART_SHAPING );
@@ -214,96 +200,6 @@ void initFdCngDec_ivas_fx(
    return;
}

#ifndef FIX_2245_INIT_FD_CNG_EVS
void initFdCngDec_fx(
    DEC_CORE_HANDLE st, /* i/o: decoder state structure     */
    const Word16 scale /*Q15*/ )
{
    /* Initialize common */
    HANDLE_FD_CNG_DEC hFdCngDec;

    hFdCngDec = st->hFdCngDec;

    initFdCngCom( hFdCngDec->hFdCngCom, scale );
    set16_fx( hFdCngDec->olapBufferAna, 0, 320 );
    hFdCngDec->hFdCngCom->olapBufferAna = hFdCngDec->olapBufferAna;
    move16();
    set16_fx( hFdCngDec->olapBufferSynth2, 0, FFTLEN );
    hFdCngDec->hFdCngCom->olapBufferSynth2 = hFdCngDec->olapBufferSynth2;
    move16();

    /* Set some counters and flags */

    hFdCngDec->flag_dtx_mode = 0;
    move16();
    hFdCngDec->lp_noise = -167772160l /*-20.f Q23*/; /* format: Q8.24 */
    move32();
    hFdCngDec->lp_speech = 209715200l /* 25.f Q23*/; /* format: Q8.24 */
    move32();

    /* Initialization of the noise estimation algorithm */

    set32_fx( hFdCngDec->bandNoiseShape, 0, FFTLEN2 );
    set16_fx( &hFdCngDec->bandNoiseShape_exp, 0, 1 );

    set32_fx( hFdCngDec->partNoiseShape, 0, NPART );
    set16_fx( &hFdCngDec->partNoiseShape_exp, 0, 1 );

    set32_fx( hFdCngDec->msPeriodog, 0, NPART_SHAPING );
    set16_fx( &hFdCngDec->msPeriodog_exp, 0, 1 );

    set32_fx( hFdCngDec->msAlpha, 0, NPART_SHAPING );

    set32_fx( hFdCngDec->msBminWin, 0, NPART_SHAPING );

    set32_fx( hFdCngDec->msBminSubWin, 0, NPART_SHAPING );

    set16_fx( hFdCngDec->msPsd, 0, NPART_SHAPING );
    set32_fx( hFdCngDec->msPsd_fx, 0, NPART_SHAPING );
    set16_fx( hFdCngDec->msNoiseFloor, 0, NPART_SHAPING );

    set32_fx( hFdCngDec->msNoiseEst, 0, NPART_SHAPING );
    set16_fx( &hFdCngDec->msNoiseEst_exp, 0, 1 );

    set32_fx( hFdCngDec->msMinBuf, 2147483647l /*1.0 Q31*/, MSNUMSUBFR * NPART_SHAPING );

    set32_fx( hFdCngDec->msCurrentMin, 2147483647l /*1.0 Q31*/, NPART_SHAPING );

    set32_fx( hFdCngDec->msCurrentMinOut, 2147483647l /*1.0 Q31*/, NPART_SHAPING );

    set32_fx( hFdCngDec->msCurrentMinSubWindow, 2147483647l /*1.0 Q31*/, NPART_SHAPING );

    set16_fx( hFdCngDec->msLocalMinFlag, 0, NPART_SHAPING );
    set16_fx( hFdCngDec->msNewMinFlag, 0, NPART_SHAPING );

    set16_fx( hFdCngDec->msPsdFirstMoment, 0, NPART_SHAPING );

    set32_fx( hFdCngDec->msPsdSecondMoment, 0, NPART_SHAPING );
    set16_fx( hFdCngDec->msPeriodogBuf, 0, MSBUFLEN * NPART_SHAPING );

    hFdCngDec->msPeriodogBufPtr = 0;
    move16();

    set16_fx( hFdCngDec->msLogPeriodog, 0, NPART_SHAPING );
    set16_fx( hFdCngDec->msLogNoiseEst, 0, NPART_SHAPING );

    set16_fx( hFdCngDec->psize_shaping, 0, NPART_SHAPING );
    hFdCngDec->nFFTpart_shaping = 0;
    move16();
    set32_fx( hFdCngDec->msPeriodog_ST_fx, 0, NPART_SHAPING );
    hFdCngDec->msPeriodog_ST_exp = 0;
    move16();
    hFdCngDec->hFdCngCom->fftBuffer_exp = 0;
    move16();
    hFdCngDec->hFdCngCom->periodog_exp = 0;
    move16();
    set32_fx( hFdCngDec->smoothed_psd_fx, 0, L_FRAME16k );
    hFdCngDec->smoothed_psd_exp = 0;
    move16();

    return;
}
#endif
/*
   configureFdCngDec_fx

Loading