Changeset 1413 in 3DVCSoftware for trunk/source/App/TAppDecoder
- Timestamp:
- 11 Jul 2018, 15:19:49 (6 years ago)
- Location:
- trunk/source/App/TAppDecoder
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/source/App/TAppDecoder/TAppDecCfg.cpp ¶
r1405 r1413 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 * … … 115 115 #endif 116 116 ("ClipOutputVideoToRec709Range", m_bClipOutputVideoToRec709Range, false, "If true then clip output video to the Rec. 709 Range on saving") 117 #if MCTS_ENC_CHECK 118 ("TMCTSCheck", m_tmctsCheck, false, "If enabled, the decoder checks for violations of mc_exact_sample_value_match_flag in Temporal MCTS ") 119 #endif 117 120 ; 118 121 -
TabularUnified trunk/source/App/TAppDecoder/TAppDecCfg.h ¶
r1405 r1413 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 * … … 78 78 std::string m_outputDecodedSEIMessagesFilename; ///< filename to output decoded SEI messages to. If '-', then use stdout. If empty, do not output details. 79 79 Bool m_bClipOutputVideoToRec709Range; ///< If true, clip the output video to the Rec 709 range on saving. 80 #if MCTS_ENC_CHECK 81 Bool m_tmctsCheck; 82 #endif 83 80 84 #if NH_MV 81 85 std::vector<TChar*> m_pchReconFiles; ///< array of output reconstruction file name create from output reconstruction file name … … 122 126 , m_outputDecodedSEIMessagesFilename() 123 127 , m_bClipOutputVideoToRec709Range(false) 128 #if MCTS_ENC_CHECK 129 , m_tmctsCheck(false) 130 #endif 124 131 #if NH_MV 125 132 , m_highestTid(-1) 126 133 , m_targetDecLayerIdSetFileEmpty(true) 127 134 #endif 128 129 135 { 130 136 for (UInt channelTypeIndex = 0; channelTypeIndex < MAX_NUM_CHANNEL_TYPE; channelTypeIndex++) -
TabularUnified trunk/source/App/TAppDecoder/TAppDecTop.cpp ¶
r1405 r1413 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); -
TabularUnified trunk/source/App/TAppDecoder/TAppDecTop.h ¶
r1405 r1413 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 * -
TabularUnified trunk/source/App/TAppDecoder/decmain.cpp ¶
r1405 r1413 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 * … … 70 70 Int curDecoding = 0; 71 71 Double dResult = 0; 72 do { 72 do 73 { 73 74 TAppDecTop cTAppDecTop; 74 75 #endif
Note: See TracChangeset for help on using the changeset viewer.