Ticket #1101: SVN_HEVCSoftware_trunk_multiple_cvs_fix_additional.patch

File SVN_HEVCSoftware_trunk_multiple_cvs_fix_additional.patch, 2.7 KB (added by jackh, 11 years ago)
  • C:/Users/JSH/Documents/SVN/P8005_Hevc/trunk/hm/source/App/TAppDecoder/TAppDecTop.cpp

     
    109109
    110110  // main decoder loop
    111111  Bool recon_opened = false; // reconstruction file not yet opened. (must be performed after SPS is seen)
     112  Bool bEOS=false;
    112113
    113114  while (!!bitstreamFile)
    114115  {
     
    138139    else
    139140    {
    140141      read(nalu, nalUnit);
     142          if (nalu.m_nalUnitType==NAL_UNIT_EOS) bEOS=true;
    141143      if( (m_iMaxTemporalLayer >= 0 && nalu.m_temporalId > m_iMaxTemporalLayer) || !isNaluWithinTargetDecLayerIdSet(&nalu)  )
    142144      {
    143145        if(bPreviousPictureDecoded)
     
    186188            || nalu.m_nalUnitType == NAL_UNIT_CODED_SLICE_IDR_N_LP
    187189            || nalu.m_nalUnitType == NAL_UNIT_CODED_SLICE_BLA_N_LP
    188190            || nalu.m_nalUnitType == NAL_UNIT_CODED_SLICE_BLA_W_RADL
    189             || nalu.m_nalUnitType == NAL_UNIT_CODED_SLICE_BLA_W_LP ) )
     191                        || nalu.m_nalUnitType == NAL_UNIT_CODED_SLICE_BLA_W_LP
     192                        || (bEOS && nalu.m_nalUnitType==NAL_UNIT_CODED_SLICE_CRA) ))
     193                       
    190194      {
     195                  bEOS=false;
    191196        xFlushOutput( pcListPic );
    192197      }
    193198      // write reconstruction to file
  • C:/Users/JSH/Documents/SVN/P8005_Hevc/trunk/hm/source/Lib/TLibDecoder/TDecTop.cpp

     
    257257  std::tr1::shared_ptr<TComSPS> sps = m_parameterSetManagerDecoder.getSPS(pps->getSPSId());
    258258  assert (sps);
    259259
    260   Bool spsChanged=sps!=m_parameterSetManagerDecoder.getActiveSPS();
    261260  if (false == m_parameterSetManagerDecoder.activatePPS(m_apcSlicePilot->getPPSId(),m_apcSlicePilot->isIRAP()))
    262261  {
    263262    printf ("Parameter set activation failed!");
     
    294293  g_uiMaxCUDepth  = sps->getMaxCUDepth();
    295294  g_uiAddCUDepth  = max (0, sps->getLog2MinCodingBlockSize() - (Int)sps->getQuadtreeTULog2MinSize() );
    296295
    297   if (spsChanged)
    298   {
    299     for (TComList<TComPic *>::iterator It=m_cListPic.begin(); It!=m_cListPic.end(); ) {
    300       TComList<TComPic *>::iterator CIt=It++;
    301       (*CIt)->destroy();
    302       delete *CIt;
    303       m_cListPic.erase(CIt);
    304     }
    305   }
    306 
    307296  for (Int i = 0; i < sps->getLog2DiffMaxMinCodingBlockSize(); i++)
    308297  {
    309298    sps->setAMPAcc( i, sps->getUseAMP() );