Ignore:
Timestamp:
14 Jul 2015, 12:31:09 (10 years ago)
Author:
tech
Message:

Merged HTM-14.1-update-dev3@1273.

Location:
branches/HTM-14.1-update-dev2/source/Lib/TLibEncoder
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-14.1-update-dev2/source/Lib/TLibEncoder/TEncCavlc.cpp

    r1225 r1274  
    21952195    }
    21962196#endif
    2197 #if H_3D_IV_MERGE
     2197#if NH_3D_IV_MERGE
    21982198    assert(pcSlice->getMaxNumMergeCand()<=MRG_MAX_NUM_CANDS_MEM);
    21992199#else
     
    22022202    if (!pcSlice->isIntra())
    22032203    {
    2204 #if H_3D_IV_MERGE
     2204#if NH_3D_IV_MERGE
    22052205      WRITE_UVLC( ( ( pcSlice->getMpiFlag( ) || pcSlice->getIvMvPredFlag( ) || pcSlice->getViewSynthesisPredFlag( ) ) ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand");
    22062206#else
     
    25782578}
    25792579
    2580 #if H_3D_ARP
     2580#if NH_3D_ARP
    25812581Void TEncCavlc::codeARPW( TComDataCU* pcCU, UInt uiAbsPartIdx )
    25822582{
     
    29012901#endif
    29022902   
    2903 #if H_3D_DBBP
     2903#if NH_3D_DBBP
    29042904Void TEncCavlc::codeDBBPFlag    ( TComDataCU* pcCU, UInt uiAbsPartIdx )
    29052905{
  • branches/HTM-14.1-update-dev2/source/Lib/TLibEncoder/TEncCavlc.h

    r1225 r1274  
    126126  Void codeMergeFlag     ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    127127  Void codeMergeIndex    ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    128 #if H_3D_ARP
     128#if NH_3D_ARP
    129129  Void codeARPW          ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    130130#endif
     
    136136  Void codeSDCFlag       ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    137137#endif
    138 #if H_3D_DBBP
     138#if NH_3D_DBBP
    139139  Void codeDBBPFlag       ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    140140#endif
  • branches/HTM-14.1-update-dev2/source/Lib/TLibEncoder/TEncCu.cpp

    r1256 r1274  
    6868  m_ppcTempCU      = new TComDataCU*[m_uhTotalDepth-1];
    6969
    70 #if H_3D_ARP
     70#if NH_3D_ARP
    7171  m_ppcWeightedTempCU = new TComDataCU*[m_uhTotalDepth-1];
    7272#endif
     
    7979  m_ppcRecoYuvTemp = new TComYuv*[m_uhTotalDepth-1];
    8080  m_ppcOrigYuv     = new TComYuv*[m_uhTotalDepth-1];
    81 #if H_3D_DBBP
     81#if NH_3D_DBBP
    8282  m_ppcOrigYuvDBBP = new TComYuv*[m_uhTotalDepth-1];
    8383#endif
     
    9292    m_ppcBestCU[i] = new TComDataCU; m_ppcBestCU[i]->create( chromaFormat, uiNumPartitions, uiWidth, uiHeight, false, uiMaxWidth >> (m_uhTotalDepth - 1) );
    9393    m_ppcTempCU[i] = new TComDataCU; m_ppcTempCU[i]->create( chromaFormat, uiNumPartitions, uiWidth, uiHeight, false, uiMaxWidth >> (m_uhTotalDepth - 1) );
    94 #if H_3D_ARP
    95     m_ppcWeightedTempCU[i] = new TComDataCU; m_ppcWeightedTempCU[i]->create( uiNumPartitions, uiWidth, uiHeight, false, uiMaxWidth >> (m_uhTotalDepth - 1) );
     94#if NH_3D_ARP
     95    m_ppcWeightedTempCU[i] = new TComDataCU; m_ppcWeightedTempCU[i]->create( chromaFormat, uiNumPartitions, uiWidth, uiHeight, false, uiMaxWidth >> (m_uhTotalDepth - 1) );
    9696#endif 
    9797
     
    105105
    106106    m_ppcOrigYuv    [i] = new TComYuv; m_ppcOrigYuv    [i]->create(uiWidth, uiHeight, chromaFormat);
    107 #if H_3D_DBBP
    108     m_ppcOrigYuvDBBP[i] = new TComYuv; m_ppcOrigYuvDBBP[i]->create(uiWidth, uiHeight);
     107#if NH_3D_DBBP
     108    m_ppcOrigYuvDBBP[i] = new TComYuv; m_ppcOrigYuvDBBP[i]->create(uiWidth, uiHeight, chromaFormat);
    109109#endif
    110110
     
    146146      m_ppcTempCU[i]->destroy();      delete m_ppcTempCU[i];      m_ppcTempCU[i] = NULL;
    147147    }
    148 #if H_3D_ARP
     148#if NH_3D_ARP
    149149    if(m_ppcWeightedTempCU[i])
    150150    {
     
    180180      m_ppcOrigYuv[i]->destroy();     delete m_ppcOrigYuv[i];     m_ppcOrigYuv[i] = NULL;
    181181    }
    182 #if H_3D_DBBP
     182#if NH_3D_DBBP
    183183    if(m_ppcOrigYuvDBBP[i])
    184184    {
     
    198198  }
    199199
    200 #if H_3D_ARP
     200#if NH_3D_ARP
    201201  if(m_ppcWeightedTempCU)
    202202  {
     
    240240    m_ppcOrigYuv = NULL;
    241241  }
    242 #if H_3D_DBBP
     242#if NH_3D_DBBP
    243243  if(m_ppcOrigYuvDBBP)
    244244  {
     
    280280  m_ppcTempCU[0]->initCtu( pCtu->getPic(), pCtu->getCtuRsAddr() );
    281281
     282#if NH_3D_ARP
     283  m_ppcWeightedTempCU[0]->initCtu( pCtu->getPic(), pCtu->getCtuRsAddr() );
     284#endif
     285
    282286#if KWU_RC_MADPRED_E0227
    283287  m_LCUPredictionSAD = 0;
     
    441445  Bool    earlyDetectionSkipMode = false;
    442446
    443 #if H_3D_VSP
     447#if NH_3D_NBDV
    444448  DisInfo DvInfo;
    445449  DvInfo.m_acNBDV.setZero();
    446450  DvInfo.m_aVIdxCan = 0;
    447 #if H_3D_NBDV_REF
     451#if NH_3D_NBDV_REF
    448452  DvInfo.m_acDoNBDV.setZero();
    449453#endif
     
    584588#endif
    585589
    586 #if H_3D_NBDV
     590#if NH_3D_NBDV
    587591      if( rpcTempCU->getSlice()->getSliceType() != I_SLICE )
    588592      {
    589 #if H_3D_ARP && H_3D_IV_MERGE
    590         if( rpcTempCU->getSlice()->getIvResPredFlag() || rpcTempCU->getSlice()->getIvMvPredFlag() )
     593#if NH_3D_ARP && NH_3D_IV_MERGE && NH_3D_VSP
     594        if( rpcTempCU->getSlice()->getIvResPredFlag() || rpcTempCU->getSlice()->getIvMvPredFlag() || rpcTempCU->getSlice()->getViewSynthesisPredFlag() )
    591595#else
    592 #if H_3D_ARP
    593         if( rpcTempCU->getSlice()->getVPS()->getUseAdvRP(rpcTempCU->getSlice()->getLayerId()) )
     596#if NH_3D_IV_MERGE && NH_3D_VSP
     597        if( rpcTempCU->getSlice()->getIvMvPredFlag() || rpcTempCU->getSlice()->getViewSynthesisPredFlag() )
     598#else
     599#if NH_3D_ARP && NH_3D_VSP
     600        if( rpcTempCU->getSlice()->getIvResPredFlag() || rpcTempCU->getSlice()->getViewSynthesisPredFlag() )
     601#else
     602#if NH_3D_VSP
     603        if( rpcTempCU->getSlice()->getViewSynthesisPredFlag() )
     604#else
     605#if NH_3D_ARP
     606        if( rpcTempCU->getSlice()->getIvResPredFlag() )
    594607#else
    595608#if H_3D_IV_MERGE
    596609        if( rpcTempCU->getSlice()->getVPS()->getIvMvPredFlag(rpcTempCU->getSlice()->getLayerId()) )
    597610#else
     611#if NH_3D_DBBP
     612        if( rpcTempCU->getSlice()->getDepthBasedBlkPartFlag() )
     613#else
    598614        if (0)
     615#endif
     616#endif
     617#endif
     618#endif
    599619#endif
    600620#endif
     
    602622        {
    603623          PartSize ePartTemp = rpcTempCU->getPartitionSize(0);
    604           rpcTempCU->setPartSizeSubParts( SIZE_2Nx2N, 0, uiDepth );     
    605 #if H_3D_IV_MERGE
     624          rpcTempCU->setPartSizeSubParts(SIZE_2Nx2N, 0, uiDepth);
     625#if NH_3D_IV_MERGE
    606626          if (rpcTempCU->getSlice()->getIsDepth() )
    607627          {
     
    611631          {
    612632#endif
    613 #if H_3D_NBDV_REF
     633#if NH_3D_NBDV_REF
    614634            if( rpcTempCU->getSlice()->getDepthRefinementFlag() )
    615635            {
     
    621641              rpcTempCU->getDisMvpCandNBDV(&DvInfo);
    622642            }
    623 #if H_3D_IV_MERGE
     643#if NH_3D_IV_MERGE
    624644          }
    625645#endif
     
    659679          rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );//by Competition for inter_2Nx2N
    660680#endif
    661 #if H_3D_VSP
    662             rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
     681#if NH_3D_VSP  || NH_3D_DBBP
     682          rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    663683#endif
    664684        }
     
    673693
    674694        rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    675 #if H_3D_VSP
    676           rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
     695#if NH_3D_VSP  || NH_3D_DBBP
     696        rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    677697#endif
    678698
     
    690710          rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    691711#endif
    692 #if H_3D_VSP
    693             rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    694 #endif
    695 #if H_3D_DBBP
     712#if NH_3D_VSP  || NH_3D_DBBP
     713          rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
     714#endif
     715#if NH_3D_DBBP
    696716            if( rpcTempCU->getSlice()->getDepthBasedBlkPartFlag() && rpcTempCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )
    697717            {
    698718              xCheckRDCostInterDBBP( rpcBestCU, rpcTempCU, false );
    699719              rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode  );
    700 #if H_3D_VSP
     720#if NH_3D_VSP  || NH_3D_DBBP
    701721              rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    702722#endif
     
    780800#endif
    781801              rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    782 #if H_3D_VSP
    783                 rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
     802#if NH_3D_VSP || NH_3D_DBBP
     803              rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    784804#endif
    785805
     
    799819#endif
    800820            rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    801 #if H_3D_VSP
     821#if NH_3D_VSP || NH_3D_DBBP
    802822            rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    803823#endif
     
    822842
    823843            rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    824 #if H_3D_VSP
     844#if NH_3D_VSP || NH_3D_DBBP
    825845            rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    826846#endif
     
    861881#endif
    862882                rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    863 #if H_3D_VSP
     883#if NH_3D_VSP || NH_3D_DBBP
    864884                rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    865885#endif
     
    882902
    883903                rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    884 #if H_3D_VSP
     904#if NH_3D_VSP || NH_3D_DBBP
    885905                rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    886906#endif
     
    909929
    910930                rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    911 #if H_3D_VSP
     931#if NH_3D_VSP || NH_3D_DBBP
    912932                rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    913933#endif
     
    929949#endif
    930950                rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    931 #if H_3D_VSP
     951#if NH_3D_VSP || NH_3D_DBBP
    932952                rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    933953#endif
     
    957977
    958978                rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    959 #if H_3D_VSP
     979#if NH_3D_VSP || NH_3D_DBBP
    960980                rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    961981#endif
     
    977997#endif
    978998                rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    979 #if H_3D_VSP
     999#if NH_3D_VSP || NH_3D_DBBP
    9801000                rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    9811001#endif
     
    9971017#endif
    9981018                rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    999 #if H_3D_VSP
     1019#if NH_3D_VSP || NH_3D_DBBP
    10001020                rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    10011021#endif
     
    10181038#endif
    10191039                rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    1020 #if H_3D_VSP
     1040#if NH_3D_VSP || NH_3D_DBBP
    10211041                rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    10221042#endif
     
    10341054            xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_2NxnU );
    10351055            rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    1036 #if H_3D_VSP
    1037               rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
     1056#if NH_3D_VSP || NH_3D_DBBP
     1057            rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    10381058#endif
    10391059            xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_2NxnD );
    10401060            rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    1041 #if H_3D_VSP
    1042               rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
     1061#if NH_3D_VSP || NH_3D_DBBP
     1062            rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    10431063#endif
    10441064#if NH_3D_QTLPC
     
    10491069            xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_nLx2N );
    10501070            rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    1051 #if H_3D_VSP
    1052               rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
     1071#if NH_3D_VSP || NH_3D_DBBP
     1072            rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    10531073#endif
    10541074            xCheckRDCostInter( rpcBestCU, rpcTempCU, SIZE_nRx2N );
    10551075            rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    1056 #if H_3D_VSP
    1057               rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
     1076#if NH_3D_VSP || NH_3D_DBBP
     1077            rpcTempCU->setDvInfoSubParts(DvInfo, 0, uiDepth);
    10581078#endif
    10591079#if NH_3D_QTLPC
     
    12701290      DEBUG_STRING_NEW(sTempDebug)
    12711291
     1292#if NH_3D_ARP
     1293      m_ppcWeightedTempCU[uhNextDepth]->setSlice( m_ppcWeightedTempCU[ uiDepth]->getSlice());
     1294      m_ppcWeightedTempCU[uhNextDepth]->setPic  ( m_ppcWeightedTempCU[ uiDepth] );
     1295#endif
    12721296      for ( UInt uiPartUnitIdx = 0; uiPartUnitIdx < 4; uiPartUnitIdx++ )
    12731297      {
     
    15751599
    15761600    m_pcEntropyCoder->encodeMergeIndex( pcCU, uiAbsPartIdx );
    1577 #if H_3D_ARP
     1601#if NH_3D_ARP
    15781602    m_pcEntropyCoder->encodeARPW( pcCU , uiAbsPartIdx );
    15791603#endif
     
    16121636  // prediction Info ( Intra : direction mode, Inter : Mv, reference idx )
    16131637  m_pcEntropyCoder->encodePredInfo( pcCU, uiAbsPartIdx );
    1614 #if H_3D
     1638#if NH_3D_DBBP
    16151639  m_pcEntropyCoder->encodeDBBPFlag( pcCU, uiAbsPartIdx );
    16161640#endif
     
    16181642  m_pcEntropyCoder->encodeSDCFlag( pcCU, uiAbsPartIdx, false );
    16191643#endif 
    1620 #if H_3D_ARP
     1644#if NH_3D_ARP
    16211645  m_pcEntropyCoder->encodeARPW( pcCU , uiAbsPartIdx );
    16221646#endif
     
    17631787{
    17641788  assert( rpcTempCU->getSlice()->getSliceType() != I_SLICE );
    1765 #if H_3D_IV_MERGE
     1789#if NH_3D_MLC
    17661790  TComMvField  cMvFieldNeighbours[MRG_MAX_NUM_CANDS_MEM << 1]; // double length for mv of both lists
    17671791  UChar uhInterDirNeighbours[MRG_MAX_NUM_CANDS_MEM];
     
    17921816#endif
    17931817
    1794 #if H_3D_ARP
     1818#if NH_3D_ARP
    17951819  DisInfo cOrigDisInfo = rpcTempCU->getDvInfo(0);
    17961820#else
     
    17981822
    17991823  rpcTempCU->setPartSizeSubParts( SIZE_2Nx2N, 0, uhDepth ); // interprets depth relative to CTU level
    1800 #if H_3D_VSP
    1801 #if !H_3D_ARP
     1824
     1825#if NH_3D_SPIVMP
     1826  Bool bSPIVMPFlag[MRG_MAX_NUM_CANDS_MEM];
     1827  memset(bSPIVMPFlag, false, sizeof(Bool)*MRG_MAX_NUM_CANDS_MEM);
     1828  TComMvField*  pcMvFieldSP;
     1829  UChar* puhInterDirSP;
     1830  pcMvFieldSP = new TComMvField[rpcTempCU->getPic()->getPicSym()->getNumPartitionsInCtu()*2];
     1831  puhInterDirSP = new UChar[rpcTempCU->getPic()->getPicSym()->getNumPartitionsInCtu()];
     1832#endif
     1833
     1834#if NH_3D_VSP
     1835#if !NH_3D_ARP
    18021836  Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
    18031837  memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
    1804   InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM];
    1805   rpcTempCU->m_bAvailableFlagA1 = 0;
    1806   rpcTempCU->m_bAvailableFlagB1 = 0;
    1807   rpcTempCU->m_bAvailableFlagB0 = 0;
    1808   rpcTempCU->m_bAvailableFlagA0 = 0;
    1809   rpcTempCU->m_bAvailableFlagB2 = 0;
     1838#if NH_3D_MLC
     1839  rpcTempCU->initAvailableFlags();
     1840#endif
    18101841  rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand );
    1811   rpcTempCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, vspFlag,inheritedVSPDisInfo, numValidMergeCand );
    1812 #endif
    1813 #else
    1814 #if H_3D
    1815   rpcTempCU->m_bAvailableFlagA1 = 0;
    1816   rpcTempCU->m_bAvailableFlagB1 = 0;
    1817   rpcTempCU->m_bAvailableFlagB0 = 0;
    1818   rpcTempCU->m_bAvailableFlagA0 = 0;
    1819   rpcTempCU->m_bAvailableFlagB2 = 0;
    1820   rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand );
    1821   rpcTempCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, numValidMergeCand );
    1822 #else
     1842#if NH_3D_MLC
     1843  rpcTempCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours
     1844#if NH_3D_SPIVMP
     1845    , pcMvFieldSP, puhInterDirSP
     1846#endif
     1847    , numValidMergeCand
     1848    );
     1849
     1850  rpcTempCU->buildMCL( cMvFieldNeighbours,uhInterDirNeighbours, vspFlag
     1851#if NH_3D_SPIVMP
     1852    , bSPIVMPFlag
     1853#endif
     1854    , numValidMergeCand
     1855    );
     1856#endif
     1857#endif
     1858#else
     1859#if NH_3D_MLC
     1860  rpcTempCU->initAvailableFlags();
     1861#endif
    18231862  rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, numValidMergeCand );
    1824 #endif
    1825 #endif
    1826 #if H_3D_IV_MERGE
     1863#if NH_3D_MLC
     1864  rpcTempCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours
     1865#if H_3D_SPIVMP
     1866    , pcMvFieldSP, puhInterDirSP
     1867#endif
     1868    , numValidMergeCand
     1869    );
     1870#if NH_3D_MLC
     1871  rpcTempCU->buildMCL( cMvFieldNeighbours,uhInterDirNeighbours
     1872#if H_3D_SPIVMP
     1873    , bSPIVMPFlag
     1874#endif
     1875    , numValidMergeCand
     1876    );
     1877#endif
     1878#endif
     1879#endif
     1880
     1881#if NH_3D_MLC
    18271882  Int mergeCandBuffer[MRG_MAX_NUM_CANDS_MEM];
    18281883#else
    18291884  Int mergeCandBuffer[MRG_MAX_NUM_CANDS];
    18301885#endif
    1831 #if H_3D_ARP
    1832 for( UInt ui = 0; ui < rpcTempCU->getSlice()->getMaxNumMergeCand(); ++ui )
     1886#if NH_3D_MLC
     1887  for( UInt ui = 0; ui < rpcTempCU->getSlice()->getMaxNumMergeCand(); ++ui )
    18331888#else
    18341889  for( UInt ui = 0; ui < numValidMergeCand; ++ui )
    18351890#endif
    1836 
    18371891  {
    18381892    mergeCandBuffer[ui] = 0;
     
    18521906  DEBUG_STRING_NEW(bestStr)
    18531907
    1854 #if H_3D_ARP
     1908#if NH_3D_ARP
    18551909  Int nARPWMax = rpcTempCU->getSlice()->getARPStepNum() - 1;
     1910#if H_3D_IC
    18561911  if( nARPWMax < 0 || bICFlag )
     1912#else
     1913  if( nARPWMax < 0 )
     1914#endif
    18571915  {
    18581916    nARPWMax = 0;
     
    18601918  for( Int nARPW=nARPWMax; nARPW >= 0 ; nARPW-- )
    18611919  {
     1920#if NH_3D_IV_MERGE
    18621921    memset( mergeCandBuffer, 0, MRG_MAX_NUM_CANDS_MEM*sizeof(Int) );
     1922#else
     1923    memset( mergeCandBuffer, 0, MRG_MAX_NUM_CANDS * sizeof(Int) );
     1924#endif
    18631925    rpcTempCU->setPartSizeSubParts( SIZE_2Nx2N, 0, uhDepth ); // interprets depth relative to LCU level
    18641926    rpcTempCU->setARPWSubParts( (UChar)nARPW , 0 , uhDepth );
     
    18671929#endif
    18681930    rpcTempCU->getDvInfo(0) = cOrigDisInfo;
    1869     rpcTempCU->setDvInfoSubParts(cOrigDisInfo, 0, 0, uhDepth );
     1931    rpcTempCU->setDvInfoSubParts(cOrigDisInfo, 0, uhDepth );
     1932#if NH_3D_VSP
    18701933    Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
    18711934    memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
    1872 #if H_3D_SPIVMP
    1873     Bool bSPIVMPFlag[MRG_MAX_NUM_CANDS_MEM];
    1874     memset(bSPIVMPFlag, false, sizeof(Bool)*MRG_MAX_NUM_CANDS_MEM);
    1875     TComMvField*  pcMvFieldSP;
    1876     UChar* puhInterDirSP;
    1877     pcMvFieldSP = new TComMvField[rpcTempCU->getPic()->getPicSym()->getNumPartition()*2];
    1878     puhInterDirSP = new UChar[rpcTempCU->getPic()->getPicSym()->getNumPartition()];
    1879 #endif
    1880 #if H_3D
     1935#endif
     1936#if NH_3D
     1937#if NH_3D_MLC
    18811938    rpcTempCU->initAvailableFlags();
     1939#endif
    18821940    rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand );
    18831941    rpcTempCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours
    1884 #if H_3D_SPIVMP
     1942#if NH_3D_SPIVMP
    18851943      , pcMvFieldSP, puhInterDirSP
    18861944#endif
     
    18881946      );
    18891947
    1890     rpcTempCU->buildMCL( cMvFieldNeighbours,uhInterDirNeighbours, vspFlag
    1891 #if H_3D_SPIVMP
     1948    rpcTempCU->buildMCL( cMvFieldNeighbours,uhInterDirNeighbours
     1949#if NH_3D_VSP
     1950      , vspFlag
     1951#endif
     1952#if NH_3D_SPIVMP
    18921953      , bSPIVMPFlag
    18931954#endif
     
    18961957
    18971958#else
    1898     rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, vspFlag, numValidMergeCand );
     1959    rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, numValidMergeCand );
    18991960#endif
    19001961
     
    19261987          rpcTempCU->setICFlagSubParts( bICFlag, 0, 0, uhDepth );
    19271988#endif
    1928 #if H_3D_ARP
    1929           rpcTempCU->setARPWSubParts( (UChar)nARPW , 0 , uhDepth );
    1930 #endif
    19311989          rpcTempCU->setCUTransquantBypassSubParts( bTransquantBypassFlag, 0, uhDepth );
    19321990          rpcTempCU->setChromaQpAdjSubParts( bTransquantBypassFlag ? 0 : m_cuChromaQpOffsetIdxPlus1, 0, uhDepth );
     
    19341992          rpcTempCU->setMergeFlagSubParts( true, 0, 0, uhDepth ); // interprets depth relative to CTU level
    19351993          rpcTempCU->setMergeIndexSubParts( uiMergeCand, 0, 0, uhDepth ); // interprets depth relative to CTU level
    1936 #if H_3D_VSP
     1994#if NH_3D_ARP
     1995          rpcTempCU->setARPWSubParts( (UChar)nARPW , 0 , uhDepth );
     1996#endif
     1997
     1998#if NH_3D_VSP
    19371999          rpcTempCU->setVSPFlagSubParts( vspFlag[uiMergeCand], 0, 0, uhDepth );
    19382000#endif
    1939 #if H_3D_SPIVMP
     2001#if NH_3D_SPIVMP
    19402002          rpcTempCU->setSPIVMPFlagSubParts(bSPIVMPFlag[uiMergeCand], 0, 0, uhDepth);
    19412003          if (bSPIVMPFlag[uiMergeCand])
     
    19562018          else
    19572019#endif
    1958 #if H_3D_VSP
    19592020          {
     2021#if NH_3D_VSP
    19602022            if ( vspFlag[uiMergeCand] )
    19612023            {
     
    19872049            {
    19882050#endif
    1989           rpcTempCU->setInterDirSubParts( uhInterDirNeighbours[uiMergeCand], 0, 0, uhDepth ); // interprets depth relative to CTU level
    1990           rpcTempCU->getCUMvField( REF_PIC_LIST_0 )->setAllMvField( cMvFieldNeighbours[0 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level
    1991           rpcTempCU->getCUMvField( REF_PIC_LIST_1 )->setAllMvField( cMvFieldNeighbours[1 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level
    1992 #if H_3D_VSP
     2051            rpcTempCU->setInterDirSubParts( uhInterDirNeighbours[uiMergeCand], 0, 0, uhDepth ); // interprets depth relative to CTU level
     2052            rpcTempCU->getCUMvField( REF_PIC_LIST_0 )->setAllMvField( cMvFieldNeighbours[0 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level
     2053            rpcTempCU->getCUMvField( REF_PIC_LIST_1 )->setAllMvField( cMvFieldNeighbours[1 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level
     2054#if NH_3D_VSP
    19932055            }
     2056#endif
    19942057          }
    1995 #endif
    19962058          // do MC
    19972059          m_pcPredSearch->motionCompensation ( rpcTempCU, m_ppcPredYuvTemp[uhDepth] );
     
    20272089          rpcTempCU->setDISFlagSubParts( false, 0, uhDepth );
    20282090#endif
    2029 #if H_3D_VSP // possible bug fix
     2091#if NH_3D_VSP
    20302092          if( rpcTempCU->getSkipFlag(0) )
    20312093          {
     
    21602222  }
    21612223  DEBUG_STRING_APPEND(sDebug, bestStr)
    2162 #if H_3D_SPIVMP
     2224#if NH_3D_ARP
     2225 }
     2226#endif
     2227#if NH_3D_SPIVMP
    21632228 delete[] pcMvFieldSP;
    21642229 delete[] puhInterDirSP;
    21652230#endif
    2166 #if H_3D_ARP
    2167  }
    2168 #endif
    2169 
    21702231}
    21712232
     
    21842245
    21852246  // prior to this, rpcTempCU will have just been reset using rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode );
    2186 #if H_3D
     2247#if H_3D || NH_3D_ARP
    21872248  const Bool bTransquantBypassFlag = rpcTempCU->getCUTransquantBypass(0);
    21882249#endif
     
    21922253#endif
    21932254  UChar uhDepth = rpcTempCU->getDepth( 0 );
    2194 #if H_3D_ARP
     2255#if NH_3D_ARP
    21952256    Bool bFirstTime = true;
    21962257    Int nARPWMax    = rpcTempCU->getSlice()->getARPStepNum() - 1;
     2258#if H_3D_IC
    21972259    if( nARPWMax < 0 || ePartSize != SIZE_2Nx2N || rpcTempCU->getICFlag(0) )
     2260#else
     2261    if( nARPWMax < 0 || ePartSize != SIZE_2Nx2N )
     2262#endif
    21982263    {
    21992264      nARPWMax = 0;
     
    22232288  rpcTempCU->setPredModeSubParts  ( MODE_INTER, 0, uhDepth );
    22242289  rpcTempCU->setChromaQpAdjSubParts( rpcTempCU->getCUTransquantBypass(0) ? 0 : m_cuChromaQpOffsetIdxPlus1, 0, uhDepth );
    2225 #if H_3D_ARP
     2290#if NH_3D_ARP
    22262291      rpcTempCU->setARPWSubParts( (UChar)nARPW , 0 , uhDepth );
    22272292#endif
    2228 #if H_3D_ARP
     2293#if NH_3D_ARP
    22292294      if( bFirstTime == false && nARPWMax )
    22302295      {
     
    22492314  m_pcPredSearch->predInterSearch ( rpcTempCU, m_ppcOrigYuv[uhDepth], m_ppcPredYuvTemp[uhDepth], m_ppcResiYuvTemp[uhDepth], m_ppcRecoYuvTemp[uhDepth] );
    22502315#endif
    2251 #if H_3D_ARP
     2316#if NH_3D_ARP
    22522317        if( nARPWMax )
    22532318        {
     
    22602325  if ( !rpcTempCU->getMergeAMP() )
    22612326  {
    2262 #if H_3D_ARP
     2327#if NH_3D_ARP
    22632328        if( nARPWMax )
    22642329        {
     
    22812346
    22822347  m_pcPredSearch->encodeResAndCalcRdInterCU( rpcTempCU, m_ppcOrigYuv[uhDepth], m_ppcPredYuvTemp[uhDepth], m_ppcResiYuvTemp[uhDepth], m_ppcResiYuvBest[uhDepth], m_ppcRecoYuvTemp[uhDepth], false DEBUG_STRING_PASS_INTO(sTest) );
    2283 #if H_3D_VSP // possible bug fix
    2284       if( rpcTempCU->getQtRootCbf(0)==0 )
    2285       {
    2286         rpcTempCU->setTrIdxSubParts(0, 0, uhDepth);
    2287       }
     2348#if NH_3D_VSP
     2349  if( rpcTempCU->getQtRootCbf(0)==0 )
     2350  {
     2351    rpcTempCU->setTrIdxSubParts(0, 0, uhDepth);
     2352  }
    22882353#endif
    22892354#if NH_3D_VSO // M4
     
    23772442      }
    23782443#endif
    2379 #if H_3D_ARP
     2444#if NH_3D_ARP
    23802445    }
    23812446#endif
     
    23852450}
    23862451
    2387 #if H_3D_DBBP
     2452#if NH_3D_DBBP
    23882453Void TEncCu::xInvalidateOriginalSegments( TComYuv* pOrigYuv, TComYuv* pOrigYuvTemp, Bool* pMask, UInt uiValidSegment )
    23892454{
    2390   UInt  uiWidth     = pOrigYuv->getWidth ( );
    2391   UInt  uiHeight    = pOrigYuv->getHeight( );
    2392   Pel*  piSrc       = pOrigYuv->getLumaAddr( );
    2393   UInt  uiSrcStride = pOrigYuv->getStride();
    2394   Pel*  piDst       = pOrigYuvTemp->getLumaAddr( );
    2395   UInt  uiDstStride = pOrigYuvTemp->getStride();
     2455  UInt  uiWidth     = pOrigYuv->getWidth (COMPONENT_Y);
     2456  UInt  uiHeight    = pOrigYuv->getHeight(COMPONENT_Y);
     2457  Pel*  piSrc       = pOrigYuv->getAddr(COMPONENT_Y);
     2458  UInt  uiSrcStride = pOrigYuv->getStride(COMPONENT_Y);
     2459  Pel*  piDst       = pOrigYuvTemp->getAddr(COMPONENT_Y);
     2460  UInt  uiDstStride = pOrigYuvTemp->getStride(COMPONENT_Y);
    23962461 
    23972462  UInt  uiMaskStride= MAX_CU_SIZE;
     
    24182483 
    24192484  // now invalidate chroma
    2420   Pel*  piSrcU       = pOrigYuv->getCbAddr();
    2421   Pel*  piSrcV       = pOrigYuv->getCrAddr();
    2422   UInt  uiSrcStrideC = pOrigYuv->getCStride();
    2423   Pel*  piDstU       = pOrigYuvTemp->getCbAddr( );
    2424   Pel*  piDstV       = pOrigYuvTemp->getCrAddr( );
    2425   UInt  uiDstStrideC = pOrigYuvTemp->getCStride();
     2485  Pel*  piSrcU       = pOrigYuv->getAddr(COMPONENT_Cb);
     2486  Pel*  piSrcV       = pOrigYuv->getAddr(COMPONENT_Cr);
     2487  UInt  uiSrcStrideC = pOrigYuv->getStride(COMPONENT_Cb);
     2488  Pel*  piDstU       = pOrigYuvTemp->getAddr(COMPONENT_Cb);
     2489  Pel*  piDstV       = pOrigYuvTemp->getAddr(COMPONENT_Cr);
     2490  UInt  uiDstStrideC = pOrigYuvTemp->getStride(COMPONENT_Cb);
    24262491  pMask = pMaskStart;
    24272492 
     
    24442509  }
    24452510}
    2446 
     2511#endif
     2512
     2513#if H_3D_DIS
    24472514Void TEncCu::xCheckRDCostDIS( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize eSize )
    24482515{
     
    25182585  xCheckBestMode(rpcBestCU, rpcTempCU, uiDepth);
    25192586}
    2520 
     2587#endif
     2588
     2589#if NH_3D_DBBP
    25212590Void TEncCu::xCheckRDCostInterDBBP( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, Bool bUseMRG )
    25222591{
     
    25402609  AOF( uiWidth == uiHeight );
    25412610 
    2542 #if H_3D_DBBP
    2543   // Is this correct here, was under the macro SEC_DBBP_DISALLOW_8x8_I0078, however the function is related to Single Depth Mode
     2611#if NH_3D_DBBP
    25442612  if(uiWidth <= 8)
    25452613  {
     
    25922660    rpcTempCU->getDBBPTmpData()->eVirtualPartSize = eVirtualPartSize;
    25932661    rpcTempCU->getDBBPTmpData()->uiVirtualPartIndex = uiSegment;
    2594     m_pcPredSearch->predInterSearch( rpcTempCU, m_ppcOrigYuvDBBP[uhDepth], apPredYuv[uiSegment], m_ppcResiYuvTemp[uhDepth], m_ppcResiYuvTemp[uhDepth], false, false, bUseMRG );
     2662    m_pcPredSearch->predInterSearch( rpcTempCU, m_ppcOrigYuvDBBP[uhDepth], apPredYuv[uiSegment], m_ppcResiYuvTemp[uhDepth], m_ppcResiYuvTemp[uhDepth], false, bUseMRG );
    25952663    m_pcRdCost->setUseMask(false);
    25962664   
     
    26012669    pDBBPTmpData->auhMergeIndex[uiSegment] = rpcTempCU->getMergeIndex(0);
    26022670   
     2671#if NH_3D_VSP
    26032672    AOF( rpcTempCU->getSPIVMPFlag(0) == false );
    26042673    AOF( rpcTempCU->getVSPFlag(0) == 0 );
     2674#endif
    26052675   
    26062676    for ( UInt uiRefListIdx = 0; uiRefListIdx < 2; uiRefListIdx++ )
     
    26212691  rpcTempCU->setPredModeSubParts  ( MODE_INTER, 0, uhDepth );
    26222692 
    2623   UInt uiPUOffset = ( g_auiPUOffset[UInt( eVirtualPartSize )] << ( ( rpcTempCU->getSlice()->getSPS()->getMaxCUDepth() - uhDepth ) << 1 ) ) >> 4;
     2693  UInt uiPUOffset = ( g_auiPUOffset[UInt( eVirtualPartSize )] << ( ( rpcTempCU->getSlice()->getSPS()->getMaxTotalCUDepth() - uhDepth ) << 1 ) ) >> 4;
    26242694  for( UInt uiSegment = 0; uiSegment < 2; uiSegment++ )
    26252695  {
     
    26472717 
    26482718  // reconstruct final prediction signal by combining both segments
    2649   m_pcPredSearch->combineSegmentsWithMask(apPredYuv, m_ppcPredYuvTemp[uhDepth], pMask, uiWidth, uiHeight, 0, eVirtualPartSize);
     2719  Int bitDepthY = rpcTempCU->getSlice()->getSPS()->getBitDepth(CHANNEL_TYPE_LUMA);
     2720  m_pcPredSearch->combineSegmentsWithMask(apPredYuv, m_ppcPredYuvTemp[uhDepth], pMask, uiWidth, uiHeight, 0, eVirtualPartSize, bitDepthY);
    26502721  m_pcPredSearch->encodeResAndCalcRdInterCU( rpcTempCU, m_ppcOrigYuv[uhDepth], m_ppcPredYuvTemp[uhDepth], m_ppcResiYuvTemp[uhDepth], m_ppcResiYuvBest[uhDepth], m_ppcRecoYuvTemp[uhDepth], false );
    26512722 
  • branches/HTM-14.1-update-dev2/source/Lib/TLibEncoder/TEncCu.h

    r1200 r1274  
    6969  TComDataCU**            m_ppcBestCU;      ///< Best CUs in each depth
    7070  TComDataCU**            m_ppcTempCU;      ///< Temporary CUs in each depth
    71 #if H_3D_ARP
     71#if NH_3D_ARP
    7272  TComDataCU**            m_ppcWeightedTempCU;
    7373#endif
     
    8282  TComYuv**               m_ppcOrigYuv;     ///< Original Yuv for each depth
    8383
    84 #if H_3D_DBBP
     84#if NH_3D_DBBP
    8585  TComYuv**               m_ppcOrigYuvDBBP;
    8686#endif
     
    155155  Void  xCheckRDCostInter   ( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize ePartSize  );
    156156#endif
    157 #if H_3D_DBBP
     157#if NH_3D_DBBP
    158158  Void  xInvalidateOriginalSegments( TComYuv* pOrigYuv, TComYuv* pOrigYuvTemp, Bool* pMask, UInt uiValidSegment );
    159159  Void  xCheckRDCostInterDBBP( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, Bool bUseMRG = false );
  • branches/HTM-14.1-update-dev2/source/Lib/TLibEncoder/TEncEntropy.cpp

    r1225 r1274  
    151151Void TEncEntropy::encodeICFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD )
    152152{
    153 #if H_3D_ARP
     153#if NH_3D_ARP
    154154  if ( pcCU->isIntra( uiAbsPartIdx ) || ( pcCU->getSlice()->getViewIndex() == 0 ) || pcCU->getSlice()->getIsDepth() || pcCU->getARPW( uiAbsPartIdx ) > 0 )
    155155#else
     
    188188#endif
    189189
    190 #if H_3D_ARP
     190#if NH_3D_ARP
    191191Void TEncEntropy::encodeARPW( TComDataCU* pcCU, UInt uiAbsPartIdx )
    192192{
     
    874874
    875875#endif
    876 #if H_3D_DBBP
     876#if NH_3D_DBBP
    877877Void TEncEntropy::encodeDBBPFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD )
    878878{
     879  if( bRD )
     880  {
     881    uiAbsPartIdx = 0;
     882  }
     883 
    879884  if( pcCU->getSlice()->getDepthBasedBlkPartFlag() &&
    880885    ( pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN ||
     
    883888      pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )
    884889  {
    885     if( bRD )
    886     {
    887       uiAbsPartIdx = 0;
    888     }
    889890    m_pcEntropyCoderIf->codeDBBPFlag( pcCU, uiAbsPartIdx );
    890891  }
  • branches/HTM-14.1-update-dev2/source/Lib/TLibEncoder/TEncEntropy.h

    r1225 r1274  
    8484  virtual Void codeMergeFlag     ( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0;
    8585  virtual Void codeMergeIndex    ( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0;
    86 #if H_3D_ARP
     86#if NH_3D_ARP
    8787  virtual Void codeARPW          ( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0;
    8888#endif
     
    9494  virtual Void codeSDCFlag       ( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0;
    9595#endif
    96 #if H_3D_DBBP
     96#if NH_3D_DBBP
    9797  virtual Void codeDBBPFlag      ( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0;
    9898#endif
     
    173173  Void encodeMergeFlag    ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    174174  Void encodeMergeIndex   ( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD = false );
    175 #if H_3D_ARP
     175#if NH_3D_ARP
    176176  Void encodeARPW         ( TComDataCU* pcCU, UInt uiAbspartIdx );
    177177#endif
     
    183183  Void encodeSDCFlag      ( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD = false );
    184184#endif
    185 #if H_3D_DBBP
     185#if NH_3D_DBBP
    186186  Void encodeDBBPFlag     ( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD = false );
    187187#endif
  • branches/HTM-14.1-update-dev2/source/Lib/TLibEncoder/TEncGOP.cpp

    r1225 r1274  
    14431443    }   
    14441444
    1445 #if H_3D_IV_MERGE
     1445#if NH_3D_IV_MERGE
    14461446    // This needs to be done after initialization of 3D tool parameters.
    14471447    pcSlice->setMaxNumMergeCand      ( m_pcCfg->getMaxNumMergeCand()   + ( ( pcSlice->getMpiFlag( ) || pcSlice->getIvMvPredFlag( ) || pcSlice->getViewSynthesisPredFlag( )   ) ? 1 : 0 ));
     
    14711471    pcSlice->setRefPicList ( rcListPic );
    14721472#endif
    1473 #if H_3D
     1473#if NH_3D_NBDV
    14741474    pcSlice->setDefaultRefView();
    14751475#endif
    1476 #if H_3D_ARP
     1476#if NH_3D_ARP
    14771477    //GT: This seems to be broken when layerId in vps is not equal to layerId in nuh
    14781478    pcSlice->setARPStepNum(m_ivPicLists);
    1479     if(pcSlice->getARPStepNum() > 1)
    1480     {
    1481       for(Int iLayerId = 0; iLayerId < getLayerId(); iLayerId ++ )
    1482       {
    1483         Int  iViewIdx =   pcSlice->getVPS()->getViewIndex(iLayerId);
    1484         Bool bIsDepth = ( pcSlice->getVPS()->getDepthId  ( iLayerId ) == 1 );
    1485         if( iViewIdx<getViewIndex() && !bIsDepth )
    1486         {
    1487           pcSlice->setBaseViewRefPicList( m_ivPicLists->getPicList( iLayerId ), iViewIdx );
    1488         }
    1489       }
    1490     }
    14911479#endif
    14921480#if NH_3D_IC
     
    17311719    UInt uiNumSliceSegments = 1;
    17321720
    1733 #if H_3D_NBDV
     1721#if NH_3D_NBDV
    17341722      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.
    17351723      {
    1736         Int iColPoc = pcSlice->getRefPOC(RefPicList(1-pcSlice->getColFromL0Flag()), pcSlice->getColRefIdx());
     1724        Int iColPoc = pcSlice->getRefPOC(RefPicList(1 - pcSlice->getColFromL0Flag()), pcSlice->getColRefIdx());
    17371725        pcPic->setNumDdvCandPics(pcPic->getDisCandRefPictures(iColPoc));
    17381726      }
     
    17431731#endif
    17441732
    1745 #if H_3D_NBDV
     1733#if NH_3D_NBDV
    17461734      if(pcSlice->getViewIndex() && !pcSlice->getIsDepth() && !pcSlice->isIntra()) //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.
    17471735      {
  • branches/HTM-14.1-update-dev2/source/Lib/TLibEncoder/TEncSbac.cpp

    r1256 r1274  
    6868, m_cCUMergeFlagExtSCModel             ( 1,             1,                      NUM_MERGE_FLAG_EXT_CTX               , m_contextModels + m_numContextModels, m_numContextModels)
    6969, m_cCUMergeIdxExtSCModel              ( 1,             1,                      NUM_MERGE_IDX_EXT_CTX                , m_contextModels + m_numContextModels, m_numContextModels)
    70 #if H_3D_ARP
     70#if NH_3D_ARP
    7171, m_cCUPUARPWSCModel                   ( 1,             1,                      NUM_ARPW_CTX                         , m_contextModels + m_numContextModels, m_numContextModels)
    7272#endif                                                                                                               
     
    114114, m_cSDCFlagSCModel                    ( 1,             1,                       NUM_SDC_FLAG_CTX                    , m_contextModels + m_numContextModels, m_numContextModels)
    115115#endif                                                                                                         
    116 #if H_3D_DBBP                                                                                                 
     116#if NH_3D_DBBP
    117117, m_cDBBPFlagSCModel                   ( 1,             1,                       DBBP_NUM_FLAG_CTX                   , m_contextModels + m_numContextModels, m_numContextModels)
    118118#endif
     
    148148  m_cCUMergeFlagExtSCModel.initBuffer             ( eSliceType, iQp, (UChar*)INIT_MERGE_FLAG_EXT);
    149149  m_cCUMergeIdxExtSCModel.initBuffer              ( eSliceType, iQp, (UChar*)INIT_MERGE_IDX_EXT);
    150 #if H_3D_ARP
     150#if NH_3D_ARP
    151151  m_cCUPUARPWSCModel.initBuffer                   ( eSliceType, iQp, (UChar*)INIT_ARPW );
    152152#endif
     
    194194  m_cSDCFlagSCModel.initBuffer                    ( eSliceType, iQp, (UChar*)INIT_SDC_FLAG );
    195195#endif                                           
    196 #if H_3D_DBBP                                   
     196#if NH_3D_DBBP
    197197  m_cDBBPFlagSCModel.initBuffer                   ( eSliceType, iQp, (UChar*)INIT_DBBP_FLAG );
    198198#endif
     
    235235      curCost += m_cCUMergeFlagExtSCModel.calcCost             ( curSliceType, qp, (UChar*)INIT_MERGE_FLAG_EXT);
    236236      curCost += m_cCUMergeIdxExtSCModel.calcCost              ( curSliceType, qp, (UChar*)INIT_MERGE_IDX_EXT);
    237 #if H_3D_ARP
     237#if NH_3D_ARP
    238238      curCost += m_cCUPUARPWSCModel.calcCost                   ( curSliceType, qp, (UChar*)INIT_ARPW );
    239239#endif                                                     
     
    244244      curCost += m_cSDCFlagSCModel.calcCost                    ( curSliceType, qp, (UChar*)INIT_SDC_FLAG );
    245245#endif                                                     
    246 #if H_3D_DBBP                                             
     246#if NH_3D_DBBP
    247247      curCost += m_cDBBPFlagSCModel.calcCost                   ( curSliceType, qp, (UChar*)INIT_DBBP_FLAG );
    248248#endif
     
    302302  m_cCUDISTypeSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_DIS_TYPE );
    303303#endif
    304 #if H_3D_ARP
    305   m_cCUPUARPWSCModel.initBuffer          ( eSliceType, iQp, (UChar*)INIT_ARPW );
    306 #endif
    307304#if H_3D_DIM
    308305  m_cDepthIntraModeSCModel.initBuffer    ( eSliceType, iQp, (UChar*)INIT_DEPTH_INTRA_MODE );
     
    317314#if H_3D_DIM_SDC
    318315  m_cSDCFlagSCModel.initBuffer              ( eSliceType, iQp, (UChar*)INIT_SDC_FLAG );
    319 #endif
    320 #if H_3D_DBBP
    321   m_cDBBPFlagSCModel.initBuffer              ( eSliceType, iQp, (UChar*)INIT_DBBP_FLAG );
    322316#endif
    323317
     
    971965}
    972966
    973 #if H_3D_ARP
     967#if NH_3D_ARP
    974968Void TEncSbac::codeARPW( TComDataCU* pcCU, UInt uiAbsPartIdx )
    975969{
     
    26472641#endif
    26482642
    2649 #if H_3D_DBBP
     2643#if NH_3D_DBBP
    26502644Void TEncSbac::codeDBBPFlag( TComDataCU* pcCU, UInt uiAbsPartIdx )
    26512645{
  • branches/HTM-14.1-update-dev2/source/Lib/TLibEncoder/TEncSbac.h

    r1225 r1274  
    140140  Void codeMergeFlag     ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    141141  Void codeMergeIndex    ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    142 #if H_3D_ARP
     142#if NH_3D_ARP
    143143  Void codeARPW          ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    144144#endif
     
    150150  Void codeSDCFlag       ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    151151#endif
    152 #if H_3D_DBBP
     152#if NH_3D_DBBP
    153153  Void codeDBBPFlag      ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    154154#endif
     
    212212  ContextModel3DBuffer m_cCUMergeFlagExtSCModel;
    213213  ContextModel3DBuffer m_cCUMergeIdxExtSCModel;
    214 #if H_3D_ARP
     214#if NH_3D_ARP
    215215  ContextModel3DBuffer m_cCUPUARPWSCModel;
    216216#endif
     
    262262  ContextModel3DBuffer m_cSDCFlagSCModel;
    263263#endif
    264 #if H_3D_DBBP
     264#if NH_3D_DBBP
    265265  ContextModel3DBuffer m_cDBBPFlagSCModel;
    266266#endif
  • branches/HTM-14.1-update-dev2/source/Lib/TLibEncoder/TEncSearch.cpp

    r1256 r1274  
    38763876//! estimation of best merge coding
    38773877Void TEncSearch::xMergeEstimation( TComDataCU* pcCU, TComYuv* pcYuvOrg, Int iPUIdx, UInt& uiInterDir, TComMvField* pacMvField, UInt& uiMergeIndex, Distortion& ruiCost, TComMvField* cMvFieldNeighbours, UChar* uhInterDirNeighbours, Int& numValidMergeCand
    3878 #if H_3D_VSP
     3878#if NH_3D_VSP
    38793879                                 , Int* vspFlag
    38803880#endif
    3881 #if H_3D_SPIVMP
     3881#if NH_3D_SPIVMP
    38823882                                 , Bool* pbSPIVMPFlag, TComMvField* pcMvFieldSP, UChar* puhInterDirSP
    38833883#endif
     
    38913891  UInt uiDepth = pcCU->getDepth( uiAbsPartIdx );
    38923892
    3893 #if H_3D_DBBP
     3893#if NH_3D_DBBP
    38943894  DbbpTmpData* pDBBPTmpData = pcCU->getDBBPTmpData();
    38953895  if( pcCU->getDBBPFlag(0) )
     
    38983898    AOF( iPUIdx == 0 );
    38993899    AOF( pcCU->getPartitionSize(0) == SIZE_2Nx2N );
    3900     AOF( pDBBPTmpData->eVirtualPartSize != SIZE_NONE );
     3900    AOF( pDBBPTmpData->eVirtualPartSize != NUMBER_OF_PART_SIZES );
    39013901   
    39023902    // temporary change of partition size for candidate derivation
     
    39233923
    39243924  PartSize partSize = pcCU->getPartitionSize( 0 );
    3925 #if H_3D_DBBP
     3925#if NH_3D_DBBP
    39263926  if ( pcCU->getSlice()->getPPS()->getLog2ParallelMergeLevelMinus2() && partSize != SIZE_2Nx2N && pcCU->getWidth( 0 ) <= 8 && pcCU->getDBBPFlag(0) == false )
    39273927#else
     
    39323932    {
    39333933      pcCU->setPartSizeSubParts( SIZE_2Nx2N, 0, uiDepth ); // temporarily set
    3934 #if H_3D
     3934#if NH_3D_MLC
    39353935      pcCU->initAvailableFlags();
    3936       pcCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, numValidMergeCand);
     3936      pcCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, numValidMergeCand );
    39373937      pcCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours
    3938 #if H_3D_SPIVMP
     3938#if NH_3D_SPIVMP
    39393939        , pcMvFieldSP, puhInterDirSP
    39403940#endif
     
    39433943
    39443944      pcCU->buildMCL( cMvFieldNeighbours,uhInterDirNeighbours
    3945 #if H_3D_VSP
     3945#if NH_3D_VSP
    39463946        , vspFlag
    39473947#endif
    3948 #if H_3D_SPIVMP
     3948#if NH_3D_SPIVMP
    39493949        , pbSPIVMPFlag
    39503950#endif
    3951                                         , numValidMergeCand
     3951        , numValidMergeCand
    39523952        );
    39533953#else
     
    39593959  else
    39603960  {
    3961 #if H_3D
     3961#if NH_3D_MLC
    39623962    pcCU->initAvailableFlags();
    3963     pcCU->getInterMergeCandidates( uiAbsPartIdx, iPUIdx, cMvFieldNeighbours,uhInterDirNeighbours, numValidMergeCand);
     3963    pcCU->getInterMergeCandidates( uiAbsPartIdx, iPUIdx, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand );
    39643964    pcCU->xGetInterMergeCandidates( uiAbsPartIdx, iPUIdx, cMvFieldNeighbours, uhInterDirNeighbours
    3965 #if H_3D_SPIVMP
     3965#if NH_3D_SPIVMP
    39663966      , pcMvFieldSP, puhInterDirSP
    39673967#endif
     
    39703970
    39713971    pcCU->buildMCL( cMvFieldNeighbours, uhInterDirNeighbours
    3972 #if H_3D_VSP
     3972#if NH_3D_VSP
    39733973      , vspFlag
    39743974#endif
    3975 #if H_3D_SPIVMP
     3975#if NH_3D_SPIVMP
    39763976      , pbSPIVMPFlag
    39773977#endif
    3978                                       , numValidMergeCand
     3978      , numValidMergeCand
    39793979      );
    39803980#else
     
    39853985  xRestrictBipredMergeCand( pcCU, iPUIdx, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand );
    39863986
    3987 #if H_3D_DBBP
     3987#if NH_3D_DBBP
    39883988  if( pcCU->getDBBPFlag(0) )
    39893989  {
     
    40084008
    40094009    PartSize ePartSize = pcCU->getPartitionSize( 0 );
    4010 #if H_3D_VSP
     4010#if NH_3D_VSP
    40114011    pcCU->setVSPFlagSubParts( vspFlag[uiMergeCand], uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) );
    40124012#endif
    40134013
    4014 #if H_3D_SPIVMP
     4014#if NH_3D_SPIVMP
    40154015    pcCU->setSPIVMPFlagSubParts( pbSPIVMPFlag[uiMergeCand], uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ));
    40164016    if (pbSPIVMPFlag[uiMergeCand])
     
    40314031    else
    40324032#endif
    4033 #if H_3D_VSP
    4034 #if H_3D_DBBP
     4033#if NH_3D_VSP
     4034#if NH_3D_DBBP
    40354035      if ( vspFlag[uiMergeCand] && !pcCU->getDBBPFlag(0) )
    40364036#else
     
    40684068    pcCU->getCUMvField(REF_PIC_LIST_0)->setAllMvField( cMvFieldNeighbours[0 + 2*uiMergeCand], ePartSize, uiAbsPartIdx, 0, iPUIdx );
    40694069    pcCU->getCUMvField(REF_PIC_LIST_1)->setAllMvField( cMvFieldNeighbours[1 + 2*uiMergeCand], ePartSize, uiAbsPartIdx, 0, iPUIdx );
    4070 #if H_3D_VSP
     4070#if NH_3D_VSP
    40714071      }
    40724072#endif
     
    41794179  Distortion   biPDistTemp = std::numeric_limits<Distortion>::max();
    41804180
    4181 #if H_3D_IV_MERGE
     4181#if NH_3D_IV_MERGE
    41824182  TComMvField cMvFieldNeighbours[MRG_MAX_NUM_CANDS_MEM << 1]; // double length for mv of both lists
    41834183  UChar uhInterDirNeighbours[MRG_MAX_NUM_CANDS_MEM];
     
    42144214
    42154215    pcCU->getPartIndexAndSize( iPartIdx, uiPartAddr, iRoiWidth, iRoiHeight );
    4216 #if H_3D_VSP
     4216#if NH_3D_VSP
    42174217    pcCU->setVSPFlagSubParts( 0, uiPartAddr, iPartIdx, pcCU->getDepth(uiPartAddr) );
    42184218#endif
     
    45574557    } // end if bTestNormalMC
    45584558#endif
    4559 #if H_3D_DBBP
     4559#if NH_3D_DBBP
    45604560    // test merge mode for DBBP (2Nx2N)
    45614561    if ( pcCU->getPartitionSize( uiPartAddr ) != SIZE_2Nx2N || pcCU->getDBBPFlag(0) )
     
    45974597      Distortion uiMRGCost = std::numeric_limits<Distortion>::max();
    45984598
    4599 #if H_3D_VSP
     4599#if NH_3D_VSP
    46004600      Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
    46014601      memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
     
    46064606      DisInfo OriginalDvInfo = pcCU->getDvInfo(uiAbsPartIdx);
    46074607#endif
    4608 #if H_3D_SPIVMP
     4608#if NH_3D_SPIVMP
    46094609      Bool bSPIVMPFlag[MRG_MAX_NUM_CANDS_MEM];
    46104610      memset(bSPIVMPFlag, false, sizeof(Bool)*MRG_MAX_NUM_CANDS_MEM);
    46114611      TComMvField*  pcMvFieldSP;
    46124612      UChar* puhInterDirSP;
    4613       pcMvFieldSP = new TComMvField[pcCU->getPic()->getPicSym()->getNumPartition()*2];
    4614       puhInterDirSP = new UChar[pcCU->getPic()->getPicSym()->getNumPartition()];
    4615 #endif
    4616       xMergeEstimation( pcCU, pcOrgYuv, iPartIdx, uiMRGInterDir, cMRGMvField, uiMRGIndex, uiMRGCost, cMvFieldNeighbours, uhInterDirNeighbours
    4617 
    4618 #if H_3D_VSP
     4613      pcMvFieldSP = new TComMvField[pcCU->getPic()->getPicSym()->getNumPartitionsInCtu()*2];
     4614      puhInterDirSP = new UChar[pcCU->getPic()->getPicSym()->getNumPartitionsInCtu()];
     4615#endif
     4616      xMergeEstimation( pcCU, pcOrgYuv, iPartIdx, uiMRGInterDir, cMRGMvField, uiMRGIndex, uiMRGCost, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand
     4617#if NH_3D_VSP
    46194618                      , vspFlag
    46204619#endif
    4621 #if H_3D_SPIVMP
     4620#if NH_3D_SPIVMP
    46224621                      , bSPIVMPFlag, pcMvFieldSP, puhInterDirSP
    46234622#endif
    4624 , numValidMergeCand);
     4623                      );
    46254624
    46264625      if ( uiMRGCost < uiMECost )
     
    46294628        pcCU->setMergeFlagSubParts ( true,          uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );
    46304629        pcCU->setMergeIndexSubParts( uiMRGIndex,    uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );
    4631 #if H_3D_VSP
     4630#if NH_3D_VSP
    46324631        pcCU->setVSPFlagSubParts( vspFlag[uiMRGIndex], uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );
    46334632#endif
    4634 #if H_3D_SPIVMP
     4633#if NH_3D_SPIVMP
    46354634        pcCU->setSPIVMPFlagSubParts(bSPIVMPFlag[uiMRGIndex], uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) ); 
    46364635        if (bSPIVMPFlag[uiMRGIndex]!=0)
     
    46554654        else
    46564655#endif
    4657 #if H_3D_VSP
    4658 #if H_3D_DBBP
     4656#if NH_3D_VSP
     4657#if NH_3D_DBBP
    46594658        if ( vspFlag[uiMRGIndex] && !pcCU->getDBBPFlag(uiPartAddr) )
    46604659#else
     
    46924691        pcCU->getCUMvField( REF_PIC_LIST_0 )->setAllMvField( cMRGMvField[0], ePartSize, uiPartAddr, 0, iPartIdx );
    46934692        pcCU->getCUMvField( REF_PIC_LIST_1 )->setAllMvField( cMRGMvField[1], ePartSize, uiPartAddr, 0, iPartIdx );
     4693#if NH_3D_VSP
     4694          }
     4695#endif
    46944696#if H_3D
    46954697          }
     
    47054707      else
    47064708      {
    4707 #if H_3D_SPIVMP       
     4709#if NH_3D_SPIVMP       
    47084710        pcCU->setSPIVMPFlagSubParts(0, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );
    47094711#endif
     
    47114713        pcCU->setMergeFlagSubParts( false,        uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );
    47124714        pcCU->setInterDirSubParts ( uiMEInterDir, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );
    4713 #if H_3D_VSP
     4715#if NH_3D_VSP
    47144716        pcCU->setVSPFlagSubParts ( 0,             uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );
    47154717        pcCU->setDvInfoSubParts(OriginalDvInfo, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );
     
    47184720        pcCU->getCUMvField( REF_PIC_LIST_1 )->setAllMvField( cMEMvField[1], ePartSize, uiPartAddr, 0, iPartIdx );
    47194721      }
    4720 #if H_3D_SPIVMP
     4722#if NH_3D_SPIVMP
    47214723      delete[] pcMvFieldSP;
    47224724      delete[] puhInterDirSP;
     
    47544756  {
    47554757
    4756 #if H_3D_DBBP
     4758#if NH_3D_DBBP
    47574759    DbbpTmpData* pDBBPTmpData = pcCU->getDBBPTmpData();
    47584760    if( pcCU->getDBBPFlag(0) )
     
    47614763      AOF( uiPartIdx == 0 );
    47624764      AOF( pcCU->getPartitionSize(0) == SIZE_2Nx2N );
    4763       AOF( pDBBPTmpData->eVirtualPartSize != SIZE_NONE );
     4765      AOF( pDBBPTmpData->eVirtualPartSize != NUMBER_OF_PART_SIZES );
    47644766      AOF( iRoiWidth == iRoiHeight );
    47654767     
     
    47864788
    47874789    pcCU->fillMvpCand( uiPartIdx, uiPartAddr, eRefPicList, iRefIdx, pcAMVPInfo );
    4788 #if H_3D_DBBP
     4790#if NH_3D_DBBP
    47894791    if( pcCU->getDBBPFlag(0) )
    47904792    {
     
    50145016  if ( pcCU->getSlice()->testWeightPred() && pcCU->getSlice()->getSliceType()==P_SLICE )
    50155017  {
    5016     xPredInterBlk( COMPONENT_Y, pcCU, pcPicYuvRef, uiPartAddr, &cMvCand, iSizeX, iSizeY, pcTemplateCand, true, pcCU->getSlice()->getSPS()->getBitDepth(CHANNEL_TYPE_LUMA) );
     5018    xPredInterBlk( COMPONENT_Y, pcCU, pcPicYuvRef, uiPartAddr, &cMvCand, iSizeX, iSizeY, pcTemplateCand, true, pcCU->getSlice()->getSPS()->getBitDepth(CHANNEL_TYPE_LUMA)
     5019#if NH_3D_ARP
     5020      , false //add this for IC, otherwise, it could be removed
     5021#endif
     5022      );
    50175023  }
    50185024  else
    50195025  {
    50205026    xPredInterBlk( COMPONENT_Y, pcCU, pcPicYuvRef, uiPartAddr, &cMvCand, iSizeX, iSizeY, pcTemplateCand, false, pcCU->getSlice()->getSPS()->getBitDepth(CHANNEL_TYPE_LUMA)
    5021 #if H_3D_ARP
     5027#if NH_3D_ARP
    50225028      , false
    50235029#endif
     
    51145120
    51155121  m_pcRdCost->setPredictor  ( *pcMvPred );
    5116 #if NH_3D_FULL_PEL_DEPTH_MAP_MV_ACC
     5122#if NH_3D_INTEGER_MV_DEPTH
    51175123  if( pcCU->getSlice()->getIsDepth() )
    51185124  {
     
    51235129#endif
    51245130    m_pcRdCost->setCostScale  ( 2 );   
    5125 #if NH_3D_FULL_PEL_DEPTH_MAP_MV_ACC
     5131#if NH_3D_INTEGER_MV_DEPTH
    51265132  }
    51275133#endif
     
    51505156
    51515157  m_pcRdCost->getMotionCost( true, 0, pcCU->getCUTransquantBypass(uiPartAddr) );
    5152 #if NH_3D_FULL_PEL_DEPTH_MAP_MV_ACC
     5158#if NH_3D_INTEGER_MV_DEPTH
    51535159  if( ! pcCU->getSlice()->getIsDepth() )
    51545160  {
     
    51635169  rcMv += (cMvHalf <<= 1);
    51645170  rcMv +=  cMvQter;
    5165 #if NH_3D_FULL_PEL_DEPTH_MAP_MV_ACC
     5171#if NH_3D_INTEGER_MV_DEPTH
    51665172  }
    51675173#endif
    51685174
    51695175  UInt uiMvBits = m_pcRdCost->getBits( rcMv.getHor(), rcMv.getVer() );
    5170 #if NH_3D_FULL_PEL_DEPTH_MAP_MV_ACC
     5176#if NH_3D_INTEGER_MV_DEPTH
    51715177  if( pcCU->getSlice()->getIsDepth() )
    51725178  {
     
    51825188{
    51835189  Int  iMvShift = 2;
    5184 #if NH_3D_FULL_PEL_DEPTH_MAP_MV_ACC
     5190#if NH_3D_INTEGER_MV_DEPTH
    51855191  if( pcCU->getSlice()->getIsDepth() )
    51865192  {
     
    53405346  UInt uiSearchRange = m_iSearchRange;
    53415347  pcCU->clipMv( rcMv );
    5342 #if NH_3D_FULL_PEL_DEPTH_MAP_MV_ACC
     5348#if NH_3D_INTEGER_MV_DEPTH
    53435349  if( ! pcCU->getSlice()->getIsDepth() )
    53445350#endif
     
    53605366      TComMv cMv = m_acMvPredictors[index];
    53615367      pcCU->clipMv( cMv );
    5362 #if NH_3D_FULL_PEL_DEPTH_MAP_MV_ACC
     5368#if NH_3D_INTEGER_MV_DEPTH
    53635369      if( ! pcCU->getSlice()->getIsDepth() )
    53645370      {     
    53655371#endif
    53665372        cMv >>= 2;
    5367 #if NH_3D_FULL_PEL_DEPTH_MAP_MV_ACC
     5373#if NH_3D_INTEGER_MV_DEPTH
    53685374      }
    53695375#endif
     
    57885794    m_pcEntropyCoder->encodeSkipFlag(pcCU, 0, true);
    57895795    m_pcEntropyCoder->encodeMergeIndex( pcCU, 0, true );
    5790 #if H_3D_ARP
     5796#if NH_3D_ARP
    57915797    m_pcEntropyCoder->encodeARPW( pcCU, 0 );
    57925798#endif
     
    58845890  const Double zeroCost     = (pcCU->isLosslessCoded( 0 )) ? (nonZeroCost+1) : (m_pcRdCost->calcRdCost( zeroResiBits, zeroDistortion ));
    58855891#endif
    5886 #if H_3D_SPIVMP
    5887     if ( dZeroCost < dCost || pcCU->getQtRootCbf(0)==0)
     5892#if NH_3D_SPIVMP
     5893    if ( zeroCost < nonZeroCost || pcCU->getQtRootCbf(0)==0)
    58885894#else
    58895895  if ( zeroCost < nonZeroCost || !pcCU->getQtRootCbf(0) )
     
    71047110    m_pcEntropyCoder->encodeSkipFlag(pcCU, 0, true);
    71057111    m_pcEntropyCoder->encodeMergeIndex(pcCU, 0, true);
    7106 #if H_3D_ARP
     7112#if NH_3D_ARP
    71077113    m_pcEntropyCoder->encodeARPW( pcCU, 0 );
    71087114#endif
     
    71317137    m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
    71327138#endif
    7133 #if H_3D_ARP
     7139#if NH_3D_ARP
    71347140    m_pcEntropyCoder->encodeARPW( pcCU , 0  );
    71357141#endif
     
    71377143    m_pcEntropyCoder->encodeICFlag( pcCU, 0, true );
    71387144#endif
    7139 #if H_3D
     7145#if NH_3D_DBBP
    71407146    m_pcEntropyCoder->encodeDBBPFlag( pcCU, 0, true );
    71417147#endif
  • branches/HTM-14.1-update-dev2/source/Lib/TLibEncoder/TEncSearch.h

    r1200 r1274  
    409409                                    TComMvField* cMvFieldNeighbours,
    410410                                    UChar*       uhInterDirNeighbours,
    411 #if H_3D_VSP
     411                                    Int&         numValidMergeCand
     412#if NH_3D_VSP
    412413                                  , Int* vspFlag
    413414#endif
    414 #if H_3D_SPIVMP
     415#if NH_3D_SPIVMP
    415416                                  , Bool* pbSPIVMPFlag, TComMvField* pcMvFieldSP, UChar* puhInterDirSP
    416417#endif
    417                                     Int&         numValidMergeCand
    418418                                   );
    419419
  • branches/HTM-14.1-update-dev2/source/Lib/TLibEncoder/TEncSlice.cpp

    r1256 r1274  
    567567  rpcSlice->setSliceSegmentMode     ( m_pcCfg->getSliceSegmentMode()     );
    568568  rpcSlice->setSliceSegmentArgument ( m_pcCfg->getSliceSegmentArgument() );
    569 #if H_3D_IV_MERGE
     569#if NH_3D_IV_MERGE
    570570#else
    571571  rpcSlice->setMaxNumMergeCand        ( m_pcCfg->getMaxNumMergeCand()        );
Note: See TracChangeset for help on using the changeset viewer.