Ignore:
Timestamp:
3 May 2013, 10:34:51 (11 years ago)
Author:
zhang
Message:

JCT3V-D0191 (BVSP clean-ups)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-6.2-dev1-Qualcomm/source/Lib/TLibCommon/TComDataCU.cpp

    r348 r355  
    5555#define CHECK_ADD_YET(pcCURef,uiIdx,vspIdx) && !( (pcCURef)->getVSPIndex(uiIdx) == vspIdx && bVspMvZeroDone[vspIdx-1] )
    5656
    57 inline Void TComDataCU::xInheritVspMode( TComDataCU* pcCURef, UInt uiIdx, Bool* bVspMvZeroDone, Int iCount, Int* iVSPIndexTrue, TComMvField* pcMvFieldNeighbours, DisInfo* pDInfo )
     57inline Void TComDataCU::xInheritVspMode( TComDataCU* pcCURef, UInt uiIdx, Bool* bVspMvZeroDone, Int iCount, Int* iVSPIndexTrue, TComMvField* pcMvFieldNeighbours, DisInfo* pDInfo
     58#if QC_BVSP_CleanUP_D0191
     59  , UChar *puhInterDirNeighbours
     60#endif
     61)
    5862{
    5963  Int vspIdx = (Int) pcCURef->getVSPIndex(uiIdx);
     
    6973    if (vspIdx < 4)
    7074    {
     75#if QC_BVSP_CleanUP_D0191
     76      puhInterDirNeighbours[ iCount] = 1;
     77#endif
    7178      pcMvFieldNeighbours[ iCount<<1].setMvField ( pDInfo->m_acMvCand[0],  NOT_VALID );
    7279      if ( pcCURef->getSlice()->isInterB() )
     
    102109            (getSlice()->getNumRefIdx(REF_PIC_LIST_0) > 0 ? 1 : 2));
    103110          puhInterDirNeighbours[iCount] = iInterDir; // The direction information does not matter
     111#if QC_BVSP_CleanUP_D0191
     112         puhInterDirNeighbours[iCount] = 1;
     113#endif
    104114          // get Mv using checked disparity vector
    105115          if (vspIdx < 4) // spatial
     
    36663676        }
    36673677      }
    3668 #if MERL_VSP_C0152
     3678#if MERL_VSP_C0152 && !QC_BVSP_CleanUP_D0191
    36693679      xInheritVspMode( pcTextureCU, uiPartIdxCenter, bVspMvZeroDone, iCount, iVSPIndexTrue, pcMvFieldNeighbours, &cDisInfo ) ;
    36703680#endif
     
    38003810#endif
    38013811#if MERL_VSP_C0152
    3802         xInheritVspMode( pcCULeft, uiLeftPartIdx, bVspMvZeroDone, iCount, iVSPIndexTrue, pcMvFieldNeighbours, &cDisInfo ) ;
     3812        xInheritVspMode( pcCULeft, uiLeftPartIdx, bVspMvZeroDone, iCount, iVSPIndexTrue, pcMvFieldNeighbours, &cDisInfo
     3813#if QC_BVSP_CleanUP_D0191
     3814        ,puhInterDirNeighbours
     3815#endif
     3816        ) ;
    38033817#endif
    38043818        if ( mrgCandIdx == iCount )
     
    38733887#endif
    38743888#if MERL_VSP_C0152
    3875      xInheritVspMode( pcCUAbove, uiAbovePartIdx, bVspMvZeroDone, iCount, iVSPIndexTrue, pcMvFieldNeighbours, &cDisInfo ) ;
     3889     xInheritVspMode( pcCUAbove, uiAbovePartIdx, bVspMvZeroDone, iCount, iVSPIndexTrue, pcMvFieldNeighbours, &cDisInfo
     3890#if QC_BVSP_CleanUP_D0191
     3891        ,puhInterDirNeighbours
     3892#endif
     3893        ) ;
    38763894#endif
    38773895    if ( mrgCandIdx == iCount )
     
    39223940#endif
    39233941#if MERL_VSP_C0152
    3924     xInheritVspMode( pcCUAboveRight, uiAboveRightPartIdx, bVspMvZeroDone, iCount, iVSPIndexTrue, pcMvFieldNeighbours, &cDisInfo ) ;
     3942    xInheritVspMode( pcCUAboveRight, uiAboveRightPartIdx, bVspMvZeroDone, iCount, iVSPIndexTrue, pcMvFieldNeighbours, &cDisInfo
     3943 #if QC_BVSP_CleanUP_D0191
     3944        ,puhInterDirNeighbours
     3945#endif
     3946        ) ;
    39253947#endif
    39263948    if ( mrgCandIdx == iCount )
     
    40184040#endif
    40194041#if MERL_VSP_C0152
    4020      xInheritVspMode( pcCULeftBottom, uiLeftBottomPartIdx, bVspMvZeroDone, iCount, iVSPIndexTrue, pcMvFieldNeighbours, &cDisInfo ) ;
     4042     xInheritVspMode( pcCULeftBottom, uiLeftBottomPartIdx, bVspMvZeroDone, iCount, iVSPIndexTrue, pcMvFieldNeighbours, &cDisInfo
     4043#if QC_BVSP_CleanUP_D0191
     4044        ,puhInterDirNeighbours
     4045#endif
     4046        ) ;
    40214047#endif
    40224048    if ( mrgCandIdx == iCount )
     
    40734099#endif
    40744100#if MERL_VSP_C0152
    4075      xInheritVspMode( pcCUAboveLeft, uiAboveLeftPartIdx, bVspMvZeroDone, iCount, iVSPIndexTrue, pcMvFieldNeighbours, &cDisInfo ) ;
     4101     xInheritVspMode( pcCUAboveLeft, uiAboveLeftPartIdx, bVspMvZeroDone, iCount, iVSPIndexTrue, pcMvFieldNeighbours, &cDisInfo
     4102#if QC_BVSP_CleanUP_D0191
     4103        ,puhInterDirNeighbours
     4104#endif
     4105        ) ;
    40764106#endif
    40774107      if ( mrgCandIdx == iCount )
     
    44084438  {
    44094439    if( pcCorner && !pcCorner->isIntra( uiCornerPUIdx )
    4410 #if MERL_VSP_C0152
     4440#if MERL_VSP_C0152 & !QC_BVSP_CleanUP_D0191
    44114441     && !pcCorner->getVSPIndex( uiCornerPUIdx )
    44124442#endif
     
    44474477  {
    44484478    if( pcCorner && !pcCorner->isIntra( uiCornerPUIdx )
    4449 #if MERL_VSP_C0152
     4479#if MERL_VSP_C0152 & !QC_BVSP_CleanUP_D0191
    44504480     && !pcCorner->getVSPIndex( uiCornerPUIdx )
    44514481#endif
     
    45934623    pcTmpCU = getPULeft(uiIdx, uiPartIdxLB, true, false);
    45944624  if(pcTmpCU != NULL && !pcTmpCU->isIntra( uiIdx ) )
    4595 #if MERL_VSP_C0152
     4625#if MERL_VSP_C0152 & !QC_BVSP_CleanUP_D0191
    45964626  if(! pcTmpCU->getVSPIndex(uiIdx))
    45974627#endif
     
    46184648
    46194649  if(pcTmpCU != NULL && !pcTmpCU->isIntra( uiIdx ))
    4620 #if MERL_VSP_C0152
     4650#if MERL_VSP_C0152 & !QC_BVSP_CleanUP_D0191
    46214651  if(! pcTmpCU->getVSPIndex(uiIdx))
    46224652#endif
     
    46434673      pcTmpCU = getPUAboveRight(uiIdx, uiPartIdxRT, true, false, true);
    46444674  if(pcTmpCU != NULL && !pcTmpCU->isIntra( uiIdx ) )
    4645 #if MERL_VSP_C0152
     4675#if MERL_VSP_C0152 & !QC_BVSP_CleanUP_D0191
    46464676  if(! pcTmpCU->getVSPIndex(uiIdx))
    46474677#endif
     
    46674697      pcTmpCU = getPUBelowLeft(uiIdx, uiPartIdxLB, true, false);
    46684698  if(pcTmpCU != NULL && !pcTmpCU->isIntra( uiIdx ))
    4669 #if MERL_VSP_C0152
     4699#if MERL_VSP_C0152 & !QC_BVSP_CleanUP_D0191
    46704700  if(! pcTmpCU->getVSPIndex(uiIdx))
    46714701#endif
     
    46944724    assert(uiPartIdxLT == (m_uiAbsIdxInLCU + uiPartAddr));
    46954725  if(pcTmpCU != NULL && !pcTmpCU->isIntra( uiIdx ))
    4696 #if MERL_VSP_C0152
     4726#if MERL_VSP_C0152 & !QC_BVSP_CleanUP_D0191
    46974727  if(! pcTmpCU->getVSPIndex(uiIdx))
    46984728#endif
     
    49024932  Int iPictureWidth  = pcBaseViewDepthPicYuv->getWidth();
    49034933  Int iPictureHeight = pcBaseViewDepthPicYuv->getHeight();
    4904 
     4934#if !QC_BVSP_CleanUP_D0191
    49054935  Int depthPosX = Clip3(0,   iPictureWidth - iBlkWidth,  iBlkX + (mv->getHor()>>2));
    49064936  Int depthPosY = Clip3(0,   iPictureHeight- iBlkHeight,  iBlkY + (mv->getVer()>>2));
    49074937
    49084938  Pel *pDepthPel   = pcBaseViewDepthPicYuv->getLumaAddr() + depthPosX + depthPosY * depStride;
     4939#endif
    49094940  Pel  maxDepthVal = 0;
    49104941
     
    49314962    }
    49324963  }
     4964#if !QC_BVSP_CleanUP_D0191
    49334965  else
    49344966  {
     
    49434975    }
    49444976  }
     4977#endif
    49454978
    49464979  Int iDisp = aiShiftLUT[ maxDepthVal ] << iShiftPrec;
     
    50105043        }
    50115044      }
    5012 #if MERL_VSP_C0152
     5045#if MERL_VSP_C0152 & !QC_BVSP_CleanUP_D0191
    50135046      else if (pcTmpCU->getVSPIndex(uiIdx) != 0) // is VSP
    50145047      {
     
    57085741  }
    57095742 
    5710 #if MERL_VSP_C0152
     5743#if MERL_VSP_C0152&!QC_BVSP_CleanUP_D0191
    57115744  if(pcTmpCU != NULL && pcTmpCU->getVSPIndex(uiIdx))
    57125745  {
     
    58245857  }
    58255858
    5826 #if MERL_VSP_C0152
     5859#if MERL_VSP_C0152 &!QC_BVSP_CleanUP_D0191
    58275860  if(pcTmpCU->getVSPIndex(uiIdx))
    58285861  {
     
    59876020  TComDataCU *pColCU = pColPic->getCU( uiCUAddr );
    59886021  iColViewIdx = pColCU->getSlice()->getViewId();
    5989 #if MERL_VSP_C0152
     6022#if MERL_VSP_C0152 & !QC_BVSP_CleanUP_D0191
    59906023  if( pColCU->getCUMvField(eColRefPicList)->getRefIdx(uiAbsPartAddr) < 0)
    59916024  {
Note: See TracChangeset for help on using the changeset viewer.