Commit 659a1519 authored by Sandesh Venkatesh's avatar Sandesh Venkatesh
Browse files

Merge branch 'evs_dec_crash_fix' into 'main'

Address crash observed with EVS decoder

See merge request !176
parents d4e0c65f a3f83a24
Loading
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -1603,6 +1603,9 @@ void init_igf_dec_flt(
    hIGFDec->igfData.igfInfo.nfSeedBuf[1] = 9733;
    hIGFDec->igfData.igfInfo.nfSeed = &hIGFDec->igfData.igfInfo.nfSeedBuf[0];
    hIGFDec->igfData.pSpecFlat_float = &hIGFDec->igfData.pSpecFlatBuf[0];
#ifdef IVAS_FLOAT_FIXED
    hIGFDec->igfData.pSpecFlat = &hIGFDec->igfData.pSpecFlatBuf_fx[0];
#endif
    hIGFDec->flag_sparse = &hIGFDec->flag_sparseBuf[0];
    hIGFDec->infoTCXNoise = &hIGFDec->infoTCXNoiseBuf[0];
    hIGFDec->virtualSpec_float = &hIGFDec->virtualSpecBuf[0];
+23 −3
Original line number Diff line number Diff line
@@ -3419,6 +3419,11 @@ void init_igf_dec(
    IGF_DEC_INSTANCE_HANDLE hIGFDec /* i/o: IGF decoder handle      */
)
{
    set16_fx( (Word16 *) hIGFDec, 0, ( sizeof( IGFDEC_INSTANCE ) ) / sizeof( Word16 ) );
    hIGFDec->igfData.igfInfo.nfSeedBuf[0] = 9733;
    hIGFDec->igfData.igfInfo.nfSeedBuf[1] = 9733;
    hIGFDec->igfData.igfInfo.nfSeed = &hIGFDec->igfData.igfInfo.nfSeedBuf[0];

    set16_fx( hIGFDec->infoTCXNoise_evs, 0, IGF_START_MX );
    set16_fx( hIGFDec->flag_sparseBuf, 0, N_MAX_TCX - IGF_START_MN );
    set32_fx( hIGFDec->virtualSpec, 0, N_MAX_TCX - IGF_START_MN );
@@ -3440,6 +3445,21 @@ void init_igf_dec(
    hIGFDec->infoIGFStartLine = -1;
    move16();

    set_f( hIGFDec->igfData.pSpecFlatBuf, 0, IGF_START_MX );
#ifdef IVAS_FLOAT_FIXED
    set32_fx( hIGFDec->igfData.pSpecFlatBuf_fx, 0, IGF_START_MX );
#endif
    hIGFDec->igfData.pSpecFlat_float = &hIGFDec->igfData.pSpecFlatBuf[0];
#ifdef IVAS_FLOAT_FIXED
    hIGFDec->igfData.pSpecFlat = &hIGFDec->igfData.pSpecFlatBuf_fx[0];
#endif
    hIGFDec->flag_sparse = &hIGFDec->flag_sparseBuf[0];
    hIGFDec->infoTCXNoise = &hIGFDec->infoTCXNoiseBuf[0];
    hIGFDec->virtualSpec_float = &hIGFDec->virtualSpecBuf[0];
#ifdef IVAS_FLOAT_FIXED
    hIGFDec->virtualSpec_fx = &hIGFDec->virtualSpec[0];
#endif

    return;
}

+3 −6
Original line number Diff line number Diff line
@@ -150,13 +150,10 @@ ivas_error init_decoder_fx(
        }

        st_fx->igf = 0;
        //init_igf_dec(st_fx->hIGFDec);
        set16_fx((Word16*)st_fx->hIGFDec, 0, (sizeof(IGFDEC_INSTANCE) ) / sizeof(Word16));
        st_fx->hIGFDec->igfData.igfInfo.nfSeedBuf[0] = 9733;
        st_fx->hIGFDec->igfData.igfInfo.nfSeedBuf[1] = 9733;
        st_fx->hIGFDec->igfData.igfInfo.nfSeed = &st_fx->hIGFDec->igfData.igfInfo.nfSeedBuf[0];
        move16();
        init_igf_dec( st_fx->hIGFDec );
    }
    else
    ELSE
    {
        st_fx->hIGFDec = NULL;
    }