Changeset 579 in SHVCSoftware for branches/SHM-5.0-dev/source


Ignore:
Timestamp:
29 Jan 2014, 02:55:53 (11 years ago)
Author:
qualcomm
Message:

Change indexing of NumSubDpbs (Macro: CHANGE_NUMSUBDPB_IDX)

Change indexing of NumSubDpbs from output layer set to layer set, to be aligned with the Spec.

From: Adarsh K. Ramasubramonian <aramasub@…>

Location:
branches/SHM-5.0-dev/source
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-5.0-dev/source/App/TAppEncoder/TAppEncTop.cpp

    r577 r579  
    11811181  for(i = 1; i < vps->getNumOutputLayerSets(); i++)
    11821182  {
     1183#if CHANGE_NUMSUBDPB_IDX
     1184    Int layerSetIdxForOutputLayerSet = vps->getOutputLayerSetIdx( i );
     1185#endif
    11831186    Int layerSetId = vps->getOutputLayerSetIdx(i);
    11841187
     
    11911194
    11921195      Int maxNumReorderPics = -1;
     1196#if CHANGE_NUMSUBDPB_IDX
     1197      for(Int k = 0; k < vps->getNumSubDpbs(layerSetIdxForOutputLayerSet); k++)
     1198#else
    11931199      for(Int k = 0; k < vps->getNumSubDpbs(i); k++)
     1200#endif
    11941201      {
    11951202        Int layerId = vps->getLayerSetLayerIdList(layerSetId, k); // k-th layer in the output layer set
     
    12081215                                      // then will be continue to be false - i.e. the j-th sub-layer DPB info is not signaled
    12091216        checkFlagInner[j] |= ( maxNumReorderPics != vps->getMaxVpsNumReorderPics(i, j - 1) );
     1217#if CHANGE_NUMSUBDPB_IDX
     1218        for(Int k = 0; k < vps->getNumSubDpbs(layerSetIdxForOutputLayerSet) && !checkFlagInner[j]; k++)  // If checkFlagInner[j] is true, break and signal the values
     1219#else
    12101220        for(Int k = 0; k < vps->getNumSubDpbs(i) && !checkFlagInner[j]; k++)  // If checkFlagInner[j] is true, break and signal the values
     1221#endif
    12111222        {
    12121223          checkFlagInner[j] |= ( vps->getMaxVpsDecPicBufferingMinus1(i, k, j - 1) != vps->getMaxVpsDecPicBufferingMinus1(i, k, j) );
  • branches/SHM-5.0-dev/source/Lib/TLibCommon/TComSlice.cpp

    r577 r579  
    21862186{
    21872187  // Derive number of sub-DPBs
     2188#if CHANGE_NUMSUBDPB_IDX
     2189  // For layer set 0
     2190  setNumSubDpbs(0, 1);
     2191  // For other layer sets
     2192  for( Int i = 1; i < getNumLayerSets(); i++)
     2193  {
     2194    setNumSubDpbs( i, getNumLayersInIdList( i ) );
     2195  }
     2196#else
    21882197  // For output layer set 0
    21892198  setNumSubDpbs(0, 1);
     
    21932202    setNumSubDpbs( i, getNumLayersInIdList( getOutputLayerSetIdx(i)) );
    21942203  }
     2204#endif
    21952205}
    21962206#endif
  • branches/SHM-5.0-dev/source/Lib/TLibCommon/TComSlice.h

    r577 r579  
    652652  Int     m_maxVpsNumReorderPics        [MAX_VPS_OP_LAYER_SETS_PLUS1][MAX_LAYERS];
    653653  Int     m_maxVpsLatencyIncreasePlus1  [MAX_VPS_OP_LAYER_SETS_PLUS1][MAX_LAYERS];
     654#if CHANGE_NUMSUBDPB_IDX
     655  Int     m_numSubDpbs                  [MAX_VPS_LAYER_SETS_PLUS1];
     656#else
    654657  Int     m_numSubDpbs                  [MAX_VPS_OP_LAYER_SETS_PLUS1];
     658#endif
    655659#endif
    656660
  • branches/SHM-5.0-dev/source/Lib/TLibCommon/TypeDef.h

    r577 r579  
    5656#define DISCARDABLE_PIC_RPS              1      ///< JCTVC-P0130: Inter-layer RPS and temporal RPS should not contain picture with discardable_flag equal to 1
    5757#define VPS_EXTN_UEV_CODING              1      ///< JCTVC-P0306: Code some syntax elements as ue(v), and remove some syntax elements that duplicate behaviour
     58#define CHANGE_NUMSUBDPB_IDX             1      ///< Change index of NumSubDpb from output layer set to layer set, to be more aligned with the Spec
    5859#define O0109_O0199_FLAGS_TO_VUI         1      ///< JCTVC-O0109, O0199: move single_layer_for_non_irap_flag and higher_layer_flag to vps_vui
    5960#define O0109_VIEW_ID_LEN                1      ///< JCTVC-O0109: view_id_len_minus1 to view_id_len, and add constraint (1<<view_id_len) is greater than or equal to NumViews
  • branches/SHM-5.0-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r578 r579  
    15901590  for(Int i = 1; i < vps->getNumOutputLayerSets(); i++)
    15911591  {
     1592#if CHANGE_NUMSUBDPB_IDX
     1593    Int layerSetIdxForOutputLayerSet = vps->getOutputLayerSetIdx( i );
     1594#endif
    15921595    READ_FLAG( uiCode, "sub_layer_flag_info_present_flag[i]");  vps->setSubLayerFlagInfoPresentFlag( i, uiCode ? true : false );
    15931596    for(Int j = 0; j < vps->getMaxTLayers(); j++)
     
    16101613      if( vps->getSubLayerDpbInfoPresentFlag(i, j) )  // If sub-layer DPB information is present
    16111614      {
     1615#if CHANGE_NUMSUBDPB_IDX
     1616        for(Int k = 0; k < vps->getNumSubDpbs(layerSetIdxForOutputLayerSet); k++)
     1617#else
    16121618        for(Int k = 0; k < vps->getNumSubDpbs(i); k++)
     1619#endif
    16131620        {
    16141621          READ_UVLC( uiCode, "max_vps_dec_pic_buffering_minus1[i][k][j]" ); vps->setMaxVpsDecPicBufferingMinus1( i, k, j, uiCode );
  • branches/SHM-5.0-dev/source/Lib/TLibEncoder/TEncCavlc.cpp

    r578 r579  
    12181218  for(Int i = 1; i < vps->getNumOutputLayerSets(); i++)
    12191219  {
     1220#if CHANGE_NUMSUBDPB_IDX
     1221    Int layerSetIdxForOutputLayerSet = vps->getOutputLayerSetIdx( i );
     1222#endif
    12201223    WRITE_FLAG( vps->getSubLayerFlagInfoPresentFlag( i ), "sub_layer_flag_info_present_flag[i]"); 
    12211224    for(Int j = 0; j < vps->getMaxTLayers(); j++)
     
    12271230      if( vps->getSubLayerDpbInfoPresentFlag(i, j) )
    12281231      {
     1232#if CHANGE_NUMSUBDPB_IDX
     1233        for(Int k = 0; k < vps->getNumSubDpbs(layerSetIdxForOutputLayerSet); k++)
     1234#else
    12291235        for(Int k = 0; k < vps->getNumSubDpbs(i); k++)
     1236#endif
    12301237        {
    12311238          WRITE_UVLC( vps->getMaxVpsDecPicBufferingMinus1( i, k, j), "max_vps_dec_pic_buffering_minus1[i][k][j]" );
Note: See TracChangeset for help on using the changeset viewer.