Ignore:
Timestamp:
12 Apr 2018, 11:12:21 (7 years ago)
Author:
tech
Message:
  • Update HM-16.18
  • Cleanups
  • Encoder Extension

-- Representation formats
-- Parameter set sharing
-- GOP configuration

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-16.2-dev/source/Lib/TLibEncoder/TEncTop.h

    r1405 r1412  
    44 * granted under this license.
    55 *
    6  * Copyright (c) 2010-2016, ITU/ISO/IEC
     6 * Copyright (c) 2010-2017, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    8383  TComPicLists*           m_ivPicLists;                   ///< access to picture lists of other layers
    8484#endif
    85 #if NH_3D_IC
     85#if NH_3D
    8686  Int *m_aICEnableCandidate;
    8787  Int *m_aICEnableNum;
     
    104104  TEncSlice               m_cSliceEncoder;                ///< slice encoder
    105105  TEncCu                  m_cCuEncoder;                   ///< CU encoder
     106
     107#if NH_3D 
     108  TComSps3dExtension     m_sps3dExtension;
     109#endif
     110
    106111  // SPS
    107   TComSPS                 m_cSPS;                         ///< SPS. This is the base value. This is copied to TComPicSym
    108   TComPPS                 m_cPPS;                         ///< PPS. This is the base value. This is copied to TComPicSym
     112#if NH_MV
     113  ParameterSetMap<TComSPS>& m_spsMap;                      ///< SPS. This is the base value. This is copied to TComPicSym
     114  ParameterSetMap<TComPPS>& m_ppsMap;                      ///< PPS. This is the base value. This is copied to TComPicSym
     115#else
     116  ParameterSetMap<TComSPS> m_spsMap;                      ///< SPS. This is the base value. This is copied to TComPicSym
     117  ParameterSetMap<TComPPS> m_ppsMap;                      ///< PPS. This is the base value. This is copied to TComPicSym
     118#endif
    109119  // RD cost computation
    110120  TComRdCost              m_cRdCost;                      ///< RD cost computation class
     
    135145  TEncAnalyze             m_cAnalyzeAll_in;
    136146#endif
     147 
    137148protected:
    138   Void  xGetNewPicBuffer  ( TComPic*& rpcPic );           ///< get picture buffer which will be processed
    139   Void  xInitVPS          ();                             ///< initialize VPS from encoder options
    140   Void  xInitSPS          ();                             ///< initialize SPS from encoder options
    141   Void  xInitPPS          ();                             ///< initialize PPS from encoder options
    142   Void  xInitScalingLists();                              ///< initialize scaling lists
    143   Void  xInitHrdParameters();                             ///< initialize HRD parameters
    144 
    145   Void  xInitPPSforTiles  ();
    146   Void  xInitRPS          (Bool isFieldCoding);           ///< initialize PPS from encoder options
     149  Void  xGetNewPicBuffer  ( TComPic*& rpcPic, Int ppsId ); ///< get picture buffer which will be processed. If ppsId<0, then the ppsMap will be queried for the first match.
     150  Void  xInitVPS          (TComVPS &vps, const TComSPS &sps); ///< initialize VPS from encoder options
     151  Void  xInitSPS          (TComSPS &sps);                 ///< initialize SPS from encoder options
     152  Void  xInitPPS          (TComPPS &pps, const TComSPS &sps) const; ///< initialize PPS from encoder options
     153  Void  xInitScalingLists (TComSPS &sps, TComPPS &pps);   ///< initialize scaling lists
     154  Void  xInitHrdParameters(TComSPS &sps);                 ///< initialize HRD parameters
     155
     156#if NH_MV 
     157  Int   xGetPsIdAndPsLayerId      ( );
     158
     159  Void  xInitPPSforTiles  (TComPPS &pps) const ;
     160#else
     161  Void  xInitPPSforTiles  (TComPPS &pps);
     162#endif
     163  Void  xInitRPS          (TComSPS &sps, Bool isFieldCoding);           ///< initialize PPS from encoder options
    147164
    148165public:
     166#if NH_MV
     167  TEncTop( ParameterSetMap<TComSPS>& spsMap, ParameterSetMap<TComPPS>& ppsMap );
     168#else
    149169  TEncTop();
     170#endif
    150171  virtual ~TEncTop();
    151172
     
    160181  TComPicLists* getIvPicLists() { return m_ivPicLists; }
    161182#endif
    162 #if NH_3D_IC
     183#if NH_3D
    163184  Int*      getICEnableCandidate() { return m_aICEnableCandidate; }
    164185  Int*      getICEnableNum() { return m_aICEnableNum; }
     
    212233#endif
    213234#if NH_3D
    214   Void                    setSps3dExtension     ( TComSps3dExtension sps3dExtension ) { m_cSPS.setSps3dExtension( sps3dExtension );  };
    215 #endif
    216 #if NH_3D_IC
     235  Void                    setSps3dExtension     ( TComSps3dExtension sps3dExtension ) { m_sps3dExtension = sps3dExtension;  };
    217236  Void                    setICEnableCandidate         ( Int* ICEnableCandidate) { m_aICEnableCandidate = ICEnableCandidate; }
    218237  Void                    setICEnableNum         ( Int* ICEnableNum) { m_aICEnableNum = ICEnableNum; }
    219238#endif
     239
     240#if JCTVC_Y0038_PARAMS
     241#if NH_MV
     242  Void                   setParamSetChanged(Int iD, Bool isPps );
     243#else
     244  Void                   setParamSetChanged(Int spsId, Int ppsId);
     245#endif
     246#endif
     247  Bool                   PPSNeedsWriting(Int ppsId);
     248  Bool                   SPSNeedsWriting(Int spsId);
     249
    220250  // -------------------------------------------------------------------------------------------------------------------
    221251  // encoder function
     
    248278               std::list<AccessUnit>& accessUnitsOut, Int& iNumEncoded, Bool isTff);
    249279#endif
    250   Void printSummary(Bool isField) { m_cGOPEncoder.printOutSummary (m_uiNumAllPicCoded, isField, m_printMSEBasedSequencePSNR, m_printSequenceMSE, m_cSPS.getBitDepths()); }
     280#if JVET_F0064_MSSSIM
     281  Void printSummary(Bool isField) { m_cGOPEncoder.printOutSummary (m_uiNumAllPicCoded, isField, m_printMSEBasedSequencePSNR, m_printSequenceMSE, m_printMSSSIM, m_spsMap.getFirstPS()->getBitDepths()); }
     282#else
     283  Void printSummary(Bool isField) { m_cGOPEncoder.printOutSummary (m_uiNumAllPicCoded, isField, m_printMSEBasedSequencePSNR, m_printSequenceMSE, m_spsMap.getFirstPS()->getBitDepths()); }
     284#endif
    251285
    252286#if NH_3D_VSO
Note: See TracChangeset for help on using the changeset viewer.