Changeset 1055 in 3DVCSoftware for branches/HTM-12.0-dev1/source/Lib/TLibDecoder/TDecTop.cpp
- Timestamp:
- 26 Sep 2014, 19:29:56 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-12.0-dev1/source/Lib/TLibDecoder/TDecTop.cpp
r1054 r1055 938 938 } 939 939 #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 940 964 xActivateParameterSets(); 941 965 … … 1161 1185 #endif 1162 1186 #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 1163 1198 // For generalized B 1164 1199 // 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.