Changeset 901 in SHVCSoftware
- Timestamp:
- 6 Oct 2014, 22:50:44 (10 years ago)
- Location:
- branches/SHM-dev/source/Lib
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified branches/SHM-dev/source/Lib/TLibCommon/TComDataCU.cpp ¶
r849 r901 3546 3546 if( motionMapping ) 3547 3547 { 3548 // 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. 3549 if( m_pcPic->isSpatialEnhLayer(refLayerIdc) ) 3550 { 3548 if( m_pcPic->equalPictureSizeAndOffsetFlag(refLayerIdc) ) 3549 { 3550 // copy motion field from the same sample position for the case of 1x scaling ratio and same offset value between the current and reference layers 3551 iBX = pelX; 3552 iBY = pelY; 3553 } 3554 else 3555 { 3556 // 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. 3551 3557 iBX = ( ( iBX + 4 ) >> 4 ) << 4; 3552 3558 iBY = ( ( iBY + 4 ) >> 4 ) << 4; 3553 }3554 else3555 {3556 // copy motion field from the top left sample for 1x scaling ratio3557 iBX = pelX;3558 iBY = pelY;3559 3559 } 3560 3560 } -
TabularUnified branches/SHM-dev/source/Lib/TLibCommon/TComPic.cpp ¶
r880 r901 64 64 memset( m_pcFullPelBaseRec, 0, sizeof( m_pcFullPelBaseRec ) ); 65 65 memset( m_bSpatialEnhLayer, false, sizeof( m_bSpatialEnhLayer ) ); 66 memset( m_equalPictureSizeAndOffsetFlag, false, sizeof( m_equalPictureSizeAndOffsetFlag ) ); 66 67 #endif 67 68 m_apcPicYuv[0] = NULL; -
TabularUnified branches/SHM-dev/source/Lib/TLibCommon/TComPic.h ¶
r880 r901 88 88 Bool m_bSpatialEnhLayer[MAX_LAYERS]; // whether current layer is a spatial enhancement layer, 89 89 TComPicYuv* m_pcFullPelBaseRec[MAX_LAYERS]; // upsampled base layer recontruction for difference domain inter prediction 90 #if REF_IDX_MFM 91 Bool m_equalPictureSizeAndOffsetFlag[MAX_LAYERS]; 92 #endif 90 93 #endif 91 94 #if Q0048_CGS_3D_ASYMLUT … … 203 206 #endif 204 207 #if REF_IDX_MFM 208 Bool equalPictureSizeAndOffsetFlag(UInt refLayerIdc) { return m_equalPictureSizeAndOffsetFlag[refLayerIdc]; } 209 Void setEqualPictureSizeAndOffsetFlag(UInt refLayerIdc, Bool b) { m_equalPictureSizeAndOffsetFlag[refLayerIdc] = b; } 205 210 Void copyUpsampledMvField ( UInt refLayerIdc, TComPic* pcPicBase ); 206 211 Void initUpsampledMvField (); -
TabularUnified branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.cpp ¶
r884 r901 407 407 Bool sameBitDepths = ( g_bitDepthYLayer[m_layerId] == g_bitDepthYLayer[refLayerId] ) && ( g_bitDepthCLayer[m_layerId] == g_bitDepthCLayer[refLayerId] ); 408 408 409 #if REF_IDX_MFM 410 if( pcPicYuvRecBase->getWidth() == pcSlice->getPicWidthInLumaSamples() && pcPicYuvRecBase->getHeight() == pcSlice->getPicHeightInLumaSamples() && equalOffsets && zeroPhase ) 411 { 412 rpcPic->setEqualPictureSizeAndOffsetFlag( i, true ); 413 } 414 415 if( !rpcPic->equalPictureSizeAndOffsetFlag(i) || !sameBitDepths 416 #else 409 417 if( pcPicYuvRecBase->getWidth() != pcSlice->getPicWidthInLumaSamples() || pcPicYuvRecBase->getHeight() != pcSlice->getPicHeightInLumaSamples() || !sameBitDepths 410 418 #if REF_REGION_OFFSET && RESAMPLING_FIX … … 415 423 #else 416 424 || !zeroOffsets 425 #endif 417 426 #endif 418 427 #if Q0048_CGS_3D_ASYMLUT -
TabularUnified branches/SHM-dev/source/Lib/TLibEncoder/TEncTop.cpp ¶
r898 r901 820 820 Bool sameBitDepths = ( g_bitDepthYLayer[m_layerId] == g_bitDepthYLayer[refLayerId] ) && ( g_bitDepthCLayer[m_layerId] == g_bitDepthCLayer[refLayerId] ); 821 821 822 #if REF_IDX_MFM 823 if( m_iSourceWidth == pcEncTopBase->getSourceWidth() && m_iSourceHeight == pcEncTopBase->getSourceHeight() && equalOffsets && zeroPhase ) 824 { 825 pcEPic->setEqualPictureSizeAndOffsetFlag( i, true ); 826 } 827 828 if( !pcEPic->equalPictureSizeAndOffsetFlag(i) || !sameBitDepths 829 #else 822 830 if( m_iSourceWidth != pcEncTopBase->getSourceWidth() || m_iSourceHeight != pcEncTopBase->getSourceHeight() || !sameBitDepths 823 831 #if REF_REGION_OFFSET && RESAMPLING_FIX … … 828 836 #else 829 837 || !zeroOffsets 838 #endif 830 839 #endif 831 840 #if Q0048_CGS_3D_ASYMLUT
Note: See TracChangeset for help on using the changeset viewer.