Changeset 1066 in 3DVCSoftware for trunk/source/App/TAppDecoder


Ignore:
Timestamp:
13 Oct 2014, 12:19:36 (10 years ago)
Author:
tech
Message:

Merged 12.0-dev1@1065.

Location:
trunk/source/App/TAppDecoder
Files:
3 edited

Legend:

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

    r872 r1066  
    9494  ("TarDecLayerIdSetFile,l", cfg_TargetDecLayerIdSetFile, string(""), "targetDecLayerIdSet file name. The file should include white space separated LayerId values to be decoded. Omitting the option or a value of -1 in the file decodes all layers.")
    9595  ("RespectDefDispWindow,w", m_respectDefDispWindow, 0, "Only output content inside the default display window\n")
     96#if H_MV
     97#if H_MV_HLS10_GEN_FIX
     98  ("OutputVpsInfo,v", m_outputVpsInfo, false, "Output information about the layer dependencies and layer sets")
     99#endif
     100#endif
    96101  ;
    97102  po::setDefaults(opts);
  • trunk/source/App/TAppDecoder/TAppDecCfg.h

    r964 r1066  
    8080
    8181#if H_MV
     82#if H_MV_HLS10_GEN_FIX
     83  Bool          m_outputVpsInfo;                     ///< Output VPS information
     84#endif
    8285  Void xAppendToFileNameEnd( Char* pchInputFileName, const Char* pchStringToAppend, Char*& rpchOutputFileName); ///< create filenames
    8386#endif
  • trunk/source/App/TAppDecoder/TAppDecTop.cpp

    r976 r1066  
    239239          {
    240240            TComVPS* vps = m_vps;
    241           if ( m_targetOptLayerSetIdx == -1 )
     241            if ( m_targetOptLayerSetIdx == -1 )
     242            {
     243              // Not normative! Corresponds to specification by "External Means". (Should be set equal to 0, when no external means available. )
     244              m_targetOptLayerSetIdx = vps->getVpsNumLayerSetsMinus1();
     245            }
     246
     247            for (Int dI = 0; dI < m_numDecoders; dI++ )
     248            {
     249              m_tDecTop[decIdx]->setTargetOptLayerSetIdx( m_targetOptLayerSetIdx );
     250            }
     251
     252            if ( m_targetOptLayerSetIdx < 0 || m_targetOptLayerSetIdx >= vps->getNumOutputLayerSets() )
     253            {
     254              fprintf(stderr, "\ntarget output layer set index must be in the range of 0 to %d, inclusive \n", vps->getNumOutputLayerSets() - 1 );           
     255              exit(EXIT_FAILURE);
     256            }
     257            m_targetDecLayerIdSet = vps->getTargetDecLayerIdList( m_targetOptLayerSetIdx );
     258          }
     259#if H_MV_HLS10_GEN_FIX
     260          if (m_outputVpsInfo )
    242261          {
    243             // Not normative! Corresponds to specification by "External Means". (Should be set equal to 0, when no external means available. )
    244             m_targetOptLayerSetIdx = vps->getVpsNumLayerSetsMinus1();
     262#if H_MV_HLS10_AUX
     263            m_vps->printScalabilityId();
     264#endif
     265            m_vps->printLayerDependencies();
     266            m_vps->printLayerSets();
     267            m_vps->printPTL();
    245268          }
    246 
    247           for (Int dI = 0; dI < m_numDecoders; dI++ )
    248           {
    249             m_tDecTop[decIdx]->setTargetOptLayerSetIdx( m_targetOptLayerSetIdx );
    250           }
    251 
    252           if ( m_targetOptLayerSetIdx < 0 || m_targetOptLayerSetIdx >= vps->getNumOutputLayerSets() )
    253           {
    254             fprintf(stderr, "\ntarget output layer set index must be in the range of 0 to %d, inclusive \n", vps->getNumOutputLayerSets() - 1 );           
    255             exit(EXIT_FAILURE);
    256           }
    257           m_targetDecLayerIdSet = vps->getTargetDecLayerIdList( m_targetOptLayerSetIdx );
    258         }
    259       }
     269#endif
     270        }
    260271#if H_3D
    261272        if (nalu.m_nalUnitType == NAL_UNIT_VPS )
     
    569580  Int dpbFullness = 0;
    570581#if H_MV
     582#if H_MV_HLS10_ADD_LAYERSETS
     583  TComSPS* activeSPS = m_tDecTop[ decIdx ]->getActiveSPS();
     584#else
    571585  // preliminary fix
    572586  TComSPS* activeSPS = m_tDecTop[0]->getActiveSPS();
     587#endif
    573588#else
    574589  TComSPS* activeSPS = m_cTDecTop.getActiveSPS();
     
    11401155    Int curLayerId = m_tDecTop[dIdx]->getLayerId();
    11411156    Int curLayerIdxInVps = m_vps->getLayerIdInNuh( curLayerId  );
     1157#if H_MV_HLS10_REF_PRED_LAYERS
     1158    if ( m_vps->getDependencyFlag(optLayerIdxInVps, curLayerIdxInVps ) )
     1159#else
    11421160    if ( m_vps->getInDirectDependencyFlag(optLayerIdxInVps, curLayerIdxInVps ) )
     1161#endif
    11431162    {
    11441163      TComPic* curPic = m_ivPicLists.getPic( curLayerId, pocLastPic );
Note: See TracChangeset for help on using the changeset viewer.