Ignore:
Timestamp:
29 Jan 2014, 03:07:07 (11 years ago)
Author:
ntt
Message:

Integration of G0148

Location:
branches/HTM-9.3-dev1-NTT/source/Lib/TLibDecoder
Files:
2 edited

Legend:

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

    r795 r809  
    462462        pcCU->getCUMvField( RefPicList( uiRefListIdx ) )->setAllMvd( cTmpMv, SIZE_2Nx2N, uiAbsPartIdx, uiDepth );
    463463        pcCU->getCUMvField( RefPicList( uiRefListIdx ) )->setAllMvField( cMvFieldNeighbours[ 2*uiMergeIndex + uiRefListIdx ], SIZE_2Nx2N, uiAbsPartIdx, uiDepth );
     464#if NTT_STORE_SPDV_VSP_G0148
     465        if( pcCU->getVSPFlag( uiAbsPartIdx ) != 0 )
     466        {
     467          if ( uhInterDirNeighbours[ uiMergeIndex ] & (1<<uiRefListIdx) )
     468          {
     469            UInt dummy;
     470            Int vspSize;
     471            Int width, height;
     472            m_ppcCU[uiDepth]->getPartIndexAndSize( uiAbsPartIdx, dummy, width, height );
     473            m_ppcCU[uiDepth]->setMvFieldPUForVSP( pcCU, uiAbsPartIdx, width, height, RefPicList( uiRefListIdx ), cMvFieldNeighbours[ 2*uiMergeIndex + uiRefListIdx ].getRefIdx(), vspSize );
     474            pcCU->setVSPFlag( uiAbsPartIdx, vspSize );
     475          }
     476        }
     477#endif
    464478#if ENC_DEC_TRACE && H_MV_ENC_DEC_TRAC   
    465479        if ( g_decTraceMvFromMerge )
  • branches/HTM-9.3-dev1-NTT/source/Lib/TLibDecoder/TDecEntropy.cpp

    r795 r809  
    342342          pcCU->getCUMvField( RefPicList( uiRefListIdx ) )->setAllMvd( cTmpMv, ePartSize, uiSubPartIdx, uiDepth, uiPartIdx );
    343343          pcCU->getCUMvField( RefPicList( uiRefListIdx ) )->setAllMvField( cMvFieldNeighbours[ 2*uiMergeIndex + uiRefListIdx ], ePartSize, uiSubPartIdx, uiDepth, uiPartIdx );
     344#if NTT_STORE_SPDV_VSP_G0148
     345          if( pcCU->getVSPFlag( uiSubPartIdx ) != 0 )
     346          {
     347            if ( uhInterDirNeighbours[ uiMergeIndex ] & (1<<uiRefListIdx) )
     348            {
     349              UInt dummy;
     350              Int vspSize;
     351              Int width, height;
     352              pcCU->getPartIndexAndSize( uiPartIdx, dummy, width, height, uiSubPartIdx, pcCU->getTotalNumPart()==256 );
     353              pcCU->setMvFieldPUForVSP( pcCU, uiSubPartIdx, width, height, RefPicList( uiRefListIdx ), cMvFieldNeighbours[ 2*uiMergeIndex + uiRefListIdx ].getRefIdx(), vspSize );
     354              pcCU->setVSPFlag( uiSubPartIdx, vspSize );
     355            }
     356          }
     357#endif
    344358        }
    345359      }
     
    388402    }
    389403#if H_3D_VSP
     404#if NTT_STORE_SPDV_VSP_G0148
     405    if ( (pcCU->getInterDir(uiSubPartIdx) == 3) && pcSubCU->isBipredRestriction(uiPartIdx) && (pcCU->getVSPFlag(uiSubPartIdx) == 0))
     406#else
    390407    if ( (pcCU->getInterDir(uiSubPartIdx) == 3) && pcSubCU->isBipredRestriction(uiPartIdx) && (pcCU->getVSPFlag(uiSubPartIdx) == false))
     408#endif
    391409#else
    392410    if ( (pcCU->getInterDir(uiSubPartIdx) == 3) && pcSubCU->isBipredRestriction(uiPartIdx) )
Note: See TracChangeset for help on using the changeset viewer.