Changeset 613 in SHVCSoftware


Ignore:
Timestamp:
12 Feb 2014, 02:02:26 (11 years ago)
Author:
sharp
Message:
  1. Deshpande (Sharp) <sdeshpande@…>

JCTVC-P0155 signaling & inferrence for sps dpb parameters for nuh_layer_id > 0

Location:
branches/SHM-5.1-dev/source/Lib
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-5.1-dev/source/Lib/TLibCommon/TComSlice.h

    r610 r613  
    654654  Bool       m_recursiveRefLayerFlag[MAX_NUM_LAYER_IDS][MAX_NUM_LAYER_IDS];  // flag to indicate if j-th layer is a direct or indirect reference layer of i-th layer
    655655#endif
     656#if SPS_DPB_PARAMS
     657    Int         m_TolsIdx;
     658#endif
    656659#if VPS_DPB_SIZE_TABLE
    657660  Bool    m_subLayerFlagInfoPresentFlag [MAX_VPS_OP_LAYER_SETS_PLUS1];
     
    745748  TComPTL* getPTL() { return &m_pcPTL; }
    746749  TimingInfo* getTimingInfo() { return &m_timingInfo; }
     750
     751#if SPS_DPB_PARAMS
     752    Int       getTolsIdx  ()             { return m_TolsIdx;   }
     753    Void      setTolsIdx  ( Int value  ) { m_TolsIdx = value;  }
     754#endif
    747755
    748756#if SVC_EXTENSION
  • branches/SHM-5.1-dev/source/Lib/TLibCommon/TypeDef.h

    r612 r613  
    228228#endif
    229229#endif
     230#define SPS_DPB_PARAMS                   1      ///< JCTVC-P0155 signaling & inferrence for sps dpb parameters for nuh_layer_id > 0
    230231
    231232#define NO_CLRAS_OUTPUT_FLAG             1
  • branches/SHM-5.1-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r610 r613  
    644644  assert(uiCode <= 12);
    645645
    646   UInt subLayerOrderingInfoPresentFlag;
     646#if SPS_DPB_PARAMS
     647    if( pcSPS->getLayerId() == 0 )  {
     648#endif
     649    UInt subLayerOrderingInfoPresentFlag;
    647650  READ_FLAG(subLayerOrderingInfoPresentFlag, "sps_sub_layer_ordering_info_present_flag");
    648651
     
    667670    }
    668671  }
    669 
     672#if SPS_DPB_PARAMS
     673    }
     674    else
     675    {
     676        for(UInt i=0; i <= pcSPS->getMaxTLayers()-1; i++)
     677        {
     678            pcSPS->setMaxDecPicBuffering( parameterSetManager->getPrefetchedVPS(pcSPS->getVPSId())->getMaxVpsDecPicBufferingMinus1(  parameterSetManager->getPrefetchedVPS(pcSPS->getVPSId())->getTolsIdx(), pcSPS->getLayerId(), i)+1, i);
     679        }
     680    }
     681#endif
    670682  READ_UVLC( uiCode, "log2_min_coding_block_size_minus3" );
    671683  Int log2MinCUSize = uiCode + 3;
  • branches/SHM-5.1-dev/source/Lib/TLibDecoder/TDecTop.cpp

    r612 r613  
    315315#else
    316316    m_iMaxRefPicNum = pcSlice->getVPS()->getMaxVpsDecPicBufferingMinus1( getCommonDecoderParams()->getTargetOutputLayerSetIdx(), pcSlice->getLayerId(), pcSlice->getTLayer() ) + 1; // m_uiMaxDecPicBuffering has the space for the picture currently being decoded
     317#endif
     318#if SPS_DPB_PARAMS
     319      pcSlice->getVPS()->setTolsIdx(getCommonDecoderParams()->getTargetOutputLayerSetIdx());
    317320#endif
    318321  }
  • branches/SHM-5.1-dev/source/Lib/TLibEncoder/TEncCavlc.cpp

    r608 r613  
    496496  WRITE_UVLC( pcSPS->getBitsForPOC()-4,                 "log2_max_pic_order_cnt_lsb_minus4" );
    497497
     498#if SPS_DPB_PARAMS
     499    if( pcSPS->getLayerId() == 0 )  {
     500#endif
    498501  const Bool subLayerOrderingInfoPresentFlag = 1;
    499502  WRITE_FLAG(subLayerOrderingInfoPresentFlag,       "sps_sub_layer_ordering_info_present_flag");
     
    508511    }
    509512  }
     513#if SPS_DPB_PARAMS
     514    }
     515#endif
    510516  assert( pcSPS->getMaxCUWidth() == pcSPS->getMaxCUHeight() );
    511517 
Note: See TracChangeset for help on using the changeset viewer.