Changeset 1412 in 3DVCSoftware for branches/HTM-16.2-dev/source/App/TAppDecoder/TAppDecTop.cpp
- Timestamp:
- 12 Apr 2018, 11:12:21 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-16.2-dev/source/App/TAppDecoder/TAppDecTop.cpp
r1405 r1412 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 6, ITU/ISO/IEC6 * Copyright (c) 2010-2017, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * … … 405 405 // initialize global variables 406 406 initROM(); 407 #if NH_3D _DMM407 #if NH_3D 408 408 initWedgeLists(); 409 409 #endif … … 474 474 m_cTDecTop.init(); 475 475 m_cTDecTop.setDecodedPictureHashSEIEnabled(m_decodedPictureHashSEIEnabled); 476 #if MCTS_ENC_CHECK 477 m_cTDecTop.setTMctsCheckEnabled(m_tmctsCheck); 478 #endif 476 479 #if O0043_BEST_EFFORT_DECODING 477 480 m_cTDecTop.setForceDecodeBitDepth(m_forceDecodeBitDepth); … … 1262 1265 m_vps->printLayerSets(); 1263 1266 m_vps->printPTL(); 1267 m_vps->printRepFormat(); 1264 1268 } 1265 1269 } … … 2223 2227 //////////////////////////////////////////////////////////////////////////////// 2224 2228 2225 const TComDpbSize* dpbSize = m_vps->getDpbSize(); 2226 m_maxNumReorderPics = dpbSize->getMaxVpsNumReorderPics ( m_targetOptLayerSetIdx, m_highestTid ); 2227 m_maxLatencyIncreasePlus1 = dpbSize->getMaxVpsLatencyIncreasePlus1( m_targetOptLayerSetIdx, m_highestTid ); 2228 m_maxLatencyValue = dpbSize->getVpsMaxLatencyPictures ( m_targetOptLayerSetIdx, m_highestTid ); 2229 2230 for(Int i = 0; i < MAX_NUM_LAYER_IDS; i++) 2231 { 2232 m_maxDecPicBufferingMinus1[ i ] = MIN_INT; 2233 } 2234 for( Int i = 0; i <= m_vps->getMaxLayersMinus1(); i++ ) 2235 { 2236 Int currLayerId = m_vps->getLayerIdInNuh( i ); 2237 for(Int layerIdx = 0 ; layerIdx < m_vps->getNumLayersInIdList( m_targetDecLayerSetIdx); layerIdx++ ) 2238 { 2239 if( m_vps->getLayerSetLayerIdList( m_targetDecLayerSetIdx, layerIdx ) == currLayerId ) 2240 { 2241 m_maxDecPicBufferingMinus1[currLayerId] = dpbSize->getMaxVpsDecPicBufferingMinus1( m_targetDecLayerSetIdx, layerIdx, m_highestTid ); 2229 // According to spec, no dbpSize values are given for OLS 0, however they are used in F.13.5.2.1. 2230 // This might be an issue of the spec. As workaround use sps for OLS 0 here. 2231 2232 if ( m_targetOptLayerSetIdx == 0 ) 2233 { 2234 m_maxNumReorderPics = m_sps->getSpsMaxNumReorderPics ( m_highestTid ); 2235 m_maxLatencyIncreasePlus1 = m_sps->getSpsMaxLatencyIncreasePlus1( m_highestTid ); 2236 m_maxLatencyValue = m_sps->getSpsMaxLatencyPictures ( m_highestTid ); 2237 m_maxDecPicBufferingMinus1[0] = m_sps->getMaxDecPicBuffering ( m_highestTid ); 2238 } 2239 else 2240 { 2241 const TComDpbSize* dpbSize = m_vps->getDpbSize(); 2242 m_maxNumReorderPics = dpbSize->getMaxVpsNumReorderPics ( m_targetOptLayerSetIdx, m_highestTid ); 2243 m_maxLatencyIncreasePlus1 = dpbSize->getMaxVpsLatencyIncreasePlus1( m_targetOptLayerSetIdx, m_highestTid ); 2244 m_maxLatencyValue = dpbSize->getVpsMaxLatencyPictures ( m_targetOptLayerSetIdx, m_highestTid ); 2245 2246 for(Int i = 0; i < MAX_NUM_LAYER_IDS; i++) 2247 { 2248 m_maxDecPicBufferingMinus1[ i ] = MIN_INT; 2249 } 2250 for( Int i = 0; i <= m_vps->getMaxLayersMinus1(); i++ ) 2251 { 2252 Int currLayerId = m_vps->getLayerIdInNuh( i ); 2253 for(Int layerIdx = 0 ; layerIdx < m_vps->getNumLayersInIdList( m_targetDecLayerSetIdx); layerIdx++ ) 2254 { 2255 if( m_vps->getLayerSetLayerIdList( m_targetDecLayerSetIdx, layerIdx ) == currLayerId ) 2256 { 2257 m_maxDecPicBufferingMinus1[currLayerId] = dpbSize->getMaxVpsDecPicBufferingMinus1( m_targetDecLayerSetIdx, layerIdx, m_highestTid ); 2258 } 2242 2259 } 2243 2260 } … … 2673 2690 m_tDecTop[ decIdx ]->setLayerId( layerId ); 2674 2691 m_tDecTop[ decIdx ]->setDecodedPictureHashSEIEnabled(m_decodedPictureHashSEIEnabled); 2692 #if MCTS_ENC_CHECK 2693 m_tDecTop[ decIdx ]->setTMctsCheckEnabled( m_tmctsCheck ); 2694 #endif 2675 2695 m_tDecTop[ decIdx ]->setDpb( &m_dpb ); 2676 2696 m_tDecTop[ decIdx ]->setTargetOlsIdx( m_targetOptLayerSetIdx ); … … 2678 2698 m_tDecTop[ decIdx ]->setPocDecrementedInDPBFlag ( m_pocDecrementedInDpbFlag ); 2679 2699 m_tDecTop[ decIdx ]->setLastPresentPocResetIdc ( m_lastPresentPocResetIdc ); 2680 2681 2682 2700 #if O0043_BEST_EFFORT_DECODING 2683 2701 m_cTDecTop[ decIdx ]->setForceDecodeBitDepth(m_forceDecodeBitDepth);
Note: See TracChangeset for help on using the changeset viewer.