Changeset 723 in SHVCSoftware
- Timestamp:
- 22 Apr 2014, 19:22:47 (11 years ago)
- Location:
- branches/SHM-6-dev/source/Lib
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-6-dev/source/Lib/TLibCommon/TComPrediction.cpp
r722 r723 488 488 489 489 #if SVC_EXTENSION 490 TComPic* refPic = pcCU->getSlice()->getRefPic(eRefPicList, iRefIdx); 491 492 // ILRP has to be for the sample prediction type 493 assert( ( refPic->isILR(pcCU->getLayerId()) && pcCU->getSlice()->getVPS()->isSamplePredictionType( pcCU->getLayerId(), refPic->getLayerId() ) ) || refPic->isILR(pcCU->getLayerId()) == false ); 490 if( pcCU->getLayerId() > 0 ) 491 { 492 TComPic* refPic = pcCU->getSlice()->getRefPic(eRefPicList, iRefIdx); 493 494 // It is a requirement of bitstream conformance that when the reference picture represented by the variable refIdxLX is an inter-layer reference picture, 495 // VpsInterLayerSamplePredictionEnabled[ LayerIdxInVps[ currLayerId ] ][ LayerIdxInVps[ rLId ] ] shall be equal to 1, where rLId is set equal to nuh_layer_id of the inter-layer picture 496 assert( ( refPic->isILR(pcCU->getLayerId()) && pcCU->getSlice()->getVPS()->isSamplePredictionType( pcCU->getLayerId(), refPic->getLayerId() ) ) || refPic->isILR(pcCU->getLayerId()) == false ); 494 497 495 498 #if REF_IDX_ME_ZEROMV 496 assert( ( refPic->isILR(pcCU->getLayerId()) && cMv.getHor() == 0 && cMv.getVer() == 0 ) || refPic->isILR(pcCU->getLayerId()) == false ); 499 // It is a requirement of bitstream conformance that the variables mvLX[ 0 ] and mvLX[ 1 ] shall be equal to 0 if the value of refIdxLX corresponds to an inter-layer reference picture. 500 assert( ( refPic->isILR(pcCU->getLayerId()) && cMv.getHor() == 0 && cMv.getVer() == 0 ) || refPic->isILR(pcCU->getLayerId()) == false ); 497 501 #endif 502 } 498 503 #endif 499 504 -
branches/SHM-6-dev/source/Lib/TLibCommon/TComSlice.h
r722 r723 884 884 Void setDirectDependencyType(Int currLayerId, Int refLayerId, UInt x) { m_directDependencyType[currLayerId][refLayerId] = x; } 885 885 Bool isSamplePredictionType(Int currLayerId, Int refLayerId) { assert(currLayerId != refLayerId); return ( ( m_directDependencyType[currLayerId][refLayerId] + 1 ) & 1 ) ? true : false; } 886 Bool isMotionPredictionType(Int currLayerId, Int refLayerId) { assert(currLayerId != refLayerId); return ( ( ( m_directDependencyType[currLayerId][refLayerId] + 1 ) & 2 ) >> 1 ) ? true : false; } 886 887 #endif 887 888 UInt getNumProfileTierLevel() { return m_numProfileTierLevel; } -
branches/SHM-6-dev/source/Lib/TLibDecoder/TDecTop.cpp
r722 r723 1763 1763 } 1764 1764 } 1765 #endif 1765 #endif 1766 1767 if( m_layerId > 0 && pcSlice->getEnableTMVPFlag() ) 1768 { 1769 TComPic* refPic = pcSlice->getRefPic(RefPicList(1 - pcSlice->getColFromL0Flag()), pcSlice->getColRefIdx()); 1770 1771 // It is a requirement of bitstream conformance when the collocated picture, used for temporal motion vector prediction, is an inter-layer reference picture, 1772 // VpsInterLayerMotionPredictionEnabled[ LayerIdxInVps[ currLayerId ] ][ LayerIdxInVps[ rLId ] ] shall be equal to 1, where rLId is set equal to nuh_layer_id of the inter-layer picture. 1773 if( refPic->isILR(pcSlice->getLayerId()) ) 1774 { 1775 assert( m_ppcTDecTop[m_layerId]->getMotionPredEnabledFlag(refPic->getLayerId()) ); 1776 } 1777 } 1766 1778 #endif //SVC_EXTENSION 1767 1779
Note: See TracChangeset for help on using the changeset viewer.