source: 3DVCSoftware/trunk/source/Lib/TLibDecoder/TDecGop.h @ 2

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

inital import

  • Property svn:eol-style set to native
File size: 2.7 KB
Line 
1
2
3/** \file     TDecGop.h
4    \brief    GOP decoder class (header)
5*/
6
7#ifndef __TDECGOP__
8#define __TDECGOP__
9
10#if _MSC_VER > 1000
11#pragma once
12#endif // _MSC_VER > 1000
13
14#include "../TLibCommon/CommonDef.h"
15#include "../TLibCommon/TComBitStream.h"
16#include "../TLibCommon/TComList.h"
17#include "../TLibCommon/TComPicYuv.h"
18#include "../TLibCommon/TComPic.h"
19#include "../TLibCommon/TComLoopFilter.h"
20#include "../TLibCommon/TComAdaptiveLoopFilter.h"
21#include "../TLibCommon/TComDepthMapGenerator.h"
22#include "../TLibCommon/TComResidualGenerator.h"
23
24#include "TDecEntropy.h"
25#include "TDecSlice.h"
26#include "TDecBinCoder.h"
27#include "TDecBinCoderCABAC.h"
28
29// ====================================================================================================================
30// Class definition
31// ====================================================================================================================
32
33/// GOP decoder class
34class TDecGop
35{
36private:
37  Int                   m_iGopSize;
38  TComList<TComPic*>    m_cListPic;         //  Dynamic buffer
39 
40  //  Access channel
41  TDecEntropy*          m_pcEntropyDecoder;
42  TDecSbac*             m_pcSbacDecoder;
43  TDecBinCABAC*         m_pcBinCABAC;
44  TDecCavlc*            m_pcCavlcDecoder;
45  TDecSlice*            m_pcSliceDecoder;
46  TComLoopFilter*       m_pcLoopFilter;
47
48  TComDepthMapGenerator*  m_pcDepthMapGenerator;
49  TComResidualGenerator*  m_pcResidualGenerator;
50 
51  // Adaptive Loop filter
52  TComAdaptiveLoopFilter*       m_pcAdaptiveLoopFilter;
53#if MTK_SAO
54  TComSampleAdaptiveOffset*              m_pcSAO;
55  SAOParam              m_cSaoParam;
56#endif
57  ALFParam              m_cAlfParam;
58  Double                m_dDecTime;
59
60  bool m_pictureDigestEnabled; ///< if true, handle picture_digest SEI messages
61
62public:
63  TDecGop();
64  virtual ~TDecGop();
65 
66  Void  init    ( TDecEntropy*            pcEntropyDecoder, 
67                 TDecSbac*               pcSbacDecoder, 
68                 TDecBinCABAC*           pcBinCABAC,
69                 TDecCavlc*              pcCavlcDecoder, 
70                 TDecSlice*              pcSliceDecoder, 
71                 TComLoopFilter*         pcLoopFilter, 
72                 TComAdaptiveLoopFilter* pcAdaptiveLoopFilter,
73#if MTK_SAO
74                 TComSampleAdaptiveOffset*                pcSAO,
75#endif
76                 TComDepthMapGenerator*  pcDepthMapGenerator,
77                 TComResidualGenerator*  pcResidualGenerator );
78  Void  create  ();
79  Void  destroy ();
80  Void  decompressGop ( Bool bEos, TComBitstream* pcBitstream, TComPic*& rpcPic, Bool bExecuteDeblockAndAlf );
81  Void  setGopSize( Int i) { m_iGopSize = i; }
82
83  void setPictureDigestEnabled(bool enabled) { m_pictureDigestEnabled = enabled; }
84};
85
86#endif // !defined(AFX_TDECGOP_H__29440B7A_7CC0_48C7_8DD5_1A531D3CED45__INCLUDED_)
87
Note: See TracBrowser for help on using the repository browser.