Changeset 923 in SHVCSoftware for branches


Ignore:
Timestamp:
14 Nov 2014, 12:22:31 (10 years ago)
Author:
nokia
Message:

Port the STSA bug fix in HM to SHM.

Location:
branches/SHM-dev/source/Lib
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r914 r923  
    770770  {
    771771    READ_CODE( 3,  uiCode, "sps_ext_or_max_sub_layers_minus1" );     uiTmp = uiCode;
     772    if(!( pcSPS->getLayerId() != 0 && uiTmp == 7 ))
     773    {
     774      pcSPS->setMaxTLayers(uiTmp+1);
     775    }
    772776  }
    773777#endif
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncGOP.cpp

    r912 r923  
    16311631          {
    16321632            TComReferencePictureSet* nRPS = pcSlice->getSPS()->getRPSList()->getReferencePictureSet(ii);
    1633             for(Int jj=0;jj<nRPS->getNumberOfPictures();jj++)
     1633            for(Int jj=0;(jj<nRPS->getNumberOfPictures() && isSTSA==true);jj++)
    16341634            {
    16351635              if(nRPS->getUsed(jj))
     
    16371637                Int tPoc=m_pcCfg->getGOPEntry(ii).m_POC+nRPS->getDeltaPOC(jj);
    16381638                Int kk=0;
    1639                 for(kk=0;kk<m_pcCfg->getGOPSize();kk++)
     1639                for(kk=0;kk<iGOPid;kk++)
    16401640                {
    16411641                  if(m_pcCfg->getGOPEntry(kk).m_POC==tPoc)
     1642                  {
     1643                    isSTSA=false;
    16421644                    break;
     1645                  }
    16431646                }
    16441647                Int tTid=m_pcCfg->getGOPEntry(kk).m_temporalId;
     
    17901793        )
    17911794    {
     1795      if(pcSlice->isStepwiseTemporalLayerSwitchingPointCandidate(rcListPic))
     1796      {
    17921797        Bool isSTSA=true;
    17931798        Bool isIntra=false;
     
    18121817          {
    18131818            TComReferencePictureSet* nRPS = pcSlice->getSPS()->getRPSList()->getReferencePictureSet(ii);
    1814             for(Int jj=0; jj<nRPS->getNumberOfPictures(); jj++)
     1819            for(Int jj=0;(jj<nRPS->getNumberOfPictures() && isSTSA==true);jj++)
    18151820            {
    18161821              if(nRPS->getUsed(jj))
     
    18181823                Int tPoc=m_pcCfg->getGOPEntry(ii).m_POC+nRPS->getDeltaPOC(jj);
    18191824                Int kk=0;
    1820                 for(kk=0; kk<m_pcCfg->getGOPSize(); kk++)
     1825                for(kk=0;kk<iGOPid;kk++)
    18211826                {
    18221827                  if(m_pcCfg->getGOPEntry(kk).m_POC==tPoc)
    18231828                  {
     1829                    isSTSA=false;
    18241830                    break;
    18251831                  }
     
    18461852          }
    18471853        }
     1854      }
    18481855    }
    18491856#endif
Note: See TracChangeset for help on using the changeset viewer.