Changeset 312 in 3DVCSoftware for branches/HTM-6.0-dev0


Ignore:
Timestamp:
19 Mar 2013, 12:34:51 (11 years ago)
Author:
tech
Message:

Incorporated MTK_DVPREFINE_BVSP_BUG_FIX.

Location:
branches/HTM-6.0-dev0/source/Lib/TLibCommon
Files:
3 edited

Legend:

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

    r310 r312  
    51745174  Int width  = pcBaseViewDepthPicYuv->getWidth();
    51755175  Int height = pcBaseViewDepthPicYuv->getHeight();
    5176 
     5176#if MTK_DVPREFINE_BVSP_BUG_FIX
     5177  Int depthPosX = Clip3(0,   width - iWidth,  iBlkX + (mv->getHor()>>2));
     5178  Int depthPosY = Clip3(0,   height - iHeight,  iBlkY + (mv->getVer()>>2));
     5179#else
    51775180  Int depthPosX = Clip3(0,   width - iWidth  - 1,  iBlkX + (mv->getHor()>>2));
    51785181  Int depthPosY = Clip3(0,   height- iHeight - 1,  iBlkY + (mv->getVer()>>2));
    5179 
     5182#endif
    51805183  Pel *depth  = pcBaseViewDepthPicYuv->getLumaAddr() + depthPosX + depthPosY * depStride;
    51815184  Pel  maxDepth = 0;
     
    51835186  if ( bSimpleDvpRefine )
    51845187  {
     5188#if MTK_DVPREFINE_BVSP_BUG_FIX
     5189    Int depthStartPosX = Clip3(0,   width - iWidth,  iBlkX + (mv->getHor()>>2));
     5190    Int depthStartPosY = Clip3(0,   height - iHeight,  iBlkY + (mv->getVer()>>2));
     5191    Int depthEndPosX = Clip3(0,   width - 1,  iBlkX + iWidth - 1  + (mv->getHor()>>2));
     5192    Int depthEndPosY = Clip3(0,   height - 1,  iBlkY + iHeight - 1 + (mv->getVer()>>2));
     5193#else
    51855194    Int depthStartPosX = Clip3(0,   width - iWidth  - 1,  iBlkX + (mv->getHor()>>2));
    51865195    Int depthStartPosY = Clip3(0,   height- iHeight - 1,  iBlkY + (mv->getVer()>>2));
    51875196    Int depthEndPosX = Clip3(0,   width - iWidth  - 1,  iBlkX + iWidth  + (mv->getHor()>>2));
    51885197    Int depthEndPosY = Clip3(0,   height- iHeight - 1,  iBlkY + iHeight + (mv->getVer()>>2));
     5198#endif
    51895199    Int iCenterX = (depthStartPosX + depthEndPosX) >> 1;
    51905200    Int iCenterY = (depthStartPosY + depthEndPosY) >> 1;
  • branches/HTM-6.0-dev0/source/Lib/TLibCommon/TComPrediction.cpp

    r309 r312  
    14541454  Int dstStride = dstPic->getStride();
    14551455  Int depStride =  pPicBaseDepth->getStride();
     1456#if MTK_DVPREFINE_BVSP_BUG_FIX
     1457  Int depthPosX = Clip3(0,   widthLuma - size_x,  (posX/nTxtPerDepthX) + (mv->getHor()>>2));
     1458  Int depthPosY = Clip3(0,   heightLuma- size_y,  (posY/nTxtPerDepthY) + (mv->getVer()>>2));
     1459#else
    14561460  Int depthPosX = Clip3(0,   widthLuma - size_x - 1,  (posX/nTxtPerDepthX) + (mv->getHor()>>2));
    14571461  Int depthPosY = Clip3(0,   heightLuma- size_y - 1,  (posY/nTxtPerDepthY) + (mv->getVer()>>2));
    1458 
     1462#endif
    14591463  Pel *ref    = refPic->getLumaAddr() + posX + posY * refStride;
    14601464  Pel *dst    = dstPic->getLumaAddr(partAddr);
     
    16141618    depthPosX = posX * nDepthPerTxtX + (mv->getHor()>>2);        //mv denotes the disparity for VSP
    16151619  }
     1620#if MTK_DVPREFINE_BVSP_BUG_FIX
     1621  depthPosX = Clip3(0, widthDepth - (size_x<<1), depthPosX);
     1622#else
    16161623  depthPosX = Clip3(0, widthDepth - (size_x<<1) - 1, depthPosX);
    1617  
     1624#endif
    16181625  if ( heightChroma > heightDepth )
    16191626  {
     
    16281635    depthPosY = posY * nDepthPerTxtY + (mv->getVer()>>2);     //mv denotes the disparity for VSP
    16291636  }
     1637#if MTK_DVPREFINE_BVSP_BUG_FIX
     1638  depthPosY = Clip3(0, heightDepth - (size_y<<1), depthPosY);
     1639#else
    16301640  depthPosY = Clip3(0, heightDepth - (size_y<<1) - 1, depthPosY);
     1641#endif
    16311642
    16321643  Pel *refCb  = refPic->getCbAddr() + posX + posY * refStride;
  • branches/HTM-6.0-dev0/source/Lib/TLibCommon/TypeDef.h

    r311 r312  
    210210#define VSP_MERGE_POS                        5 // JCT3V-C0152: fixed position of VSP candidate in merge list, supported values: 5.
    211211#define LGE_SIMP_DVP_REFINE_C0112            1 // JCT3V-C0112: 1: simplification of refining disparity vector using a warped depth block
     212#define MTK_DVPREFINE_BVSP_BUG_FIX               1
    212213
    213214#else // !MERL_VSP_C0152
Note: See TracChangeset for help on using the changeset viewer.