Changeset 1534 in SHVCSoftware for branches/SHM-dev/source/Lib/TLibEncoder
- Timestamp:
- 22 Mar 2016, 19:58:32 (10 years ago)
- Location:
- branches/SHM-dev/source/Lib/TLibEncoder
- Files:
-
- 7 edited
-
TEncCavlc.cpp (modified) (3 diffs)
-
TEncCfg.h (modified) (3 diffs)
-
TEncCu.cpp (modified) (1 diff)
-
TEncGOP.cpp (modified) (1 diff)
-
TEncSearch.cpp (modified) (6 diffs)
-
TEncSearch.h (modified) (3 diffs)
-
TEncTop.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/Lib/TLibEncoder/TEncCavlc.cpp
r1533 r1534 1445 1445 WRITE_CODE(0, 32, "general_reserved_zero_34bits"); WRITE_CODE(0, 2, "general_reserved_zero_34bits"); 1446 1446 } 1447 #if VIEW_SCALABILITY 1448 else if( ptl->getProfileIdc() == Profile::MULTIVIEWMAIN ) 1449 { 1450 WRITE_FLAG(true, "general_max_12bit_constraint_flag"); 1451 WRITE_FLAG(true, "general_max_10bit_constraint_flag"); 1452 WRITE_FLAG(true, "general_max_8bit_constraint_flag"); 1453 WRITE_FLAG(true, "general_max_422chroma_constraint_flag"); 1454 WRITE_FLAG(true, "general_max_420chroma_constraint_flag"); 1455 WRITE_FLAG(false, "general_max_monochrome_constraint_flag"); 1456 WRITE_FLAG(false, "general_intra_constraint_flag"); 1457 WRITE_FLAG(false, "general_one_picture_only_constraint_flag"); 1458 WRITE_FLAG(true, "general_lower_bit_rate_constraint_flag"); 1459 WRITE_CODE(0, 32, "general_reserved_zero_34bits"); WRITE_CODE(0, 2, "general_reserved_zero_34bits"); 1460 } 1461 #endif 1447 1462 else 1448 1463 { … … 1994 2009 1995 2010 WRITE_CODE( vps->getViewIdLen( ), 4, "view_id_len" ); 2011 #if !VIEW_SCALABILITY 1996 2012 assert ( vps->getNumViews() >= (1<<vps->getViewIdLen()) ); 2013 #endif 1997 2014 1998 2015 if ( vps->getViewIdLen() > 0 ) … … 2460 2477 2461 2478 // Vertical MV component restriction is not used in SHVC CTC 2479 #if VIEW_SCALABILITY 2480 WRITE_FLAG( pcSPS->getInterViewMvVertConstraintFlag() ? 1 : 0 , "inter_view_mv_vert_constraint_flag" ); 2481 #else 2462 2482 WRITE_FLAG( 0, "inter_view_mv_vert_constraint_flag" ); 2483 #endif 2463 2484 } 2464 2485 -
branches/SHM-dev/source/Lib/TLibEncoder/TEncCfg.h
r1475 r1534 399 399 400 400 #if SVC_EXTENSION 401 UInt m_layerId; 401 UInt m_layerId; 402 402 UInt m_numLayer; 403 403 Bool m_elRapSliceBEnabled; … … 483 483 Int m_TMVPConstraintsSEIEnabled; 484 484 #endif 485 486 #if VIEW_SCALABILITY 487 Bool m_bUseDisparitySearchRangeRestriction; 488 #endif 485 489 #endif //SVC_EXTENSION 486 490 … … 1253 1257 #endif 1254 1258 #endif 1259 #if VIEW_SCALABILITY 1260 Void setUseDisparitySearchRangeRestriction ( Bool b ) { m_bUseDisparitySearchRangeRestriction = b; } 1261 Bool getUseDisparitySearchRangeRestriction () { return m_bUseDisparitySearchRangeRestriction; } 1262 #endif 1255 1263 #endif //SVC_EXTENSION 1256 1264 }; -
branches/SHM-dev/source/Lib/TLibEncoder/TEncCu.cpp
r1502 r1534 1299 1299 { 1300 1300 #if REF_IDX_ME_ZEROMV 1301 Bool bZeroMVILR = rpcTempCU->xCheckZeroMVILRMerge(uhInterDirNeighbours[uiMergeCand], cMvFieldNeighbours[0 + 2*uiMergeCand], cMvFieldNeighbours[1 + 2*uiMergeCand]); 1302 if(bZeroMVILR) 1301 Bool bZeroMVILR = rpcTempCU->checkZeroMVILRMerge(uhInterDirNeighbours[uiMergeCand], cMvFieldNeighbours[0 + 2*uiMergeCand], cMvFieldNeighbours[1 + 2*uiMergeCand]); 1302 1303 if( bZeroMVILR ) 1303 1304 { 1304 1305 #endif -
branches/SHM-dev/source/Lib/TLibEncoder/TEncGOP.cpp
r1531 r1534 2029 2029 { 2030 2030 pcSlice->setILRPic( m_pcEncTop->getIlpList() ); 2031 #if VIEW_SCALABILITY 2032 pcSlice->setRefPicListModificationSvc(m_pcEncTop->getIlpList()); 2033 #else 2031 2034 pcSlice->setRefPicListModificationSvc(); 2035 #endif 2032 2036 pcSlice->setRefPicList( rcListPic, false, m_pcEncTop->getIlpList()); 2033 2037 -
branches/SHM-dev/source/Lib/TLibEncoder/TEncSearch.cpp
r1514 r1534 2888 2888 { 2889 2889 #if REF_IDX_ME_ZEROMV 2890 Bool bZeroMVILR = pcCU->xCheckZeroMVILRMerge(uhInterDirNeighbours[uiMergeCand], cMvFieldNeighbours[0 + 2*uiMergeCand], cMvFieldNeighbours[1 + 2*uiMergeCand]); 2891 if(bZeroMVILR) 2890 Bool bZeroMVILR = pcCU->checkZeroMVILRMerge(uhInterDirNeighbours[uiMergeCand], cMvFieldNeighbours[0 + 2*uiMergeCand], cMvFieldNeighbours[1 + 2*uiMergeCand]); 2891 2892 if( bZeroMVILR ) 2892 2893 { 2893 2894 #endif … … 3113 3114 { 3114 3115 #if REF_IDX_ME_ZEROMV 3115 Bool bZeroMVILR = pcCU->xCheckZeroMVILRMvdL1Zero(iRefList, iRefIdxTemp, aaiMvpIdx[iRefList][iRefIdxTemp]); 3116 if(bZeroMVILR) 3116 Bool bZeroMVILR = pcCU->checkZeroMVILRMvdL1Zero(iRefList, iRefIdxTemp, aaiMvpIdx[iRefList][iRefIdxTemp]); 3117 3118 if( bZeroMVILR ) 3117 3119 { 3118 3120 #endif … … 3864 3866 3865 3867 TComMv cMvPred = *pcMvPred; 3866 3868 #if VIEW_SCALABILITY 3869 m_vertRestriction = m_pcEncCfg->getUseDisparitySearchRangeRestriction() && pcCU->getSlice()->getRefPic( eRefPicList, iRefIdxPred )->getPOC() == pcCU->getSlice()->getPOC(); 3870 #endif 3867 3871 if ( bBi ) 3868 3872 { … … 3882 3886 // Do integer search 3883 3887 #if REF_IDX_ME_ZEROMV 3884 if( pcCU->getSlice()->getRefPic( eRefPicList, iRefIdxPred )->isILR(pcCU->getPic()->getLayerId())) //ILR reference pic 3888 //scalable layer 3889 if( pcCU->getSlice()->getVPS()->getScalabilityMask( SCALABILITY_ID ) && pcCU->getSlice()->getRefPic( eRefPicList, iRefIdxPred )->isILR(pcCU->getPic()->getLayerId()) ) //ILR reference pic 3885 3890 { 3886 3891 rcMv.setZero(); //use Mv(0, 0) for integer ME … … 3918 3923 3919 3924 #if REF_IDX_ME_ZEROMV 3920 if( pcCU->getSlice()->getRefPic( eRefPicList, iRefIdxPred )->isILR(pcCU->getPic()->getLayerId())) //ILR reference pic 3925 //scalable layer 3926 if( pcCU->getSlice()->getVPS()->getScalabilityMask( SCALABILITY_ID ) && pcCU->getSlice()->getRefPic( eRefPicList, iRefIdxPred )->isILR(pcCU->getPic()->getLayerId())) //ILR reference pic 3921 3927 { 3922 3928 xPatternSearchFracDIFMv0( pcPatternKey, piRefY, iRefStride, &rcMv, cMvHalf, cMvQter, ruiCost ); … … 3950 3956 rcMvSrchRngRB.setHor( cTmpMvPred.getHor() + (iSrchRng << iMvShift) ); 3951 3957 rcMvSrchRngRB.setVer( cTmpMvPred.getVer() + (iSrchRng << iMvShift) ); 3958 #if VIEW_SCALABILITY 3959 if( m_vertRestriction ) 3960 { 3961 Int mvRestricted = ( 56 - 1 ) << iMvShift ; // -1 to consider subpel search 3962 if( rcMvSrchRngRB.getVer() > mvRestricted ) 3963 { 3964 rcMvSrchRngRB.setVer( mvRestricted ); 3965 } 3966 } 3967 #endif 3952 3968 pcCU->clipMv ( rcMvSrchRngLT ); 3953 3969 pcCU->clipMv ( rcMvSrchRngRB ); -
branches/SHM-dev/source/Lib/TLibEncoder/TEncSearch.h
r1487 r1534 120 120 Bool m_isInitialized; 121 121 122 #if SVC_EXTENSION && N0383_IL_CONSTRAINED_TILE_SETS_SEI 122 #if SVC_EXTENSION 123 #if N0383_IL_CONSTRAINED_TILE_SETS_SEI 123 124 Bool m_disableILP; 125 #endif 126 #if VIEW_SCALABILITY 127 Bool m_vertRestriction; 128 #endif 124 129 #endif 125 130 … … 473 478 inline Void setDistParamComp( ComponentID compIdx ) { m_cDistParam.compIdx = compIdx; } 474 479 475 #if SVC_EXTENSION && REF_IDX_ME_ZEROMV 480 #if SVC_EXTENSION 481 #if REF_IDX_ME_ZEROMV 476 482 Void xPatternSearchFracDIFMv0 ( TComPattern* pcPatternKey, 477 483 Pel* piRefY, … … 485 491 UInt& ruiCost ); 486 492 #endif 487 #endif //SVC_EXTENSION 493 #endif 494 495 #if VIEW_SCALABILITY 496 TComMv xCheckMVVertRestriction( TComMv mv ); 497 #endif 498 #endif //SVC_EXTENSION 488 499 489 500 };// END CLASS DEFINITION TEncSearch -
branches/SHM-dev/source/Lib/TLibEncoder/TEncTop.cpp
r1513 r1534 848 848 m_cSPS.setLayerId(m_layerId); 849 849 } 850 #if VIEW_SCALABILITY 851 if( m_bUseDisparitySearchRangeRestriction ) 852 { 853 m_cSPS.setInterViewMvVertConstraintFlag( true ); 854 } 855 else 856 { 857 m_cSPS.setInterViewMvVertConstraintFlag( false ); 858 } 859 #endif 850 860 #endif //SVC_EXTENSION 851 861
Note: See TracChangeset for help on using the changeset viewer.