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/TLibDecoder
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-14.1-update-dev2/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r1225 r1274  
    18401840  else
    18411841  {
    1842     vpsVui->setVpsNumVideoSignalInfoMinus1( pcVPS->getMaxLayersMinus1() - pcVPS->getVpsBaseLayerInternalFlag() ? 0 : 1 );
     1842    vpsVui->setVpsNumVideoSignalInfoMinus1( (pcVPS->getMaxLayersMinus1() - pcVPS->getVpsBaseLayerInternalFlag()) ? 0 : 1 );
    18431843  }
    18441844
     
    28052805    {
    28062806      READ_UVLC( uiCode, "five_minus_max_num_merge_cand");
    2807 #if H_3D_IV_MERGE
     2807#if NH_3D_IV_MERGE
    28082808      pcSlice->setMaxNumMergeCand(( ( pcSlice->getMpiFlag() || pcSlice->getIvMvPredFlag() || pcSlice->getViewSynthesisPredFlag() ) ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS) - uiCode);
    28092809#else
     
    33763376}
    33773377
    3378 #if H_3D_ARP
     3378#if NH_3D_ARP
    33793379Void TDecCavlc::parseARPW( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    33803380{
     
    34003400
    34013401#endif
    3402 #if H_3D_DBBP
     3402#if NH_3D_DBBP
    34033403  Void TDecCavlc::parseDBBPFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    34043404  {
  • branches/HTM-14.1-update-dev2/source/Lib/TLibDecoder/TDecCAVLC.h

    r1225 r1274  
    117117  Void parseMergeFlag       ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPUIdx );
    118118  Void parseMergeIndex      ( TComDataCU* pcCU, UInt& ruiMergeIndex );
    119 #if H_3D_ARP
     119#if NH_3D_ARP
    120120  Void parseARPW            ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    121121#endif
     
    127127  Void  parseSDCFlag        ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    128128#endif
    129 #if H_3D_DBBP
     129#if NH_3D_DBBP
    130130  Void  parseDBBPFlag       ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    131131#endif
  • branches/HTM-14.1-update-dev2/source/Lib/TLibDecoder/TDecCu.cpp

    r1225 r1274  
    5252  m_ppcYuvReco = NULL;
    5353  m_ppcCU      = NULL;
    54 #if H_3D_DBBP
     54#if NH_3D_DBBP
    5555  m_ppcYuvRecoDBBP = NULL;
    5656#endif
     
    8181  m_ppcYuvReco = new TComYuv*[m_uiMaxDepth-1];
    8282  m_ppcCU      = new TComDataCU*[m_uiMaxDepth-1];
    83 #if H_3D_DBBP
     83#if NH_3D_DBBP
    8484  m_ppcYuvRecoDBBP = new TComYuv*[m_uiMaxDepth-1];
    8585#endif
     
    9595    m_ppcYuvReco[ui] = new TComYuv;    m_ppcYuvReco[ui]->create( uiWidth, uiHeight, chromaFormatIDC );
    9696    m_ppcCU     [ui] = new TComDataCU; m_ppcCU     [ui]->create( chromaFormatIDC, uiNumPartitions, uiWidth, uiHeight, true, uiMaxWidth >> (m_uiMaxDepth - 1) );
    97 #if H_3D_DBBP
    98     m_ppcYuvRecoDBBP[ui] = new TComYuv;    m_ppcYuvRecoDBBP[ui]->create( uiWidth, uiHeight );
     97#if NH_3D_DBBP
     98    m_ppcYuvRecoDBBP[ui] = new TComYuv;    m_ppcYuvRecoDBBP[ui]->create( uiWidth, uiHeight, chromaFormatIDC );
    9999#endif
    100100}
     
    119119    m_ppcYuvReco[ui]->destroy(); delete m_ppcYuvReco[ui]; m_ppcYuvReco[ui] = NULL;
    120120    m_ppcCU     [ui]->destroy(); delete m_ppcCU     [ui]; m_ppcCU     [ui] = NULL;
    121 #if H_3D_DBBP
     121#if NH_3D_DBBP
    122122    m_ppcYuvRecoDBBP[ui]->destroy(); delete m_ppcYuvRecoDBBP[ui]; m_ppcYuvRecoDBBP[ui] = NULL;
    123123#endif
     
    127127  delete [] m_ppcYuvReco; m_ppcYuvReco = NULL;
    128128  delete [] m_ppcCU     ; m_ppcCU      = NULL;
    129 #if H_3D_DBBP
     129#if NH_3D_DBBP
    130130  delete [] m_ppcYuvRecoDBBP; m_ppcYuvRecoDBBP = NULL;
    131131#endif
     
    152152    setIsChromaQpAdjCoded(true);
    153153  }
    154 
     154 
    155155  // start from the top level CU
    156156  xDecodeCU( pCtu, 0, 0, isLastCtuOfSliceSegment);
     
    163163Void TDecCu::decompressCtu( TComDataCU* pCtu )
    164164{
    165 #if !H_3D_IV_MERGE
     165#if !NH_3D_IV_MERGE
    166166  xDecompressCU( pCtu, 0,  0 );
    167167#endif
     
    283283    pcCU->setQPSubParts( pcCU->getRefQP(uiAbsPartIdx), uiAbsPartIdx, uiDepth ); // set QP to default QP
    284284  }
    285 #if H_3D_NBDV
     285#if NH_3D_NBDV
    286286  DisInfo DvInfo;
    287287  DvInfo.m_acNBDV.setZero();
    288288  DvInfo.m_aVIdxCan = 0;
    289 #if H_3D_NBDV_REF 
     289#if NH_3D_NBDV_REF 
    290290  DvInfo.m_acDoNBDV.setZero();
    291291#endif
     
    293293if(!pcCU->getSlice()->isIntra())
    294294  {
    295 #if H_3D_ARP && H_3D_IV_MERGE
    296     if( pcCU->getSlice()->getIvResPredFlag() || pcCU->getSlice()->getIvMvPredFlag() )
     295#if NH_3D_ARP && NH_3D_IV_MERGE && NH_3D_VSP
     296    if( pcCU->getSlice()->getIvResPredFlag() || pcCU->getSlice()->getIvMvPredFlag() || pcCU->getSlice()->getViewSynthesisPredFlag() )
    297297#else
     298#if NH_3D_IV_MERGE && NH_3D_VSP
     299    if( pcCU->getSlice()->getIvMvPredFlag() || pcCU->getSlice()->getViewSynthesisPredFlag() )
     300#else
     301#if NH_3D_ARP && NH_3D_VSP
     302    if( pcCU->getSlice()->getIvResPredFlag() || pcCU->getSlice()->getViewSynthesisPredFlag() )
     303#else
     304#if NH_3D_VSP
     305    if( pcCU->getSlice()->getViewSynthesisPredFlag() )
     306#else
    298307#if H_3D_ARP
    299     if( pcCU->getSlice()->getVPS()->getUseAdvRP(pcCU->getSlice()->getLayerId()) )
     308    if( pcCU->getSlice()->getIvResPredFlag( ) )
    300309#else
    301310#if H_3D_IV_MERGE
    302311    if( pcCU->getSlice()->getVPS()->getIvMvPredFlag(pcCU->getSlice()->getLayerId()) )
    303312#else
     313#if NH_3D_DBBP
     314    if( pcCU->getSlice()->getDepthBasedBlkPartFlag() )
     315#else
    304316    if (0)
    305317#endif
    306318#endif
    307319#endif
    308     {
    309       m_ppcCU[uiDepth]->copyInterPredInfoFrom( pcCU, uiAbsPartIdx, REF_PIC_LIST_0, true );
    310       m_ppcCU[uiDepth]->copyDVInfoFrom( pcCU, uiAbsPartIdx);
     320#endif
     321#endif
     322#endif
     323#endif
     324    {
     325      m_ppcCU[uiDepth]->copyInterPredInfoFrom(pcCU, uiAbsPartIdx, REF_PIC_LIST_0, true);
     326      m_ppcCU[uiDepth]->copyDVInfoFrom(pcCU, uiAbsPartIdx);
    311327      PartSize ePartTemp = m_ppcCU[uiDepth]->getPartitionSize(0);
    312328      UChar cWidTemp     = m_ppcCU[uiDepth]->getWidth(0);
    313329      UChar cHeightTemp  = m_ppcCU[uiDepth]->getHeight(0);
    314       m_ppcCU[uiDepth]->setWidth  ( 0, pcCU->getSlice()->getSPS()->getMaxCUWidth ()/(1<<uiDepth)  );
    315       m_ppcCU[uiDepth]->setHeight ( 0, pcCU->getSlice()->getSPS()->getMaxCUHeight()/(1<<uiDepth)  );
    316       m_ppcCU[uiDepth]->setPartSizeSubParts( SIZE_2Nx2N, 0, uiDepth );     
    317 #if H_3D_IV_MERGE
     330      m_ppcCU[uiDepth]->setWidth (0, pcCU->getSlice()->getSPS()->getMaxCUWidth () / (1 << uiDepth));
     331      m_ppcCU[uiDepth]->setHeight(0, pcCU->getSlice()->getSPS()->getMaxCUHeight() / (1 << uiDepth));
     332      m_ppcCU[uiDepth]->setPartSizeSubParts(SIZE_2Nx2N, 0, uiDepth);     
     333#if NH_3D_IV_MERGE
    318334      if( pcCU->getSlice()->getIsDepth())
    319335      {
     
    323339      {
    324340#endif
    325 #if H_3D_NBDV_REF
     341#if NH_3D_NBDV_REF
    326342      if( pcCU->getSlice()->getDepthBasedBlkPartFlag() )  //Notes from QC: please check the condition for DoNBDV. Remove this comment once it is done.
    327343      {
     
    333349        m_ppcCU[uiDepth]->getDisMvpCandNBDV(&DvInfo);
    334350      }
    335 #if H_3D_IV_MERGE
     351#if NH_3D_IV_MERGE
    336352      }
    337353#endif
     
    346362      }
    347363#endif
    348 
    349364      pcCU->setDvInfoSubParts(DvInfo, uiAbsPartIdx, uiDepth);
    350       m_ppcCU[uiDepth]->setPartSizeSubParts( ePartTemp, 0, uiDepth );
    351       m_ppcCU[uiDepth]->setWidth  ( 0, cWidTemp );
    352       m_ppcCU[uiDepth]->setHeight ( 0, cHeightTemp );
     365      m_ppcCU[uiDepth]->setPartSizeSubParts(ePartTemp, 0, uiDepth);
     366      m_ppcCU[uiDepth]->setWidth(0, cWidTemp);
     367      m_ppcCU[uiDepth]->setHeight(0, cHeightTemp);
    353368     }
    354369  }
     
    381396    m_ppcCU[uiDepth]->copyInterPredInfoFrom( pcCU, uiAbsPartIdx, REF_PIC_LIST_0 );
    382397    m_ppcCU[uiDepth]->copyInterPredInfoFrom( pcCU, uiAbsPartIdx, REF_PIC_LIST_1 );
    383 #if H_3D_IV_MERGE
     398#if NH_3D_IV_MERGE
    384399    m_ppcCU[uiDepth]->copyDVInfoFrom(pcCU, uiAbsPartIdx);
     400    TComMvField cMvFieldNeighbours[MRG_MAX_NUM_CANDS_MEM << 1]; // double length for mv of both lists
     401    UChar uhInterDirNeighbours[MRG_MAX_NUM_CANDS_MEM];
     402#else
     403#if NH_3D_MLC
    385404    TComMvField cMvFieldNeighbours[MRG_MAX_NUM_CANDS_MEM << 1]; // double length for mv of both lists
    386405    UChar uhInterDirNeighbours[MRG_MAX_NUM_CANDS_MEM];
     
    389408    UChar uhInterDirNeighbours[MRG_MAX_NUM_CANDS];
    390409#endif
     410#endif
    391411    Int numValidMergeCand = 0;
    392412    for( UInt ui = 0; ui < m_ppcCU[uiDepth]->getSlice()->getMaxNumMergeCand(); ++ui )
     
    396416    m_pcEntropyDecoder->decodeMergeIndex( pcCU, 0, uiAbsPartIdx, uiDepth );
    397417    UInt uiMergeIndex = pcCU->getMergeIndex(uiAbsPartIdx);
    398 #if H_3D_ARP
     418#if NH_3D_ARP
    399419    m_pcEntropyDecoder->decodeARPW( pcCU , uiAbsPartIdx , uiDepth );
    400420#endif
     
    403423#endif
    404424
    405 #if H_3D_VSP
     425
     426#if NH_3D_VSP
    406427    Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
    407428    memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
    408 #if H_3D_SPIVMP
     429#endif
     430#if NH_3D_SPIVMP
    409431    Bool bSPIVMPFlag[MRG_MAX_NUM_CANDS_MEM];
    410432    memset(bSPIVMPFlag, false, sizeof(Bool)*MRG_MAX_NUM_CANDS_MEM);
    411433    TComMvField*  pcMvFieldSP;
    412434    UChar* puhInterDirSP;
    413     pcMvFieldSP = new TComMvField[pcCU->getPic()->getPicSym()->getNumPartition()*2];
    414     puhInterDirSP = new UChar[pcCU->getPic()->getPicSym()->getNumPartition()];
    415 #endif
     435    pcMvFieldSP = new TComMvField[pcCU->getPic()->getPicSym()->getNumPartitionsInCtu()*2];
     436    puhInterDirSP = new UChar[pcCU->getPic()->getPicSym()->getNumPartitionsInCtu()];
     437#endif
     438
     439#if NH_3D_MLC
    416440    m_ppcCU[uiDepth]->initAvailableFlags();
     441#endif
    417442    m_ppcCU[uiDepth]->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex );
     443#if NH_3D_MLC
    418444    m_ppcCU[uiDepth]->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours
    419 #if H_3D_SPIVMP
     445#if NH_3D_SPIVMP
    420446      , pcMvFieldSP, puhInterDirSP
    421447#endif
    422448      , numValidMergeCand, uiMergeIndex );
    423449
    424     m_ppcCU[uiDepth]->buildMCL( cMvFieldNeighbours, uhInterDirNeighbours, vspFlag
    425 #if H_3D_SPIVMP
     450    m_ppcCU[uiDepth]->buildMCL( cMvFieldNeighbours, uhInterDirNeighbours
     451#if NH_3D_VSP
     452      , vspFlag
     453#endif
     454#if NH_3D_SPIVMP
    426455      , bSPIVMPFlag
    427456#endif
    428457      , numValidMergeCand );
     458#endif
     459#if NH_3D_VSP
    429460    pcCU->setVSPFlagSubParts( vspFlag[uiMergeIndex], uiAbsPartIdx, 0, uiDepth );
    430 #else
    431 #if H_3D
    432     m_ppcCU[uiDepth]->initAvailableFlags();
    433     m_ppcCU[uiDepth]->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex );
    434     m_ppcCU[uiDepth]->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex );
    435 #else
    436     m_ppcCU[uiDepth]->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex );
    437 #endif
    438 #endif
     461#endif
     462
    439463    pcCU->setInterDirSubParts( uhInterDirNeighbours[uiMergeIndex], uiAbsPartIdx, 0, uiDepth );
    440464
     
    448472        pcCU->getCUMvField( RefPicList( uiRefListIdx ) )->setAllMvd( cTmpMv, SIZE_2Nx2N, uiAbsPartIdx, uiDepth );
    449473        pcCU->getCUMvField( RefPicList( uiRefListIdx ) )->setAllMvField( cMvFieldNeighbours[ 2*uiMergeIndex + uiRefListIdx ], SIZE_2Nx2N, uiAbsPartIdx, uiDepth );
    450 #if H_3D_VSP
     474#if NH_3D_VSP
    451475        if( pcCU->getVSPFlag( uiAbsPartIdx ) != 0 )
    452476        {
     
    481505      }
    482506    }
    483 #if H_3D_SPIVMP
     507#if NH_3D_SPIVMP
    484508    pcCU->setSPIVMPFlagSubParts(bSPIVMPFlag[uiMergeIndex], uiAbsPartIdx, 0, uiDepth );
    485509    if (bSPIVMPFlag[uiMergeIndex])
     
    506530
    507531    xFinishDecodeCU( pcCU, uiAbsPartIdx, uiDepth, isLastCtuOfSliceSegment );
    508 #if H_3D_IV_MERGE
     532#if NH_3D_IV_MERGE
    509533    xDecompressCU(pcCU, uiAbsPartIdx, uiDepth );
    510534#endif
     
    531555#endif
    532556      xFinishDecodeCU( pcCU, uiAbsPartIdx, uiDepth, isLastCtuOfSliceSegment );
    533 #if H_3D_IV_MERGE
     557#if NH_3D_IV_MERGE
    534558      xDecompressCU(pcCU, uiAbsPartIdx, uiDepth );
    535559#endif
     
    551575#endif
    552576  xFinishDecodeCU( pcCU, uiAbsPartIdx, uiDepth, isLastCtuOfSliceSegment );
    553 #if H_3D_IV_MERGE
     577#if NH_3D_IV_MERGE
    554578  xDecompressCU(pcCU, uiAbsPartIdx, uiDepth );
    555579#endif
     
    574598{
    575599  TComPic* pcPic = pCtu->getPic();
    576 #if !H_3D_IV_MERGE
     600#if !NH_3D_IV_MERGE
    577601  TComSlice * pcSlice = pCtu->getSlice();
    578602  const TComSPS &sps=*(pcSlice->getSPS());
     
    617641  {
    618642    case MODE_INTER:
    619 #if H_3D_DBBP
     643#if NH_3D_DBBP
    620644    if( m_ppcCU[uiDepth]->getDBBPFlag(0) )
    621645    {
     
    637661      }
    638662#endif
    639 #if H_3D_DBBP
     663#if NH_3D_DBBP
    640664    }
    641665#endif
     
    845869#endif
    846870
    847 #if H_3D_DBBP
     871#if NH_3D_DBBP
    848872Void TDecCu::xReconInterDBBP( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    849873{
     
    851875  AOF(!pcCU->getSlice()->isIntra());
    852876  PartSize ePartSize = pcCU->getPartitionSize( 0 );
     877 
     878  Int bitDepthY = pcCU->getSlice()->getSPS()->getBitDepth(CHANNEL_TYPE_LUMA);
    853879 
    854880  // get collocated depth block
     
    871897 
    872898  // first, extract the two sets of motion parameters
    873   UInt uiPUOffset = ( g_auiPUOffset[UInt( ePartSize )] << ( ( pcCU->getSlice()->getSPS()->getMaxCUDepth() - uiDepth ) << 1 ) ) >> 4;
     899  UInt uiPUOffset = ( g_auiPUOffset[UInt( ePartSize )] << ( ( pcCU->getSlice()->getSPS()->getMaxTotalCUDepth() - uiDepth ) << 1 ) ) >> 4;
    874900  for( UInt uiSegment = 0; uiSegment < 2; uiSegment++ )
    875901  {
     
    877903   
    878904    pDBBPTmpData->auhInterDir[uiSegment] = pcCU->getInterDir(uiPartAddr);
     905    assert( pDBBPTmpData->auhInterDir[uiSegment] == 1 || pDBBPTmpData->auhInterDir[uiSegment] == 2  );  // only uni-prediction allowed
    879906   
    880907    for ( UInt uiRefListIdx = 0; uiRefListIdx < 2; uiRefListIdx++ )
     
    884911    }
    885912   
     913#if H_3D
    886914    AOF( pcCU->getARPW(uiPartAddr) == 0 );
    887915    AOF( pcCU->getICFlag(uiPartAddr) == false );
    888916    AOF( pcCU->getSPIVMPFlag(uiPartAddr) == false );
    889917    AOF( pcCU->getVSPFlag(uiPartAddr) == 0 );
     918#endif
    890919  }
    891920 
     
    927956 
    928957  // reconstruct final prediction signal by combining both segments
    929   m_pcPrediction->combineSegmentsWithMask(apSegPredYuv, m_ppcYuvReco[uiDepth], pMask, pcCU->getWidth(0), pcCU->getHeight(0), 0, ePartSize);
     958  m_pcPrediction->combineSegmentsWithMask(apSegPredYuv, m_ppcYuvReco[uiDepth], pMask, pcCU->getWidth(0), pcCU->getHeight(0), 0, ePartSize, bitDepthY);
    930959
    931960  // inter recon
    932   xDecodeInterTexture( pcCU, 0, uiDepth );
     961  xDecodeInterTexture( pcCU, uiDepth );
    933962 
    934963  // clip for only non-zero cbp case
    935   if  ( ( pcCU->getCbf( 0, TEXT_LUMA ) ) || ( pcCU->getCbf( 0, TEXT_CHROMA_U ) ) || ( pcCU->getCbf(0, TEXT_CHROMA_V ) ) )
    936   {
    937     m_ppcYuvReco[uiDepth]->addClip( m_ppcYuvReco[uiDepth], m_ppcYuvResi[uiDepth], 0, pcCU->getWidth( 0 ) );
     964  if  ( ( pcCU->getCbf( 0, COMPONENT_Y ) ) || ( pcCU->getCbf( 0, COMPONENT_Cb ) ) || ( pcCU->getCbf(0, COMPONENT_Cr ) ) )
     965  {
     966    m_ppcYuvReco[uiDepth]->addClip( m_ppcYuvReco[uiDepth], m_ppcYuvResi[uiDepth], 0, pcCU->getWidth( 0 ), pcCU->getSlice()->getSPS()->getBitDepths() );
    938967  }
    939968  else
  • branches/HTM-14.1-update-dev2/source/Lib/TLibDecoder/TDecCu.h

    r1200 r1274  
    6262  TComDataCU**        m_ppcCU;            ///< CU data array
    6363
    64 #if H_3D_DBBP
     64#if NH_3D_DBBP
    6565  TComYuv**           m_ppcYuvRecoDBBP;
    6666#endif
     
    102102  Void xReconInter              ( TComDataCU* pcCU, UInt uiDepth );
    103103
    104 #if H_3D_DBBP
     104#if NH_3D_DBBP
    105105  Void xReconInterDBBP          ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    106106#endif
  • branches/HTM-14.1-update-dev2/source/Lib/TLibDecoder/TDecEntropy.cpp

    r1225 r1274  
    105105}
    106106
    107 #if H_3D_ARP
     107#if NH_3D_ARP
    108108Void TDecEntropy::decodeARPW( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    109109{
     
    129129  pcCU->setICFlagSubParts( false , uiAbsPartIdx, 0, uiDepth );
    130130
    131 #if H_3D_ARP
     131#if NH_3D_ARP
    132132  if ( pcCU->isIntra( uiAbsPartIdx ) || ( pcCU->getSlice()->getViewIndex() == 0 ) || pcCU->getSlice()->getIsDepth() || pcCU->getARPW( uiAbsPartIdx ) > 0 )
    133133#else
     
    240240  UInt uiNumPU = ( ePartSize == SIZE_2Nx2N ? 1 : ( ePartSize == SIZE_NxN ? 4 : 2 ) );
    241241  UInt uiPUOffset = ( g_auiPUOffset[UInt( ePartSize )] << ( ( pcCU->getSlice()->getSPS()->getMaxTotalCUDepth() - uiDepth ) << 1 ) ) >> 4;
    242 #if H_3D_IV_MERGE
     242//#if H_3D_IV_MERGE
     243#if NH_3D_MLC
    243244  TComMvField cMvFieldNeighbours[MRG_MAX_NUM_CANDS_MEM << 1]; // double length for mv of both lists
    244245  UChar uhInterDirNeighbours[MRG_MAX_NUM_CANDS_MEM];
     
    247248  UChar uhInterDirNeighbours[MRG_MAX_NUM_CANDS];
    248249#endif
    249 #if H_3D_SPIVMP
     250#if NH_3D_SPIVMP
    250251  Bool bSPIVMPFlag[MRG_MAX_NUM_CANDS_MEM];     
    251   TComMvField*  pcMvFieldSP = new TComMvField[pcCU->getPic()->getPicSym()->getNumPartition()*2];
    252   UChar* puhInterDirSP = new UChar[pcCU->getPic()->getPicSym()->getNumPartition()];
    253 #endif
    254 #if H_3D_IV_MERGE
     252  TComMvField*  pcMvFieldSP = new TComMvField[pcCU->getPic()->getPicSym()->getNumPartitionsInCtu()*2];
     253  UChar* puhInterDirSP = new UChar[pcCU->getPic()->getPicSym()->getNumPartitionsInCtu()];
     254#endif
     255#if NH_3D_IV_MERGE
    255256  pcSubCU->copyDVInfoFrom( pcCU, uiAbsPartIdx);
    256257#endif
     
    260261  }
    261262  Int numValidMergeCand = 0;
     263#if !NH_3D
    262264  Bool hasMergedCandList = false;
     265#else
     266  Bool isMerged = false;
     267#endif
    263268
    264269  pcSubCU->copyInterPredInfoFrom( pcCU, uiAbsPartIdx, REF_PIC_LIST_0 );
    265270  pcSubCU->copyInterPredInfoFrom( pcCU, uiAbsPartIdx, REF_PIC_LIST_1 );
    266 #if H_3D
     271#if NH_3D
    267272  for ( UInt uiPartIdx = 0, uiSubPartIdx = uiAbsPartIdx; uiPartIdx < uiNumPU; uiPartIdx++, uiSubPartIdx += uiPUOffset )
    268273  {
     
    296301
    297302  ////// Parse CUs extension syntax
     303#if NH_3D_DBBP
    298304  decodeDBBPFlag( pcCU, uiAbsPartIdx, uiDepth );
    299   decodeSDCFlag ( pcCU, uiAbsPartIdx, uiDepth );
    300 
    301 #if H_3D_ARP
     305#endif
     306  //decodeSDCFlag ( pcCU, uiAbsPartIdx, uiDepth );
     307
     308#if NH_3D_ARP
    302309  decodeARPW  ( pcCU, uiAbsPartIdx, uiDepth );
    303310#endif
     
    312319    {
    313320      UInt uiMergeIndex = pcCU->getMergeIndex(uiSubPartIdx);
    314 #if H_3D_DBBP
     321#if NH_3D_DBBP
    315322      if ( pcCU->getSlice()->getPPS()->getLog2ParallelMergeLevelMinus2() && ePartSize != SIZE_2Nx2N && pcSubCU->getWidth( 0 ) <= 8 && pcCU->getDBBPFlag(uiAbsPartIdx) == false )
    316323#else
     
    321328        if ( !isMerged )
    322329        {
    323 #if H_3D_VSP
     330#if NH_3D_VSP
    324331          Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
    325332          memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
     
    330337          pcSubCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand);
    331338          pcSubCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours
    332 #if H_3D_SPIVMP
     339#if NH_3D_SPIVMP
    333340            , pcMvFieldSP, puhInterDirSP
    334341#endif
    335342            , numValidMergeCand );
    336343          pcSubCU->buildMCL( cMvFieldNeighbours, uhInterDirNeighbours, vspFlag
    337 #if H_3D_SPIVMP
     344#if NH_3D_SPIVMP
    338345            , bSPIVMPFlag
    339346#endif
    340347            , numValidMergeCand );
    341348          pcCU->setVSPFlagSubParts( vspFlag[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth );
    342 
    343349#else
    344350#if H_3D
     
    358364      {
    359365        uiMergeIndex = pcCU->getMergeIndex(uiSubPartIdx);
    360 #if H_3D_VSP
     366#if NH_3D_VSP
    361367        Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
    362368        memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
     
    367373        pcSubCU->getInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex );
    368374        pcSubCU->xGetInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours
    369 #if H_3D_SPIVMP
     375#if NH_3D_SPIVMP
    370376          , pcMvFieldSP, puhInterDirSP
    371377#endif
    372378          ,numValidMergeCand, uiMergeIndex );
    373379        pcSubCU->buildMCL( cMvFieldNeighbours, uhInterDirNeighbours, vspFlag
    374 #if H_3D_SPIVMP
     380#if NH_3D_SPIVMP
    375381          , bSPIVMPFlag
    376382#endif
     
    398404          pcCU->getCUMvField( RefPicList( uiRefListIdx ) )->setAllMvd( cTmpMv, ePartSize, uiSubPartIdx, uiDepth, uiPartIdx );
    399405          pcCU->getCUMvField( RefPicList( uiRefListIdx ) )->setAllMvField( cMvFieldNeighbours[ 2*uiMergeIndex + uiRefListIdx ], ePartSize, uiSubPartIdx, uiDepth, uiPartIdx );
    400 #if H_3D_VSP
    401 #if H_3D_DBBP
     406#if NH_3D_VSP
     407#if NH_3D_DBBP
    402408          if( pcCU->getVSPFlag( uiSubPartIdx ) != 0 && !pcCU->getDBBPFlag( uiAbsPartIdx ) )
    403409#else
     
    490496        {
    491497          pcSubCU->setPartSizeSubParts( SIZE_2Nx2N, 0, uiDepth ); // temporarily set.
     498
     499#if NH_3D_MLC
     500#if NH_3D_VSP
     501          Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
     502          memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
     503#endif
     504#if NH_3D_SPIVMP
     505          memset(bSPIVMPFlag, false, sizeof(Bool)*MRG_MAX_NUM_CANDS_MEM);
     506#endif
     507          pcSubCU->initAvailableFlags();
     508#endif
    492509          pcSubCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand );
     510#if NH_3D_MLC
     511          pcSubCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours
     512#if NH_3D_SPIVMP
     513            , pcMvFieldSP, puhInterDirSP
     514#endif
     515            , numValidMergeCand );
     516          pcSubCU->buildMCL( cMvFieldNeighbours, uhInterDirNeighbours
     517#if NH_3D_VSP
     518            , vspFlag
     519#endif
     520#if NH_3D_SPIVMP
     521            , bSPIVMPFlag
     522#endif
     523            , numValidMergeCand );
     524#if NH_3D_VSP
     525          pcCU->setVSPFlagSubParts( vspFlag[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth );
     526#endif
     527#endif
    493528          pcSubCU->setPartSizeSubParts( ePartSize, 0, uiDepth ); // restore.
    494529          hasMergedCandList = true;
     
    498533      {
    499534        uiMergeIndex = pcCU->getMergeIndex(uiSubPartIdx);
     535
     536#if NH_3D_MLC
     537#if NH_3D_VSP
     538        Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
     539        memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
     540#endif
     541#if NH_3D_SPIVMP
     542        memset(bSPIVMPFlag, false, sizeof(Bool)*MRG_MAX_NUM_CANDS_MEM);
     543#endif
     544        pcSubCU->initAvailableFlags();
     545#endif
    500546        pcSubCU->getInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex );
     547#if NH_3D_MLC
     548        pcSubCU->xGetInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours
     549#if NH_3D_SPIVMP
     550          , pcMvFieldSP, puhInterDirSP
     551#endif
     552          ,numValidMergeCand, uiMergeIndex );
     553        pcSubCU->buildMCL( cMvFieldNeighbours, uhInterDirNeighbours
     554#if NH_3D_VSP
     555          , vspFlag
     556#endif
     557#if NH_3D_SPIVMP
     558          , bSPIVMPFlag
     559#endif
     560          ,numValidMergeCand );
     561#if NH_3D_VSP
     562        pcCU->setVSPFlagSubParts( vspFlag[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth );
     563#endif
     564#endif
    501565      }
    502566
     
    512576          pcCU->getCUMvField( RefPicList( uiRefListIdx ) )->setAllMvd( cTmpMv, ePartSize, uiSubPartIdx, uiDepth, uiPartIdx );
    513577          pcCU->getCUMvField( RefPicList( uiRefListIdx ) )->setAllMvField( cMvFieldNeighbours[ 2*uiMergeIndex + uiRefListIdx ], ePartSize, uiSubPartIdx, uiDepth, uiPartIdx );
    514 
    515         }
    516       }
     578#if NH_3D_VSP
     579          if( pcCU->getVSPFlag( uiSubPartIdx ) != 0 )
     580          {
     581            if ( uhInterDirNeighbours[ uiMergeIndex ] & (1<<uiRefListIdx) )
     582            {
     583              UInt dummy;
     584              Int vspSize;
     585              Int width, height;
     586              pcCU->getPartIndexAndSize( uiPartIdx, dummy, width, height, uiSubPartIdx, pcCU->getTotalNumPart()==256 );
     587              pcCU->setMvFieldPUForVSP( pcCU, uiSubPartIdx, width, height, RefPicList( uiRefListIdx ), cMvFieldNeighbours[ 2*uiMergeIndex + uiRefListIdx ].getRefIdx(), vspSize );
     588              pcCU->setVSPFlag( uiSubPartIdx, vspSize );
     589            }
     590          }
     591#endif
     592        }
     593      }
     594#if NH_3D_SPIVMP
     595      pcCU->setSPIVMPFlagSubParts(bSPIVMPFlag[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth ); 
     596      if (bSPIVMPFlag[uiMergeIndex] != 0)
     597      {
     598        Int iWidth, iHeight;
     599        UInt uiIdx;
     600        pcCU->getPartIndexAndSize( uiPartIdx, uiIdx, iWidth, iHeight, uiSubPartIdx, true );
     601
     602        UInt uiSPAddr;
     603
     604        Int iNumSPInOneLine, iNumSP, iSPWidth, iSPHeight;
     605
     606        pcCU->getSPPara(iWidth, iHeight, iNumSP, iNumSPInOneLine, iSPWidth, iSPHeight);
     607
     608        for (Int iPartitionIdx = 0; iPartitionIdx < iNumSP; iPartitionIdx++)
     609        {
     610          pcCU->getSPAbsPartIdx(uiSubPartIdx, iSPWidth, iSPHeight, iPartitionIdx, iNumSPInOneLine, uiSPAddr);
     611          pcCU->setInterDirSP(puhInterDirSP[iPartitionIdx], uiSPAddr, iSPWidth, iSPHeight);
     612          pcCU->getCUMvField( REF_PIC_LIST_0 )->setMvFieldSP(pcCU, uiSPAddr, pcMvFieldSP[2*iPartitionIdx], iSPWidth, iSPHeight);
     613          pcCU->getCUMvField( REF_PIC_LIST_1 )->setMvFieldSP(pcCU, uiSPAddr, pcMvFieldSP[2*iPartitionIdx + 1], iSPWidth, iSPHeight);
     614        }
     615      }
     616#endif
    517617    }
    518618    else
     
    551651  }
    552652#endif
    553 #if H_3D_SPIVMP
     653#if NH_3D_SPIVMP
    554654  delete[] pcMvFieldSP;
    555655  delete[] puhInterDirSP;
     
    619719}
    620720
    621 #if H_3D
     721#if NH_3D
    622722Void TDecEntropy::decodeMVPIdxPU( TComDataCU* pcSubCU, UInt uiPartAddr, UInt uiDepth, UInt uiPartIdx, RefPicList eRefList )
    623723{
     
    10701170}
    10711171#endif
    1072 #if H_3D_DBBP
     1172#if NH_3D_DBBP
    10731173Void TDecEntropy::decodeDBBPFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    10741174{
  • branches/HTM-14.1-update-dev2/source/Lib/TLibDecoder/TDecEntropy.h

    r1225 r1274  
    8585  virtual Void parseMergeFlag     ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPUIdx ) = 0;
    8686  virtual Void parseMergeIndex    ( TComDataCU* pcCU, UInt& ruiMergeIndex ) = 0;
    87 #if H_3D_ARP
     87#if NH_3D_ARP
    8888  virtual Void parseARPW          ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0;
    8989#endif
     
    9595  virtual Void parseSDCFlag       ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0;
    9696#endif
    97 #if H_3D_DBBP
     97#if NH_3D_DBBP
    9898  virtual Void parseDBBPFlag      ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0;
    9999#endif
     
    145145  Void decodeMvdPU        ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPartIdx, RefPicList eRefList );
    146146  Void decodeMVPIdxPU     ( TComDataCU* pcSubCU, UInt uiPartAddr, UInt uiDepth, UInt uiPartIdx, RefPicList eRefList );
    147 #if H_3D
     147#if NH_3D
    148148  Void decodeMvsAMVP      ( TComDataCU* pcSubCU, UInt uiPartAddr, UInt uiDepth, UInt uiPartIdx,
    149149RefPicList eRefList );
     
    174174  Void decodePartSize          ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    175175
    176 #if H_3D_ARP
     176#if NH_3D_ARP
    177177  Void decodeARPW              ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    178178#endif
     
    183183  Void decodeSDCFlag           ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    184184#endif
    185 #if H_3D_DBBP
     185#if NH_3D_DBBP
    186186  Void decodeDBBPFlag          ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    187187#endif
  • branches/HTM-14.1-update-dev2/source/Lib/TLibDecoder/TDecGop.cpp

    r1200 r1274  
    122122  }
    123123
    124 #if H_3D_NBDV
     124#if NH_3D_NBDV
    125125  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.
    126126  {
    127     Int iColPoc = pcSlice->getRefPOC(RefPicList(1-pcSlice->getColFromL0Flag()), pcSlice->getColRefIdx());
    128     rpcPic->setNumDdvCandPics(rpcPic->getDisCandRefPictures(iColPoc));
     127    Int iColPoc = pcSlice->getRefPOC(RefPicList(1 - pcSlice->getColFromL0Flag()), pcSlice->getColRefIdx());
     128    pcPic->setNumDdvCandPics(pcPic->getDisCandRefPictures(iColPoc));
    129129  }
    130130
    131131  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.
    132132  {
    133     rpcPic->checkTemporalIVRef();
     133    pcPic->checkTemporalIVRef();
    134134  }
    135135
    136136  if(pcSlice->getIsDepth())
    137137  {
    138     rpcPic->checkTextureRef();
     138    pcPic->checkTextureRef();
    139139  }
    140140#endif
  • branches/HTM-14.1-update-dev2/source/Lib/TLibDecoder/TDecSbac.cpp

    r1256 r1274  
    7373, m_cCUMergeFlagExtSCModel                   ( 1,             1,                      NUM_MERGE_FLAG_EXT_CTX               , m_contextModels + m_numContextModels, m_numContextModels)
    7474, m_cCUMergeIdxExtSCModel                    ( 1,             1,                      NUM_MERGE_IDX_EXT_CTX                , m_contextModels + m_numContextModels, m_numContextModels)
    75 #if H_3D_ARP
     75#if NH_3D_ARP
    7676, m_cCUPUARPWSCModel          ( 1,             1,               NUM_ARPW_CTX                  , m_contextModels + m_numContextModels, m_numContextModels)
    7777#endif
     
    119119, m_cSDCFlagSCModel                  ( 1,             1,  NUM_SDC_FLAG_CTX                 , m_contextModels + m_numContextModels, m_numContextModels)
    120120#endif
    121 #if H_3D_DBBP
     121#if NH_3D_DBBP
    122122, m_cDBBPFlagSCModel             ( 1,             1,                 DBBP_NUM_FLAG_CTX           , m_contextModels + m_numContextModels, m_numContextModels)
    123123#endif
     
    164164  m_cCUMergeFlagExtSCModel.initBuffer             ( sliceType, qp, (UChar*)INIT_MERGE_FLAG_EXT );
    165165  m_cCUMergeIdxExtSCModel.initBuffer              ( sliceType, qp, (UChar*)INIT_MERGE_IDX_EXT );
    166 #if H_3D_ARP
     166#if NH_3D_ARP
    167167  m_cCUPUARPWSCModel.initBuffer          ( sliceType, qp, (UChar*)INIT_ARPW );
    168168#endif
     
    210210  m_cSDCFlagSCModel.initBuffer            ( sliceType, qp, (UChar*)INIT_SDC_FLAG );
    211211#endif
    212 #if H_3D_DBBP
     212#if NH_3D_DBBP
    213213  m_cDBBPFlagSCModel.initBuffer              ( sliceType, qp, (UChar*)INIT_DBBP_FLAG );
    214214#endif
     
    240240  m_cCUDISFlagSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_DIS_FLAG );
    241241  m_cCUDISTypeSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_DIS_TYPE );
    242 #endif
    243 #if H_3D_ARP
    244   m_cCUPUARPWSCModel.initBuffer          ( eSliceType, iQp, (UChar*)INIT_ARPW );
    245242#endif
    246243#if H_3D_DIM
     
    256253#if H_3D_DIM_SDC
    257254  m_cSDCFlagSCModel.initBuffer            ( eSliceType, iQp, (UChar*)INIT_SDC_FLAG );
    258 #endif
    259 #if H_3D_DBBP
    260   m_cDBBPFlagSCModel.initBuffer              ( eSliceType, iQp, (UChar*)INIT_DBBP_FLAG );
    261255#endif
    262256
     
    24172411}
    24182412
    2419 #if H_3D_ARP
     2413#if NH_3D_ARP
    24202414Void TDecSbac::parseARPW( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    24212415{
    2422   UInt uiMaxW = pcCU->getSlice()->getARPStepNum() - 1;
    24232416  UInt uiW = 0;
    24242417  UInt uiOffset = pcCU->getCTXARPWFlag(uiAbsPartIdx);
    24252418  UInt uiCode = 0;
    24262419
    2427   assert ( uiMaxW > 0 );
    2428 
    2429   m_pcTDecBinIf->decodeBin( uiCode , m_cCUPUARPWSCModel.get( 0, 0, 0 + uiOffset ) );
     2420  m_pcTDecBinIf->decodeBin( uiCode , m_cCUPUARPWSCModel.get( 0, 0, 0 + uiOffset ) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(STATS__CABAC_BITS__ARP_FLAG));
    24302421
    24312422  uiW = uiCode;
    24322423  if( 1 == uiW )   
    24332424  {
    2434     m_pcTDecBinIf->decodeBin( uiCode , m_cCUPUARPWSCModel.get( 0, 0, 2 ) );
     2425    m_pcTDecBinIf->decodeBin( uiCode , m_cCUPUARPWSCModel.get( 0, 0, 2 ) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(STATS__CABAC_BITS__ARP_FLAG));
    24352426    uiW += ( 1 == uiCode ? 1 : 0 );
    24362427  }
     
    25392530#endif
    25402531
    2541 #if H_3D_DBBP
     2532#if NH_3D_DBBP
    25422533Void TDecSbac::parseDBBPFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    25432534{
     
    25472538  UInt uiSymbol = 0;
    25482539 
    2549   m_pcTDecBinIf->decodeBin( uiSymbol, m_cDBBPFlagSCModel.get( 0, 0, 0 ) );
     2540  m_pcTDecBinIf->decodeBin( uiSymbol, m_cDBBPFlagSCModel.get( 0, 0, 0 ) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(STATS__CABAC_BITS__DBBP_FLAG) );
    25502541  DTRACE_CU("dbbp_flag", uiSymbol)
    25512542  PartSize ePartSize = pcCU->getPartitionSize( uiAbsPartIdx );
    25522543  AOF( ePartSize == SIZE_2NxN || ePartSize == SIZE_Nx2N );
    2553   UInt uiPUOffset = ( g_auiPUOffset[UInt( ePartSize )] << ( ( pcCU->getSlice()->getSPS()->getMaxCUDepth() - uiDepth ) << 1 ) ) >> 4;
     2544  UInt uiPUOffset = ( g_auiPUOffset[UInt( ePartSize )] << ( ( pcCU->getSlice()->getSPS()->getMaxTotalCUDepth() - uiDepth ) << 1 ) ) >> 4;
    25542545  pcCU->setDBBPFlagSubParts(uiSymbol, uiAbsPartIdx, 0, uiDepth);
    25552546  pcCU->setDBBPFlagSubParts(uiSymbol, uiAbsPartIdx+uiPUOffset, 1, uiDepth);
  • branches/HTM-14.1-update-dev2/source/Lib/TLibDecoder/TDecSbac.h

    r1225 r1274  
    121121  Void  parseSDCFlag         ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    122122#endif
    123 #if H_3D_DBBP
     123#if NH_3D_DBBP
    124124  Void parseDBBPFlag        ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    125125#endif
     
    139139  Void parseMergeFlag     ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPUIdx );
    140140  Void parseMergeIndex    ( TComDataCU* pcCU, UInt& ruiMergeIndex );
    141 #if H_3D_ARP
     141#if NH_3D_ARP
    142142  Void parseARPW          ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    143143#endif
     
    190190  ContextModel3DBuffer m_cCUMergeFlagExtSCModel;
    191191  ContextModel3DBuffer m_cCUMergeIdxExtSCModel;
    192 #if H_3D_ARP
     192#if NH_3D_ARP
    193193  ContextModel3DBuffer m_cCUPUARPWSCModel;
    194194#endif
     
    240240  ContextModel3DBuffer m_cSDCFlagSCModel;
    241241#endif
    242 #if H_3D_DBBP
     242#if NH_3D_DBBP
    243243  ContextModel3DBuffer m_cDBBPFlagSCModel;
    244244#endif
  • branches/HTM-14.1-update-dev2/source/Lib/TLibDecoder/TDecTop.cpp

    r1225 r1274  
    292292
    293293
    294 #if H_3D_IV_MERGE
     294#if NH_3D_IV_MERGE
    295295Void
    296296CamParsCollector::copyCamParamForSlice( TComSlice* pcSlice )
     
    11491149    pcSlice->getTempRefPicLists( m_cListPic, m_refPicSetInterLayer0, m_refPicSetInterLayer1, tempRefPicLists, usedAsLongTerm, numPocTotalCurr);
    11501150    pcSlice->setRefPicList     ( tempRefPicLists, usedAsLongTerm, numPocTotalCurr, true );
    1151 #if H_3D
     1151#if NH_3D_NBDV
    11521152    pcSlice->setDefaultRefView();
    11531153#endif
    1154 #if H_3D_ARP
     1154#if NH_3D_ARP
    11551155    pcSlice->setARPStepNum(m_ivPicLists);
    1156     if( pcSlice->getARPStepNum() > 1 )
    1157     {
    1158       // GT: This seems to be broken, not all nuh_layer_ids are necessarily present
    1159       for(Int iLayerId = 0; iLayerId < nalu.m_nuhLayerId; iLayerId ++ )
    1160       {
    1161         Int  iViewIdx =   pcSlice->getVPS()->getViewIndex(iLayerId);
    1162         Bool bIsDepth = ( pcSlice->getVPS()->getDepthId  ( iLayerId ) == 1 );
    1163         if( iViewIdx<getViewIndex() && !bIsDepth )
    1164         {
    1165           pcSlice->setBaseViewRefPicList( m_ivPicLists->getPicList( iLayerId ), iViewIdx );
    1166         }
    1167       }
    1168     }
    11691156#endif
    11701157#else
     
    11741161#if NH_3D
    11751162    pcSlice->checkInCompPredRefLayers();
    1176 #if H_3D_IV_MERGE
     1163#if NH_3D_IV_MERGE
    11771164#if H_3D_FCO
    11781165    //assert( !getIsDepth() );
     
    12711258  }
    12721259
    1273 #if H_3D_IV_MERGE
     1260#if NH_3D_IV_MERGE
    12741261#if H_3D_FCO
    12751262  if( !pcSlice->getIsDepth() && m_pcCamParsCollector )
  • branches/HTM-14.1-update-dev2/source/Lib/TLibDecoder/TDecTop.h

    r1200 r1274  
    8181  Int**** getBaseViewShiftLUTI()  { return m_aiBaseViewShiftLUT;   }
    8282
    83 #if H_3D_IV_MERGE
     83#if NH_3D_IV_MERGE
    8484  Void  copyCamParamForSlice( TComSlice* pcSlice );
    8585#endif
Note: See TracChangeset for help on using the changeset viewer.