Ignore:
Timestamp:
25 Sep 2014, 02:15:29 (10 years ago)
Author:
qualcomm
Message:

Implementation of adoptions in:
G0131, G0031, H0042, I0044, I0045

submitted by Hendry (fhendry@…)

File:
1 edited

Legend:

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

    r976 r1053  
    909909   }
    910910#endif
     911   
     912#if I0044_SLICE_TMVP
     913  if ( m_apcSlicePilot->getTLayer() == 0 && m_apcSlicePilot->getEnableTMVPFlag() == 0 )
     914  {
     915    //update all pics in the DPB such that they cannot be used for TMPV ref
     916    TComList<TComPic*>::iterator  iterRefPic = m_cListPic.begin(); 
     917    while( iterRefPic != m_cListPic.end() )
     918    {
     919      TComPic *refPic = *iterRefPic;
     920      if( ( refPic->getLayerId() == m_apcSlicePilot->getLayerId() ) && refPic->getReconMark() )
     921      {
     922        for(Int i = refPic->getNumAllocatedSlice()-1; i >= 0; i--)
     923        {
     924
     925          TComSlice *refSlice = refPic->getSlice(i);
     926          refSlice->setAvailableForTMVPRefFlag( false );
     927        }
     928      }
     929      iterRefPic++;
     930    }
     931  }
     932  m_apcSlicePilot->setAvailableForTMVPRefFlag( true );
     933#endif
     934
    911935  xActivateParameterSets();
    912936
     
    11321156#endif   
    11331157#endif
     1158
     1159#if I0044_SLICE_TMVP
     1160    if( m_layerId > 0 && !pcSlice->isIntra() && pcSlice->getEnableTMVPFlag() )
     1161    {
     1162      TComPic* refPic = pcSlice->getRefPic(RefPicList(1 - pcSlice->getColFromL0Flag()), pcSlice->getColRefIdx());
     1163
     1164      assert ( refPic );
     1165      assert ( refPic->getPicSym()->getSlice(0)->getAvailableForTMVPRefFlag() == true );
     1166    }
     1167#endif
     1168
    11341169    // For generalized B
    11351170    // 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.