Changeset 56 in 3DVCSoftware for trunk/source/App/TAppDecoder/TAppDecTop.h


Ignore:
Timestamp:
11 May 2012, 21:20:17 (12 years ago)
Author:
hschwarz
Message:

updated trunk (move to HM6.1)

File:
1 edited

Legend:

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

    r21 r56  
    22 * License, included below. This software may be subject to other third party
    33 * and contributor rights, including patent rights, and no such rights are
    4  * granted under this license.
     4 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2011, ISO/IEC
     6 * Copyright (c) 2010-2012, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    1515 *    this list of conditions and the following disclaimer in the documentation
    1616 *    and/or other materials provided with the distribution.
    17  *  * Neither the name of the ISO/IEC nor the names of its contributors may
     17 *  * Neither the name of the ITU/ISO/IEC nor the names of its contributors may
    1818 *    be used to endorse or promote products derived from this software without
    1919 *    specific prior written permission.
     
    3232 */
    3333
    34 
    35 
    3634/** \file     TAppDecTop.h
    3735    \brief    Decoder application class (header)
     
    4543#endif // _MSC_VER > 1000
    4644
    47 #include "../../Lib/TLibVideoIO/TVideoIOYuv.h"
    48 #include "../../Lib/TLibVideoIO/TVideoIOBits.h"
    49 #include "../../Lib/TLibCommon/TComList.h"
    50 #include "../../Lib/TLibCommon/TComPicYuv.h"
    51 #include "../../Lib/TLibCommon/TComBitStream.h"
    52 #include "../../Lib/TLibCommon/TComDepthMapGenerator.h"
    53 #include "../../Lib/TLibDecoder/TDecTop.h"
     45#include "TLibVideoIO/TVideoIOYuv.h"
     46#include "TLibCommon/TComList.h"
     47#include "TLibCommon/TComPicYuv.h"
     48#include "TLibCommon/TComDepthMapGenerator.h"
     49#include "TLibDecoder/TDecTop.h"
    5450#include "TAppDecCfg.h"
     51
     52//! \ingroup TAppDecoder
     53//! \{
    5554
    5655// ====================================================================================================================
     
    6362private:
    6463  // class interface
    65   std::vector<TDecTop*>           m_acTDecTopList;
    66   std::vector<TDecTop*>           m_acTDecDepthTopList;
    67   TComBitstream*                  m_apcBitstream;                 ///< bitstream class
    68   TVideoIOBitsStartCode           m_cTVideoIOBitstreamFile;       ///< file I/O class
    69   std::vector<TVideoIOYuv*>       m_acTVideoIOYuvReconFileList;
    70   std::vector<TVideoIOYuv*>       m_acTVideoIOYuvDepthReconFileList;
     64  std::vector<TDecTop*>           m_tDecTop;                      ///< decoder classes
    7165
    72   Bool m_bUsingDepth;
     66  std::vector<TVideoIOYuv*>       m_tVideoIOYuvReconFile;         ///< reconstruction YUV class
    7367
    7468  // for output control
    7569  Bool                            m_abDecFlag[ MAX_GOP ];         ///< decoded flag in one GOP
    76 //  Int                             m_iPOCLastDisplay;              ///< last POC in display order
    77 
    78   std::vector<Bool>               m_abDecFlagList;         ///< decoded flag in one GOP
    79   std::vector<Int>                m_aiPOCLastDisplayList;
    80   std::vector<Int>                m_aiDepthPOCLastDisplayList;
     70  std::vector<Int>                m_pocLastDisplay;               ///< last POC in display order
     71  Bool                            m_useDepth;
    8172
    8273  FILE*                           m_pScaleOffsetFile;
     
    9081  TAppDecTop();
    9182  virtual ~TAppDecTop() {}
    92 
     83 
    9384  Void  create            (); ///< create internal members
    9485  Void  destroy           (); ///< destroy internal members
    9586  Void  decode            (); ///< main decoding function
    96   Void  increaseNumberOfViews   (Int iNewNumberOfViews);
    97   Void  startUsingDepth() ;
     87  Void  increaseNumberOfViews   (Int newNumberOfViewDepth);
     88  TDecTop* getTDecTop     ( Int viewId, Bool isDepth );
    9889
    99 // GT FIX
    100   std::vector<TComPic*> getSpatialRefPics( Int iViewIdx, Int iPoc, Bool bIsDepth );
    101   TComPic* getPicFromView( Int iViewIdx, Int iPoc, bool bDepth );
    102 // GT FIX END
     90  std::vector<TComPic*> getInterViewRefPics( Int viewId, Int poc, Bool isDepth, TComSPS* sps );
     91  TComPic*              getPicFromView     ( Int viewId, Int poc, bool isDepth ) { return xGetPicFromView( viewId, poc, isDepth ); }
    10392
    10493#if DEPTH_MAP_GENERATION
    10594  TComSPSAccess*    getSPSAccess  () { return &m_cSPSAccess;   }
    10695  TComAUPicAccess*  getAUPicAccess() { return &m_cAUPicAccess; }
    107   TDecTop*          getDecTop0    () { return m_acTDecTopList[0]; }
     96  TDecTop*          getDecTop0    () { return m_tDecTop[0]; }
    10897#endif
    10998
    11099protected:
    111   Void  xCreateDecLib     (); ///< create internal classes
     100//  Void  xCreateDecLib     (); ///< create internal classes
    112101  Void  xDestroyDecLib    (); ///< destroy internal classes
    113   Void  xInitDecLib       (); ///< initialize decoder class
     102//  Void  xInitDecLib       (); ///< initialize decoder class
     103 
     104#if H0567_DPB_PARAMETERS_PER_TEMPORAL_LAYER
     105  Void  xWriteOutput      ( TComList<TComPic*>* pcListPic, Int viewDepthId, UInt tId); ///< write YUV to file
     106#else
     107  Void  xWriteOutput      ( TComList<TComPic*>* pcListPic, Int viewDepthId ); ///< write YUV to file
     108#endif
     109  Void  xFlushOutput      ( TComList<TComPic*>* pcListPic, Int viewDepthId ); ///< flush all remaining decoded pictures to file
    114110
    115   Void  xWriteOutput      ( TComList<TComPic*>* pcListPic ); ///< write YUV to file
     111  TComPic* xGetPicFromView( Int viewId, Int poc, Bool isDepth );
    116112};
    117113
     114//! \}
    118115#endif
    119116
Note: See TracChangeset for help on using the changeset viewer.