Changeset 56 in 3DVCSoftware for trunk/source/Lib/TLibDecoder/TDecSlice.h


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

updated trunk (move to HM6.1)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibDecoder/TDecSlice.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     TDecSlice.h
    3735    \brief    slice decoder class (header)
     
    4543#endif // _MSC_VER > 1000
    4644
    47 #include "../TLibCommon/CommonDef.h"
    48 #include "../TLibCommon/TComBitStream.h"
    49 #include "../TLibCommon/TComPic.h"
     45#include "TLibCommon/CommonDef.h"
     46#include "TLibCommon/TComBitStream.h"
     47#include "TLibCommon/TComPic.h"
    5048#include "TDecEntropy.h"
    5149#include "TDecCu.h"
     50#include "TDecSbac.h"
     51#include "TDecBinCoderCABAC.h"
     52
     53//! \ingroup TLibDecoder
     54//! \{
    5255
    5356// ====================================================================================================================
     
    6467  UInt            m_uiCurrSliceIdx;
    6568
     69  TDecSbac*       m_pcBufferSbacDecoders;   ///< line to store temporary contexts, one per column of tiles.
     70  TDecBinCABAC*   m_pcBufferBinCABACs;
     71  TDecSbac*       m_pcBufferLowLatSbacDecoders;   ///< dependent tiles: line to store temporary contexts, one per column of tiles.
     72  TDecBinCABAC*   m_pcBufferLowLatBinCABACs;
     73 
    6674public:
    6775  TDecSlice();
     
    7280  Void  destroy           ();
    7381 
    74   Void  decompressSlice   ( TComBitstream* pcBitstream, TComPic*& rpcPic );
     82  Void  decompressSlice   ( TComInputBitstream* pcBitstream, TComInputBitstream** ppcSubstreams,   TComPic*& rpcPic, TDecSbac* pcSbacDecoder, TDecSbac* pcSbacDecoders );
     83};
    7584
     85
     86class ParameterSetManagerDecoder:public ParameterSetManager
     87{
     88public:
     89  ParameterSetManagerDecoder();
     90  virtual ~ParameterSetManagerDecoder();
     91
     92  Void     storePrefetchedSPS(TComSPS *sps)  { m_spsBuffer.storePS( sps->getSPSId(), sps); };
     93  TComSPS* getPrefetchedSPS  (Int spsId);
     94  Void     storePrefetchedPPS(TComPPS *pps)  { m_ppsBuffer.storePS( pps->getPPSId(), pps); };
     95  TComPPS* getPrefetchedPPS  (Int ppsId);
     96  Void     storePrefetchedAPS(TComAPS *aps)  { m_apsBuffer.storePS( aps->getAPSID(), aps); };
     97  TComAPS* getPrefetchedAPS  (Int apsId);
     98
     99  Void     applyPrefetchedPS();
     100
     101private:
     102  ParameterSetMap<TComSPS> m_spsBuffer;
     103  ParameterSetMap<TComPPS> m_ppsBuffer;
     104  ParameterSetMap<TComAPS> m_apsBuffer;
    76105};
     106
     107
     108//! \}
    77109
    78110#endif
Note: See TracChangeset for help on using the changeset viewer.