Changeset 1164 in 3DVCSoftware for branches/HTM-13.1-dev0/source/Lib/TLibEncoder/TEncSearch.cpp
- Timestamp:
- 16 Mar 2015, 12:52:20 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-13.1-dev0/source/Lib/TLibEncoder/TEncSearch.cpp
r1163 r1164 5500 5500 TComMv cMvPred = *pcMvPred; 5501 5501 5502 #ifdef SONY_MV_V_CONST_C0078 5503 Bool bMv_VRng_Restricted = false; 5504 if( m_pcEncCfg->getUseDisparitySearchRangeRestriction() 5505 && 5506 pcCU->getSlice()->getRefPic( eRefPicList, iRefIdxPred )->getPOC() == pcCU->getSlice()->getPOC() 5507 ) 5508 { 5509 bMv_VRng_Restricted = true; 5510 } 5511 if ( bBi ) xSetSearchRange ( pcCU, rcMv , iSrchRng, cMvSrchRngLT, cMvSrchRngRB, bMv_VRng_Restricted, m_pcEncCfg->getVerticalDisparitySearchRange() ); 5512 else xSetSearchRange ( pcCU, cMvPred, iSrchRng, cMvSrchRngLT, cMvSrchRngRB, bMv_VRng_Restricted, m_pcEncCfg->getVerticalDisparitySearchRange() ); 5513 #else 5502 5514 if ( bBi ) xSetSearchRange ( pcCU, rcMv , iSrchRng, cMvSrchRngLT, cMvSrchRngRB ); 5503 5515 else xSetSearchRange ( pcCU, cMvPred, iSrchRng, cMvSrchRngLT, cMvSrchRngRB ); 5516 #endif 5504 5517 5505 5518 m_pcRdCost->getMotionCost ( 1, 0 ); … … 5554 5567 5555 5568 5569 #ifdef SONY_MV_V_CONST_C0078 5570 Void TEncSearch::xSetSearchRange ( TComDataCU* pcCU, TComMv& cMvPred, Int iSrchRng, TComMv& rcMvSrchRngLT, TComMv& rcMvSrchRngRB, Bool bMv_VRng_Restricted, Int iVerDispSrchRng ) 5571 #else 5556 5572 Void TEncSearch::xSetSearchRange ( TComDataCU* pcCU, TComMv& cMvPred, Int iSrchRng, TComMv& rcMvSrchRngLT, TComMv& rcMvSrchRngRB ) 5573 #endif 5557 5574 { 5558 5575 Int iMvShift = 2; … … 5569 5586 rcMvSrchRngRB.setHor( cTmpMvPred.getHor() + (iSrchRng << iMvShift) ); 5570 5587 rcMvSrchRngRB.setVer( cTmpMvPred.getVer() + (iSrchRng << iMvShift) ); 5588 5589 #ifdef SONY_MV_V_CONST_C0078 5590 if ( bMv_VRng_Restricted ) { 5591 Int iRestrictMvVrange = ( iVerDispSrchRng - 1 ) << iMvShift ; // -1 to consider subpel search 5592 if ( rcMvSrchRngRB.getVer() >= iRestrictMvVrange ){ 5593 rcMvSrchRngRB.setVer( iRestrictMvVrange ); //only positive side is restricted 5594 } 5595 } 5596 #endif 5597 5571 5598 pcCU->clipMv ( rcMvSrchRngLT ); 5572 5599 pcCU->clipMv ( rcMvSrchRngRB );
Note: See TracChangeset for help on using the changeset viewer.