Changeset 1313 in 3DVCSoftware for trunk/source/Lib/TLibDecoder/TDecSlice.h
- Timestamp:
- 13 Aug 2015, 17:38:13 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/Lib/TLibDecoder/TDecSlice.h
r1179 r1313 2 2 * License, included below. This software may be subject to other third party 3 3 * and contributor rights, including patent rights, and no such rights are 4 * granted under this license. 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-2015, ITU/ISO/IEC6 * Copyright (c) 2010-2015, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * … … 66 66 TDecCu* m_pcCuDecoder; 67 67 68 TDecSbac* m_pcBufferSbacDecoders; ///< line to store temporary contexts, one per column of tiles. 69 TDecBinCABAC* m_pcBufferBinCABACs; 70 TDecSbac* m_pcBufferLowLatSbacDecoders; ///< dependent tiles: line to store temporary contexts, one per column of tiles. 71 TDecBinCABAC* m_pcBufferLowLatBinCABACs; 72 std::vector<TDecSbac*> CTXMem; 73 68 TDecSbac m_lastSliceSegmentEndContextState; ///< context storage for state at the end of the previous slice-segment (used for dependent slices only). 69 TDecSbac m_entropyCodingSyncContextState; ///< context storate for state of contexts at the wavefront/WPP/entropy-coding-sync second CTU of tile-row 70 74 71 public: 75 72 TDecSlice(); 76 73 virtual ~TDecSlice(); 77 74 78 75 Void init ( TDecEntropy* pcEntropyDecoder, TDecCu* pcMbDecoder ); 79 76 Void create (); 80 77 Void destroy (); 81 82 Void decompressSlice ( TComInputBitstream** ppcSubstreams, TComPic*& rpcPic, TDecSbac* pcSbacDecoder, TDecSbac* pcSbacDecoders ); 83 Void initCtxMem( UInt i ); 84 Void setCtxMem( TDecSbac* sb, Int b ) { CTXMem[b] = sb; } 85 Int getCtxMemSize( ) { return (Int)CTXMem.size(); } 78 79 Void decompressSlice ( TComInputBitstream** ppcSubstreams, TComPic* pcPic, TDecSbac* pcSbacDecoder ); 86 80 }; 87 88 89 class ParameterSetManagerDecoder:public ParameterSetManager90 {91 public:92 ParameterSetManagerDecoder();93 virtual ~ParameterSetManagerDecoder();94 Void storePrefetchedVPS(TComVPS *vps) { m_vpsBuffer.storePS( vps->getVPSId(), vps); };95 TComVPS* getPrefetchedVPS (Int vpsId);96 Void storePrefetchedSPS(TComSPS *sps) { m_spsBuffer.storePS( sps->getSPSId(), sps); };97 TComSPS* getPrefetchedSPS (Int spsId);98 Void storePrefetchedPPS(TComPPS *pps) { m_ppsBuffer.storePS( pps->getPPSId(), pps); };99 TComPPS* getPrefetchedPPS (Int ppsId);100 Void applyPrefetchedPS();101 102 private:103 ParameterSetMap<TComVPS> m_vpsBuffer;104 ParameterSetMap<TComSPS> m_spsBuffer;105 ParameterSetMap<TComPPS> m_ppsBuffer;106 };107 108 81 109 82 //! \}
Note: See TracChangeset for help on using the changeset viewer.