Ignore:
Timestamp:
4 Feb 2014, 09:36:30 (11 years ago)
Author:
rwth
Message:
  • make G0106 and G0148 mutually exclusive
Location:
branches/HTM-9.3-dev1-RWTH/source/Lib/TLibDecoder
Files:
2 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) )
Note: See TracChangeset for help on using the changeset viewer.