source: 3DVCSoftware/branches/0.1-poznan-univ/source/App/TAppDecoder/TAppDecTop.h

Last change on this file was 2, checked in by hhi, 13 years ago

inital import

  • Property svn:eol-style set to native
File size: 2.8 KB
Line 
1
2
3/** \file     TAppDecTop.h
4    \brief    Decoder application class (header)
5*/
6
7#ifndef __TAPPDECTOP__
8#define __TAPPDECTOP__
9
10#if _MSC_VER > 1000
11#pragma once
12#endif // _MSC_VER > 1000
13
14#include "../../Lib/TLibVideoIO/TVideoIOYuv.h"
15#include "../../Lib/TLibVideoIO/TVideoIOBits.h"
16#include "../../Lib/TLibCommon/TComList.h"
17#include "../../Lib/TLibCommon/TComPicYuv.h"
18#include "../../Lib/TLibCommon/TComBitStream.h"
19#include "../../Lib/TLibCommon/TComDepthMapGenerator.h"
20#include "../../Lib/TLibDecoder/TDecTop.h"
21#include "TAppDecCfg.h"
22
23// ====================================================================================================================
24// Class definition
25// ====================================================================================================================
26
27/// decoder application class
28class TAppDecTop : public TAppDecCfg
29{
30private:
31  // class interface
32  std::vector<TDecTop*>           m_acTDecTopList;
33  std::vector<TDecTop*>           m_acTDecDepthTopList;
34  TComBitstream*                  m_apcBitstream;                 ///< bitstream class
35  TVideoIOBitsStartCode           m_cTVideoIOBitstreamFile;       ///< file I/O class
36  std::vector<TVideoIOYuv*>       m_acTVideoIOYuvReconFileList;
37  std::vector<TVideoIOYuv*>       m_acTVideoIOYuvDepthReconFileList;
38 
39  Bool m_bUsingDepth;
40
41  // for output control
42  //SB can be deleted?
43  Bool                            m_abDecFlag[ MAX_GOP ];         ///< decoded flag in one GOP
44//  Int                             m_iPOCLastDisplay;              ///< last POC in display order
45
46  std::vector<Bool>               m_abDecFlagList;         ///< decoded flag in one GOP
47  std::vector<Int>                m_aiPOCLastDisplayList;
48  std::vector<Int>                m_aiDepthPOCLastDisplayList;
49
50  FILE*                           m_pScaleOffsetFile;
51  CamParsCollector                m_cCamParsCollector;
52  TComSPSAccess                   m_cSPSAccess;
53  TComAUPicAccess                 m_cAUPicAccess;
54 
55public:
56  TAppDecTop();
57  virtual ~TAppDecTop() {}
58 
59  Void  create            (); ///< create internal members
60  Void  destroy           (); ///< destroy internal members
61  Void  decode            (); ///< main decoding function
62  Void  increaseNumberOfViews   (Int iNewNumberOfViews);
63  Void  startUsingDepth() ;
64
65// GT FIX
66  std::vector<TComPic*> getSpatialRefPics( Int iViewIdx, Int iPoc, Bool bIsDepth );
67  TComPic* getPicFromView( Int iViewIdx, Int iPoc, bool bDepth );
68// GT FIX END
69
70  TComSPSAccess*    getSPSAccess  () { return &m_cSPSAccess;   }
71  TComAUPicAccess*  getAUPicAccess() { return &m_cAUPicAccess; }
72 
73protected:
74  Void  xCreateDecLib     (); ///< create internal classes
75  Void  xDestroyDecLib    (); ///< destroy internal classes
76  Void  xInitDecLib       (); ///< initialize decoder class
77 
78  Void  xWriteOutput      ( TComList<TComPic*>* pcListPic ); ///< write YUV to file
79};
80
81#endif
82
Note: See TracBrowser for help on using the repository browser.