Ignore:
Timestamp:
4 Jun 2013, 00:01:30 (11 years ago)
Author:
zhang
Message:

NBDV for 3D-HEVC

Location:
branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncCu.cpp

    r446 r455  
    457457
    458458      rpcTempCU->initEstData( uiDepth, iQP );
    459 
     459#if H_3D_NBDV
     460      DisInfo DvInfo;
     461      DvInfo.bDV = false;
     462      DvInfo.m_acNBDV.setZero();
     463      DvInfo.m_aVIdxCan = 0;
     464#if H_3D_NBDV_REF
     465      DvInfo.m_acDoNBDV.setZero();
     466#endif
     467
     468      if( rpcTempCU->getSlice()->getSliceType() != I_SLICE )
     469      {
     470        if(rpcTempCU->getSlice()->getViewIndex() && !rpcTempCU->getSlice()->getIsDepth()) //Notes from QC: this condition shall be changed once the configuration is completed, e.g. in pcSlice->getSPS()->getMultiviewMvPredMode() || ARP in prev. HTM. Remove this comment once it is done. Remove this comment once it is done.
     471        {
     472          PartSize ePartTemp = rpcTempCU->getPartitionSize(0);
     473          rpcTempCU->setPartSizeSubParts( SIZE_2Nx2N, 0, uiDepth );     
     474#if H_3D_NBDV_REF
     475          if(m_pcSlice->getSPS()->getUseDVPRefine())  //Notes from QC: please check the condition for DoNBDV. Remove this comment once it is done.
     476            DvInfo.bDV = rpcTempCU->getDisMvpCandNBDV(&DvInfo, true);
     477          else
     478#endif
     479            DvInfo.bDV = rpcTempCU->getDisMvpCandNBDV(&DvInfo);
     480
     481          rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
     482          rpcBestCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
     483          rpcTempCU->setPartSizeSubParts( ePartTemp, 0, uiDepth );
     484        }
     485      }
     486#endif
    460487      // do inter modes, SKIP and 2Nx2N
    461488      if( rpcBestCU->getSlice()->getSliceType() != I_SLICE )
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncGOP.cpp

    r446 r455  
    10281028    m_storedStartCUAddrForEncodingSliceSegment.push_back(nextCUAddr);
    10291029    startCUAddrSliceSegmentIdx++;
    1030 
     1030#if H_3D_NBDV
     1031      if(pcSlice->getViewIndex() && !pcSlice->getIsDepth()) //Notes from QC: this condition shall be changed once the configuration is completed, e.g. in pcSlice->getSPS()->getMultiviewMvPredMode() || ARP in prev. HTM. Remove this comment once it is done.
     1032      {
     1033        Int iColPoc = pcSlice->getRefPOC(RefPicList(1-pcSlice->getColFromL0Flag()), pcSlice->getColRefIdx());
     1034        pcPic->setNumDdvCandPics(pcPic->getDisCandRefPictures(iColPoc));
     1035      }
     1036#endif
    10311037    while(nextCUAddr<uiRealEndAddress) // determine slice boundaries
    10321038    {
Note: See TracChangeset for help on using the changeset viewer.