Ignore:
Timestamp:
1 Nov 2012, 19:22:41 (12 years ago)
Author:
mitsubishi-htm
Message:

Initial integration of VSP into HTM 4.0.1. The version used for JCT3V-B0102 at Shanghai meeting.

  • VC9 project/solution files updated. Other Visual C++ project/solution files are not updated.
  • Linux make file updated.

TODO

  • A second release is expected to include some bug fix and improvements on the interface, e.g. to move switches from macro definition to the configuration file.
  • A third release is expected after being integrated within HTM 5.x, which is to be used for CE1.h anchor.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-4.0.1-VSP-dev0/source/Lib/TLibDecoder/TDecSbac.cpp

    r100 r166  
    578578}
    579579
     580#if FORCE_REF_VSP==1
     581Void TDecSbac::parseVspFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
     582{
     583  if( pcCU->getSlice()->isIntra() || pcCU->getSlice()->getViewId()==0 )
     584  {
     585    return;
     586  }
     587 
     588  UInt uiSymbol = 0;
     589  UInt uiCtxSkip = pcCU->getCtxSkipFlag( uiAbsPartIdx );
     590  m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUSkipFlagSCModel.get( 0, 0, uiCtxSkip ) );
     591  DTRACE_CABAC_VL( g_nSymbolCounter++ );
     592  DTRACE_CABAC_T( "\tVspFlag" );
     593  DTRACE_CABAC_T( "\tuiCtxSkip: ");
     594  DTRACE_CABAC_V( uiCtxSkip );
     595  DTRACE_CABAC_T( "\tuiSymbol: ");
     596  DTRACE_CABAC_V( uiSymbol );
     597  DTRACE_CABAC_T( "\n");
     598 
     599  if( uiSymbol )
     600  {
     601    pcCU->setPredModeSubParts( MODE_SYNTH, uiAbsPartIdx, uiDepth );
     602  }
     603}
     604#endif
     605
    580606/** parse merge flag
    581607 * \param pcCU
     
    610636  uiNumCand = pcCU->getSlice()->getMaxNumMergeCand();
    611637#if HHI_MPI
     638#if VSP_TEXT_ONLY
     639  TComDataCU* pcTextCU = pcCU->getSlice()->getSPS()->getUseMVI() ? pcCU->getSlice()->getTexturePic()->getCU( pcCU->getAddr() ) : NULL;
     640  Int aiRefIdxVsp[2] = { pcTextCU ? pcTextCU->getCUMvField( RefPicList(0) )->getRefIdx( uiAbsPartIdx ) : -1,
     641                         pcTextCU ? pcTextCU->getCUMvField( RefPicList(1) )->getRefIdx( uiAbsPartIdx ) : -1 };
     642  const Bool bMVIAvailable = pcCU->getSlice()->getSPS()->getUseMVI() && pcCU->getSlice()->getSliceType() != I_SLICE
     643    && !( aiRefIdxVsp[0] >= 0 && pcTextCU->getSlice()->getRefViewId( RefPicList(0), aiRefIdxVsp[0] ) == NUM_VIEW_VSP )
     644    && !( aiRefIdxVsp[1] >= 0 && pcTextCU->getSlice()->getRefViewId( RefPicList(1), aiRefIdxVsp[1] ) == NUM_VIEW_VSP );
     645#else
    612646  const Bool bMVIAvailable = pcCU->getSlice()->getSPS()->getUseMVI() && pcCU->getSlice()->getSliceType() != I_SLICE;
     647#endif
    613648  const UInt uiMviMergePos = bMVIAvailable ? HHI_MPI_MERGE_POS : uiNumCand;
    614649#endif
Note: See TracChangeset for help on using the changeset viewer.