Commit 9d5f442f authored by vaclav's avatar vaclav
Browse files

FIX_1547_ISMDTX_HANDLE

parent 1b307622
Loading
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -122,6 +122,9 @@
    <ClCompile Include="..\lib_rend\ivas_cldfb_ring_buffer.c">
      <Filter>rend_c</Filter>
    </ClCompile>
    <ClCompile Include="..\lib_rend\ivas_binRenderer_internal.c">
      <Filter>rend_c</Filter>
    </ClCompile>
  </ItemGroup>
  <ItemGroup>
    <ClInclude Include="..\lib_rend\lib_rend.h" />
+4 −0
Original line number Diff line number Diff line
@@ -1049,7 +1049,11 @@ ivas_error ivas_ism_metadata_dec(
    const int16_t bfi,                                          /* i  : bfi flag                                    */
    int16_t nb_bits_metadata[],                                 /* o  : number of metadata bits                     */
    ISM_MODE ism_mode,                                          /* i  : ISM mode                                    */
#ifdef FIX_1547_ISMDTX_HANDLE
    ISM_DTX_DATA_DEC *hISMDTX,                                  /* i/o: ISM DTX handle                              */
#else
    ISM_DTX_DATA_DEC hISMDTX,                                   /* i/o: ISM DTX structure                           */
#endif
    const PARAM_ISM_CONFIG_HANDLE hParamIsm,                    /* i  : Param ISM Config Handle                     */
    int16_t *ism_extended_metadata_flag,                        /* i/o: Extended metadata active in renderer        */
    int16_t *ism_extmeta_cnt,                                   /* i/o: Number of change frames observed            */
+1 −1
Original line number Diff line number Diff line
@@ -161,7 +161,7 @@
/*#define FIX_I4_OL_PITCH*/                             /* fix open-loop pitch used for EVS core switching */
#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_1547_ISMDTX_HANDLE                          /* VA: float issue 1547: fix use of 'hISMDTX' handle */

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

+8 −0
Original line number Diff line number Diff line
@@ -126,7 +126,11 @@ ivas_error ivas_dec(
        }
        else if ( st_ivas->ism_mode == ISM_MODE_PARAM )
        {
#ifdef FIX_1547_ISMDTX_HANDLE
            if ( ( error = ivas_ism_metadata_dec( ivas_total_brate, st_ivas->nchan_ism, &( st_ivas->nchan_transport ), st_ivas->hIsmMetaData, st_ivas->hSCE, st_ivas->bfi, nb_bits_metadata, st_ivas->ism_mode, &( st_ivas->hISMDTX ), st_ivas->hParamIsmDec->hParamIsm, &st_ivas->ism_extmeta_active, &st_ivas->ism_extmeta_cnt, st_ivas->hSCE[0]->hCoreCoder[0] ) ) != IVAS_ERR_OK )
#else
            if ( ( error = ivas_ism_metadata_dec( ivas_total_brate, st_ivas->nchan_ism, &( st_ivas->nchan_transport ), st_ivas->hIsmMetaData, st_ivas->hSCE, st_ivas->bfi, nb_bits_metadata, st_ivas->ism_mode, st_ivas->hISMDTX, st_ivas->hParamIsmDec->hParamIsm, &st_ivas->ism_extmeta_active, &st_ivas->ism_extmeta_cnt, st_ivas->hSCE[0]->hCoreCoder[0] ) ) != IVAS_ERR_OK )
#endif
            {
                return error;
            }
@@ -135,7 +139,11 @@ ivas_error ivas_dec(
        }
        else /* ISM_MODE_DISC */
        {
#ifdef FIX_1547_ISMDTX_HANDLE
            if ( ( error = ivas_ism_metadata_dec( ivas_total_brate, st_ivas->nchan_ism, &( st_ivas->nchan_transport ), st_ivas->hIsmMetaData, st_ivas->hSCE, st_ivas->bfi, nb_bits_metadata, st_ivas->ism_mode, &( st_ivas->hISMDTX ), NULL, &st_ivas->ism_extmeta_active, &st_ivas->ism_extmeta_cnt, st_ivas->hSCE[0]->hCoreCoder[0] ) ) != IVAS_ERR_OK )
#else
            if ( ( error = ivas_ism_metadata_dec( ivas_total_brate, st_ivas->nchan_ism, &( st_ivas->nchan_transport ), st_ivas->hIsmMetaData, st_ivas->hSCE, st_ivas->bfi, nb_bits_metadata, st_ivas->ism_mode, st_ivas->hISMDTX, NULL, &st_ivas->ism_extmeta_active, &st_ivas->ism_extmeta_cnt, st_ivas->hSCE[0]->hCoreCoder[0] ) ) != IVAS_ERR_OK )
#endif
            {
                return error;
            }
+12 −0
Original line number Diff line number Diff line
@@ -148,7 +148,11 @@ ivas_error ivas_ism_metadata_dec(
    const int16_t bfi,                       /* i  : bfi flag                               */
    int16_t nb_bits_metadata[],              /* o  : number of metadata bits                */
    ISM_MODE ism_mode,                       /* i  : ISM mode                               */
#ifdef FIX_1547_ISMDTX_HANDLE
    ISM_DTX_DATA_DEC *hISMDTX,               /* i/o: ISM DTX handle                         */
#else
    ISM_DTX_DATA_DEC hISMDTX,                /* i/o: ISM DTX structure                      */
#endif
    const PARAM_ISM_CONFIG_HANDLE hParamIsm, /* i  : Param ISM Config Handle                */
    int16_t *ism_extmeta_active,             /* i/o: Extended metadata active in renderer   */
    int16_t *ism_extmeta_cnt,                /* i/o: Number of change frames observed       */
@@ -529,11 +533,19 @@ ivas_error ivas_ism_metadata_dec(
        }
    }

#ifdef FIX_1547_ISMDTX_HANDLE
    if ( hISMDTX->ism_dtx_hangover_cnt < IVAS_ISM_DTX_HO_MAX )
    {
        ism_metadata_smooth( hIsmMeta, ism_total_brate, nchan_ism );
        hISMDTX->ism_dtx_hangover_cnt += 1;
    }
#else
    if ( hISMDTX.ism_dtx_hangover_cnt < IVAS_ISM_DTX_HO_MAX )
    {
        ism_metadata_smooth( hIsmMeta, ism_total_brate, nchan_ism );
        hISMDTX.ism_dtx_hangover_cnt += 1;
    }
#endif

    if ( ism_mode == ISM_SBA_MODE_DISC )
    {
Loading