Ignore:
Timestamp:
2 Jan 2014, 07:21:30 (11 years ago)
Author:
seregin
Message:

update to HM-12.1 base

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-4.1-dev/source/App/TAppDecoder/TAppDecTop.cpp

    r531 r532  
    145145  // main decoder loop
    146146  Bool openedReconFile[MAX_LAYERS]; // reconstruction file not yet opened. (must be performed after SPS is seen)
     147  Bool loopFiltered[MAX_LAYERS];
     148  memset( loopFiltered, false, sizeof( loopFiltered ) );
     149
    147150  for(UInt layer=0; layer<=m_tgtLayerId; layer++)
    148151  {
     
    223226      }
    224227    }
    225     if (bNewPicture || !bitstreamFile)
     228
     229    if (bNewPicture || !bitstreamFile || nalu.m_nalUnitType == NAL_UNIT_EOS)
    226230    {
    227231#if O0194_DIFFERENT_BITDEPTH_EL_BL
     
    230234      g_bitDepthC = g_bitDepthCLayer[curLayerId];
    231235#endif
    232       m_acTDecTop[curLayerId].executeLoopFilters(poc, pcListPic);
     236      if (!loopFiltered[curLayerId] || bitstreamFile)
     237      {
     238        m_acTDecTop[curLayerId].executeLoopFilters(poc, pcListPic);
     239      }
     240      loopFiltered[curLayerId] = (nalu.m_nalUnitType == NAL_UNIT_EOS);
    233241#if EARLY_REF_PIC_MARKING
    234242      m_acTDecTop[curLayerId].earlyPicMarking(m_iMaxTemporalLayer, m_targetDecLayerIdSet);
     
    256264        xFlushOutput( pcListPic, curLayerId );
    257265      }
     266      if (nalu.m_nalUnitType == NAL_UNIT_EOS)
     267      {
     268        xFlushOutput( pcListPic, curLayerId );       
     269      }
    258270      // write reconstruction to file
    259271      if(bNewPicture)
     
    316328  // main decoder loop
    317329  Bool openedReconFile = false; // reconstruction file not yet opened. (must be performed after SPS is seen)
     330  Bool loopFiltered = false;
    318331
    319332#if SYNTAX_OUTPUT
     
    384397      }
    385398    }
    386     if (bNewPicture || !bitstreamFile)
    387     {
    388       m_cTDecTop.executeLoopFilters(poc, pcListPic);
     399    if (bNewPicture || !bitstreamFile || nalu.m_nalUnitType == NAL_UNIT_EOS)
     400    {
     401      if (!loopFiltered || bitstreamFile)
     402      {
     403        m_cTDecTop.executeLoopFilters(poc, pcListPic);
     404      }
     405      loopFiltered = (nalu.m_nalUnitType == NAL_UNIT_EOS);
    389406    }
    390407
     
    408425        xFlushOutput( pcListPic );
    409426      }
     427      if (nalu.m_nalUnitType == NAL_UNIT_EOS)
     428      {
     429        xFlushOutput( pcListPic );       
     430      }
    410431      // write reconstruction to file
    411432      if(bNewPicture)
     
    506527
    507528/** \param pcListPic list of pictures to be written to file
    508 \todo            DYN_REF_FREE should be revised
    509 */
     529    \todo            DYN_REF_FREE should be revised
     530 */
    510531#if SVC_EXTENSION
    511532Void TAppDecTop::xWriteOutput( TComList<TComPic*>* pcListPic, UInt layerId, UInt tId )
Note: See TracChangeset for help on using the changeset viewer.