Changeset 56 in 3DVCSoftware for trunk/source/Lib/TLibDecoder/TDecGop.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/Lib/TLibDecoder/TDecGop.h

    r5 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     TDecGop.h
    3735    \brief    GOP decoder class (header)
     
    4543#endif // _MSC_VER > 1000
    4644
    47 #include "../TLibCommon/CommonDef.h"
    48 #include "../TLibCommon/TComBitStream.h"
    49 #include "../TLibCommon/TComList.h"
    50 #include "../TLibCommon/TComPicYuv.h"
    51 #include "../TLibCommon/TComPic.h"
    52 #include "../TLibCommon/TComLoopFilter.h"
    53 #include "../TLibCommon/TComAdaptiveLoopFilter.h"
    54 #include "../TLibCommon/TComDepthMapGenerator.h"
     45#include "TLibCommon/CommonDef.h"
     46#include "TLibCommon/TComBitStream.h"
     47#include "TLibCommon/TComList.h"
     48#include "TLibCommon/TComPicYuv.h"
     49#include "TLibCommon/TComPic.h"
     50#include "TLibCommon/TComLoopFilter.h"
     51#include "TLibCommon/TComAdaptiveLoopFilter.h"
     52#include "TLibCommon/TComSampleAdaptiveOffset.h"
     53#include "TLibCommon/TComDepthMapGenerator.h"
    5554#include "../TLibCommon/TComResidualGenerator.h"
    5655
     
    5958#include "TDecBinCoder.h"
    6059#include "TDecBinCoderCABAC.h"
     60
     61//! \ingroup TLibDecoder
     62//! \{
    6163
    6264// ====================================================================================================================
     
    7173  TComList<TComPic*>    m_cListPic;         //  Dynamic buffer
    7274 
     75  Bool m_first;
     76  UInt m_uiILSliceCount;
     77  UInt* m_puiILSliceStartLCU;
     78  std::vector<AlfCUCtrlInfo> m_vAlfCUCtrlSlices;
     79
    7380  //  Access channel
    7481  TDecEntropy*          m_pcEntropyDecoder;
    7582  TDecSbac*             m_pcSbacDecoder;
    7683  TDecBinCABAC*         m_pcBinCABAC;
     84  TDecSbac*             m_pcSbacDecoders; // independant CABAC decoders
     85  TDecBinCABAC*         m_pcBinCABACs;
    7786  TDecCavlc*            m_pcCavlcDecoder;
    7887  TDecSlice*            m_pcSliceDecoder;
    7988  TComLoopFilter*       m_pcLoopFilter;
    80 
    8189#if DEPTH_MAP_GENERATION
    8290  TComDepthMapGenerator*  m_pcDepthMapGenerator;
     
    8896  // Adaptive Loop filter
    8997  TComAdaptiveLoopFilter*       m_pcAdaptiveLoopFilter;
    90 #if MTK_SAO
    91   TComSampleAdaptiveOffset*              m_pcSAO;
    92   SAOParam              m_cSaoParam;
    93 #endif
    94   ALFParam              m_cAlfParam;
     98  TComSampleAdaptiveOffset*     m_pcSAO;
    9599  Double                m_dDecTime;
    96100
    97101  bool m_pictureDigestEnabled; ///< if true, handle picture_digest SEI messages
     102  AlfCUCtrlInfo       m_cAlfCUCtrlOneSlice;
     103#if LCU_SYNTAX_ALF
     104  AlfParamSet           m_alfParamSetPilot;
     105#endif
    98106
    99107public:
     
    107115                 TDecSlice*              pcSliceDecoder,
    108116                 TComLoopFilter*         pcLoopFilter,
    109                  TComAdaptiveLoopFilter* pcAdaptiveLoopFilter,
    110 #if MTK_SAO
    111                  TComSampleAdaptiveOffset*                pcSAO
    112 #endif
     117                 TComAdaptiveLoopFilter* pcAdaptiveLoopFilter
     118                 ,TComSampleAdaptiveOffset* pcSAO
    113119#if DEPTH_MAP_GENERATION
    114                 ,TComDepthMapGenerator*  pcDepthMapGenerator
     120                 ,TComDepthMapGenerator*  pcDepthMapGenerator
    115121#endif
    116122#if HHI_INTER_VIEW_RESIDUAL_PRED
    117                 ,TComResidualGenerator*  pcResidualGenerator 
     123                ,TComResidualGenerator*  pcResidualGenerator
    118124#endif
    119125                 );
    120126  Void  create  ();
    121127  Void  destroy ();
    122   Void  decompressGop ( Bool bEos, TComBitstream* pcBitstream, TComPic*& rpcPic, Bool bExecuteDeblockAndAlf );
     128  Void  decompressGop(TComInputBitstream* pcBitstream, TComPic*& rpcPic, Bool bExecuteDeblockAndAlf );
    123129  Void  setGopSize( Int i) { m_iGopSize = i; }
    124130
    125131  void setPictureDigestEnabled(bool enabled) { m_pictureDigestEnabled = enabled; }
     132  AlfCUCtrlInfo& getAlfCuCtrlParam() { return m_cAlfCUCtrlOneSlice; }
     133#if LCU_SYNTAX_ALF
     134  AlfParamSet& getAlfParamSet() {return m_alfParamSetPilot;}
     135#endif
     136
     137private:
     138#if LCU_SYNTAX_ALF
     139  Void patchAlfLCUParams(ALFParam*** alfLCUParam, AlfParamSet* alfParamSet, Int firstLCUAddr = 0);
     140#endif
     141
     142
    126143};
     144
     145//! \}
    127146
    128147#endif // !defined(AFX_TDECGOP_H__29440B7A_7CC0_48C7_8DD5_1A531D3CED45__INCLUDED_)
Note: See TracChangeset for help on using the changeset viewer.