Changeset 819 in 3DVCSoftware


Ignore:
Timestamp:
4 Feb 2014, 09:36:30 (10 years ago)
Author:
rwth
Message:
  • make G0106 and G0148 mutually exclusive
Location:
branches/HTM-9.3-dev1-RWTH/source/Lib
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-9.3-dev1-RWTH/source/Lib/TLibDecoder/TDecCu.cpp

    r816 r819  
    801801    {
    802802      RefPicList eRefList = (RefPicList)uiRefListIdx;
    803 #if NTT_STORE_SPDV_VSP_G0148
    804       if( pcCU->getVSPFlag( 0 ) != 0 )
    805       {
    806         if ( pcCU->getInterDir(0) & (1<<uiRefListIdx) )
    807         {
    808           UInt dummy;
    809           Int vspSize;
    810           Int width, height;
    811           pcCU->getPartIndexAndSize( 0, dummy, width, height, 0, pcCU->getTotalNumPart()==256 );
    812           AOF( dummy == 0 );
    813           AOF( width == height );
    814           pcCU->setMvFieldPUForVSP( pcCU, 0, width, height, eRefList, pDBBPTmpData->acMvField[uiSegment][eRefList].getRefIdx(), vspSize );
    815           pcCU->setVSPFlag( 0, vspSize );
    816         }
    817       }
    818       else
    819 #endif
     803
    820804      pcCU->getCUMvField( eRefList )->setAllMvField( pDBBPTmpData->acMvField[uiSegment][eRefList], SIZE_2Nx2N, 0, 0 );
    821805    }
     
    842826    {
    843827      RefPicList eRefList = (RefPicList)uiRefListIdx;
    844 #if NTT_STORE_SPDV_VSP_G0148
    845       if( pcCU->getVSPFlag( uiPartAddr ) != 0 )
    846       {
    847         if ( pcCU->getInterDir(uiPartAddr) & (1<<uiRefListIdx) )
    848         {
    849           UInt dummy;
    850           Int vspSize;
    851           Int width, height;
    852           pcCU->getPartIndexAndSize( uiSegment, dummy, width, height, 0, pcCU->getTotalNumPart()==256 );
    853           AOF( dummy == uiPartAddr );
    854           pcCU->setMvFieldPUForVSP( pcCU, uiPartAddr, width, height, RefPicList( uiRefListIdx ), pcCU->getMVPIdx(eRefList, uiPartAddr), vspSize );
    855           pcCU->setVSPFlag( uiPartAddr, vspSize );
    856         }
    857       }
    858       else
    859 #endif
     828
    860829      pcCU->getCUMvField( eRefList )->setAllMvField( pDBBPTmpData->acMvField[uiSegment][eRefList], ePartSize, uiPartAddr, 0, uiSegment ); // interprets depth relative to rpcTempCU level
    861830    }
  • branches/HTM-9.3-dev1-RWTH/source/Lib/TLibDecoder/TDecEntropy.cpp

    r816 r819  
    375375          pcCU->getCUMvField( RefPicList( uiRefListIdx ) )->setAllMvField( cMvFieldNeighbours[ 2*uiMergeIndex + uiRefListIdx ], ePartSize, uiSubPartIdx, uiDepth, uiPartIdx );
    376376#if NTT_STORE_SPDV_VSP_G0148
     377#if H_3D_DBBP
     378          if( pcCU->getVSPFlag( uiSubPartIdx ) != 0 && !pcCU->getDBBPFlag( uiAbsPartIdx ) )
     379#else
    377380          if( pcCU->getVSPFlag( uiSubPartIdx ) != 0 )
     381#endif
    378382          {
    379383            if ( uhInterDirNeighbours[ uiMergeIndex ] & (1<<uiRefListIdx) )
  • branches/HTM-9.3-dev1-RWTH/source/Lib/TLibEncoder/TEncCu.cpp

    r816 r819  
    25142514      rpcTempCU->setMVPIdx(eRefList, uiPartAddr, pDBBPTmpData->aiMvpIdx[uiSegment][eRefList]);
    25152515     
    2516 #if NTT_STORE_SPDV_VSP_G0148
    2517       if( rpcTempCU->getVSPFlag( uiPartAddr ) != 0 )
    2518       {
    2519         if ( rpcTempCU->getInterDir(uiPartAddr) & (1<<uiRefListIdx) )
    2520         {
    2521           UInt dummy;
    2522           Int vspSize;
    2523           Int width, height;
    2524           rpcTempCU->getPartIndexAndSize( uiSegment, dummy, width, height, uiPartAddr, rpcTempCU->getTotalNumPart()==256 );
    2525           AOF( dummy == uiPartAddr );
    2526           rpcTempCU->setMvFieldPUForVSP( rpcTempCU, uiPartAddr, width, height, eRefList, pDBBPTmpData->acMvField[uiSegment][eRefList].getRefIdx(), vspSize );
    2527           rpcTempCU->setVSPFlag( uiPartAddr, vspSize );
    2528         }
    2529       }
    2530       else
    2531 #endif
    25322516      rpcTempCU->getCUMvField( eRefList )->setAllMvField( pDBBPTmpData->acMvField[uiSegment][eRefList], eVirtualPartSize, uiPartAddr, 0, uiSegment ); // interprets depth relative to rpcTempCU level
    25332517    }
  • branches/HTM-9.3-dev1-RWTH/source/Lib/TLibEncoder/TEncSearch.cpp

    r816 r819  
    36093609        RefPicList eRefList = (RefPicList)uiRefListIdx;
    36103610       
    3611 #if NTT_STORE_SPDV_VSP_G0148
    3612         if( pcCU->getVSPFlag( 0 ) != 0 )
    3613         {
    3614           if ( pcCU->getInterDir(0) & (1<<uiRefListIdx) )
    3615           {
    3616             UInt dummy;
    3617             Int vspSize;
    3618             Int width, height;
    3619             pcCU->getPartIndexAndSize( 0, dummy, width, height, 0, pcCU->getTotalNumPart()==256 );
    3620             AOF( dummy == 0 );
    3621             pcCU->setMvFieldPUForVSP( pcCU, 0, width, height, eRefList, pDBBPTmpData->acMvField[0][eRefList].getRefIdx(), vspSize );
    3622             pcCU->setVSPFlag( 0, vspSize );
    3623           }
    3624         }
    3625         else
    3626 #endif
    36273611        pcCU->getCUMvField( eRefList )->setAllMvField( pDBBPTmpData->acMvField[0][eRefList], pDBBPTmpData->eVirtualPartSize, 0, 0, 0 ); // interprets depth relative to rpcTempCU level
    36283612      }
     
    37393723#endif
    37403724#if NTT_STORE_SPDV_VSP_G0148
     3725#if H_3D_DBBP
     3726      if ( vspFlag[uiMergeCand] && !pcCU->getDBBPFlag(0) )
     3727#else
    37413728      if ( vspFlag[uiMergeCand] )
     3729#endif
    37423730      {
    37433731        UInt partAddr;
     
    45354523#endif
    45364524#if NTT_STORE_SPDV_VSP_G0148
     4525#if H_3D_DBBP
     4526        if ( vspFlag[uiMRGIndex] && !pcCU->getDBBPFlag(uiPartAddr) )
     4527#else
    45374528        if ( vspFlag[uiMRGIndex] )
     4529#endif
    45384530        {
    45394531          UInt partAddrTemp;
Note: See TracChangeset for help on using the changeset viewer.