Ignore:
Timestamp:
26 Sep 2014, 19:29:56 (10 years ago)
Author:
tech
Message:

Merged 12.0_dev0@1053.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-12.0-dev1/source/Lib/TLibDecoder/TDecTop.cpp

    r1054 r1055  
    938938   }
    939939#endif
     940   
     941#if I0044_SLICE_TMVP
     942  if ( m_apcSlicePilot->getTLayer() == 0 && m_apcSlicePilot->getEnableTMVPFlag() == 0 )
     943  {
     944    //update all pics in the DPB such that they cannot be used for TMPV ref
     945    TComList<TComPic*>::iterator  iterRefPic = m_cListPic.begin(); 
     946    while( iterRefPic != m_cListPic.end() )
     947    {
     948      TComPic *refPic = *iterRefPic;
     949      if( ( refPic->getLayerId() == m_apcSlicePilot->getLayerId() ) && refPic->getReconMark() )
     950      {
     951        for(Int i = refPic->getNumAllocatedSlice()-1; i >= 0; i--)
     952        {
     953
     954          TComSlice *refSlice = refPic->getSlice(i);
     955          refSlice->setAvailableForTMVPRefFlag( false );
     956        }
     957      }
     958      iterRefPic++;
     959    }
     960  }
     961  m_apcSlicePilot->setAvailableForTMVPRefFlag( true );
     962#endif
     963
    940964  xActivateParameterSets();
    941965
     
    11611185#endif   
    11621186#endif
     1187    // For generalized B
     1188#if I0044_SLICE_TMVP
     1189    if( m_layerId > 0 && !pcSlice->isIntra() && pcSlice->getEnableTMVPFlag() )
     1190    {
     1191      TComPic* refPic = pcSlice->getRefPic(RefPicList(1 - pcSlice->getColFromL0Flag()), pcSlice->getColRefIdx());
     1192
     1193      assert ( refPic );
     1194      assert ( refPic->getPicSym()->getSlice(0)->getAvailableForTMVPRefFlag() == true );
     1195    }
     1196#endif
     1197
    11631198    // For generalized B
    11641199    // note: maybe not existed case (always L0 is copied to L1 if L1 is empty)
Note: See TracChangeset for help on using the changeset viewer.