Commit 24e8bdab authored by vaclav's avatar vaclav
Browse files

Merge branch '2245-assert-in-stereodmxevs-complexity-job-in-evs-decoder' into 'main'

Resolve "Assert in StereoDmxEVS complexity job in EVS decoder"

Closes #2245

See merge request !2628
parents 3cdbe03a 97595896
Loading
Loading
Loading
Loading
Loading
+9 −3
Original line number Diff line number Diff line
@@ -58,7 +58,13 @@ ivas_error createFdCngCom_fx(
 *
 *-------------------------------------------------------------------*/

void ivas_initFdCngCom_fx( HANDLE_FD_CNG_COM hFdCngCom, Word16 scale )
#ifdef FIX_2245_INIT_FD_CNG_EVS
void initFdCngCom(
#else
void ivas_initFdCngCom_fx(
#endif
    HANDLE_FD_CNG_COM hFdCngCom,
    Word16 scale )
{
    /* Calculate CLDFB scaling factor */
    /* shl(i_mult2(scale, scale), 3) does not fit in 16 bit */
@@ -172,7 +178,7 @@ void ivas_initFdCngCom_fx( HANDLE_FD_CNG_COM hFdCngCom, Word16 scale )
    return;
}


#ifndef FIX_2245_INIT_FD_CNG_EVS
void initFdCngCom( HANDLE_FD_CNG_COM hFdCngCom, Word16 scale )
{
    /* Calculate CLDFB scaling factor */
@@ -277,7 +283,7 @@ void initFdCngCom( HANDLE_FD_CNG_COM hFdCngCom, Word16 scale )

    return;
}

#endif
/*-------------------------------------------------------------------
 * deleteFdCngCom()
 *
+2 −1
Original line number Diff line number Diff line
@@ -1990,6 +1990,7 @@ 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 
@@ -1998,7 +1999,7 @@ void initFdCngDec_ivas_fx(
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                         */
+1 −0
Original line number Diff line number Diff line
@@ -86,6 +86,7 @@
#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 */

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

+20 −0
Original line number Diff line number Diff line
@@ -79,16 +79,27 @@ 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 );
@@ -123,6 +134,9 @@ 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 );
@@ -148,6 +162,9 @@ 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 );
@@ -194,9 +211,11 @@ void initFdCngDec_ivas_fx(
    move16();
    Copy( st->lsp_old_fx, st->lspCNG_fx, M ); /*Q15*/
    hFdCngDec->hFdCngCom->sid_frame_counter = 0;

    return;
}

#ifndef FIX_2245_INIT_FD_CNG_EVS
void initFdCngDec_fx(
    DEC_CORE_HANDLE st, /* i/o: decoder state structure     */
    const Word16 scale /*Q15*/ )
@@ -285,6 +304,7 @@ void initFdCngDec_fx(

    return;
}
#endif
/*
   configureFdCngDec_fx

+4 −0
Original line number Diff line number Diff line
@@ -928,7 +928,11 @@ ivas_error init_decoder_fx(
        }

        /* Init FD-CNG */
#ifdef FIX_2245_INIT_FD_CNG_EVS
        initFdCngDec_fx( st_fx, st_fx->cldfbSyn->scale );
#else
        initFdCngDec_ivas_fx( st_fx, st_fx->cldfbSyn->scale );
#endif
    }
    ELSE
    {
Loading