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


Ignore:
Timestamp:
16 Jan 2014, 09:56:13 (10 years ago)
Author:
tech
Message:

Merged branch/9.2-dev0@722.

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

Legend:

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

    r738 r773  
    8585  ("OutputBitDepthC,d", m_outputBitDepthC, 0, "bit depth of YUV output chroma component (default: use 0 for native depth)")
    8686#if H_MV
    87 #if H_MV_6_HRD_O0217_13
    8887  ("TargetOptLayerSetIdx,x", m_targetOptLayerSetIdx, -1, "Target output layer set index. (default: -1, determine automatically to be equal to highest layer set index") // Should actually equal to 0 as default. However, this would cause only the base layer to be decoded. 
    89 #else
    90   ("MaxLayerId,-ls", m_maxLayerId, MAX_NUM_LAYER_IDS-1, "Maximum LayerId to be decoded.")
    91 #endif
    9288#endif
    9389  ("MaxTemporalLayer,t", m_iMaxTemporalLayer, -1, "Maximum Temporal Layer to be decoded. -1 to decode all layers")
     
    128124  if ( !cfg_TargetDecLayerIdSetFile.empty() )
    129125  {
    130 #if H_MV_6_HRD_O0217_13
     126#if H_MV
    131127    m_targetDecLayerIdSetFileEmpty = false;     
    132128#endif
     
    174170  }
    175171#if H_MV
    176 #if H_MV_6_HRD_O0217_13
    177172  m_targetDecLayerIdSet.push_back( 0 );         // Only base layer at startup
    178 #else
    179   else
    180   {
    181     for ( Int curLayerId = 0; curLayerId <= m_maxLayerId; curLayerId++ )
    182     {
    183       m_targetDecLayerIdSet.push_back( curLayerId );
    184     }
    185   }
    186 #endif
    187173#endif
    188174
  • trunk/source/App/TAppDecoder/TAppDecCfg.h

    r738 r773  
    5959  Char*         m_pchBitstreamFile;                   ///< input bitstream file name
    6060#if H_MV
    61 #if H_MV_6_HRD_O0217_13
    6261  Int           m_targetOptLayerSetIdx;               ///< target output layer set index
    63 #endif
    6462  Int           m_maxLayerId;                         ///< maximum nuh_layer_id decoded
    6563  std::vector<Char*> m_pchReconFiles;                 ///< array of output reconstruction file name create from output reconstruction file name
     
    7775
    7876  std::vector<Int> m_targetDecLayerIdSet;             ///< set of LayerIds to be included in the sub-bitstream extraction process.
    79 #if H_MV_6_HRD_O0217_13
     77#if H_MV
    8078  Bool          m_targetDecLayerIdSetFileEmpty;      ///< indication if target layers are given by file
    8179#endif
     
    8886  TAppDecCfg()
    8987  : m_pchBitstreamFile(NULL)
    90 #if H_MV
    91 #if !H_MV_6_HRD_O0217_13
    92   , m_maxLayerId(0)
    93 #endif
    94 #endif
    9588  , m_pchReconFile(NULL)
    9689  , m_iSkipFrame(0)
     
    9992  , m_iMaxTemporalLayer(-1)
    10093  , m_decodedPictureHashSEIEnabled(0)
    101 #if H_MV_6_HRD_O0217_13
     94#if H_MV
    10295  , m_targetDecLayerIdSetFileEmpty(true)
    10396#endif
  • trunk/source/App/TAppDecoder/TAppDecTop.cpp

    r738 r773  
    6161{
    6262#if H_MV
    63 #if H_MV_LAYER_WISE_STARTUP
    6463  for (Int i = 0; i < MAX_NUM_LAYER_IDS; i++)
    6564  {
     
    6766    m_layerInitilizedFlags[i] = false;
    6867  }
    69 #else
    70   for (Int i = 0; i < MAX_NUM_LAYER_IDS; i++) m_layerIdToDecIdx[i] = -1;
    71 #endif
    7268#endif
    7369#if H_3D
     
    192188    Bool newSliceDiffPoc   = false;
    193189    Bool newSliceDiffLayer = false;
    194 #if H_MV_FIX_SKIP_PICTURES
    195190    Bool sliceSkippedFlag = false;
    196 #endif
    197191#if H_3D
    198192    Bool allLayersDecoded  = false;     
     
    212206      read(nalu, nalUnit);
    213207#if H_MV     
    214 #if !H_MV_6_HRD_O0217_13
    215       Int decIdx     = xGetDecoderIdx( nalu.m_layerId , true );
    216 #endif
    217 #if H_MV_6_LAYER_ID_32
    218208      if( (m_iMaxTemporalLayer >= 0 && nalu.m_temporalId > m_iMaxTemporalLayer) || !isNaluWithinTargetDecLayerIdSet(&nalu) || nalu.m_layerId > MAX_NUM_LAYER_IDS-1 )
    219 #else           
    220       if( (m_iMaxTemporalLayer >= 0 && nalu.m_temporalId > m_iMaxTemporalLayer) || !isNaluWithinTargetDecLayerIdSet(&nalu) )
    221 #endif
    222209      {
    223210        bNewPicture = false;
    224 #if H_MV_6_LAYER_ID_32
    225211        if ( !bitstreamFile )
    226212        {
    227213          decIdxLastPic     = decIdxCurrPic;
    228214        }
    229 #endif
    230215      }
    231216      else
    232217      {
    233 #if H_MV_6_HRD_O0217_13
    234218        Int decIdx     = xGetDecoderIdx( nalu.m_layerId , true );     
    235 #endif
    236219        newSliceDiffLayer = nalu.isSlice() && ( nalu.m_layerId != layerIdCurrPic ) && !firstSlice;
    237 #if H_MV_FIX_SKIP_PICTURES
    238220        newSliceDiffPoc   = m_tDecTop[decIdx]->decode(nalu, m_iSkipFrame, m_pocLastDisplay[decIdx], newSliceDiffLayer, sliceSkippedFlag );
    239 #else
    240         newSliceDiffPoc   = m_tDecTop[decIdx]->decode(nalu, m_iSkipFrame, m_pocLastDisplay[decIdx], newSliceDiffLayer );
    241 #endif
    242221        // decode function only returns true when all of the following conditions are true
    243222        // - poc in particular layer changes
     
    245224        // - nalu.isSlice() == true     
    246225
    247 #if H_MV_6_HRD_O0217_13
    248226        // Update TargetDecLayerIdList only when not specified by layer id file, specification by file might actually out of conformance.
    249227        if (nalu.m_nalUnitType == NAL_UNIT_VPS && m_targetDecLayerIdSetFileEmpty )
     
    258236          m_targetDecLayerIdSet = vps->getTargetDecLayerIdList( m_targetOptLayerSetIdx );
    259237        }
    260 #endif
    261 #if H_MV_FIX_SKIP_PICTURES
    262238        bNewPicture       = ( newSliceDiffLayer || newSliceDiffPoc ) && !sliceSkippedFlag;
    263239        if ( nalu.isSlice() && firstSlice && !sliceSkippedFlag )       
    264 #else
    265         bNewPicture       = newSliceDiffLayer || newSliceDiffPoc;
    266 
    267         if ( nalu.isSlice() && firstSlice )
    268 #endif
    269240        {
    270241          layerIdCurrPic = nalu.m_layerId;
     
    881852  Int decIdx = -1;
    882853
    883 #if H_MV_6_LAYER_ID_32
    884854  if ( layerId > MAX_NUM_LAYER_IDS-1 ) 
    885855  {
    886856    return decIdx;
    887857  }
    888 #endif
    889858
    890859  if ( m_layerIdToDecIdx[ layerId ] != -1 )
     
    906875    m_tDecTop[ decIdx ]->setDecodedPictureHashSEIEnabled(m_decodedPictureHashSEIEnabled);
    907876    m_tDecTop[ decIdx ]->setIvPicLists( &m_ivPicLists );
    908 #if H_MV_LAYER_WISE_STARTUP
    909877    m_tDecTop[ decIdx ]->setLayerInitilizedFlags( m_layerInitilizedFlags );
    910 #endif
    911878
    912879#if H_3D
  • trunk/source/App/TAppDecoder/TAppDecTop.h

    r738 r773  
    6767  Int                             m_numDecoders;                               ///< number of decoder instances
    6868  TComPicLists                    m_ivPicLists;                                ///< picture buffers of decoder instances
    69 #if H_MV_LAYER_WISE_STARTUP
    7069  Bool                            m_layerInitilizedFlags[ MAX_NUM_LAYER_IDS ]; ///< for layerwise startup
    71 #endif
    7270
    7371#else
Note: See TracChangeset for help on using the changeset viewer.