Changeset 815 in SHVCSoftware for trunk/source/Lib/TLibCommon/TComDataCU.cpp
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:mergeinfo changed
/branches/SHM-6-dev merged: 715-751,753-814
- Property svn:mergeinfo changed
-
trunk/source
- Property svn:mergeinfo changed
/branches/SHM-6-dev/source merged: 715-726,728-744,746-751,753-802,804-814
- Property svn:mergeinfo changed
-
trunk/source/Lib/TLibCommon/TComDataCU.cpp
r713 r815 3517 3517 #endif 3518 3518 3519 #if N0139_POSITION_ROUNDING_OFFSET 3519 #if REF_IDX_MFM 3520 // offset for collocated block in the motion mapping 3520 3521 if( iMotionMapping == 1 ) 3521 3522 { 3523 Bool unequalPictureSizeFlag = g_posScalingFactor[refLayerIdc][0] != 65536 || g_posScalingFactor[refLayerIdc][1] != 65536; //the condition should be updated according to the WD. 3524 3522 3525 // actually, motion field compression is performed in the Void TComPic::compressMotion() function, but with (+4) the rounding may have effect on the picture boundary check. 3523 iBX = ( ( iBX + 4 ) >> 4 ) << 4; 3524 iBY = ( ( iBY + 4 ) >> 4 ) << 4; 3526 if( unequalPictureSizeFlag ) 3527 { 3528 iBX = ( ( iBX + 4 ) >> 4 ) << 4; 3529 iBY = ( ( iBY + 4 ) >> 4 ) << 4; 3530 } 3531 else 3532 { 3533 iBX += 4; 3534 iBY += 4; 3535 } 3525 3536 } 3526 3537 #endif … … 3637 3648 { 3638 3649 Int refIdxL0 = cMvFieldL0.getRefIdx(); 3639 if(getSlice()->getRefPic(REF_PIC_LIST_0, refIdxL0)->isILR(m_layerId)) 3650 TComPic* refPic = m_pcSlice->getRefPic(REF_PIC_LIST_0, refIdxL0); 3651 3652 if(refPic->isILR(m_layerId)) 3640 3653 { 3641 3654 checkZeroMVILR &= (cMvFieldL0.getHor() == 0 && cMvFieldL0.getVer() == 0); 3655 3656 // It is a requirement of bitstream conformance that when the reference picture represented by the variable refIdxLX is an inter-layer reference picture, 3657 // VpsInterLayerSamplePredictionEnabled[ LayerIdxInVps[ currLayerId ] ][ LayerIdxInVps[ rLId ] ] shall be equal to 1, where rLId is set equal to nuh_layer_id of the inter-layer picture 3658 checkZeroMVILR &= m_pcSlice->getVPS()->isSamplePredictionType( m_layerId, refPic->getLayerId() ); 3642 3659 } 3643 3660 } … … 3645 3662 { 3646 3663 Int refIdxL1 = cMvFieldL1.getRefIdx(); 3647 if(getSlice()->getRefPic(REF_PIC_LIST_1, refIdxL1)->isILR(m_layerId)) 3664 TComPic* refPic = m_pcSlice->getRefPic(REF_PIC_LIST_1, refIdxL1); 3665 3666 if(refPic->isILR(m_layerId)) 3648 3667 { 3649 3668 checkZeroMVILR &= (cMvFieldL1.getHor() == 0 && cMvFieldL1.getVer() == 0); 3669 3670 // It is a requirement of bitstream conformance that when the reference picture represented by the variable refIdxLX is an inter-layer reference picture, 3671 // VpsInterLayerSamplePredictionEnabled[ LayerIdxInVps[ currLayerId ] ][ LayerIdxInVps[ rLId ] ] shall be equal to 1, where rLId is set equal to nuh_layer_id of the inter-layer picture 3672 checkZeroMVILR &= m_pcSlice->getVPS()->isSamplePredictionType( m_layerId, refPic->getLayerId() ); 3650 3673 } 3651 3674 }
Note: See TracChangeset for help on using the changeset viewer.