Changeset 526 in SHVCSoftware


Ignore:
Timestamp:
24 Dec 2013, 03:04:21 (11 years ago)
Author:
qualcomm
Message:

Using signaled DPB-related parameters in the decoder (MACRO: USE_DPB_SIZE_TABLE)

This patch uses the signaled value of DPB-related parameters in the VPS extension in the decoder.

From: Adarsh K. Ramasubramonian <aramasub@…>

Location:
branches/SHM-4.1-dev/source/Lib
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-4.1-dev/source/Lib/TLibCommon/TypeDef.h

    r525 r526  
    199199#if VPS_DPB_SIZE_TABLE
    200200#define OUTPUT_LAYER_SET_INDEX           1      ///< JCTVC-O0217: DPB operations: Inference/input of output layer set index
     201#if OUTPUT_LAYER_SET_INDEX
     202#define USE_DPB_SIZE_TABLE               1      ///< JCTVC-O0217: DPB operations: Use signaled DPB-size table parameters in the decoder
     203#endif
    201204#endif
    202205#else
  • branches/SHM-4.1-dev/source/Lib/TLibDecoder/TDecTop.cpp

    r521 r526  
    170170    for( Int temporalLayer=0; temporalLayer < MAX_TLAYER; temporalLayer++)
    171171    {
     172#if USE_DPB_SIZE_TABLE
     173      TComVPS *vps = slice->getVPS();
     174      // SHM decoders will use DPB size table in the VPS to determine the number of reorder pictures.
     175      numReorderPics[temporalLayer] = vps->getMaxVpsNumReorderPics( getCommonDecoderParams()->getOutputLayerSetIdx() , temporalLayer);
     176#else
    172177      numReorderPics[temporalLayer] = pcSPS->getNumReorderPics(temporalLayer);
     178#endif
    173179    }
    174180
     
    260266  for( Int temporalLayer=0; temporalLayer < MAX_TLAYER; temporalLayer++)
    261267  {
     268#if USE_DPB_SIZE_TABLE
     269    TComVPS *vps = pcSlice->getVPS();
     270    // SHM decoders will use DPB size table in the VPS to determine the number of reorder pictures.
     271    numReorderPics[temporalLayer] = vps->getMaxVpsNumReorderPics( getCommonDecoderParams()->getOutputLayerSetIdx() , temporalLayer);
     272#else
    262273    numReorderPics[temporalLayer] = pcSlice->getSPS()->getNumReorderPics(temporalLayer);
    263   }
    264 
     274#endif
     275  }
     276
     277#if USE_DPB_SIZE_TABLE
     278  m_iMaxRefPicNum = pcSlice->getVPS()->getMaxVpsDecPicBufferingMinus1( getCommonDecoderParams()->getOutputLayerSetIdx(), pcSlice->getLayerId(), pcSlice->getTLayer() ) + 1; // m_uiMaxDecPicBuffering has the space for the picture currently being decoded
     279#else
    265280  m_iMaxRefPicNum = pcSlice->getSPS()->getMaxDecPicBuffering(pcSlice->getTLayer());     // m_uiMaxDecPicBuffering has the space for the picture currently being decoded
     281#endif
    266282
    267283#if SVC_EXTENSION
Note: See TracChangeset for help on using the changeset viewer.