Changeset 125 in SHVCSoftware for trunk/source/Lib/TLibEncoder/TEncGOP.h


Ignore:
Timestamp:
16 Apr 2013, 06:39:31 (12 years ago)
Author:
seregin
Message:

copy from HM-10.0-dev-SHM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibEncoder/TEncGOP.h

    r2 r125  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2012, ITU/ISO/IEC
     6 * Copyright (c) 2010-2013, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    4848#include "TLibCommon/TComLoopFilter.h"
    4949#include "TLibCommon/AccessUnit.h"
    50 #include "TEncAdaptiveLoopFilter.h"
    5150#include "TEncSampleAdaptiveOffset.h"
    5251#include "TEncSlice.h"
     
    7675  Bool                    m_bLongtermTestPictureHasBeenCoded;
    7776  Bool                    m_bLongtermTestPictureHasBeenCoded2;
    78 #if LTRP_IN_SPS
    7977  UInt            m_numLongTermRefPicSPS;
    8078  UInt            m_ltRefPicPocLsbSps[33];
    8179  Bool            m_ltRefPicUsedByCurrPicFlag[33];
    82 #endif
    8380  Int                     m_iLastIDR;
    8481  Int                     m_iGopSize;
     
    9592  TEncSlice*              m_pcSliceEncoder;
    9693  TComList<TComPic*>*     m_pcListPic;
    97 
     94 
    9895#if SVC_EXTENSION
    9996  TEncTop**               m_ppcTEncTop;
     
    111108  SEIWriter               m_seiWriter;
    112109 
    113 #if !REMOVE_ALF
    114   // Adaptive Loop filter
    115   TEncAdaptiveLoopFilter* m_pcAdaptiveLoopFilter;
    116 #endif
    117110  //--Adaptive Loop filter
    118111  TEncSampleAdaptiveOffset*  m_pcSAO;
     
    126119  Int                     m_pocCRA;
    127120  std::vector<Int>        m_storedStartCUAddrForEncodingSlice;
    128   std::vector<Int>        m_storedStartCUAddrForEncodingDependentSlice;
     121  std::vector<Int>        m_storedStartCUAddrForEncodingSliceSegment;
    129122
    130123  std::vector<Int> m_vRVM_RP;
    131 #if BUFFERING_PERIOD_AND_TIMING_SEI
    132124  UInt                    m_lastBPSEI;
    133125  UInt                    m_totalCoded;
    134126  UInt                    m_cpbRemovalDelay;
     127  UInt                    m_tl0Idx;
     128  UInt                    m_rapIdx;
     129#if L0045_NON_NESTED_SEI_RESTRICTIONS
     130  Bool                    m_activeParameterSetSEIPresentInAU;
     131  Bool                    m_bufferingPeriodSEIPresentInAU;
     132  Bool                    m_pictureTimingSEIPresentInAU;
    135133#endif
    136134public:
     
    139137 
    140138#if SVC_EXTENSION
    141   Void  create      ( Int iWidth, Int iHeight, UInt iMaxCUWidth, UInt iMaxCUHeight, UInt layerId );
     139  Void  create      ( UInt layerId );
    142140#else
    143   Void  create      ( Int iWidth, Int iHeight, UInt iMaxCUWidth, UInt iMaxCUHeight );
     141  Void  create      ();
    144142#endif
    145143  Void  destroy     ();
     
    162160 
    163161  TEncSlice*  getSliceEncoder()   { return m_pcSliceEncoder; }
    164   NalUnitType getNalUnitType( UInt uiPOCCurr );
    165 #if !REMOVE_APS
    166   Void freeAPS     (TComAPS* pAPS, TComSPS* pSPS);
    167   Void allocAPS    (TComAPS* pAPS, TComSPS* pSPS);
    168 #endif
     162  NalUnitType getNalUnitType( Int pocCurr );
    169163  Void arrangeLongtermPicturesInRPS(TComSlice *, TComList<TComPic*>& );
    170164protected:
    171 #if !REMOVE_APS
    172   Void encodeAPS   (TComAPS* pcAPS, TComOutputBitstream& APSbs, TComSlice* pcSlice);            //!< encode APS syntax elements
    173   Void assignNewAPS(TComAPS& cAPS, Int apsID, std::vector<TComAPS>& vAPS, TComSlice* pcSlice);  //!< Assign APS object into APS container
    174 #endif
    175165  TEncRateCtrl* getRateCtrl()       { return m_pcRateCtrl;  }
    176166
    177167protected:
    178168  Void  xInitGOP          ( Int iPOC, Int iNumPicRcvd, TComList<TComPic*>& rcListPic, TComList<TComPicYuv*>& rcListPicYuvRecOut );
    179   Void  xGetBuffer        ( TComList<TComPic*>& rcListPic, TComList<TComPicYuv*>& rcListPicYuvRecOut, Int iNumPicRcvd, Int iTimeOffset, TComPic*& rpcPic, TComPicYuv*& rpcPicYuvRecOut, UInt uiPOCCurr );
     169  Void  xGetBuffer        ( TComList<TComPic*>& rcListPic, TComList<TComPicYuv*>& rcListPicYuvRecOut, Int iNumPicRcvd, Int iTimeOffset, TComPic*& rpcPic, TComPicYuv*& rpcPicYuvRecOut, Int pocCurr );
    180170 
    181171  Void  xCalculateAddPSNR ( TComPic* pcPic, TComPicYuv* pcPicD, const AccessUnit&, Double dEncTime );
     
    184174
    185175  Double xCalculateRVM();
     176
     177  SEIActiveParameterSets* xCreateSEIActiveParameterSets (TComSPS *sps);
     178  SEIFramePacking*        xCreateSEIFramePacking();
     179  SEIDisplayOrientation*  xCreateSEIDisplayOrientation();
     180
     181  Void xCreateLeadingSEIMessages (/*SEIMessages seiMessages,*/ AccessUnit &accessUnit, TComSPS *sps);
     182#if L0045_NON_NESTED_SEI_RESTRICTIONS
     183  Int xGetFirstSeiLocation (AccessUnit &accessUnit);
     184  Void xResetNonNestedSEIPresentFlags()
     185  {
     186    m_activeParameterSetSEIPresentInAU = false;
     187    m_bufferingPeriodSEIPresentInAU    = false;
     188    m_pictureTimingSEIPresentInAU      = false;
     189  }
     190#endif
    186191};// END CLASS DEFINITION TEncGOP
    187192
     
    192197{
    193198  EXECUTE_INLOOPFILTER,
    194   ENCODE_APS,
    195199  ENCODE_SLICE
    196200};
Note: See TracChangeset for help on using the changeset viewer.