Ignore:
Timestamp:
11 Jun 2015, 01:07:43 (9 years ago)
Author:
ntt
Message:

Reactivation of VSP

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-14.1-update-dev3-NTT/source/Lib/TLibDecoder/TDecEntropy.cpp

    r1233 r1255  
    318318        if ( !isMerged )
    319319        {
    320 #if H_3D_VSP
     320#if NH_3D_VSP
    321321          Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
    322322          memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
     
    337337            , numValidMergeCand );
    338338          pcCU->setVSPFlagSubParts( vspFlag[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth );
    339 
    340339#else
    341340#if H_3D
     
    355354      {
    356355        uiMergeIndex = pcCU->getMergeIndex(uiSubPartIdx);
    357 #if H_3D_VSP
     356#if NH_3D_VSP
    358357        Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
    359358        memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
     
    395394          pcCU->getCUMvField( RefPicList( uiRefListIdx ) )->setAllMvd( cTmpMv, ePartSize, uiSubPartIdx, uiDepth, uiPartIdx );
    396395          pcCU->getCUMvField( RefPicList( uiRefListIdx ) )->setAllMvField( cMvFieldNeighbours[ 2*uiMergeIndex + uiRefListIdx ], ePartSize, uiSubPartIdx, uiDepth, uiPartIdx );
    397 #if H_3D_VSP
     396#if NH_3D_VSP
    398397#if H_3D_DBBP
    399398          if( pcCU->getVSPFlag( uiSubPartIdx ) != 0 && !pcCU->getDBBPFlag( uiAbsPartIdx ) )
     
    486485
    487486#if NH_3D_MLC
    488 #if H_3D_VSP
     487#if NH_3D_VSP
    489488          Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
    490489          memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
     
    503502            , numValidMergeCand );
    504503          pcSubCU->buildMCL( cMvFieldNeighbours, uhInterDirNeighbours
    505 #if H_3D_VSP
     504#if NH_3D_VSP
    506505            , vspFlag
    507506#endif
     
    510509#endif
    511510            , numValidMergeCand );
    512 #if H_3D_VSP
     511#if NH_3D_VSP
    513512          pcCU->setVSPFlagSubParts( vspFlag[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth );
    514513#endif
     
    523522
    524523#if NH_3D_MLC
    525 #if H_3D_VSP
     524#if NH_3D_VSP
    526525        Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
    527526        memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
     
    540539          ,numValidMergeCand, uiMergeIndex );
    541540        pcSubCU->buildMCL( cMvFieldNeighbours, uhInterDirNeighbours
    542 #if H_3D_VSP
     541#if NH_3D_VSP
    543542          , vspFlag
    544543#endif
     
    547546#endif
    548547          ,numValidMergeCand );
    549 #if H_3D_VSP
     548#if NH_3D_VSP
    550549        pcCU->setVSPFlagSubParts( vspFlag[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth );
    551550#endif
     
    564563          pcCU->getCUMvField( RefPicList( uiRefListIdx ) )->setAllMvd( cTmpMv, ePartSize, uiSubPartIdx, uiDepth, uiPartIdx );
    565564          pcCU->getCUMvField( RefPicList( uiRefListIdx ) )->setAllMvField( cMvFieldNeighbours[ 2*uiMergeIndex + uiRefListIdx ], ePartSize, uiSubPartIdx, uiDepth, uiPartIdx );
    566 
     565#if NH_3D_VSP
     566          if( pcCU->getVSPFlag( uiSubPartIdx ) != 0 )
     567          {
     568            if ( uhInterDirNeighbours[ uiMergeIndex ] & (1<<uiRefListIdx) )
     569            {
     570              UInt dummy;
     571              Int vspSize;
     572              Int width, height;
     573              pcCU->getPartIndexAndSize( uiPartIdx, dummy, width, height, uiSubPartIdx, pcCU->getTotalNumPart()==256 );
     574              pcCU->setMvFieldPUForVSP( pcCU, uiSubPartIdx, width, height, RefPicList( uiRefListIdx ), cMvFieldNeighbours[ 2*uiMergeIndex + uiRefListIdx ].getRefIdx(), vspSize );
     575              pcCU->setVSPFlag( uiSubPartIdx, vspSize );
     576            }
     577          }
     578#endif
    567579        }
    568580      }
Note: See TracChangeset for help on using the changeset viewer.