Changeset 762 in 3DVCSoftware


Ignore:
Timestamp:
7 Jan 2014, 05:53:19 (10 years ago)
Author:
zhang
Message:

remove multiple PPS for depth views

Location:
branches/HTM-9.2-dev0/source/Lib
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-9.2-dev0/source/Lib/TLibCommon/TypeDef.h

    r758 r762  
    6969///////////////////////////////////   MAJOR DEFINES   /////////////////////////////////// 
    7070/////////////////////////////////////////////////////////////////////////////////////////
     71
    7172#if H_MV
    7273#define H_MV_ENC_DEC_TRAC                 1  //< CU/PU level tracking
     
    313314
    314315#if H_3D
     316#define PPS_FIX_DEPTH                           1
    315317
    316318#define FIX_MISSING_MACRO_R690                  1 // Missing macro in integration to revision 690
  • branches/HTM-9.2-dev0/source/Lib/TLibEncoder/TEncCavlc.cpp

    r758 r762  
    176176  WRITE_FLAG( pcPPS->getSignHideFlag(), "sign_data_hiding_flag" );
    177177  WRITE_FLAG( pcPPS->getCabacInitPresentFlag() ? 1 : 0,   "cabac_init_present_flag" );
     178#if PPS_FIX_DEPTH
     179  if( pcPPS->getSPS()->getVPS()->getDepthId(pcPPS->getSPS()->getLayerId()) )
     180  {
     181    WRITE_UVLC( pcPPS->getNumRefIdxL0DefaultActive(),     "num_ref_idx_l0_default_active_minus1");
     182    WRITE_UVLC( pcPPS->getNumRefIdxL1DefaultActive(),     "num_ref_idx_l1_default_active_minus1");
     183  }
     184  else
     185  {
     186#endif
    178187  WRITE_UVLC( pcPPS->getNumRefIdxL0DefaultActive()-1,     "num_ref_idx_l0_default_active_minus1");
    179188  WRITE_UVLC( pcPPS->getNumRefIdxL1DefaultActive()-1,     "num_ref_idx_l1_default_active_minus1");
    180 
     189#if PPS_FIX_DEPTH
     190  }
     191#endif
    181192  WRITE_SVLC( pcPPS->getPicInitQPMinus26(),                  "init_qp_minus26");
    182193  WRITE_FLAG( pcPPS->getConstrainedIntraPred() ? 1 : 0,      "constrained_intra_pred_flag" );
     
    252263#if H_MV
    253264  }
     265#endif
     266#if PPS_FIX_DEPTH
     267  if( pcPPS->getSPS()->getVPS()->getDepthId(pcPPS->getSPS()->getLayerId()) )
     268  {
     269    WRITE_FLAG( 1, "lists_modification_present_flag" );
     270  }
     271  else
    254272#endif
    255273  WRITE_FLAG( pcPPS->getListsModificationPresentFlag(), "lists_modification_present_flag");
     
    17391757    WRITE_FLAG( 0, "no_output_of_prior_pics_flag" );
    17401758  }
     1759#if PPS_FIX_DEPTH
     1760  if( pcSlice->getIsDepth() )
     1761  {
     1762    WRITE_UVLC( 1, "slice_pic_parameter_set_id" );
     1763  }
     1764  else
     1765#endif
    17411766  WRITE_UVLC( pcSlice->getPPS()->getPPSId(), "slice_pic_parameter_set_id" );
    17421767  pcSlice->setDependentSliceSegmentFlag(!pcSlice->isNextSlice());
     
    19832008    {
    19842009      Bool overrideFlag = (pcSlice->getNumRefIdx( REF_PIC_LIST_0 )!=pcSlice->getPPS()->getNumRefIdxL0DefaultActive()||(pcSlice->isInterB()&&pcSlice->getNumRefIdx( REF_PIC_LIST_1 )!=pcSlice->getPPS()->getNumRefIdxL1DefaultActive()));
     2010#if PPS_FIX_DEPTH
     2011      overrideFlag |= (pcSlice->getIsDepth() && !pcSlice->getViewIndex());
     2012#endif
    19852013      WRITE_FLAG( overrideFlag ? 1 : 0,                               "num_ref_idx_active_override_flag");
    19862014      if (overrideFlag)
     
    20022030      pcSlice->setNumRefIdx(REF_PIC_LIST_1, 0);
    20032031    }
    2004 
     2032#if PPS_FIX_DEPTH
     2033    if( (pcSlice->getPPS()->getListsModificationPresentFlag() || (pcSlice->getIsDepth() && !pcSlice->getViewIndex())) && pcSlice->getNumRpsCurrTempList() > 1)
     2034#else
    20052035    if( pcSlice->getPPS()->getListsModificationPresentFlag() && pcSlice->getNumRpsCurrTempList() > 1)
     2036#endif
    20062037    {
    20072038      TComRefPicListModification* refPicListModification = pcSlice->getRefPicListModification();
  • branches/HTM-9.2-dev0/source/Lib/TLibEncoder/TEncGOP.cpp

    r738 r762  
    13191319      nalu = NALUnit(NAL_UNIT_PPS);
    13201320#endif
     1321#if PPS_FIX_DEPTH
     1322      if(!pcSlice->getIsDepth() || !pcSlice->getViewIndex() )
     1323      {
     1324#endif
    13211325      m_pcEntropyCoder->setBitstream(&nalu.m_Bitstream);
    13221326      m_pcEntropyCoder->encodePPS(pcSlice->getPPS());
     
    13261330      actualTotalBits += UInt(accessUnit.back()->m_nalUnitData.str().size()) * 8;
    13271331#endif
    1328 
     1332#if PPS_FIX_DEPTH
     1333      }
     1334#endif
    13291335      xCreateLeadingSEIMessages(accessUnit, pcSlice->getSPS());
    13301336
Note: See TracChangeset for help on using the changeset viewer.