Commit 68210854 authored by vaclav's avatar vaclav
Browse files

fix issue 2011: decoding of a bitstream with first frame lost; under FIX_2011_BSTR_FIRST_LOST

parent e95243e9
Loading
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -100,6 +100,8 @@
#define FIX_ISSUE_2013_MDCT_STEREO_FER_DISCONTINUITIES       /* Eri/FhG: Issue 2013 fix for FER discontinuities */
#define FIX_2000_NON_LINEARITY_OVERSHOOT                     /* Eri: Issue 2000: SWB TBE energy overshoot in non-linearity. Aligns with float */

#define FIX_2011_BSTR_FIRST_LOST                             /* VA: issue 2011: decoding of a bitstream with first frame lost  */ 

/* #################### Start BASOP porting switches ############################ */

#define NONBE_1244_FIX_SWB_BWE_MEMORY                   /* VA: issue 1244: fix to SWB BWE memory in case of switching from FB coding - pending a review by Huawei */
+13 −0
Original line number Diff line number Diff line
@@ -1138,6 +1138,11 @@ ivas_error IVAS_DEC_GetSamples(
    {
        hIvasDec->hasBeenFedFrame = false;
        move16();
#ifdef FIX_2011_BSTR_FIRST_LOST
        set16_fx( pcmBuf, 0, imult1616( hIvasDec->st_ivas->hDecoderConfig->nchan_out, nSamplesAsked ) );
        nSamplesRendered = nSamplesAsked;
        hIvasDec->nSamplesAvailableNext -= nSamplesAsked;
#else
        set16_fx( pcmBuf, 0, imult1616( hIvasDec->st_ivas->hDecoderConfig->nchan_out, nSamplesAsked ) );
        hIvasDec->nSamplesRendered = add( hIvasDec->nSamplesRendered, nSamplesAsked );
        move16();
@@ -1152,6 +1157,7 @@ ivas_error IVAS_DEC_GetSamples(
            move16();
            move16();
        }
#endif
    }
    ELSE
    {
@@ -1324,6 +1330,13 @@ ivas_error IVAS_DEC_GetSplitBinauralBitstream(
        return IVAS_ERR_UNEXPECTED_NULL_POINTER;
    }

#ifdef FIX_2011_BSTR_FIRST_LOST
    IF( !hIvasDec->hasBeenFedFirstGoodFrame )
    {
        return IVAS_ERR_OK;
    }

#endif
    st_ivas = hIvasDec->st_ivas;
    output_config = st_ivas->hDecoderConfig->output_config;
    output_Fs = st_ivas->hDecoderConfig->output_Fs;