Ignore:
Timestamp:
16 Mar 2015, 12:52:20 (9 years ago)
Author:
tech
Message:

Merged 13.1-dev2-Sony

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-13.1-dev0/source/Lib/TLibEncoder/TEncSearch.cpp

    r1163 r1164  
    55005500  TComMv      cMvPred = *pcMvPred;
    55015501 
     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
    55025514  if ( bBi )  xSetSearchRange   ( pcCU, rcMv   , iSrchRng, cMvSrchRngLT, cMvSrchRngRB );
    55035515  else        xSetSearchRange   ( pcCU, cMvPred, iSrchRng, cMvSrchRngLT, cMvSrchRngRB );
     5516#endif
    55045517 
    55055518  m_pcRdCost->getMotionCost ( 1, 0 );
     
    55545567
    55555568
     5569#ifdef SONY_MV_V_CONST_C0078
     5570Void TEncSearch::xSetSearchRange ( TComDataCU* pcCU, TComMv& cMvPred, Int iSrchRng, TComMv& rcMvSrchRngLT, TComMv& rcMvSrchRngRB, Bool bMv_VRng_Restricted, Int iVerDispSrchRng )
     5571#else
    55565572Void TEncSearch::xSetSearchRange ( TComDataCU* pcCU, TComMv& cMvPred, Int iSrchRng, TComMv& rcMvSrchRngLT, TComMv& rcMvSrchRngRB )
     5573#endif
    55575574{
    55585575  Int  iMvShift = 2;
     
    55695586  rcMvSrchRngRB.setHor( cTmpMvPred.getHor() + (iSrchRng << iMvShift) );
    55705587  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
    55715598  pcCU->clipMv        ( rcMvSrchRngLT );
    55725599  pcCU->clipMv        ( rcMvSrchRngRB );
Note: See TracChangeset for help on using the changeset viewer.