Ignore:
Timestamp:
20 Feb 2013, 22:07:43 (12 years ago)
Author:
tech
Message:

Reintegrated branch 5.1-dev0 rev. 295.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibCommon/TComDepthMapGenerator.cpp

    r189 r296  
    4646#if DEPTH_MAP_GENERATION
    4747
    48 
    4948TComDepthMapGenerator::TComDepthMapGenerator()
    5049{
     
    7877  m_uiSubSampExpX       = uiSubSampExpX;
    7978  m_uiSubSampExpY       = uiSubSampExpY;
    80 #if !QC_MULTI_DIS_CAN_A0097
     79#if !H3D_NBDV
    8180  m_ppcYuv              = new TComYuv*    [ m_uiMaxDepth ];
    8281  m_ppcCU               = new TComDataCU* [ m_uiMaxDepth ];
     
    9291  m_cTmpPic.create( uiPicWidth >> m_uiSubSampExpX, uiPicHeight >> m_uiSubSampExpY, uiMaxCUWidth >> m_uiSubSampExpX, uiMaxCUHeight >> m_uiSubSampExpY, uiMaxCUDepth );
    9392  xSetChroma( &m_cTmpPic, ( 1 << uiOrgBitDepth ) >> 1 );
    94 #endif
     93#endif //!H3D_NBDV
    9594  m_bCreated    = true;
    9695}
     
    102101  {
    103102    m_bCreated    = false;
    104 #if !QC_MULTI_DIS_CAN_A0097
     103#if !H3D_NBDV
    105104    for( UInt uiDepth = 0; uiDepth < m_uiMaxDepth; uiDepth++ )
    106105    {
     
    117116    delete [] m_ppcCU;  m_ppcCU  = 0;
    118117    m_cTmpPic.destroy();
    119 #endif
     118#endif //!H3D_NBDV
    120119    m_uiMaxDepth          = 0;
    121120    m_uiOrgDepthBitDepth  = 0;
     
    377376}
    378377
    379 #if !QC_MULTI_DIS_CAN_A0097
     378#if !H3D_NBDV
    380379Bool
    381380TComDepthMapGenerator::predictDepthMap( TComPic* pcPic )
     
    562561  m_cTmpPic.dump( acFilename, ( pcPic->getPOC() != 0 )  );
    563562}
    564 #endif
    565 
    566 #if HHI_INTER_VIEW_MOTION_PRED
     563
     564#endif //!H3D_NBDV
     565
     566#if H3D_IVMP
    567567Void 
    568568TComDepthMapGenerator::covertOrgDepthMap( TComPic* pcPic )
     
    604604
    605605
    606 #if HHI_INTER_VIEW_MOTION_PRED
    607 #if QC_MULTI_DIS_CAN_A0097
    608 Int
    609 TComDepthMapGenerator::getPdmMergeCandidate( TComDataCU* pcCU, UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo
    610 #if QC_MRG_CANS_B0048
    611   , Int* iPdm
    612 #endif
    613 )
    614 #else
    615 Int
    616 TComDepthMapGenerator::getPdmMergeCandidate( TComDataCU* pcCU, UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv )
    617 #endif
    618 {
    619 #if MTK_INTERVIEW_MERGE_A0049
     606#if H3D_IVMP
     607#if QC_AMVP_MRG_UNIFY_IVCAN_C0051
     608Bool
     609TComDepthMapGenerator::getPdmCandidate(TComDataCU* pcCU, UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo, Int* iPdm, Bool bMerge )
     610{
    620611  AOF  ( m_bCreated && m_bInit );
    621 
    622 #if !QC_MULTI_DIS_CAN_A0097
    623   ROFRS( m_bPDMAvailable, 0 );
    624 #endif
    625 
    626612  TComSlice*    pcSlice     = pcCU->getSlice ();
    627613  TComSPS*      pcSPS       = pcSlice->getSPS();
    628614  AOF  ( pcSPS->getViewId() == m_uiCurrViewId );
     615
     616  TComPic*      pcRefPic    = pcSlice->getRefPic( eRefPicList, iRefIdx );
     617  UInt          uiRefViewId = pcRefPic->getSPS()->getViewId();
     618  Bool          bInterview  = ( uiRefViewId < m_uiCurrViewId );
     619  Bool          bPdmIView   = ( ( pcSPS->getMultiviewMvPredMode() & PDM_USE_FOR_IVIEW ) == PDM_USE_FOR_IVIEW );
     620  Bool          bPdmInter   = ( ( pcSPS->getMultiviewMvPredMode() & PDM_USE_FOR_INTER ) == PDM_USE_FOR_INTER );
    629621  Bool          bPdmMerge   = ( ( pcSPS->getMultiviewMvPredMode() & PDM_USE_FOR_MERGE ) == PDM_USE_FOR_MERGE );
    630   ROTRS( !bPdmMerge, 0 );
    631 
    632 #if QC_MRG_CANS_B0048
     622  if(!bMerge)
     623  {
     624    ROTRS( ( bInterview && !bMerge ) && !bPdmIView, false );
     625    ROTRS( (!bInterview && !bMerge ) && !bPdmInter, false );
     626    ROTRS(                  bMerge   && !bPdmMerge, false );
     627  }
     628  else
     629    ROTRS( !bPdmMerge, 0 );
     630
     631
    633632  Bool abPdmAvailable[4] = {false, false, false, false};
    634 #else
    635   Bool abPdmAvailable[2] = {false,false};
    636 #endif
    637633
    638634  Int iValid = 0;
     
    640636  for( UInt uiBId = 0; uiBId < m_uiCurrViewId && iValid==0; uiBId++ )
    641637  {
     638#if MTK_C0138_FIXED
     639    UInt        uiBaseId    = uiBId;
     640#else
    642641    UInt        uiBaseId    = m_auiBaseIdList[ uiBId ];
     642#endif
    643643    TComPic*    pcBasePic   = m_pcAUPicAccess->getPic( uiBaseId );
    644644    for( Int iRefListId = 0; iRefListId < 2 && iValid==0; iRefListId++ )
     
    659659  }
    660660  if (iValid == 0)
    661     return 0;
     661    return false;
    662662
    663663  //--- get base CU/PU and check prediction mode ---
    664664  TComPic*    pcBasePic   = m_pcAUPicAccess->getPic( iViewId );
    665665  TComPicYuv* pcBaseRec   = pcBasePic->getPicYuvRec   ();
    666 
    667 #if QC_MULTI_DIS_CAN_A0097
     666  if(bMerge || !bInterview)
     667  {
     668#if H3D_NBDV
     669    Int  iCurrPosX, iCurrPosY;
     670    UInt          uiPartAddr;
     671    Int           iWidth;
     672    Int           iHeight;
     673
     674    pcCU->getPartIndexAndSize( uiPartIdx, uiPartAddr, iWidth, iHeight );
     675    pcBaseRec->getTopLeftSamplePos( pcCU->getAddr(), pcCU->getZorderIdxInCU() + uiPartAddr, iCurrPosX, iCurrPosY );
     676    iCurrPosX  += ( ( iWidth  - 1 ) >> 1 );
     677    iCurrPosY  += ( ( iHeight - 1 ) >> 1 );
     678
     679    Int         iBasePosX   = Clip3( 0, pcBaseRec->getWidth () - 1, iCurrPosX + ( (pDInfo->m_acMvCand[0].getHor() + 2 ) >> 2 ) );
     680    Int         iBasePosY   = Clip3( 0, pcBaseRec->getHeight() - 1, iCurrPosY + ( (pDInfo->m_acMvCand[0].getVer() + 2 ) >> 2 ));
     681    Int         iBaseCUAddr;
     682    Int         iBaseAbsPartIdx;
     683    pcBaseRec->getCUAddrAndPartIdx( iBasePosX , iBasePosY , iBaseCUAddr, iBaseAbsPartIdx );
     684#else //H3D_NBDV
     685    Int  iPrdDepth, iCurrPosX, iCurrPosY;
     686    Bool bAvailable  = xGetPredDepth( pcCU, uiPartIdx, iPrdDepth, &iCurrPosX, &iCurrPosY );
     687    AOF( bAvailable );
     688    TComPicYuv* pcBasePdm   = pcBasePic->getPredDepthMap();
     689    Int         iDisparity  = xGetDisparityFromVirtDepth( iViewId, iPrdDepth );
     690    Int         iShiftX     = m_uiSubSampExpX + 2;
     691    Int         iAddX       = ( 1 << iShiftX ) >> 1;
     692    Int         iBasePosX   = Clip3( 0, pcBasePdm->getWidth () - 1, iCurrPosX + ( ( iDisparity + iAddX ) >> iShiftX ) );
     693    Int         iBasePosY   = Clip3( 0, pcBasePdm->getHeight() - 1, iCurrPosY                               );
     694    Int         iBaseCUAddr;
     695    Int         iBaseAbsPartIdx;
     696    pcBaseRec->getCUAddrAndPartIdx( iBasePosX<< m_uiSubSampExpX , iBasePosY<< m_uiSubSampExpY , iBaseCUAddr, iBaseAbsPartIdx );
     697#endif // H3D_NBDV
     698    TComDataCU* pcBaseCU    = pcBasePic->getCU( iBaseCUAddr );
     699    if( pcBaseCU->getPredictionMode( iBaseAbsPartIdx ) == MODE_INTER || pcBaseCU->getPredictionMode( iBaseAbsPartIdx ) == MODE_SKIP )
     700    {
     701      for( UInt uiCurrRefListId = 0; uiCurrRefListId < 2; uiCurrRefListId++ )
     702      {
     703        RefPicList  eCurrRefPicList = RefPicList( uiCurrRefListId );
     704        if(!bMerge && eCurrRefPicList != eRefPicList)
     705          continue;
     706        Bool bLoop_stop = false;
     707        for(Int iLoop = 0; iLoop < 2 && !bLoop_stop; ++iLoop)
     708        {
     709          RefPicList eBaseRefPicList = (iLoop ==1)? RefPicList( 1 -  uiCurrRefListId ) : RefPicList( uiCurrRefListId );
     710          TComMvField cBaseMvField;
     711          pcBaseCU->getMvField( pcBaseCU, iBaseAbsPartIdx, eBaseRefPicList, cBaseMvField );
     712          Int         iBaseRefIdx     = cBaseMvField.getRefIdx();
     713          if (iBaseRefIdx >= 0)
     714          {
     715            Int iBaseRefPOC = pcBaseCU->getSlice()->getRefPOC(eBaseRefPicList, iBaseRefIdx);
     716            if (iBaseRefPOC != pcSlice->getPOC())   
     717            {
     718              for (Int iPdmRefIdx = (bMerge?0: iRefIdx); iPdmRefIdx < (bMerge? pcSlice->getNumRefIdx( eCurrRefPicList ): (iRefIdx+1)); iPdmRefIdx++)
     719              {
     720                if (iBaseRefPOC == pcSlice->getRefPOC(eCurrRefPicList, iPdmRefIdx))
     721                {
     722                  abPdmAvailable[ uiCurrRefListId ] = true;
     723                  TComMv cMv(cBaseMvField.getHor(), cBaseMvField.getVer());
     724#if H3D_NBDV
     725                  if( bMerge )
     726                  {
     727                    cMv.m_bDvMcp = true;
     728                    cMv.m_iDvMcpDispX = pDInfo->m_acMvCand[0].getHor();
     729                  }
     730#endif
     731                  pcCU->clipMv( cMv );
     732                  if(bMerge)
     733                  {
     734                    paiPdmRefIdx  [ uiCurrRefListId ] = iPdmRefIdx;
     735                    pacPdmMv      [ uiCurrRefListId ] = cMv;
     736                    bLoop_stop = true;
     737                    break;
     738                  }else
     739                  {
     740                    pacPdmMv  [0] = cMv;
     741                    return true;
     742                  }
     743                }
     744              }
     745            }
     746          }
     747        }
     748      }
     749    }
     750    if( bMerge )
     751      iPdm[0] = ( abPdmAvailable[0] ? 1 : 0 ) + ( abPdmAvailable[1] ? 2 : 0 );
     752  }
     753  if(bMerge || bInterview)
     754  {
     755    for( Int iRefListId = 0; iRefListId < 2 ; iRefListId++ )
     756    {
     757      RefPicList  eRefPicListDMV       = RefPicList( iRefListId );
     758      Int         iNumRefPics       = pcSlice->getNumRefIdx( eRefPicListDMV );
     759      for( Int iPdmRefIdx = (bMerge ? 0: iRefIdx); iPdmRefIdx < (bMerge ? iNumRefPics: (iRefIdx+1) ); iPdmRefIdx++ )
     760      {
     761        if( pcSlice->getRefPOC( eRefPicListDMV, iPdmRefIdx ) == pcSlice->getPOC())
     762        {
     763          abPdmAvailable[ iRefListId+2 ] = true;
     764          paiPdmRefIdx  [ iRefListId+2 ] = iPdmRefIdx;
     765#if H3D_NBDV
     766          TComMv cMv = pDInfo->m_acMvCand[0];
     767          cMv.setVer(0);
     768#else
     769          TComMv cMv(iDisparity, 0);
     770#endif
     771          pcCU->clipMv( cMv );
     772          pacPdmMv      [ iRefListId + 2] = cMv;
     773          if(bMerge)
     774            break;
     775          else
     776          {
     777            pacPdmMv [0] = cMv;
     778            return true;
     779          }
     780        }
     781      }
     782    }
     783    iPdm[1] = ( abPdmAvailable[2] ? 1 : 0 ) + ( abPdmAvailable[3] ? 2 : 0 );
     784  }
     785  return false;
     786}
     787#else // QC_AMVP_MRG_UNIFY_IVCAN_C0051
     788#if H3D_NBDV
     789Int
     790TComDepthMapGenerator::getPdmMergeCandidate( TComDataCU* pcCU, UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo, Int* iPdm )
     791#else
     792Int
     793TComDepthMapGenerator::getPdmMergeCandidate( TComDataCU* pcCU, UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv )
     794#endif
     795{
     796  AOF  ( m_bCreated && m_bInit );
     797
     798#if !H3D_NBDV
     799  ROFRS( m_bPDMAvailable, 0 );
     800#endif
     801
     802  TComSlice*    pcSlice     = pcCU->getSlice ();
     803  TComSPS*      pcSPS       = pcSlice->getSPS();
     804  AOF  ( pcSPS->getViewId() == m_uiCurrViewId );
     805  Bool          bPdmMerge   = ( ( pcSPS->getMultiviewMvPredMode() & PDM_USE_FOR_MERGE ) == PDM_USE_FOR_MERGE );
     806  ROTRS( !bPdmMerge, 0 );
     807
     808  Bool abPdmAvailable[4] = {false, false, false, false};
     809
     810  Int iValid = 0;
     811  Int iViewId = 0;
     812  for( UInt uiBId = 0; uiBId < m_uiCurrViewId && iValid==0; uiBId++ )
     813  {
     814    UInt        uiBaseId    = m_auiBaseIdList[ uiBId ];
     815    TComPic*    pcBasePic   = m_pcAUPicAccess->getPic( uiBaseId );
     816    for( Int iRefListId = 0; iRefListId < 2 && iValid==0; iRefListId++ )
     817    {
     818      RefPicList  eRefPicListTest = RefPicList( iRefListId );
     819      Int         iNumRefPics = pcSlice->getNumRefIdx( eRefPicListTest ) ;
     820      for( Int iRefIndex = 0; iRefIndex < iNumRefPics; iRefIndex++ )
     821      {
     822        if(pcBasePic->getPOC() == pcSlice->getRefPic( eRefPicListTest, iRefIndex )->getPOC()
     823          && pcBasePic->getViewId() == pcSlice->getRefPic( eRefPicListTest, iRefIndex )->getViewId())
     824        {
     825          iValid=1;
     826          iViewId = uiBaseId;
     827          break;
     828        }
     829      }
     830    }
     831  }
     832  if (iValid == 0)
     833    return 0;
     834
     835  //--- get base CU/PU and check prediction mode ---
     836  TComPic*    pcBasePic   = m_pcAUPicAccess->getPic( iViewId );
     837  TComPicYuv* pcBaseRec   = pcBasePic->getPicYuvRec   ();
     838
     839#if H3D_NBDV
    668840  Int  iCurrPosX, iCurrPosY;
    669841  UInt          uiPartAddr;
     
    719891              paiPdmRefIdx  [ uiBaseRefListId ] = iPdmRefIdx;
    720892              TComMv cMv(cBaseMvField.getHor(), cBaseMvField.getVer());
    721 #if LGE_DVMCP_A0126
     893#if H3D_NBDV
    722894              cMv.m_bDvMcp = true;
    723895              cMv.m_iDvMcpDispX = pDInfo->m_acMvCand[0].getHor();
    724 #endif
     896#if MTK_RELEASE_DV_CONSTRAINT_C0129
     897              cMv.m_iDvMcpDispY = pDInfo->m_acMvCand[0].getVer();
     898#endif
     899#endif //H3D_NBDV
    725900              pcCU->clipMv( cMv );
    726901              pacPdmMv      [ uiBaseRefListId ] = cMv;
     
    733908  }
    734909  Int iPdmInterDir = ( abPdmAvailable[0] ? 1 : 0 ) + ( abPdmAvailable[1] ? 2 : 0 );
    735 #if QC_MRG_CANS_B0048
     910
    736911  iPdm[0] = iPdmInterDir;
    737 #else
    738   if (iPdmInterDir == 0)
    739   {
    740 #endif
    741912    for( Int iRefListId = 0; iRefListId < 2 ; iRefListId++ )
    742913    {
     
    744915      Int         iNumRefPics       = pcSlice->getNumRefIdx( eRefPicList );
    745916      for( Int iPdmRefIdx = 0; iPdmRefIdx < iNumRefPics; iPdmRefIdx++ )
    746 {
     917      {
    747918        if( pcSlice->getRefPOC( eRefPicList, iPdmRefIdx ) == pcSlice->getPOC())
    748919        {
    749 #if QC_MRG_CANS_B0048
    750920          abPdmAvailable[ iRefListId+2 ] = true;
    751921          paiPdmRefIdx  [ iRefListId+2 ] = iPdmRefIdx;
    752 #else
    753           abPdmAvailable[ iRefListId ] = true;
    754           paiPdmRefIdx  [ iRefListId ] = iPdmRefIdx;
    755 #endif
    756 #if QC_MULTI_DIS_CAN_A0097
     922#if H3D_NBDV
    757923          TComMv cMv = pDInfo->m_acMvCand[0];
    758924          cMv.setVer(0);
     
    761927#endif
    762928          pcCU->clipMv( cMv );
    763 #if QC_MRG_CANS_B0048
    764929          pacPdmMv      [ iRefListId + 2] = cMv;
    765 #else
    766           pacPdmMv      [ iRefListId ] = cMv;
    767 #endif
    768930          break;
    769931        }
    770932      }
    771933    }
    772 #if QC_MRG_CANS_B0048
    773934    iPdmInterDir = ( abPdmAvailable[2] ? 1 : 0 ) + ( abPdmAvailable[3] ? 2 : 0 ) ;
    774935    iPdm[1] = iPdmInterDir;
    775 #else
    776     iPdmInterDir = ( abPdmAvailable[0] ? 1 : 0 ) + ( abPdmAvailable[1] ? 2 : 0 ) ;
    777   }
    778 #endif
    779936
    780937  return iPdmInterDir;
    781 
    782 #else
    783   Int  iMaxNumInterPics  = 1;
    784   Int  iMaxNumAllPics    = 2;
    785 
    786   // inter-only
    787   Bool abPdmAvailable[2] = {false,false};
    788   for( Int iRefListId = 0; iRefListId < 2; iRefListId++ )
    789   {
    790     RefPicList  eRefPicList       = RefPicList( iRefListId );
    791     Int         iNumRefPics       = pcCU->getSlice()->getNumRefIdx( eRefPicList );
    792     TComMv      cMv;
    793     for( Int iPdmRefIdx = 0, iInterPics = 0; iPdmRefIdx < iNumRefPics && iInterPics < iMaxNumInterPics; iPdmRefIdx++ )
    794     {
    795       if( pcCU->getSlice()->getRefPOC( eRefPicList, iPdmRefIdx ) != pcCU->getSlice()->getPOC() )
    796       {
    797 #if QC_MULTI_DIS_CAN_A0097
    798         if( getDisCanPdmMvPred (pcCU, uiPartIdx, eRefPicList, iPdmRefIdx, cMv, pDInfo, true ) )       
    799 #else
    800         if( getPdmMvPred( pcCU, uiPartIdx, eRefPicList, iPdmRefIdx, cMv, true ) )
    801 #endif
    802         {
    803           pcCU->clipMv( cMv );
    804           abPdmAvailable[ iRefListId ] = true;
    805           paiPdmRefIdx  [ iRefListId ] = iPdmRefIdx;
    806           pacPdmMv      [ iRefListId ] = cMv;
    807           break;
    808         }
    809         iInterPics++;
    810       }
    811     }
    812   }
    813   Int    iPdmInterDir = ( abPdmAvailable[0] ? 1 : 0 ) + ( abPdmAvailable[1] ? 2 : 0 );
    814   if( 0==iPdmInterDir )
    815   { // check all, including inter view references
    816     for( Int iRefListId = 0; iRefListId < 2; iRefListId++ )
    817     {
    818       RefPicList  eRefPicList = RefPicList( iRefListId );
    819       Int         iNumRefPics = Min( iMaxNumAllPics, pcCU->getSlice()->getNumRefIdx( eRefPicList ) );
    820       TComMv      cMv;
    821       for( Int iPdmRefIdx = 0; iPdmRefIdx < iNumRefPics; iPdmRefIdx++ )
    822       {
    823 #if QC_MULTI_DIS_CAN_A0097
    824         if ( getDisCanPdmMvPred (pcCU, uiPartIdx, eRefPicList, iPdmRefIdx, cMv, pDInfo, true ) )
    825 #else
    826         if( getPdmMvPred( pcCU, uiPartIdx, eRefPicList, iPdmRefIdx, cMv, true ) )
    827 #endif
    828         {
    829           pcCU->clipMv( cMv );
    830           abPdmAvailable[ iRefListId ] = true;
    831           paiPdmRefIdx  [ iRefListId ] = iPdmRefIdx;
    832           pacPdmMv      [ iRefListId ] = cMv;
    833           break;
    834         }
    835       }
    836     }
    837     iPdmInterDir = ( abPdmAvailable[0] ? 1 : 0 ) + ( abPdmAvailable[1] ? 2 : 0 );
    838   }
    839   return iPdmInterDir;
    840 #endif
    841 }
    842 
    843 #if QC_MULTI_DIS_CAN_A0097
     938}
     939
     940#if H3D_NBDV
    844941Bool
    845942TComDepthMapGenerator::getDisCanPdmMvPred    ( TComDataCU*   pcCU, UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, TComMv& rcMv, DisInfo* pDInfo, Bool bMerge )
    846943{
    847 #if LGE_DVMCP_A0126
    848944  rcMv.m_bDvMcp = false;
    849 #endif
    850945  AOF  ( m_bCreated && m_bInit );
    851946  AOF  ( iRefIdx >= 0 );
    852947  AOF  ( pcCU );
    853   //ROFRS( m_bPDMAvailable, false );
    854948  TComSlice*    pcSlice     = pcCU->getSlice ();
    855949  TComSPS*      pcSPS       = pcSlice->getSPS();
     
    878972  for( UInt uiBId = 0; uiBId < m_uiCurrViewId; uiBId++ )
    879973  {
    880     UInt        uiBaseId    = uiBId;  //m_auiBaseIdList[ uiBId ];
     974    UInt        uiBaseId    = uiBId;
    881975
    882976    if (m_uiCurrViewId >1 && uiBaseId ==1 )
     
    9131007      {
    9141008        rcMv.set( cBaseMvField.getHor(), cBaseMvField.getVer() );
    915 #if LGE_DVMCP_A0126
    9161009        // save disparity vector when a merge candidate for IVMP is set as DV-MCP
    9171010        if( bMerge )
     
    9191012          rcMv.m_bDvMcp = true;
    9201013          rcMv.m_iDvMcpDispX = pDInfo->m_acMvCand[0].getHor();
     1014#if MTK_RELEASE_DV_CONSTRAINT_C0129
     1015          rcMv.m_iDvMcpDispY = pDInfo->m_acMvCand[0].getVer();
     1016#endif
    9211017        }
    9221018        else { // AMVP ?
    9231019          rcMv.m_bDvMcp = false;
    9241020        }
    925 #endif
    9261021        return true;
    9271022      }
     
    9301025  return false;
    9311026}
    932 #else
     1027#else // H3D_NBDV
    9331028Bool 
    9341029TComDepthMapGenerator::getPdmMvPred( TComDataCU* pcCU, UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, TComMv& rcMv, Bool bMerge )
     
    10141109  return false;
    10151110}
    1016 #endif
     1111#endif // H3D_NBDV
     1112#endif // QC_AMVP_MRG_UNIFY_IVCAN_C0051
    10171113
    10181114
     
    10561152  return        true;
    10571153}
    1058 #endif
    1059 
    1060 
    1061 
    1062 
    1063 
    1064 #if !QC_MULTI_DIS_CAN_A0097
     1154#endif //  H3D_IVMP
     1155
     1156
     1157
     1158
     1159
     1160#if !H3D_NBDV
    10651161/*=======================================================*
    10661162 *=====                                             =====*
     
    18561952  Int           iCurrPosY;
    18571953  pcPredDepthMap->getTopLeftSamplePos( pcCU->getAddr(), pcCU->getZorderIdxInCU() + uiPartAddr, iCurrPosX, iCurrPosY );
    1858 #if SAIT_IMPROV_MOTION_PRED_M24829 // max disparity within PU
     1954#if H3D_IVMP // max disparity within PU
    18591955  Int DiWidth  = iCurrPosX+(iWidth  >> m_uiSubSampExpX);
    18601956  Int DiHeight = iCurrPosY+(iHeight >> m_uiSubSampExpY);
     
    18891985  return        true;
    18901986}
    1891 #endif
     1987#endif // H3D_NBDV
    18921988
    18931989#endif // DEPTH_MAP_GENERATION
Note: See TracChangeset for help on using the changeset viewer.