Ignore:
Timestamp:
8 Mar 2013, 16:13:08 (11 years ago)
Author:
mediatek-htm
Message:

Added FCO_FIX, FCO_FIX_SPS_CHANGE, and FCO_DVP_REFINE_C0132_C0170 macros to support FCO.
The new macros are default disabled in CTC.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-6.0-Mediatek/source/Lib/TLibCommon/TComDataCU.cpp

    r296 r303  
    35963596#if H3D_IVMP
    35973597#if MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137
     3598#if FCO_FIX
     3599  const Int extraMergeCand = ( ( ( getSlice()->getIsDepth() && m_pcSlice->getTexturePic() ) || getSlice()->getSPS()->getMultiviewMvPredMode() )? 1 : 0 );
     3600#else
    35983601  const Int extraMergeCand = ( ( getSlice()->getIsDepth() || getSlice()->getSPS()->getMultiviewMvPredMode() )? 1 : 0 );
     3602#endif
    35993603#else
    36003604  const Int extraMergeCand = ( getSlice()->getSPS()->getMultiviewMvPredMode() ? 1 : 0 );
     
    36513655  if(!bNoPdmMerge)
    36523656  {
     3657#if FCO_DVP_REFINE_C0132_C0170
     3658    if( !getPic()->getDepthCoded() )
     3659#endif
    36533660    getDisMvpCandNBDV(uiPUIdx, uiAbsPartIdx, &cDisInfo , true
    36543661#if MERL_VSP_C0152
     
    36573664);
    36583665  }
     3666#if FCO_DVP_REFINE_C0132_C0170
     3667  if(getPic()->getDepthCoded() )
     3668  {
     3669    TComPic*      pcCodedDepthMap = getPic()->getRecDepthMap();
     3670    TComMv        cColMv;
     3671
     3672    cColMv.setZero();
     3673    estimateDVFromDM(uiPUIdx, pcCodedDepthMap, uiAbsPartIdx, &cColMv, false);
     3674
     3675    cDisInfo.iN = 1;
     3676    cDisInfo.m_acMvCand[0].setHor( cColMv.getHor() );
     3677    cDisInfo.m_acMvCand[0].setVer( cColMv.getVer() );
     3678    cDisInfo.m_aVIdxCan[0] = 0;
     3679
     3680  }
     3681#endif
    36593682  if(cDisInfo.iN==0)
    36603683  {
     
    36693692
    36703693#if MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137
     3694#if FCO_FIX
     3695  if( m_pcSlice->getIsDepth() && m_pcSlice->getTexturePic() )
     3696#else
    36713697  if( m_pcSlice->getIsDepth())
     3698#endif
    36723699  {
    36733700    UInt uiPartIdxCenter;
     
    60796106      DisInfo cDisInfo;
    60806107      cDisInfo.iN = 0;
     6108#if FCO_DVP_REFINE_C0132_C0170
     6109      if( !getPic()->getDepthCoded() )
     6110#endif
    60816111      getDisMvpCandNBDV(uiPartIdx, uiPartAddr, &cDisInfo, false
    60826112#if MERL_VSP_C0152
     
    60846114#endif
    60856115              );
     6116#if FCO_DVP_REFINE_C0132_C0170
     6117      if(getPic()->getDepthCoded() )
     6118      {
     6119        TComPic*      pcCodedDepthMap = getPic()->getRecDepthMap();
     6120        TComMv        cColMv;
     6121
     6122        cColMv.setZero();
     6123        estimateDVFromDM(uiPartIdx, pcCodedDepthMap, uiPartAddr, &cColMv, false);
     6124
     6125        cDisInfo.iN = 1;
     6126        cDisInfo.m_acMvCand[0].setHor( cColMv.getHor() );
     6127        cDisInfo.m_acMvCand[0].setVer( cColMv.getVer() );
     6128        cDisInfo.m_aVIdxCan[0] = 0;
     6129      }
     6130#endif
    60866131      if(cDisInfo.iN==0)
    60876132      {
     
    79217966  PartSize m_peSaved =  getPartitionSize( 0 );
    79227967  m_pePartSize[0] =  SIZE_2Nx2N;
     7968#if FCO_DVP_REFINE_C0132_C0170
     7969  if(getPic()->getDepthCoded() )
     7970  {
     7971    TComPic*      pcCodedDepthMap = getPic()->getRecDepthMap();
     7972    TComMv        cColMv;
     7973
     7974    cColMv.setZero();
     7975    estimateDVFromDM(0, pcCodedDepthMap, 0, &cColMv, false);
     7976
     7977    cDisInfo.iN = 1;
     7978    cDisInfo.m_acMvCand[0].setHor( cColMv.getHor() );
     7979    cDisInfo.m_acMvCand[0].setVer( cColMv.getVer() );
     7980    cDisInfo.m_aVIdxCan[0] = 0;
     7981
     7982  }
     7983  else
     7984#endif
    79237985  getDisMvpCandNBDV( 0, 0,  &cDisInfo, false );
    79247986  if( cDisInfo.iN == 0)
Note: See TracChangeset for help on using the changeset viewer.