Changeset 289 in 3DVCSoftware for branches/HTM-5.1-dev0/source


Ignore:
Timestamp:
18 Feb 2013, 21:17:26 (11 years ago)
Author:
tech
Message:

Clean up of macros related to NBDV.

Location:
branches/HTM-5.1-dev0/source
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-5.1-dev0/source/App/TAppDecoder/TAppDecTop.cpp

    r280 r289  
    108108    newPicture[i] = false;
    109109#if FLEX_CODING_ORDER_M23723
    110 #if  FIX_FCO_COMP_WARNING
    111110    m_fcoOrder[i] = ' ';
    112 #else
    113     m_fcoOrder[i]=NULL;
    114 #endif
    115111#endif
    116112
  • branches/HTM-5.1-dev0/source/App/TAppEncoder/TAppEncTop.cpp

    r287 r289  
    11841184 
    11851185#if !QC_MVHEVC_B0046
    1186 #if FIX_DEL_NULLPTR
    11871186  if ( pcPdmDepthOrg != NULL && m_uiMultiviewMvRegMode )
    1188 #else
    1189   if ( pcPdmDepthOrg != NULL )
    1190 #endif
    11911187  {
    11921188    pcPdmDepthOrg->destroy();
  • branches/HTM-5.1-dev0/source/Lib/TLibCommon/CommonDef.h

    r211 r289  
    148148#endif
    149149
    150 #if SAIT_IMPROV_MOTION_PRED_M24829&!QC_MULTI_DIS_CAN_A0097
     150#if SAIT_IMPROV_MOTION_PRED_M24829&!H3D_NBDV
    151151#define PDM_AMVP_POS                      0         // position of pdm in amvp list  (0..3)
    152152#else
  • branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComDataCU.cpp

    r287 r289  
    39393939#endif
    39403940
    3941 #if LGE_DVMCP_A0126
     3941#if H3D_NBDV
    39423942#if QC_MRG_CANS_B0048
    39433943  acPdmMv[0].m_bDvMcp = acPdmMv[1].m_bDvMcp = acPdmMv[2].m_bDvMcp = acPdmMv[3].m_bDvMcp = false;
     
    39453945  acPdmMv[0].m_bDvMcp = acPdmMv[1].m_bDvMcp = false;
    39463946#endif
    3947 #endif
     3947#endif //H3D_NBDV
    39483948
    39493949#if MTK_MDIVRP_C0138
     
    39513951#endif
    39523952
    3953 #if QC_MULTI_DIS_CAN_A0097
     3953#if H3D_NBDV
    39543954  DisInfo cDisInfo;
    39553955  cDisInfo.iN = 0;
    39563956  if(!bNoPdmMerge)
    39573957  {
    3958 #if LGE_DVMCP_A0126
    3959 #if LGE_IVMP_PARALLEL_MERGE_B0136 && !QC_SIMPLE_NBDV_B0047
    3960     getDisMvpCand2(uiPUIdx, uiAbsPartIdx, &cDisInfo, true, REF_PIC_LIST_X, -1, true );
    3961 #else
    3962     getDisMvpCand2(uiPUIdx, uiAbsPartIdx, &cDisInfo
    3963 #if LGE_IVMP_PARALLEL_MERGE_B0136==QC_SIMPLE_NBDV_B0047
    3964             , true
    3965 #endif
     3958    getDisMvpCandNBDV(uiPUIdx, uiAbsPartIdx, &cDisInfo , true
    39663959#if MERL_VSP_C0152
    39673960            , true
    39683961#endif
    39693962);
    3970 #endif
    3971 #else
    3972     getDisMvpCand (uiPUIdx, uiAbsPartIdx, &cDisInfo );
    3973 #endif
    39743963  }
    39753964  if(cDisInfo.iN==0)
     
    39963985    );
    39973986#endif
    3998 #else
     3987#else // H3D_NBDV
     3988  Int iPdmDir[2] = {0, 0};
    39993989  Int     iPdmInterDir      = getPdmMergeCandidate( uiPUIdx, aiPdmRefIdx, acPdmMv );
    4000 #endif
     3990  iPdmDir[0] = iPdmInterDir;
     3991  iPdmDir[1] = iPdmInterDir;
     3992#endif // H3D_NBDV
    40013993#if MTK_MDIVRP_C0138
    40023994  if (m_pcSlice->getSPS()->getMultiviewResPredMode()==1 && iPdmDir[0] && !bNoPdmMerge && cCurPS == SIZE_2Nx2N && bDVAvail)
     
    40654057        pcMvFieldNeighbours[(iCount<<1)+1 ].setMvField( acPdmMv[ 3 ], aiPdmRefIdx[ 3 ] );
    40664058      }
    4067 #if LGE_DVMCP_A0126
     4059#if H3D_NBDV
    40684060      pcMvFieldNeighbours[iCount<<1    ].getMv().m_bDvMcp = false;
    40694061      pcMvFieldNeighbours[(iCount<<1)+1].getMv().m_bDvMcp = false;
     
    41354127        bRemoveSpa                      = true;
    41364128        abCandIsInter        [ iCount ] = false;
    4137 #if FIX_MISUSE_REFINDEX
     4129
    41384130        //reset to the default value for IC, MC
    41394131        puhInterDirNeighbours[iCount]   = 0;
     
    41424134        pcMvFieldNeighbours[(iCount<<1)+1].setMvField( cZeroMv, NOT_VALID );
    41434135        break;
    4144 #endif
    41454136      }
    41464137    }
     
    41524143#endif
    41534144#endif
    4154 #if LGE_DVMCP_A0126
     4145#if H3D_NBDV
    41554146    pcMvFieldNeighbours[iCount<<1    ].getMv().m_bDvMcp = false;
    41564147    pcMvFieldNeighbours[(iCount<<1)+1].getMv().m_bDvMcp = false;
     
    42754266        bRemoveSpa                      = true;
    42764267        abCandIsInter        [ iCount ] = false;
    4277 #if FIX_MISUSE_REFINDEX
     4268
    42784269        //reset to the default value for IC, MC
    42794270        puhInterDirNeighbours[iCount]   = 0;
     
    42824273        pcMvFieldNeighbours[(iCount<<1)+1].setMvField( cZeroMv, NOT_VALID );
    42834274        break;
    4284 #endif
    42854275      }
    42864276    }
     
    42914281#endif
    42924282#endif
    4293 #if LGE_DVMCP_A0126
     4283#if H3D_NBDV
    42944284    pcMvFieldNeighbours[iCount<<1    ].getMv().m_bDvMcp = false;
    42954285    pcMvFieldNeighbours[(iCount<<1)+1].getMv().m_bDvMcp = false;
     
    44014391    }
    44024392#endif
    4403 #if LGE_DVMCP_A0126
     4393#if H3D_NBDV
    44044394    pcMvFieldNeighbours[iCount<<1    ].getMv().m_bDvMcp = false;
    44054395    pcMvFieldNeighbours[(iCount<<1)+1].getMv().m_bDvMcp = false;
     
    44824472          bRemoveSpa                      = true;
    44834473          abCandIsInter        [ iCount ] = false;
    4484 #if FIX_MISUSE_REFINDEX
    44854474          //reset to the default value for IC, MC
    44864475          puhInterDirNeighbours[iCount]   = 0;
     
    44894478          pcMvFieldNeighbours[(iCount<<1)+1].setMvField( cZeroMv, NOT_VALID );
    44904479          break;
    4491 #endif
    44924480        }
    44934481      }
    44944482      if(!bRemoveSpa)
    44954483      {
    4496 #if LGE_DVMCP_A0126
     4484#if H3D_NBDV
    44974485        pcMvFieldNeighbours[iCount<<1    ].getMv().m_bDvMcp = false;
    44984486        pcMvFieldNeighbours[(iCount<<1)+1].getMv().m_bDvMcp = false;
     
    45674555    }
    45684556#endif
    4569 #if LGE_DVMCP_A0126
     4557#if H3D_NBDV
    45704558    pcMvFieldNeighbours[iCount<<1    ].getMv().m_bDvMcp = false;
    45714559    pcMvFieldNeighbours[(iCount<<1)+1].getMv().m_bDvMcp = false;
     
    46844672      }
    46854673#endif
    4686 #if LGE_DVMCP_A0126
     4674#if H3D_NBDV
    46874675      pcMvFieldNeighbours[iCount<<1    ].getMv().m_bDvMcp = false;
    46884676      pcMvFieldNeighbours[(iCount<<1)+1].getMv().m_bDvMcp = false;
     
    48604848#endif
    48614849      }
    4862 #if LGE_DVMCP_A0126
     4850#if H3D_NBDV
    48634851      pcMvFieldNeighbours[uiArrayAddr<<1    ].getMv().m_bDvMcp = false;
    48644852      pcMvFieldNeighbours[(uiArrayAddr<<1)+1].getMv().m_bDvMcp = false;
     
    53565344  return m_pcSlice->getSPS()->getAMVPMode(m_puhDepth[uiIdx]);
    53575345}
    5358 #if QC_MULTI_DIS_CAN_A0097
     5346#if H3D_NBDV
    53595347/** construct a list of disparity motion vectors from the neighbouring PUs **/
    53605348Void TComDataCU::getDisMvpCand ( UInt uiPartIdx, UInt uiPartAddr,DisInfo* pDInfo )
     
    57935781#endif
    57945782
    5795 #if LGE_DVMCP_A0126
    5796 #if QC_SIMPLE_NBDV_B0047
    5797 Void TComDataCU::getDisMvpCand2( UInt uiPartIdx, UInt uiPartAddr,DisInfo* pDInfo
    5798 #if LGE_IVMP_PARALLEL_MERGE_B0136
    5799                                 , Bool bParMerge
    5800 #endif
     5783#if H3D_NBDV
     5784Void TComDataCU::getDisMvpCandNBDV( UInt uiPartIdx, UInt uiPartAddr,DisInfo* pDInfo , Bool bParMerge
    58015785#if MERL_VSP_C0152
    58025786                                , Bool bDepthRefine
    58035787#endif
    5804 #else
    5805 Void TComDataCU::getDisMvpCand2( UInt uiPartIdx, UInt uiPartAddr,DisInfo* pDInfo, Bool bMerge, RefPicList eRefPicList0, Int iRefIdx0
    5806 #if LGE_IVMP_PARALLEL_MERGE_B0136
    5807                                 , Bool bParMerge
    5808 #endif
    5809 #endif
    58105788                                )
    58115789{
    58125790  PartSize eCUMode = getPartitionSize( uiPartAddr );
    58135791  TComDataCU* pcTmpCU = NULL;
    5814 #if !QC_SIMPLE_NBDV_B0047
    5815   TComDataCU* pcCULeft = NULL;
    5816 #endif
    58175792  pDInfo->iN = 0;
    58185793
     
    58225797  UInt uiNumPartInCUWidth = m_pcPic->getNumPartInWidth();
    58235798
    5824 #if QC_SIMPLE_NBDV_B0047
    58255799  const Int iNumofDvMCP = 7;
    58265800#if MTK_RELEASE_DV_CONSTRAINT_C0129
     
    58315805#endif
    58325806  Bool  abDvMcpFlag  [2][iNumofDvMCP] = {{false,},{false,}};
    5833 #else
    5834   Int   aiDvMcpDvCand[2][7] = {{0,},    {0,}}; // dummy, 5 spatial + 1 temporal
    5835   Bool  abDvMcpFlag  [2][7] = {{false,},{false,}};
    5836   //Int   aiRefPOC     [2][7] = {{-1,},{-1}}; // debug
    5837 #endif
    58385807  TComMv cTmpMvPred, cMv;
    58395808  Bool  bTmpIsSkipped = false;
    58405809  Bool  bDvMcpIsFound = false;
    5841 #if LGE_DVMCP_MEM_REDUCTION_B0135
    5842   Int iLCUAddrDiff = 0;
    5843 #endif
    5844 
    5845 #if LGE_IVMP_PARALLEL_MERGE_B0136
     5810  Int   iLCUAddrDiff = 0;
     5811
    58465812  Int xP, yP, nPSW, nPSH;
    58475813  if( bParMerge)
    58485814    this->getPartPosition(uiPartIdx, xP, yP, nPSW, nPSH);
    5849 #endif
    58505815
    58515816  deriveLeftRightTopIdxGeneral( eCUMode, uiPartAddr, uiPartIdx, uiPartIdxLT, uiPartIdxRT );
     
    58565821  if ( getSlice()->getPPS()->getEnableTMVPFlag() )
    58575822  {
    5858 #if !QC_SIMPLE_NBDV_B0047
    5859     UInt uiPUIdx = uiPartIdx;
    5860     UInt uiAbsPartAddr = uiPartAddr;
    5861 
    5862     // col [2]
    5863     Int iRefIdxSkip[2] = {-1, -1};
    5864     if( !bMerge )
    5865     {
    5866       iRefIdxSkip[ eRefPicList0 ] = iRefIdx0;
    5867     }
    5868     else
    5869     {
    5870       for (Int i=0; i<2; i++)
    5871       {
    5872         RefPicList  eRefPicList1 = ( i==1 ? REF_PIC_LIST_1 : REF_PIC_LIST_0 );
    5873 #if SET_MERGE_TMVP_REFIDX
    5874         Int iRefIdxTmp;
    5875         if ( uiPUIdx != 0 )
    5876         {
    5877           iRefIdxTmp = 0;
    5878         }
    5879         else
    5880         {   
    5881           iRefIdxTmp = (pcCULeft != NULL) ? pcCULeft->getCUMvField(eRefPicList1)->getRefIdx(uiLeftPartIdx) : -1;
    5882         }
    5883 #else     
    5884         Int iRefIdxTmp = (pcCULeft != NULL) ? pcCULeft->getCUMvField(eRefPicList1)->getRefIdx(uiLeftPartIdx) : -1;
    5885 #endif
    5886         iRefIdxSkip[i] = (iRefIdxTmp != -1) ? iRefIdxTmp : 0;
    5887       }
    5888     }
    5889 
    5890     //>> MTK colocated-RightBottom
    5891     UInt uiPartIdxRB;
    5892     Int uiLCUIdx = getAddr();
    5893     eCUMode = getPartitionSize( 0 );
    5894 
    5895     deriveRightBottomIdx( eCUMode, uiPUIdx, uiPartIdxRB ); 
    5896 
    5897     UInt uiAbsPartIdxTmp = g_auiZscanToRaster[uiPartIdxRB];
    5898     //UInt uiNumPartInCUWidth = m_pcPic->getNumPartInWidth();
    5899 
    5900     TComMv cColMv;
    5901     Int iRefIdx;
    5902 
    5903     if      ( ( m_pcPic->getCU(m_uiCUAddr)->getCUPelX() + g_auiRasterToPelX[uiAbsPartIdxTmp] + m_pcPic->getMinCUWidth() ) >= m_pcSlice->getSPS()->getPicWidthInLumaSamples() )  // image boundary check
    5904     {
    5905       uiLCUIdx = -1;
    5906     }
    5907     else if ( ( m_pcPic->getCU(m_uiCUAddr)->getCUPelY() + g_auiRasterToPelY[uiAbsPartIdxTmp] + m_pcPic->getMinCUHeight() ) >= m_pcSlice->getSPS()->getPicHeightInLumaSamples() )
    5908     {
    5909       uiLCUIdx = -1;
    5910     }
    5911     else
    5912     {
    5913       if ( ( uiAbsPartIdxTmp % uiNumPartInCUWidth < uiNumPartInCUWidth - 1 ) &&           // is not at the last column of LCU
    5914         ( uiAbsPartIdxTmp / uiNumPartInCUWidth < m_pcPic->getNumPartInHeight() - 1 ) ) // is not at the last row    of LCU
    5915       {
    5916         uiAbsPartAddr = g_auiRasterToZscan[ uiAbsPartIdxTmp + uiNumPartInCUWidth + 1 ];
    5917         uiLCUIdx = getAddr();
    5918       }
    5919       else if ( uiAbsPartIdxTmp % uiNumPartInCUWidth < uiNumPartInCUWidth - 1 )           // is not at the last column of LCU But is last row of LCU
    5920       {
    5921         uiAbsPartAddr = g_auiRasterToZscan[ (uiAbsPartIdxTmp + uiNumPartInCUWidth + 1) % m_pcPic->getNumPartInCU() ];
    5922         uiLCUIdx = -1 ;
    5923       }
    5924       else if ( uiAbsPartIdxTmp / uiNumPartInCUWidth < m_pcPic->getNumPartInHeight() - 1 ) // is not at the last row of LCU But is last column of LCU
    5925       {
    5926         uiAbsPartAddr = g_auiRasterToZscan[ uiAbsPartIdxTmp + 1 ];
    5927         uiLCUIdx = getAddr() + 1;
    5928       }
    5929       else //is the right bottom corner of LCU                       
    5930       {
    5931         uiAbsPartAddr = 0;
    5932         uiLCUIdx = -1 ;
    5933       }
    5934     }
    5935 
    5936     Bool bExistMV = false;
    5937     UInt uiPartIdxCenter;
    5938     UInt uiCurLCUIdx = getAddr();
    5939     xDeriveCenterIdx( eCUMode, uiPUIdx, uiPartIdxCenter );
    5940 
    5941     Int iTargetView, iStartView;
    5942     if( !bMerge ) // AMVP
    5943     {
    5944       bExistMV = uiLCUIdx >= 0 && xGetColDisMV( eRefPicList0, iRefIdx0, uiLCUIdx, uiAbsPartAddr, cColMv, iTargetView, iStartView );
    5945       if( bExistMV == false )
    5946       {
    5947         bExistMV = xGetColDisMV( eRefPicList0, iRefIdx0, uiCurLCUIdx, uiPartIdxCenter, cColMv, iTargetView, iStartView );
    5948       }
    5949       if( bExistMV ) // DV is found
    5950       {
    5951         if( cColMv.m_bDvMcp == false ) //=> DCP, if true => DV-MCP
    5952         {
    5953           clipMv(cColMv);
    5954           pDInfo->m_acMvCand[ pDInfo->iN] = cColMv;
    5955           pDInfo->m_aVIdxCan[ pDInfo->iN++] = iTargetView;
    5956           return;
    5957         }
    5958         else // DV-MCP
    5959         {
    5960           aiDvMcpDvCand[eRefPicList0][DVFROM_COL] = cColMv.getHor();
    5961           abDvMcpFlag  [eRefPicList0][DVFROM_COL] = true;
    5962           bDvMcpIsFound = true;
    5963         }
    5964       }
    5965     }
    5966     else // MERGE
    5967     {
    5968       iRefIdx = iRefIdxSkip[0];
    5969       bExistMV = uiLCUIdx >= 0 && xGetColDisMV( REF_PIC_LIST_0, iRefIdx, uiLCUIdx, uiAbsPartAddr, cColMv, iTargetView, iStartView );
    5970       if( bExistMV == false )
    5971       {
    5972         bExistMV = xGetColDisMV( REF_PIC_LIST_0, iRefIdx, uiCurLCUIdx, uiPartIdxCenter,  cColMv, iTargetView, iStartView );
    5973       }
    5974       if( bExistMV )
    5975       {
    5976         if( cColMv.m_bDvMcp == false ) // DCP
    5977         {
    5978           clipMv(cColMv);
    5979           pDInfo->m_acMvCand[ pDInfo->iN] = cColMv;
    5980           pDInfo->m_aVIdxCan[ pDInfo->iN++] = iTargetView;
    5981           return;
    5982         }
    5983         else { // // DV-MCP
    5984           aiDvMcpDvCand[0][DVFROM_COL] = cColMv.getHor();
    5985           abDvMcpFlag  [0][DVFROM_COL] = true;
    5986           bDvMcpIsFound = true;
    5987         };
    5988 
    5989         if ( getSlice()->isInterB() )
    5990         {       
    5991           iRefIdx = iRefIdxSkip[1];
    5992           bExistMV = uiLCUIdx >= 0 && xGetColDisMV( REF_PIC_LIST_1, iRefIdx, uiLCUIdx, uiAbsPartAddr, cColMv, iTargetView, iStartView );
    5993           if( bExistMV == false )
    5994           {
    5995             bExistMV = xGetColDisMV( REF_PIC_LIST_1, iRefIdx, uiCurLCUIdx, uiPartIdxCenter,  cColMv, iTargetView, iStartView );
    5996           }
    5997           if( bExistMV )
    5998           {
    5999             if( cColMv.m_bDvMcp == false ) // DCP
    6000             {
    6001               clipMv(cColMv);
    6002               pDInfo->m_acMvCand[ pDInfo->iN] = cColMv;
    6003               pDInfo->m_aVIdxCan[ pDInfo->iN++] = iTargetView;
    6004               return;
    6005             }
    6006             else // DV-MCP
    6007             {
    6008               aiDvMcpDvCand[1][DVFROM_COL] = cColMv.getHor();
    6009               abDvMcpFlag  [1][DVFROM_COL] = true;
    6010               bDvMcpIsFound = true;
    6011             };
    6012           }
    6013         }
    6014       }
    6015     }
    6016 #else
    60175823    TComMv cColMv;
    60185824    Int iTargetViewIdx = 0;
     
    61785984      }
    61795985    }
    6180 #endif
    61815986  } // if TMVP Flag
    61825987#endif
     
    61875992  pcTmpCU = getPULeft(uiIdx, uiPartIdxLB);
    61885993#endif
    6189 #if DV_DERIVATION_PARALLEL_B0096
    61905994  if ( uiPartIdx == 1 && (eCUMode == SIZE_Nx2N || eCUMode == SIZE_nLx2N || eCUMode == SIZE_nRx2N) )
    61915995  {
    61925996    pcTmpCU = NULL;
    61935997  }
    6194 #endif
    6195 #if LGE_IVMP_PARALLEL_MERGE_B0136
     5998
    61965999  if (pcTmpCU && bParMerge)
    61976000  {
     
    62016004    }
    62026005  }
    6203 #endif
    6204 
    6205 #if !QC_SIMPLE_NBDV_B0047
    6206   pcCULeft = pcTmpCU;
    6207   UInt uiLeftPartIdx = uiIdx;
    6208 #endif
    62096006
    62106007  if(pcTmpCU != NULL && !pcTmpCU->isIntra( uiIdx ) )
     
    62806077  pcTmpCU = getPUAbove(uiIdx, uiPartIdxRT);
    62816078#endif
    6282 #if DV_DERIVATION_PARALLEL_B0096
    62836079  if ( uiPartIdx == 1 && (eCUMode == SIZE_2NxN || eCUMode == SIZE_2NxnU || eCUMode == SIZE_2NxnD) )
    62846080  {
    62856081    pcTmpCU = NULL;
    62866082  }
    6287 #endif
    6288 #if LGE_IVMP_PARALLEL_MERGE_B0136
     6083
    62896084  if (pcTmpCU && bParMerge)
    62906085  {
     
    62946089    }
    62956090  }
    6296 #endif
    62976091
    62986092  if(pcTmpCU != NULL && !pcTmpCU->isIntra( uiIdx ))
    62996093  {
    6300 #if LGE_DVMCP_MEM_REDUCTION_B0135
    63016094    iLCUAddrDiff = getAddr() - pcTmpCU->getAddr();
    6302 #endif
    63036095    bTmpIsSkipped = pcTmpCU->isSkipped( uiIdx );
    63046096    for(Int iList = 0; iList < (getSlice()->isInterB() ? 2: 1); iList ++)
     
    63326124          return;
    63336125        }
    6334 #if LGE_DVMCP_MEM_REDUCTION_B0135
    63356126        else if(iLCUAddrDiff == 0) //MCP, within same LCU
    6336 #else
    6337         else // MCP
    6338 #endif
    63396127        {
    63406128          cTmpMvPred = pcTmpCU->getCUMvField(eRefPicList)->getMv(uiIdx);
     
    63756163  pcTmpCU = getPUAboveRight(uiIdx, uiPartIdxRT, true, true, true);
    63766164#endif
    6377 #if LGE_IVMP_PARALLEL_MERGE_B0136
     6165
    63786166  if (pcTmpCU && bParMerge)
    63796167  {
     
    63836171    }
    63846172  }
    6385 #endif
    63866173
    63876174  if(pcTmpCU != NULL && !pcTmpCU->isIntra( uiIdx ) )
    63886175  {
    6389 #if LGE_DVMCP_MEM_REDUCTION_B0135
    63906176    iLCUAddrDiff = getAddr() - pcTmpCU->getAddr();
    6391 #endif
    63926177    bTmpIsSkipped = pcTmpCU->isSkipped( uiIdx );
    63936178    for(Int iList = 0; iList < (getSlice()->isInterB() ? 2: 1); iList ++)
     
    64216206          return;
    64226207        }
    6423 #if LGE_DVMCP_MEM_REDUCTION_B0135
    64246208        else if(iLCUAddrDiff == 0)
    6425 #else
    6426         else  // MCP
    6427 #endif
    64286209        {
    64296210          cTmpMvPred = pcTmpCU->getCUMvField(eRefPicList)->getMv(uiIdx);
     
    64646245  pcTmpCU = getPUBelowLeft(uiIdx, uiPartIdxLB);
    64656246#endif
    6466 #if LGE_IVMP_PARALLEL_MERGE_B0136
     6247
    64676248  if (pcTmpCU && bParMerge)
    64686249  {
     
    64726253    }
    64736254  }
    6474 #endif
     6255
    64756256  if(pcTmpCU != NULL && !pcTmpCU->isIntra( uiIdx ))
    64766257  {
     
    65476328  pcTmpCU = getPUAboveLeft(uiIdx, uiPartIdxLT, true, true, true);
    65486329#endif
    6549 #if LGE_IVMP_PARALLEL_MERGE_B0136
     6330
    65506331  if (pcTmpCU && bParMerge)
    65516332  {
     
    65556336    }
    65566337  }
    6557 #endif
    65586338
    65596339  if(pcTmpCU != NULL && !pcTmpCU->isIntra( uiIdx ))
    65606340  {
    6561 #if LGE_DVMCP_MEM_REDUCTION_B0135
    65626341    iLCUAddrDiff = getAddr() - pcTmpCU->getAddr();
    6563 #endif
     6342
    65646343    bTmpIsSkipped = pcTmpCU->isSkipped( uiIdx );
    65656344    for(Int iList = 0; iList < (getSlice()->isInterB() ? 2: 1); iList ++)
     
    65936372          return;
    65946373        }
    6595 #if LGE_DVMCP_MEM_REDUCTION_B0135
    65966374        else if(iLCUAddrDiff <= 1)
    6597 #else
    6598         else // MCP
    6599 #endif
    66006375        {
    66016376          cTmpMvPred = pcTmpCU->getCUMvField(eRefPicList)->getMv(uiIdx);
     
    66346409  if ( getSlice()->getPPS()->getEnableTMVPFlag() )
    66356410  {
    6636 #if !QC_SIMPLE_NBDV_B0047
    6637     UInt uiPUIdx = uiPartIdx;
    6638     UInt uiAbsPartAddr = uiPartAddr;
    6639 
    6640     // col [2]
    6641     Int iRefIdxSkip[2] = {-1, -1};
    6642     if( !bMerge )
    6643     {
    6644       iRefIdxSkip[ eRefPicList0 ] = iRefIdx0;
    6645     }
    6646     else
    6647     {
    6648       for (Int i=0; i<2; i++)
    6649       {
    6650         RefPicList  eRefPicList1 = ( i==1 ? REF_PIC_LIST_1 : REF_PIC_LIST_0 );
    6651 #if SET_MERGE_TMVP_REFIDX
    6652         Int iRefIdxTmp;
    6653         if ( uiPUIdx != 0 )
    6654         {
    6655           iRefIdxTmp = 0;
    6656         }
    6657         else
    6658         {   
    6659           iRefIdxTmp = (pcCULeft != NULL) ? pcCULeft->getCUMvField(eRefPicList1)->getRefIdx(uiLeftPartIdx) : -1;
    6660         }
    6661 #else     
    6662         Int iRefIdxTmp = (pcCULeft != NULL) ? pcCULeft->getCUMvField(eRefPicList1)->getRefIdx(uiLeftPartIdx) : -1;
    6663 #endif
    6664         iRefIdxSkip[i] = (iRefIdxTmp != -1) ? iRefIdxTmp : 0;
    6665       }
    6666     }
    6667 
    6668     //>> MTK colocated-RightBottom
    6669     UInt uiPartIdxRB;
    6670     Int uiLCUIdx = getAddr();
    6671     eCUMode = getPartitionSize( 0 );
    6672 
    6673     deriveRightBottomIdx( eCUMode, uiPUIdx, uiPartIdxRB ); 
    6674 
    6675     UInt uiAbsPartIdxTmp = g_auiZscanToRaster[uiPartIdxRB];
    6676     //UInt uiNumPartInCUWidth = m_pcPic->getNumPartInWidth();
    6677 
    6678     TComMv cColMv;
    6679     Int iRefIdx;
    6680 
    6681     if      ( ( m_pcPic->getCU(m_uiCUAddr)->getCUPelX() + g_auiRasterToPelX[uiAbsPartIdxTmp] + m_pcPic->getMinCUWidth() ) >= m_pcSlice->getSPS()->getPicWidthInLumaSamples() )  // image boundary check
    6682     {
    6683       uiLCUIdx = -1;
    6684     }
    6685     else if ( ( m_pcPic->getCU(m_uiCUAddr)->getCUPelY() + g_auiRasterToPelY[uiAbsPartIdxTmp] + m_pcPic->getMinCUHeight() ) >= m_pcSlice->getSPS()->getPicHeightInLumaSamples() )
    6686     {
    6687       uiLCUIdx = -1;
    6688     }
    6689     else
    6690     {
    6691       if ( ( uiAbsPartIdxTmp % uiNumPartInCUWidth < uiNumPartInCUWidth - 1 ) &&           // is not at the last column of LCU
    6692         ( uiAbsPartIdxTmp / uiNumPartInCUWidth < m_pcPic->getNumPartInHeight() - 1 ) ) // is not at the last row    of LCU
    6693       {
    6694         uiAbsPartAddr = g_auiRasterToZscan[ uiAbsPartIdxTmp + uiNumPartInCUWidth + 1 ];
    6695         uiLCUIdx = getAddr();
    6696       }
    6697       else if ( uiAbsPartIdxTmp % uiNumPartInCUWidth < uiNumPartInCUWidth - 1 )           // is not at the last column of LCU But is last row of LCU
    6698       {
    6699         uiAbsPartAddr = g_auiRasterToZscan[ (uiAbsPartIdxTmp + uiNumPartInCUWidth + 1) % m_pcPic->getNumPartInCU() ];
    6700         uiLCUIdx = -1 ;
    6701       }
    6702       else if ( uiAbsPartIdxTmp / uiNumPartInCUWidth < m_pcPic->getNumPartInHeight() - 1 ) // is not at the last row of LCU But is last column of LCU
    6703       {
    6704         uiAbsPartAddr = g_auiRasterToZscan[ uiAbsPartIdxTmp + 1 ];
    6705         uiLCUIdx = getAddr() + 1;
    6706       }
    6707       else //is the right bottom corner of LCU                       
    6708       {
    6709         uiAbsPartAddr = 0;
    6710         uiLCUIdx = -1 ;
    6711       }
    6712     }
    6713 
    6714     Bool bExistMV = false;
    6715     UInt uiPartIdxCenter;
    6716     UInt uiCurLCUIdx = getAddr();
    6717     xDeriveCenterIdx( eCUMode, uiPUIdx, uiPartIdxCenter );
    6718 
    6719     Int iTargetView, iStartView;
    6720     if( !bMerge ) // AMVP
    6721     {
    6722       bExistMV = uiLCUIdx >= 0 && xGetColDisMV( eRefPicList0, iRefIdx0, uiLCUIdx, uiAbsPartAddr, cColMv, iTargetView, iStartView );
    6723       if( bExistMV == false )
    6724       {
    6725         bExistMV = xGetColDisMV( eRefPicList0, iRefIdx0, uiCurLCUIdx, uiPartIdxCenter, cColMv, iTargetView, iStartView );
    6726       }
    6727       if( bExistMV ) // DV is found
    6728       {
    6729         if( cColMv.m_bDvMcp == false ) //=> DCP, if true => DV-MCP
    6730         {
    6731           clipMv(cColMv);
    6732           pDInfo->m_acMvCand[ pDInfo->iN] = cColMv;
    6733           pDInfo->m_aVIdxCan[ pDInfo->iN++] = iTargetView;
    6734           return;
    6735         }
    6736         else // DV-MCP
    6737         {
    6738           aiDvMcpDvCand[eRefPicList0][DVFROM_COL] = cColMv.getHor();
    6739           abDvMcpFlag  [eRefPicList0][DVFROM_COL] = true;
    6740           bDvMcpIsFound = true;
    6741         }
    6742       }
    6743     }
    6744     else // MERGE
    6745     {
    6746       iRefIdx = iRefIdxSkip[0];
    6747       bExistMV = uiLCUIdx >= 0 && xGetColDisMV( REF_PIC_LIST_0, iRefIdx, uiLCUIdx, uiAbsPartAddr, cColMv, iTargetView, iStartView );
    6748       if( bExistMV == false )
    6749       {
    6750         bExistMV = xGetColDisMV( REF_PIC_LIST_0, iRefIdx, uiCurLCUIdx, uiPartIdxCenter,  cColMv, iTargetView, iStartView );
    6751       }
    6752       if( bExistMV )
    6753       {
    6754         if( cColMv.m_bDvMcp == false ) // DCP
    6755         {
    6756           clipMv(cColMv);
    6757           pDInfo->m_acMvCand[ pDInfo->iN] = cColMv;
    6758           pDInfo->m_aVIdxCan[ pDInfo->iN++] = iTargetView;
    6759           return;
    6760         }
    6761         else { // // DV-MCP
    6762           aiDvMcpDvCand[0][DVFROM_COL] = cColMv.getHor();
    6763           abDvMcpFlag  [0][DVFROM_COL] = true;
    6764           bDvMcpIsFound = true;
    6765         };
    6766 
    6767         if ( getSlice()->isInterB() )
    6768         {       
    6769           iRefIdx = iRefIdxSkip[1];
    6770           bExistMV = uiLCUIdx >= 0 && xGetColDisMV( REF_PIC_LIST_1, iRefIdx, uiLCUIdx, uiAbsPartAddr, cColMv, iTargetView, iStartView );
    6771           if( bExistMV == false )
    6772           {
    6773             bExistMV = xGetColDisMV( REF_PIC_LIST_1, iRefIdx, uiCurLCUIdx, uiPartIdxCenter,  cColMv, iTargetView, iStartView );
    6774           }
    6775           if( bExistMV )
    6776           {
    6777             if( cColMv.m_bDvMcp == false ) // DCP
    6778             {
    6779               clipMv(cColMv);
    6780               pDInfo->m_acMvCand[ pDInfo->iN] = cColMv;
    6781               pDInfo->m_aVIdxCan[ pDInfo->iN++] = iTargetView;
    6782               return;
    6783             }
    6784             else // DV-MCP
    6785             {
    6786               aiDvMcpDvCand[1][DVFROM_COL] = cColMv.getHor();
    6787               abDvMcpFlag  [1][DVFROM_COL] = true;
    6788               bDvMcpIsFound = true;
    6789             };
    6790           }
    6791         }
    6792       }
    6793     }
    6794 #else
    67956411    TComMv cColMv;
    67966412    Int iTargetViewIdx = 0;
     
    69566572      }
    69576573    }
    6958 #endif
    69596574  } // if TMVP Flag
    69606575#endif
     
    69626577  if( bDvMcpIsFound ) // skip dvmcp
    69636578  {
    6964 #if QC_SIMPLE_NBDV_B0047
    69656579    for( Int i=1 ; i<iNumofDvMCP-1 ; i++ ) // 5 spatial
    6966 #else
    6967     for( Int i=1 ; i<7 ; i++ ) // 5 spatial + 1 temporal
    6968 #endif
    69696580    {
    69706581      for(Int iList = 0; iList < (getSlice()->isInterB() ? 2: 1); iList ++)
     
    70406651    if (iMVPIdx<=0)
    70416652    {
    7042       // extention part
     6653#if H3D_NBDV
     6654      // Extension part
    70436655      DisInfo cDisInfo;
    70446656      cDisInfo.iN = 0;
    7045 #if LGE_DVMCP_A0126
    7046 #if QC_SIMPLE_NBDV_B0047
     6657
    70476658#if FIX_LGE_IVMP_PARALLEL_MERGE_B0136
    7048       getDisMvpCand2(uiPartIdx, uiPartAddr, &cDisInfo, false
     6659      getDisMvpCandNBDV(uiPartIdx, uiPartAddr, &cDisInfo, false
    70496660#if MERL_VSP_C0152
    70506661            , true
    70516662#endif
    70526663              );
    7053 #else
    7054       getDisMvpCand2(uiPartIdx, uiPartAddr, &cDisInfo);
    7055 #endif
    7056 #else
    7057       getDisMvpCand2(uiPartIdx, uiPartAddr, &cDisInfo, false, eRefPicList, iRefIdx );
    7058 #endif
    7059 #else
    7060       getDisMvpCand (uiPartIdx, uiPartAddr, &cDisInfo );
    7061 #endif
     6664#else  // FIX_LGE_IVMP_PARALLEL_MERGE_B0136
     6665      getDisMvpCandNBDV(uiPartIdx, uiPartAddr, &cDisInfo);
     6666#endif // FIX_LGE_IVMP_PARALLEL_MERGE_B0136
    70626667      if(cDisInfo.iN==0)
    70636668      {
     
    70776682      cPdmMvPred[0].m_bDvMcp = cPdmMvPred[1].m_bDvMcp = false;
    70786683      if(getUnifiedMvPredCan(uiPartIdx, eRefPicList, iRefIdx, paiPdmRefIdx, cPdmMvPred, &cDisInfo, iPdmDir, false))
    7079 #else
     6684#else // QC_AMVP_MRG_UNIFY_IVCAN_C0051
    70806685      TComMv  cPdmMvPred;
    7081 #if QC_MULTI_DIS_CAN_A0097
    70826686      if( getPdmMvPredDisCan( uiPartIdx, eRefPicList, iRefIdx, cPdmMvPred, &cDisInfo ) )
    7083 #else
     6687#endif // QC_AMVP_MRG_UNIFY_IVCAN_C0051
     6688#else // H3D_NBDV
    70846689      if( getPdmMvPred( uiPartIdx, eRefPicList, iRefIdx, cPdmMvPred ) )
    70856690#endif
    7086 #endif
     6691
    70876692#if QC_AMVP_MRG_UNIFY_IVCAN_C0051
    70886693      {
     
    71256730  }
    71266731 
    7127 #if QC_MULTI_DIS_CAN_A0097 && !SHARP_INTERVIEW_DECOUPLE_B0111
     6732#if H3D_NBDV && !SHARP_INTERVIEW_DECOUPLE_B0111
    71286733  DisInfo cDisInfo;
    71296734  cDisInfo.iN = 0;
    71306735  if(m_pcSlice->getSPS()->getViewId() && m_pcSlice->getSPS()->getMultiviewMvPredMode())
    71316736  {
    7132 #if LGE_DVMCP_A0126
    7133 #if QC_SIMPLE_NBDV_B0047
    71346737#if FIX_LGE_IVMP_PARALLEL_MERGE_B0136
    7135     getDisMvpCand2(uiPartIdx, uiPartAddr, &cDisInfo, false);
    7136 #else
    7137     getDisMvpCand2(uiPartIdx, uiPartAddr, &cDisInfo);
    7138 #endif
    7139 #else
    7140     getDisMvpCand2(uiPartIdx, uiPartAddr, &cDisInfo, false, eRefPicList, iRefIdx );
    7141 #endif
    7142 #else
    7143     getDisMvpCand (uiPartIdx, uiPartAddr, &cDisInfo );
     6738    getDisMvpCandNBDV(uiPartIdx, uiPartAddr, &cDisInfo, false);
     6739#else
     6740    getDisMvpCandNBDV(uiPartIdx, uiPartAddr, &cDisInfo);
    71446741#endif
    71456742  }
     
    71566753  // get inter-view mv predictor (at position 0)
    71576754  TComMv  cPdmMvPred;
    7158 #if QC_MULTI_DIS_CAN_A0097
     6755#if H3D_NBDV
    71596756  if( getPdmMvPredDisCan( uiPartIdx, eRefPicList, iRefIdx, cPdmMvPred, &cDisInfo ) )
    71606757#else
     
    72156812  // get inter-view mv predictor (at position 1)
    72166813  TComMv  cPdmMvPred;
    7217 #if QC_MULTI_DIS_CAN_A0097
     6814#if H3D_NBDV
    72186815  if( getPdmMvPredDisCan( uiPartIdx, eRefPicList, iRefIdx, cPdmMvPred, &cDisInfo ) )
    72196816#else
     
    72676864  // get inter-view mv predictor (at position 2)
    72686865  TComMv  cPdmMvPred;
    7269 #if QC_MULTI_DIS_CAN_A0097
     6866#if H3D_NBDV
    72706867  if( getPdmMvPredDisCan( uiPartIdx, eRefPicList, iRefIdx, cPdmMvPred, &cDisInfo ) )
    72716868#else
     
    72856882    {
    72866883      pInfo->iN = 1;
    7287 #if FIX_MISUSE_REFINDEX
     6884#if QC_MRG_CANS_B0048
    72886885      pInfo->m_acMvCand[ 1 ].set(0, 0);
    72896886#endif
    72906887    }
    72916888  }
    7292 #if QC_MULTI_DIS_CAN_A0097 && !SHARP_INTERVIEW_DECOUPLE_B0111
     6889#if H3D_NBDV && !SHARP_INTERVIEW_DECOUPLE_B0111
    72936890  if ( getSlice()->getViewId()!=0 && pInfo->iN == 3 )
    72946891  {
     
    73646961    if ( uiLCUIdx >= 0 && xGetColMVP( eRefPicList, uiLCUIdx, uiAbsPartAddr, cColMv, iRefIdx_Col ) )
    73656962    {
    7366 #if FIX_LGE_DVMCP_B0133
     6963#if H3D_NBDV
    73676964      cColMv.m_bDvMcp = false;
    73686965#endif
     
    73766973      if (xGetColMVP( eRefPicList, uiCurLCUIdx, uiPartIdxCenter,  cColMv, iRefIdx_Col ))
    73776974      {
    7378 #if FIX_LGE_DVMCP_B0133
     6975#if H3D_NBDV
    73796976        cColMv.m_bDvMcp = false;
    73806977#endif
     
    73896986  // get inter-view mv predictor (at position 3)
    73906987  TComMv  cPdmMvPred;
    7391 #if QC_MULTI_DIS_CAN_A0097
     6988#if H3D_NBDV
    73926989  if( getPdmMvPredDisCan( uiPartIdx, eRefPicList, iRefIdx, cPdmMvPred, &cDisInfo ) )
    73936990#else
     
    75867183  {
    75877184    TComMv cMvPred = pcTmpCU->getCUMvField(eRefPicList)->getMv(uiIdx);
    7588 #if LGE_DVMCP_A0126
     7185#if H3D_NBDV
    75897186    cMvPred.m_bDvMcp = false;
    75907187#endif
     
    76307227    {
    76317228      TComMv cMvPred = pcTmpCU->getCUMvField(eRefPicList2nd)->getMv(uiIdx);
    7632 #if LGE_DVMCP_A0126
     7229#if H3D_NBDV
    76337230      cMvPred.m_bDvMcp = false;
    76347231#endif
     
    78007397    {
    78017398      TComMv cMvPred = pcTmpCU->getCUMvField(eRefPicList2nd)->getMv(uiIdx);
    7802 #if LGE_DVMCP_A0126
     7399#if H3D_NBDV
    78037400      cMvPred.m_bDvMcp = false;
    78047401#endif
     
    78457442      rcMv = cMvPred.scaleMv( iScale );
    78467443    }
    7847 #if LGE_DVMCP_A0126
     7444#if H3D_NBDV
    78487445    rcMv.m_bDvMcp = false;
    78497446#endif
     
    78907487      rcMv = cMvPred.scaleMv( iScale );
    78917488    }
    7892 #if LGE_DVMCP_A0126
     7489#if H3D_NBDV
    78937490    rcMv.m_bDvMcp = false;
    78947491#endif
     
    79037500}
    79047501
    7905 #if QC_MULTI_DIS_CAN_A0097
     7502#if H3D_NBDV
    79067503Bool TComDataCU::xGetColDisMV( RefPicList eRefPicList, Int refidx, Int uiCUAddr, Int uiPartUnitIdx, TComMv& rcMv , Int & iTargetViewIdx, Int & iStartViewIdx )
    79077504{
    7908 #if LGE_DVMCP_A0126 && !QC_SIMPLE_NBDV_B0047
    7909   Int  iDvMcpDispX[2] = {-1,};
    7910   Bool bDvMcpFlag [2] = { false, };
    7911   Int iCurrViewIdx = m_pcSlice->getViewId();
    7912 #endif
    7913 
    79147505  UInt uiAbsPartAddr = uiPartUnitIdx;
    79157506
     
    79317522    return false;
    79327523  }
    7933 #if LGE_DVMCP_A0126 && !QC_SIMPLE_NBDV_B0047
    7934   Bool bColIsSkipped = pColCU->isSkipped( uiAbsPartAddr );
    7935 #endif
    79367524  for (Int ilist = 0; ilist < (pColCU->getSlice()->isInterB()? 2:1); ilist++)
    79377525  {
     
    79597547    if ( iColViewIdx    == iColRefViewIdx ) // temporal vector
    79607548    {
    7961 #if LGE_DVMCP_A0126 && !QC_SIMPLE_NBDV_B0047
    7962       if( iColViewIdx >0 )
    7963       {
    7964         TComMv tmpMv = pColCU->getCUMvField(eColRefPicList)->getMv(uiAbsPartAddr);
    7965         if( tmpMv.m_bDvMcp && bColIsSkipped ) // DV-MCP SKIP
    7966         {
    7967           iDvMcpDispX[ilist] = tmpMv.m_iDvMcpDispX;
    7968           bDvMcpFlag [ilist] = true;
    7969           iTargetViewIdx  = 0; //iColRefViewIdx ;
    7970           iStartViewIdx   = 0; //iCurrViewIdx; //iColViewIdx   ;
    7971         }
    7972       }
    7973 #endif
    79747549      continue;
    79757550    }
     
    79777552    {
    79787553      rcMv = pColCU->getCUMvField(eColRefPicList)->getMv(uiAbsPartAddr);
    7979 #if LGE_DVMCP_A0126
    79807554      rcMv.m_bDvMcp = false;
    7981 #endif
    79827555      iTargetViewIdx  = iColRefViewIdx ;
    79837556      iStartViewIdx   = iColViewIdx   ;
     
    79857558    }
    79867559  }
    7987 
    7988 #if LGE_DVMCP_A0126 && !QC_SIMPLE_NBDV_B0047
    7989   for( Int ilist=0 ; ilist<2 ; ilist++ )
    7990   {
    7991     if( bDvMcpFlag[ilist] )
    7992     {
    7993       rcMv.setHor( iDvMcpDispX[ilist] );
    7994       rcMv.setVer( 0 );
    7995       rcMv.m_bDvMcp = true;
    7996       iTargetViewIdx  = 0; //iColRefViewIdx ;
    7997       iStartViewIdx   = iCurrViewIdx; //iColViewIdx   ;
    7998       return true;
    7999     }
    8000   }
    8001 #endif
    80027560
    80037561  return false;
     
    91268684// -------------------------------------------------------------------------------------------------------------------
    91278685#if HHI_INTER_VIEW_MOTION_PRED
    9128 #if !QC_MULTI_DIS_CAN_A0097
     8686#if !H3D_NBDV
    91298687Int
    91308688TComDataCU::getPdmMergeCandidate( UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv )
     
    91438701  return pcDepthMapGenerator->getPdmMvPred( this, uiPartIdx, eRefPicList, iRefIdx, rcMv, bMerge );
    91448702}
    9145 #else
     8703#else //H3D_NBDV
    91468704#if QC_AMVP_MRG_UNIFY_IVCAN_C0051
    91478705Bool
     
    91808738}
    91818739#endif
    9182 #endif
     8740#endif //H3D_NBDV
    91838741
    91848742Bool     
     
    92018759  TComResidualGenerator*  pcResidualGenerator = m_pcSlice->getSPS()->getResidualGenerator();
    92028760  ROFRS( pcResidualGenerator, false );
    9203 #if QC_MULTI_DIS_CAN_A0097
     8761#if H3D_NBDV
    92048762  DisInfo cDisInfo;
    92058763  cDisInfo.iN = 0;
    92068764  PartSize m_peSaved =  getPartitionSize( 0 );
    92078765  m_pePartSize[0] =  SIZE_2Nx2N;
    9208 #if LGE_DVMCP_A0126
    9209 #if QC_SIMPLE_NBDV_B0047
    92108766#if FIX_LGE_IVMP_PARALLEL_MERGE_B0136
    9211   getDisMvpCand2( 0, 0,  &cDisInfo, false );
    9212 #else
    9213   getDisMvpCand2( 0, 0,  &cDisInfo);
    9214 #endif
    9215 #else
    9216   getDisMvpCand2( 0, 0,  &cDisInfo, true );
    9217 #endif
    9218 #else
    9219   getDisMvpCand        ( 0, 0,  &cDisInfo );
     8767  getDisMvpCandNBDV( 0, 0,  &cDisInfo, false );
     8768#else
     8769  getDisMvpCandNBDV( 0, 0,  &cDisInfo);
    92208770#endif
    92218771  if( cDisInfo.iN == 0)
  • branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComDataCU.h

    r287 r289  
    298298#endif
    299299  );
    300 #if QC_MULTI_DIS_CAN_A0097
     300#if H3D_NBDV
    301301  Bool          xGetColDisMV( RefPicList eRefPicList, Int refidx, Int uiCUAddr, Int uiPartUnitIdx, TComMv& rcMv, Int & iTargetViewIdx, Int & iStartViewIdx );
    302302#endif
     
    568568
    569569#if HHI_INTER_VIEW_MOTION_PRED
    570 #if !QC_MULTI_DIS_CAN_A0097
     570#if !H3D_NBDV
    571571  Int           getPdmMergeCandidate( UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv );
    572572  Bool          getPdmMvPred( UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, TComMv& rcMv, Bool bMerge = false );
    573 #else
     573#else //!H3D_NBDV
    574574#if QC_AMVP_MRG_UNIFY_IVCAN_C0051
    575575  Bool getUnifiedMvPredCan(UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo, Int* iPdm, Bool bMerge );
    576 #else
     576#else //QC_AMVP_MRG_UNIFY_IVCAN_C0051
    577577  Bool          getPdmMvPredDisCan( UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, TComMv& rcMv, DisInfo* pDInfo, Bool bMerge = false );
    578578  Int           getPdmMergeCandidateDisCan( UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo
    579579#if QC_MRG_CANS_B0048
    580580    , Int* iPdm
    581 #endif
     581#endif //QC_MRG_CANS_B0048
    582582  );
    583 #endif
     583#endif //QC_AMVP_MRG_UNIFY_IVCAN_C0051
    584584  Void          getDisMvpCand        ( UInt uiPartIdx, UInt uiPartAddr, DisInfo* pDInfo );
    585 #if LGE_DVMCP_A0126
    586 #if QC_SIMPLE_NBDV_B0047
    587   Void          getDisMvpCand2( UInt uiPartIdx, UInt uiPartAddr, DisInfo* pDInfo
    588 #if LGE_IVMP_PARALLEL_MERGE_B0136
    589                               , Bool bParMerg = false
    590 #endif
     585  Void          getDisMvpCandNBDV( UInt uiPartIdx, UInt uiPartAddr, DisInfo* pDInfo , Bool bParMerg = false
    591586#if MERL_VSP_C0152
    592587                              , Bool bDepthRefine = false
    593 #endif
     588#endif //MERL_VSP_C0152
    594589    );
    595 #else
    596   Void          getDisMvpCand2( UInt uiPartIdx, UInt uiPartAddr, DisInfo* pDInfo, Bool bMerge=false, RefPicList eRefPicList=REF_PIC_LIST_X, Int iRefIdx=-1
    597 #if LGE_IVMP_PARALLEL_MERGE_B0136
    598     , Bool bParMerg = false
    599 #endif
    600     );
    601 #endif
    602 #endif
    603 
    604 #endif
     590#endif // !H3D_NBDV
     591
     592
    605593
    606594#if MERL_VSP_C0152
  • branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComDepthMapGenerator.cpp

    r280 r289  
    7878  m_uiSubSampExpX       = uiSubSampExpX;
    7979  m_uiSubSampExpY       = uiSubSampExpY;
    80 #if !QC_MULTI_DIS_CAN_A0097
     80#if !H3D_NBDV
    8181  m_ppcYuv              = new TComYuv*    [ m_uiMaxDepth ];
    8282  m_ppcCU               = new TComDataCU* [ m_uiMaxDepth ];
     
    9292  m_cTmpPic.create( uiPicWidth >> m_uiSubSampExpX, uiPicHeight >> m_uiSubSampExpY, uiMaxCUWidth >> m_uiSubSampExpX, uiMaxCUHeight >> m_uiSubSampExpY, uiMaxCUDepth );
    9393  xSetChroma( &m_cTmpPic, ( 1 << uiOrgBitDepth ) >> 1 );
    94 #endif
     94#endif //!H3D_NBDV
    9595  m_bCreated    = true;
    9696}
     
    102102  {
    103103    m_bCreated    = false;
    104 #if !QC_MULTI_DIS_CAN_A0097
     104#if !H3D_NBDV
    105105    for( UInt uiDepth = 0; uiDepth < m_uiMaxDepth; uiDepth++ )
    106106    {
     
    117117    delete [] m_ppcCU;  m_ppcCU  = 0;
    118118    m_cTmpPic.destroy();
    119 #endif
     119#endif //!H3D_NBDV
    120120    m_uiMaxDepth          = 0;
    121121    m_uiOrgDepthBitDepth  = 0;
     
    377377}
    378378
    379 #if !QC_MULTI_DIS_CAN_A0097
     379#if !H3D_NBDV
    380380Bool
    381381TComDepthMapGenerator::predictDepthMap( TComPic* pcPic )
     
    563563}
    564564
    565 #endif
     565#endif //!H3D_NBDV
    566566
    567567#if HHI_INTER_VIEW_MOTION_PRED
     
    670670  if(bMerge || !bInterview)
    671671  {
    672 #if QC_MULTI_DIS_CAN_A0097
     672#if H3D_NBDV
    673673    Int  iCurrPosX, iCurrPosY;
    674674    UInt          uiPartAddr;
     
    686686    Int         iBaseAbsPartIdx;
    687687    pcBaseRec->getCUAddrAndPartIdx( iBasePosX , iBasePosY , iBaseCUAddr, iBaseAbsPartIdx );
    688 #else
     688#else //H3D_NBDV
    689689    Int  iPrdDepth, iCurrPosX, iCurrPosY;
    690690    Bool bAvailable  = xGetPredDepth( pcCU, uiPartIdx, iPrdDepth, &iCurrPosX, &iCurrPosY );
     
    699699    Int         iBaseAbsPartIdx;
    700700    pcBaseRec->getCUAddrAndPartIdx( iBasePosX<< m_uiSubSampExpX , iBasePosY<< m_uiSubSampExpY , iBaseCUAddr, iBaseAbsPartIdx );
    701 #endif
     701#endif // H3D_NBDV
    702702    TComDataCU* pcBaseCU    = pcBasePic->getCU( iBaseCUAddr );
    703703    if( pcBaseCU->getPredictionMode( iBaseAbsPartIdx ) == MODE_INTER || pcBaseCU->getPredictionMode( iBaseAbsPartIdx ) == MODE_SKIP )
     
    726726                  abPdmAvailable[ uiCurrRefListId ] = true;
    727727                  TComMv cMv(cBaseMvField.getHor(), cBaseMvField.getVer());
    728 #if LGE_DVMCP_A0126
     728#if H3D_NBDV
    729729                  if( bMerge )
    730730                  {
     
    772772          paiPdmRefIdx  [ iRefListId ] = iPdmRefIdx;
    773773#endif
    774 #if QC_MULTI_DIS_CAN_A0097
     774#if H3D_NBDV
    775775          TComMv cMv = pDInfo->m_acMvCand[0];
    776776          cMv.setVer(0);
     
    804804}
    805805#else
    806 #if QC_MULTI_DIS_CAN_A0097
     806#if H3D_NBDV
    807807Int
    808808TComDepthMapGenerator::getPdmMergeCandidate( TComDataCU* pcCU, UInt uiPartIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo
     
    819819  AOF  ( m_bCreated && m_bInit );
    820820
    821 #if !QC_MULTI_DIS_CAN_A0097
     821#if !H3D_NBDV
    822822  ROFRS( m_bPDMAvailable, 0 );
    823823#endif
     
    864864  TComPicYuv* pcBaseRec   = pcBasePic->getPicYuvRec   ();
    865865
    866 #if QC_MULTI_DIS_CAN_A0097
     866#if H3D_NBDV
    867867  Int  iCurrPosX, iCurrPosY;
    868868  UInt          uiPartAddr;
     
    918918              paiPdmRefIdx  [ uiBaseRefListId ] = iPdmRefIdx;
    919919              TComMv cMv(cBaseMvField.getHor(), cBaseMvField.getVer());
    920 #if LGE_DVMCP_A0126
     920#if H3D_NBDV
    921921              cMv.m_bDvMcp = true;
    922922              cMv.m_iDvMcpDispX = pDInfo->m_acMvCand[0].getHor();
     
    924924              cMv.m_iDvMcpDispY = pDInfo->m_acMvCand[0].getVer();
    925925#endif
    926 #endif
     926#endif //H3D_NBDV
    927927              pcCU->clipMv( cMv );
    928928              pacPdmMv      [ uiBaseRefListId ] = cMv;
     
    956956          paiPdmRefIdx  [ iRefListId ] = iPdmRefIdx;
    957957#endif
    958 #if QC_MULTI_DIS_CAN_A0097
     958#if H3D_NBDV
    959959          TComMv cMv = pDInfo->m_acMvCand[0];
    960960          cMv.setVer(0);
     
    997997      if( pcCU->getSlice()->getRefPOC( eRefPicList, iPdmRefIdx ) != pcCU->getSlice()->getPOC() )
    998998      {
    999 #if QC_MULTI_DIS_CAN_A0097
     999#if H3D_NBDV
    10001000        if( getDisCanPdmMvPred (pcCU, uiPartIdx, eRefPicList, iPdmRefIdx, cMv, pDInfo, true ) )       
    10011001#else
     
    10231023      for( Int iPdmRefIdx = 0; iPdmRefIdx < iNumRefPics; iPdmRefIdx++ )
    10241024      {
    1025 #if QC_MULTI_DIS_CAN_A0097
     1025#if H3D_NBDV
    10261026        if ( getDisCanPdmMvPred (pcCU, uiPartIdx, eRefPicList, iPdmRefIdx, cMv, pDInfo, true ) )
    10271027#else
     
    10431043}
    10441044
    1045 #if QC_MULTI_DIS_CAN_A0097
     1045#if H3D_NBDV
    10461046Bool
    10471047TComDepthMapGenerator::getDisCanPdmMvPred    ( TComDataCU*   pcCU, UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, TComMv& rcMv, DisInfo* pDInfo, Bool bMerge )
    10481048{
    1049 #if LGE_DVMCP_A0126
    10501049  rcMv.m_bDvMcp = false;
    1051 #endif
    10521050  AOF  ( m_bCreated && m_bInit );
    10531051  AOF  ( iRefIdx >= 0 );
    10541052  AOF  ( pcCU );
    1055   //ROFRS( m_bPDMAvailable, false );
    10561053  TComSlice*    pcSlice     = pcCU->getSlice ();
    10571054  TComSPS*      pcSPS       = pcSlice->getSPS();
     
    10801077  for( UInt uiBId = 0; uiBId < m_uiCurrViewId; uiBId++ )
    10811078  {
    1082     UInt        uiBaseId    = uiBId;  //m_auiBaseIdList[ uiBId ];
     1079    UInt        uiBaseId    = uiBId;
    10831080
    10841081    if (m_uiCurrViewId >1 && uiBaseId ==1 )
     
    11151112      {
    11161113        rcMv.set( cBaseMvField.getHor(), cBaseMvField.getVer() );
    1117 #if LGE_DVMCP_A0126
    11181114        // save disparity vector when a merge candidate for IVMP is set as DV-MCP
    11191115        if( bMerge )
     
    11281124          rcMv.m_bDvMcp = false;
    11291125        }
    1130 #endif
    11311126        return true;
    11321127      }
     
    11351130  return false;
    11361131}
    1137 #else
     1132#else // H3D_NBDV
    11381133Bool 
    11391134TComDepthMapGenerator::getPdmMvPred( TComDataCU* pcCU, UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, TComMv& rcMv, Bool bMerge )
     
    12191214  return false;
    12201215}
    1221 #endif
     1216#endif // H3D_NBDV
    12221217#endif
    12231218
     
    12681263
    12691264
    1270 #if !QC_MULTI_DIS_CAN_A0097
     1265#if !H3D_NBDV
    12711266/*=======================================================*
    12721267 *=====                                             =====*
     
    20952090  return        true;
    20962091}
    2097 #endif
     2092#endif // H3D_NBDV
    20982093
    20992094#endif // DEPTH_MAP_GENERATION
  • branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComDepthMapGenerator.h

    r280 r289  
    136136
    137137  Void  initViewComponent     ( TComPic*      pcPic );
    138 #if !QC_MULTI_DIS_CAN_A0097
     138#if !H3D_NBDV
    139139  Bool  predictDepthMap       ( TComPic*      pcPic );
    140140  Void  updateDepthMap        ( TComPic*      pcPic );
     
    151151  Int   getDisparity          ( TComPic*      pcPic, Int iPosX, Int iPosY, UInt uiRefViewId );
    152152#if HHI_INTER_VIEW_MOTION_PRED
    153 #if QC_MULTI_DIS_CAN_A0097
     153#if H3D_NBDV
    154154#if QC_AMVP_MRG_UNIFY_IVCAN_C0051
    155155  Bool getPdmCandidate ( TComDataCU* pcCU, UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDInfo, Int* iPdm, Bool bMerge );
     
    180180private:
    181181  // picture operations
    182 #if !QC_MULTI_DIS_CAN_A0097
     182#if !H3D_NBDV
    183183  Bool  xConvertDepthMapCurr2Ref  ( TComPic*    pcRef, TComPic* pcCur );
    184184  Bool  xConvertDepthMapRef2Curr  ( TComPic*    pcCur, TComPic* pcRef );
  • branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComMotionInfo.h

    r189 r289  
    5959
    6060// ====================================================================================================================
    61 #if QC_MULTI_DIS_CAN_A0097
     61#if H3D_NBDV
    6262typedef struct _DisCand
    6363{
  • branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComMv.h

    r249 r289  
    5757public:
    5858 
    59 #if LGE_DVMCP_A0126
     59#if H3D_NBDV
    6060  Bool  m_bDvMcp;       // is dv-mcp ?
    6161  Int   m_iDvMcpDispX;  // disparity for dv-mcp
     
    7272  m_iHor(0),
    7373  m_iVer(0)
    74 #if LGE_DVMCP_A0126
     74#if H3D_NBDV
    7575  , m_bDvMcp(false)
    7676  , m_iDvMcpDispX(0)
     
    8585  m_iHor(iHor),
    8686  m_iVer(iVer)
    87 #if LGE_DVMCP_A0126
     87#if H3D_NBDV
    8888  , m_bDvMcp(false)
    8989  , m_iDvMcpDispX(0)
  • branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComPic.cpp

    r280 r289  
    8484  m_bReduceBitsQTL    = 0;
    8585#endif
    86 #if QC_SIMPLE_NBDV_B0047
     86#if H3D_NBDV
    8787  m_bRapCheck = false;
    8888  m_eRapRefList = REF_PIC_LIST_0;
     
    489489  }
    490490}
    491 #if QC_SIMPLE_NBDV_B0047
     491#if H3D_NBDV
    492492Bool TComPic::getDisCandRefPictures(Int iColPOC)
    493493{
  • branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComPic.h

    r280 r289  
    7979#if HHI_INTER_VIEW_MOTION_PRED
    8080  TComPicYuv*           m_pcOrgDepthMap;          //  original depth map
    81 #if QC_MULTI_DIS_CAN_A0097
     81#if H3D_NBDV
    8282  Bool          m_checked;
    83 #endif
    84 #if QC_SIMPLE_NBDV_B0047
    8583  UInt        m_uiRapRefIdx;
    8684  RefPicList  m_eRapRefList;
     
    169167#if HHI_INTER_VIEW_MOTION_PRED
    170168  TComPicYuv*   getOrgDepthMap()      { return  m_pcOrgDepthMap; }
    171 #if QC_MULTI_DIS_CAN_A0097
     169#if H3D_NBDV
    172170  Void          setCandPicCheckedFlag (Bool bchecked)   { m_checked = bchecked; }
    173171  Bool          getCandPicCheckedFlag ()                { return m_checked;}
     
    178176  TComPicYuv*   getResidual()         { return  m_pcResidual; }
    179177#endif
    180 #if QC_SIMPLE_NBDV_B0047
     178#if H3D_NBDV
    181179  UInt          getRapRefIdx()                         {return m_uiRapRefIdx;}
    182180  RefPicList    getRapRefList()                        {return m_eRapRefList;}
  • branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComResidualGenerator.cpp

    r280 r289  
    226226}
    227227
    228 #if QC_MULTI_DIS_CAN_A0097
     228#if H3D_NBDV
    229229#if MTK_RELEASE_DV_CONSTRAINT_C0129
    230230Bool
     
    249249#endif
    250250  )
    251 #endif
     251#endif //H3D_NBDV
    252252{
    253253  AOF(  pcCU );
     
    259259  iBlkHeight  = pcCU->getHeight ( 0 );
    260260  pcCU->getPic()->getPicYuvRec()->getTopLeftSamplePos( pcCU->getAddr(), pcCU->getZorderIdxInCU() + uiPartAddr, iXPos, iYPos );
    261 #if QC_MULTI_DIS_CAN_A0097
     261#if H3D_NBDV
    262262#if MTK_RELEASE_DV_CONSTRAINT_C0129
    263263  return getResidualSamples( pcCU->getPic(), (UInt)iXPos, (UInt)iYPos, (UInt)iBlkWidth, (UInt)iBlkHeight, pcYuv, iDisp
     
    279279#endif
    280280    );
    281 #endif
     281#endif // H3D_NBDV
    282282}
    283283 
    284 #if QC_MULTI_DIS_CAN_A0097
     284#if H3D_NBDV
    285285#if MTK_RELEASE_DV_CONSTRAINT_C0129
    286286Bool
     
    319319  UInt uiXPosInRefView = uiXPos , uiYPosInRefView = uiYPos;
    320320#endif
    321 #if QC_MULTI_DIS_CAN_A0097
     321#if H3D_NBDV
    322322#if MTK_RELEASE_DV_CONSTRAINT_C0129
    323323  xSetPredResidualBlock( pcPic, uiBaseViewId, uiXPos, uiYPos, uiBlkWidth, uiBlkHeight, pcYuv, iDisp
     
    567567
    568568
    569 #if QC_MULTI_DIS_CAN_A0097
     569#if H3D_NBDV
    570570#if MTK_RELEASE_DV_CONSTRAINT_C0129
    571571Void 
     
    575575#endif
    576576)
    577 #else
     577#else // MTK_RELEASE_DV_CONSTRAINT_C0129
    578578Void 
    579579TComResidualGenerator::xSetPredResidualBlock( TComPic* pcPic, UInt uiBaseViewId, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, Int iDisp
     
    582582#endif
    583583)
    584 #endif
    585 #else
     584#endif // MTK_RELEASE_DV_CONSTRAINT_C0129
     585#else // H3D_NBDV
    586586Void 
    587587TComResidualGenerator::xSetPredResidualBlock( TComPic* pcPic, UInt uiBaseViewId, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv
     
    590590#endif
    591591  )
    592 #endif
     592#endif // H3D_NBDV
    593593{
    594594  //===== set and check some basic variables =====
     
    607607
    608608  //===== get disparity =====
    609 #if QC_MULTI_DIS_CAN_A0097
     609#if H3D_NBDV
    610610#if MTK_RELEASE_DV_CONSTRAINT_C0129
    611611  Int iDisparity_y = iDisp.getVer();
     
    614614  Int iDisparity = iDisp;
    615615#endif
    616 #else
     616#else //H3D_NBDV
    617617  Int           iMidPosX    = Int( uiXPos + ( ( uiBlkWidth  - 1 ) >> 1 ) ) >> m_pcDepthMapGenerator->getSubSampExpX();
    618618  Int           iMidPosY    = Int( uiYPos + ( ( uiBlkHeight - 1 ) >> 1 ) ) >> m_pcDepthMapGenerator->getSubSampExpY();
    619619  Int           iDisparity  = m_pcDepthMapGenerator->getDisparity( pcPic, iMidPosX, iMidPosY, uiBaseViewId );
    620 #endif
     620#endif //H3D_NBDV
    621621  //===== compensate luma =====
    622622  Int           iYWidth     = Int( uiBlkWidth  );
  • branches/HTM-5.1-dev0/source/Lib/TLibCommon/TComResidualGenerator.h

    r249 r289  
    6969  Void  setRecResidualPic     ( TComPic*      pcPic );
    7070
    71 #if QC_MULTI_DIS_CAN_A0097
     71#if H3D_NBDV
    7272#if MTK_RELEASE_DV_CONSTRAINT_C0129
    7373  Bool  getResidualSamples    ( TComDataCU*   pcCU,  UInt uiPUIdx, TComYuv* pcYuv, TComMv iDisp_x
     
    113113  Void  xClearIntViewResidual ( TComDataCU*   pcCU,  TComYuv* pcCUResidual, UInt uiPartIdx    );
    114114  Void  xClearResidual        (                      TComYuv* pcCUResidual, UInt uiAbsPartIdx, UInt uiWidth, UInt uiHeight );
    115 #if QC_MULTI_DIS_CAN_A0097
     115#if H3D_NBDV
    116116#if MTK_RELEASE_DV_CONSTRAINT_C0129
    117117  Void  xSetPredResidualBlock ( TComPic*      pcPic, UInt uiBaseViewId, UInt uiXPos, UInt uiYPos, UInt uiBlkWidth, UInt uiBlkHeight, TComYuv* pcYuv, TComMv iDisp
  • branches/HTM-5.1-dev0/source/Lib/TLibCommon/TypeDef.h

    r287 r289  
    4545#define QC_TMVP_IDX_MOD_B0046             1   //JCT3V-B0046: the reference index for temporal merging candidate is set to 0, as defined in HEVC
    4646#define QC_REM_IDV_B0046                  1   //JCT3V-B0046: removal of IDV NAL unit type
    47 #define FIX_DEL_NULLPTR                   1
    48 #define FIX_MISUSE_REFINDEX               1
    49 #define FIX_FCO_COMP_WARNING              1
    5047#define DV_V_RESTRICTION_B0037            1   // JCT3V-B0037 disparity vector vertical range restriction
    5148
     
    6966#define FIX_RDO_NEGDIST                   1
    7067#define FIX_DMM_NEG_DIST                  1
    71 #define FIX_LGE_DVMCP_B0133               1
     68
    7269
    7370// 3rd meeting
     
    8986#define HHI_DMM_PRED_TEX                  1   // depth model modes dependent on texture (inter-component Wedgelet and Contour prediction )
    9087#define LGE_EDGE_INTRA_A0070              1   // JCT3V-A0070
     88
    9189#define RWTH_SDC_DLT_B0036                1   // JCT3V-B0036: Simplified Depth Coding + Depth Lookup Table
    92 #define HHIQC_DMMFASTSEARCH_B0039         1   // JCT3V-B0039: fast Wedgelet search for DMM modes 1 and 3
     90
     91#define HHIQC_DMMFASTSEARCH_B0039         1   // JCT3V-B0039: fast Wedgelet search for DMM modes 1 and 3 // --> weg
     92
    9393#define HHI_DMM_DELTADC_Q1_C0034          1   // JCT3V-C0034: no quantization and fast encoder search for DMM delta DC values
     94
    9495#if HHIQC_DMMFASTSEARCH_B0039 && HHI_DMM_PRED_TEX
    9596#define LGE_DMM3_SIMP_C0044               1
     
    129130
    130131///// ***** DISPARITY VECTOR DERIVATION *********
    131 #define QC_MULTI_DIS_CAN_A0097            1   // JCT3V-A0097
    132 #define LGE_DVMCP_A0126                   1   // JCT3V-A0126     
    133 #define LGE_DVMCP_MEM_REDUCTION_B0135     1   // JCT3V-B0135     
    134 #define DV_DERIVATION_PARALLEL_B0096      1   // JCT3V-B0096, enable parallel derivation of disparity vector
    135 #define QC_SIMPLE_NBDV_B0047              1   // JCT3V-B0047
     132#define H3D_NBDV                          1   // Neighboring block disparity derivation
     133                                              // JCT3V-A0097
     134                                              // LGE_DVMCP_A0126
     135                                              // LGE_DVMCP_MEM_REDUCTION_B0135     
     136                                              // DV_DERIVATION_PARALLEL_B0096, enable parallel derivation of disparity vector
     137                                              // QC_SIMPLE_NBDV_B0047
     138                                              // FIX_LGE_DVMCP_B0133
     139                                              // LGE_IVMP_PARALLEL_MERGE_B0136, B0136 support of parallel merge/skip in disparity vector derivation
     140
    136141///// ***** MOTION PARAMETER INHERITANCE  *********
    137142#define MTK_DEPTH_MERGE_TEXTURE_CANDIDATE_C0137   1   // JCT3V-C0137
     
    216221
    217222///// ***** DEFINED PARAMETERS *********
    218 #if QC_MULTI_DIS_CAN_A0097                   
     223#if H3D_NBDV                   
    219224#define DIS_CANS                          1
    220225#endif                                 
     
    238243
    239244
    240 #if LGE_DVMCP_A0126                           
     245#if H3D_NBDV                           
    241246#define DVFROM_LEFTBELOW                  1
    242247#define DVFROM_LEFT                       2
     
    271276
    272277#define PARALLEL_MERGE  1                   //< H0082 parallel merge/skip
    273 #define LGE_IVMP_PARALLEL_MERGE_B0136     1 //< B0136 support of parallel merge/skip in disparity vector derivation
    274278#define LOG2_PARALLEL_MERGE_LEVEL_MINUS2  0 //< H0082 parallel merge level 0-> 4x4, 1-> 8x8, 2->16x16, 3->32x32, 4->64x64
    275279
     
    453457
    454458#if LGE_EDGE_INTRA_A0070
    455 #if HHI_DMM_WEDGE_INTRA && HHI_DMM_PRED_TEX
     459#if HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
    456460#define EDGE_INTRA_IDX  (NUM_INTRA_MODE+NUM_DMM_MODE)
    457 #endif // HHI_DMM_WEDGE_INTRA && HHI_DMM_PRED_TEX
     461#endif // HHI_DMM_WEDGE_INTRA || HHI_DMM_PRED_TEX
    458462#if LGE_EDGE_INTRA_DELTA_DC
    459463#define EDGE_INTRA_DELTA_IDX          (EDGE_INTRA_IDX+1)
  • branches/HTM-5.1-dev0/source/Lib/TLibDecoder/TDecGop.cpp

    r231 r289  
    303303    {
    304304      m_pcDepthMapGenerator->initViewComponent( rpcPic );
    305 #if !QC_MULTI_DIS_CAN_A0097
     305#if !H3D_NBDV
    306306      m_pcDepthMapGenerator->predictDepthMap  ( rpcPic );
    307307#endif
     
    312312#endif
    313313
    314 #if QC_SIMPLE_NBDV_B0047
     314#if H3D_NBDV
    315315    if(pcSlice->getViewId() && pcSlice->getSPS()->getMultiviewMvPredMode())
    316316    {
     
    348348#endif
    349349#if DEPTH_MAP_GENERATION
    350 #if !QC_MULTI_DIS_CAN_A0097
     350#if !H3D_NBDV
    351351    // update virtual depth map
    352352    m_pcDepthMapGenerator->updateDepthMap( rpcPic );
  • branches/HTM-5.1-dev0/source/Lib/TLibEncoder/TEncGOP.cpp

    r280 r289  
    754754      // init view component and predict virtual depth map
    755755      m_pcDepthMapGenerator->initViewComponent( pcPic );
    756 #if !QC_MULTI_DIS_CAN_A0097
     756#if !H3D_NBDV
    757757      m_pcDepthMapGenerator->predictDepthMap  ( pcPic );
    758758#endif
     
    765765#endif
    766766
    767 #if QC_SIMPLE_NBDV_B0047
     767#if H3D_NBDV
    768768      if(pcSlice->getViewId() && pcSlice->getSPS()->getMultiviewMvPredMode())
    769769      {
     
    830830#endif
    831831#if DEPTH_MAP_GENERATION
    832 #if !QC_MULTI_DIS_CAN_A0097
     832#if !H3D_NBDV
    833833      // update virtual depth map
    834834      m_pcDepthMapGenerator->updateDepthMap( pcPic );
Note: See TracChangeset for help on using the changeset viewer.