Changeset 1413 in 3DVCSoftware for trunk/source/App/TAppDecoder/TAppDecTop.cpp


Ignore:
Timestamp:
11 Jul 2018, 15:19:49 (6 years ago)
Author:
tech
Message:

Merged HTM-16.2-dev@1412

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/App/TAppDecoder/TAppDecTop.cpp

    r1405 r1413  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2016, ITU/ISO/IEC
     6 * Copyright (c) 2010-2017, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    405405  // initialize global variables
    406406  initROM();
    407 #if NH_3D_DMM
     407#if NH_3D
    408408  initWedgeLists();
    409409#endif
     
    474474  m_cTDecTop.init();
    475475  m_cTDecTop.setDecodedPictureHashSEIEnabled(m_decodedPictureHashSEIEnabled);
     476#if MCTS_ENC_CHECK
     477  m_cTDecTop.setTMctsCheckEnabled(m_tmctsCheck);
     478#endif
    476479#if O0043_BEST_EFFORT_DECODING
    477480  m_cTDecTop.setForceDecodeBitDepth(m_forceDecodeBitDepth);
     
    12621265    m_vps->printLayerSets();
    12631266    m_vps->printPTL();
     1267    m_vps->printRepFormat();
    12641268  }
    12651269}
     
    22232227  ////////////////////////////////////////////////////////////////////////////////
    22242228
    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        }
    22422259      }
    22432260    }
     
    26732690    m_tDecTop[ decIdx ]->setLayerId( layerId );
    26742691    m_tDecTop[ decIdx ]->setDecodedPictureHashSEIEnabled(m_decodedPictureHashSEIEnabled);
     2692#if MCTS_ENC_CHECK
     2693    m_tDecTop[ decIdx ]->setTMctsCheckEnabled( m_tmctsCheck );
     2694#endif
    26752695    m_tDecTop[ decIdx ]->setDpb( &m_dpb );
    26762696    m_tDecTop[ decIdx ]->setTargetOlsIdx( m_targetOptLayerSetIdx );
     
    26782698    m_tDecTop[ decIdx ]->setPocDecrementedInDPBFlag   ( m_pocDecrementedInDpbFlag    );
    26792699    m_tDecTop[ decIdx ]->setLastPresentPocResetIdc    ( m_lastPresentPocResetIdc );
    2680 
    2681 
    26822700#if O0043_BEST_EFFORT_DECODING
    26832701    m_cTDecTop[ decIdx ]->setForceDecodeBitDepth(m_forceDecodeBitDepth);
Note: See TracChangeset for help on using the changeset viewer.