Changeset 582 in SHVCSoftware for branches/SHM-5.0-dev/source/App/TAppEncoder


Ignore:
Timestamp:
31 Jan 2014, 20:35:21 (11 years ago)
Author:
qualcomm
Message:

JCTVC-P0192: Resolution-based sub-DPB management <MACRO: RESOLUTION_BASED_DPB)

This patch includes the signaling, and assignment of resolution-based sub-DPB indices. Bumping process will be included in a following patch.

From: Adarsh K. Ramasubramonian <aramasub@…>

File:
1 edited

Legend:

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

    r580 r582  
    11771177  vps->deriveLayerIdListVariables();
    11781178#endif
     1179#if RESOLUTION_BASED_DPB
     1180  vps->assignSubDpbIndices();
     1181#else
    11791182  vps->deriveNumberOfSubDpbs();
     1183#endif
    11801184  // Initialize dpb_size_table() for all ouput layer sets in the VPS extension
    11811185  for(i = 1; i < vps->getNumOutputLayerSets(); i++)
     
    11911195      Int maxNumReorderPics = -1;
    11921196#if CHANGE_NUMSUBDPB_IDX
     1197#if RESOLUTION_BASED_DPB
     1198      for(Int k = 0; k < vps->getNumLayersInIdList(layerSetIdxForOutputLayerSet); k++)
     1199#else
    11931200      for(Int k = 0; k < vps->getNumSubDpbs(layerSetIdxForOutputLayerSet); k++)
     1201#endif
    11941202#else
    11951203      for(Int k = 0; k < vps->getNumSubDpbs(i); k++)
     
    11971205      {
    11981206        Int layerId = vps->getLayerSetLayerIdList(layerSetId, k); // k-th layer in the output layer set
     1207#if RESOLUTION_BASED_DPB
     1208        vps->setMaxVpsLayerDecPicBuffMinus1( i, k, j, m_acTEncTop[layerId].getMaxDecPicBuffering(j) - 1 );
     1209        // Add sub-DPB sizes of layers belonging to a sub-DPB. If a different sub-DPB size is calculated
     1210        // at the encoder, modify below
     1211        Int oldValue = vps->getMaxVpsDecPicBufferingMinus1( i, vps->getSubDpbAssigned( layerSetIdxForOutputLayerSet, k ), j );
     1212        oldValue += vps->getMaxVpsLayerDecPicBuffMinus1( i, k, j );
     1213        vps->setMaxVpsDecPicBufferingMinus1( i, vps->getSubDpbAssigned( layerSetIdxForOutputLayerSet, k ), j, oldValue );
     1214#else
    11991215        vps->setMaxVpsDecPicBufferingMinus1( i, k, j,  m_acTEncTop[layerId].getMaxDecPicBuffering(j) - 1 );
     1216#endif
    12001217        maxNumReorderPics       = std::max( maxNumReorderPics, m_acTEncTop[layerId].getNumReorderPics(j));
    12011218      }
Note: See TracChangeset for help on using the changeset viewer.