Changeset 1231 in SHVCSoftware


Ignore:
Timestamp:
9 Jul 2015, 00:56:11 (9 years ago)
Author:
seregin
Message:

port rev 4182

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

Legend:

Unmodified
Added
Removed
  • branches/SHM-dev/source/Lib/TLibCommon/TComSlice.cpp

    r1230 r1231  
    23462346  ::memset( m_used, 0, sizeof(m_used) );
    23472347  ::memset( m_refIdc, 0, sizeof(m_refIdc) );
     2348  ::memset( m_bCheckLTMSB, 0, sizeof(m_bCheckLTMSB) );
     2349  ::memset( m_pocLSBLT, 0, sizeof(m_pocLSBLT) );
     2350  ::memset( m_deltaPOCMSBCycleLT, 0, sizeof(m_deltaPOCMSBCycleLT) );
     2351  ::memset( m_deltaPocMSBPresentFlag, 0, sizeof(m_deltaPocMSBPresentFlag) );
    23482352}
    23492353
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncCavlc.cpp

    r1224 r1231  
    10451045        UInt ltrpIndex;
    10461046        Int counter = 0;
     1047        // WARNING: The following code only works only if a matching long-term RPS is
     1048        //          found in the SPS for ALL long-term pictures
     1049        //          The problem is that the SPS coded long-term pictures are moved to the
     1050        //          beginning of the list which causes a mismatch when no reference picture
     1051        //          list reordering is used
     1052        //          NB: Long-term coding is currently not supported in general by the HM encoder
    10471053        for(Int k = rps->getNumberOfPictures()-1; k > rps->getNumberOfPictures()-rps->getNumberOfLongtermPictures()-1; k--)
    10481054        {
     
    10581064        }
    10591065        numLtrpInSH -= numLtrpInSPS;
     1066        // check that either all long-term pictures are coded in SPS or in slice header (no mixing)
     1067        assert (numLtrpInSH==0 || numLtrpInSPS==0);
    10601068
    10611069        Int bitsForLtrpInSPS = 0;
     
    10731081        Int prevDeltaMSB = 0, prevLSB = 0;
    10741082        Int offset = rps->getNumberOfNegativePictures() + rps->getNumberOfPositivePictures();
    1075         for(Int i=rps->getNumberOfPictures()-1 ; i > offset-1; i--)
     1083        counter = 0;
     1084        // Warning: If some pictures are moved to ltrpInSPS, i is referring to a wrong index
     1085        //          (mapping would be required)
     1086        for(Int i=rps->getNumberOfPictures()-1 ; i > offset-1; i--, counter++)
    10761087        {
    10771088          if (counter < numLtrpInSPS)
Note: See TracChangeset for help on using the changeset viewer.