Changeset 535 in SHVCSoftware for branches/SHM-4.1-dev/source/Lib
- Timestamp:
- 5 Jan 2014, 22:04:10 (11 years ago)
- Location:
- branches/SHM-4.1-dev/source/Lib
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-4.1-dev/source/Lib/TLibCommon/TComSlice.h
r533 r535 973 973 Void setSubLayerDpbInfoPresentFlag(Int i, Int j, Bool x) {m_subLayerDpbInfoPresentFlag[i][j] = x; } 974 974 975 Int getMaxVpsDecPicBufferingMinus1(Int i, Int k, Int j) { return m_maxVpsDecPicBufferingMinus1[i][k][j]; } 975 // For the 0-th output layer set, use the date from the active SPS for base layer. 976 Int getMaxVpsDecPicBufferingMinus1(Int i, Int k, Int j) { assert(i != 0); return m_maxVpsDecPicBufferingMinus1[i][k][j]; } 976 977 Void setMaxVpsDecPicBufferingMinus1(Int i, Int k, Int j, Int x) { m_maxVpsDecPicBufferingMinus1[i][k][j] = x; } 977 978 978 Int getMaxVpsNumReorderPics(Int i, Int j) { return m_maxVpsNumReorderPics[i][j]; }979 Int getMaxVpsNumReorderPics(Int i, Int j) { assert(i != 0); return m_maxVpsNumReorderPics[i][j]; } 979 980 Void setMaxVpsNumReorderPics(Int i, Int j, Int x) { m_maxVpsNumReorderPics[i][j] = x; } 980 981 981 Int getMaxVpsLatencyIncreasePlus1(Int i, Int j) { return m_maxVpsLatencyIncreasePlus1[i][j]; }982 Int getMaxVpsLatencyIncreasePlus1(Int i, Int j) { assert(i != 0); return m_maxVpsLatencyIncreasePlus1[i][j]; } 982 983 Void setMaxVpsLatencyIncreasePlus1(Int i, Int j, Int x) { m_maxVpsLatencyIncreasePlus1[i][j] = x; } 983 984 -
branches/SHM-4.1-dev/source/Lib/TLibDecoder/TDecTop.cpp
r533 r535 178 178 { 179 179 #if USE_DPB_SIZE_TABLE 180 TComVPS *vps = slice->getVPS(); 181 // SHM decoders will use DPB size table in the VPS to determine the number of reorder pictures. 182 numReorderPics[temporalLayer] = vps->getMaxVpsNumReorderPics( getCommonDecoderParams()->getOutputLayerSetIdx() , temporalLayer); 180 if( getCommonDecoderParams()->getOutputLayerSetIdx() == 0 ) 181 { 182 assert( this->getLayerId() == 0 ); 183 numReorderPics[temporalLayer] = pcSPS->getNumReorderPics(temporalLayer); 184 } 185 else 186 { 187 TComVPS *vps = slice->getVPS(); 188 // SHM decoders will use DPB size table in the VPS to determine the number of reorder pictures. 189 numReorderPics[temporalLayer] = vps->getMaxVpsNumReorderPics( getCommonDecoderParams()->getOutputLayerSetIdx() , temporalLayer); 190 } 183 191 #else 184 192 numReorderPics[temporalLayer] = pcSPS->getNumReorderPics(temporalLayer); … … 274 282 { 275 283 #if USE_DPB_SIZE_TABLE 276 TComVPS *vps = pcSlice->getVPS(); 277 // SHM decoders will use DPB size table in the VPS to determine the number of reorder pictures. 278 numReorderPics[temporalLayer] = vps->getMaxVpsNumReorderPics( getCommonDecoderParams()->getOutputLayerSetIdx() , temporalLayer); 284 if( getCommonDecoderParams()->getOutputLayerSetIdx() == 0 ) 285 { 286 assert( this->getLayerId() == 0 ); 287 numReorderPics[temporalLayer] = pcSlice->getSPS()->getNumReorderPics(temporalLayer); 288 } 289 else 290 { 291 TComVPS *vps = pcSlice->getVPS(); 292 // SHM decoders will use DPB size table in the VPS to determine the number of reorder pictures. 293 numReorderPics[temporalLayer] = vps->getMaxVpsNumReorderPics( getCommonDecoderParams()->getOutputLayerSetIdx() , temporalLayer); 294 } 279 295 #else 280 296 numReorderPics[temporalLayer] = pcSlice->getSPS()->getNumReorderPics(temporalLayer); … … 283 299 284 300 #if USE_DPB_SIZE_TABLE 285 m_iMaxRefPicNum = pcSlice->getVPS()->getMaxVpsDecPicBufferingMinus1( getCommonDecoderParams()->getOutputLayerSetIdx(), pcSlice->getLayerId(), pcSlice->getTLayer() ) + 1; // m_uiMaxDecPicBuffering has the space for the picture currently being decoded 301 if( getCommonDecoderParams()->getOutputLayerSetIdx() == 0 ) 302 { 303 assert( this->getLayerId() == 0 ); 304 m_iMaxRefPicNum = pcSlice->getSPS()->getMaxDecPicBuffering(pcSlice->getTLayer()); // m_uiMaxDecPicBuffering has the space for the picture currently being decoded 305 } 306 else 307 { 308 m_iMaxRefPicNum = pcSlice->getVPS()->getMaxVpsDecPicBufferingMinus1( getCommonDecoderParams()->getOutputLayerSetIdx(), pcSlice->getLayerId(), pcSlice->getTLayer() ) + 1; // m_uiMaxDecPicBuffering has the space for the picture currently being decoded 309 } 286 310 #else 287 311 m_iMaxRefPicNum = pcSlice->getSPS()->getMaxDecPicBuffering(pcSlice->getTLayer()); // m_uiMaxDecPicBuffering has the space for the picture currently being decoded
Note: See TracChangeset for help on using the changeset viewer.