Ignore:
Timestamp:
23 May 2013, 15:40:36 (12 years ago)
Author:
tech
Message:

Integrated 3D encoder control, camera parameters, renderer and MV fixes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-0.2-dev/source/App/TAppDecoder/TAppDecTop.h

    r401 r438  
    7474  // for output control
    7575  Bool                            m_abDecFlag[ MAX_GOP ];         ///< decoded flag in one GOP
     76
    7677#if H_MV
    7778  Int                             m_pocLastDisplay      [ MAX_NUM_LAYERS ]; ///< last POC in display order
     
    8990  Void  decode            (); ///< main decoding function
    9091 
     92
    9193protected:
    9294  Void  xCreateDecLib     (); ///< create internal classes
     
    9799  Void  xWriteOutput      ( TComList<TComPic*>* pcListPic, Int layerId, Int tId ); ///< write YUV to file
    98100  Void  xFlushOutput      ( TComList<TComPic*>* pcListPic, Int layerId ); ///< flush all remaining decoded pictures to file
    99   Int   xGetDecoderIdx    ( Int layerId, Bool createFlag = false );
     101  Int   xGetDecoderIdx    ( Int layerId, Bool createFlag = false )
     102  {
     103    Int decIdx = -1;
     104    if ( m_layerIdToDecIdx[ layerId ] != -1 )
     105    {     
     106      decIdx = m_layerIdToDecIdx[ layerId ];
     107    }
     108    else
     109    {     
     110      assert ( createFlag );
     111      assert( m_numDecoders < MAX_NUM_LAYERS );
     112
     113      decIdx = m_numDecoders;
     114     
     115      // Init decoder
     116      m_tDecTop[ decIdx ] =  new TDecTop;
     117      m_tDecTop[ decIdx ]->create();
     118      m_tDecTop[ decIdx ]->init( );
     119      m_tDecTop[ decIdx ]->setLayerId( layerId );
     120      m_tDecTop[ decIdx ]->setDecodedPictureHashSEIEnabled(m_decodedPictureHashSEIEnabled);
     121      m_tDecTop[ decIdx ]->setIvPicLists( &m_ivPicLists );
     122     
     123      // append pic list of new decoder to PicLists
     124      assert( m_ivPicLists.size() == m_numDecoders );
     125      m_ivPicLists.push_back( m_tDecTop[ decIdx ]->getListPic() );
     126
     127      // create recon file related stuff     
     128      Char* pchTempFilename = NULL;
     129      if ( m_pchReconFile )
     130      {     
     131        Char buffer[4];     
     132        sprintf(buffer,"_%i", layerId );
     133        assert ( m_pchReconFile );
     134        xAppendToFileNameEnd( m_pchReconFile , buffer, pchTempFilename );
     135        assert( m_pchReconFiles.size() == m_numDecoders );
     136      }
     137
     138      m_pchReconFiles.push_back( pchTempFilename );   
     139
     140      m_tVideoIOYuvReconFile[ decIdx ] = new TVideoIOYuv;
     141      m_reconOpen           [ decIdx ] = false;
     142
     143      // set others
     144      m_pocLastDisplay      [ decIdx ] = -MAX_INT;
     145      m_layerIdToDecIdx     [ layerId ] = decIdx;
     146
     147      m_numDecoders++;
     148    };
     149    return decIdx;
     150  }
    100151#else
    101152  Void  xWriteOutput      ( TComList<TComPic*>* pcListPic , UInt tId); ///< write YUV to file
    102153  Void  xFlushOutput      ( TComList<TComPic*>* pcListPic ); ///< flush all remaining decoded pictures to file
    103154#endif
     155
    104156  Bool  isNaluWithinTargetDecLayerIdSet ( InputNALUnit* nalu ); ///< check whether given Nalu is within targetDecLayerIdSet
    105157};
Note: See TracChangeset for help on using the changeset viewer.