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/TEncGOP.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 *
     
    5555#include "SEIwrite.h"
    5656#include "SEIEncoder.h"
     57#if EXTENSION_360_VIDEO
     58#include "TAppEncHelper360/TExt360EncGop.h"
     59#endif
    5760
    5861#include "TEncAnalyze.h"
     
    9396
    9497  TEncAnalyze             m_gcAnalyzeAll_in;
     98
     99#if EXTENSION_360_VIDEO
     100  TExt360EncGop           m_ext360;
     101public:
     102  TExt360EncGop &getExt360Data() { return m_ext360; }
     103private:
     104#endif
     105
    95106  //  Data
    96107  Bool                    m_bLongtermTestPictureHasBeenCoded;
     
    127138  Int                     m_layerId; 
    128139  Int                     m_viewId;
     140#endif
    129141#if NH_3D
    130142  Int                     m_viewIndex;
    131143  Bool                    m_isDepth;
    132 #endif
    133 #endif
    134 #if NH_3D_IC
     144
    135145  Int*                    m_aICEnableCandidate;
    136146  Int*                    m_aICEnableNum;
     
    153163  Bool                    m_bufferingPeriodSEIPresentInAU;
    154164  SEIEncoder              m_seiEncoder;
    155 #if W0038_DB_OPT
    156165  TComPicYuv*             m_pcDeblockingTempPicYuv;
    157166  Int                     m_DBParam[MAX_ENCODER_DEBLOCKING_QUALITY_LAYERS][4];   //[layer_id][0: available; 1: bDBDisabled; 2: Beta Offset Div2; 3: Tc Offset Div2;]
    158 #endif
    159167
    160168public:
     
    168176#if NH_MV
    169177  Void  initGOP     ( Int iPOCLast, Int iNumPicRcvd, TComList<TComPic*>& rcListPic, TComList<TComPicYuv*>& rcListPicYuvRecOut, std::list<AccessUnit>& accessUnitsInGOP); 
    170   Void  compressPicInGOP ( Int iPOCLast, Int iNumPicRcvd, TComList<TComPic*>& rcListPic, TComList<TComPicYuv*>& rcListPicYuvRec,
    171     std::list<AccessUnit>& accessUnitsInGOP, Bool isField, Bool isTff, const InputColourSpaceConversion snr_conversion, const Bool printFrameMSE, Int iGOPid );
     178  Void compressPicInGOP ( Int iPOCLast, Int iNumPicRcvd, TComList<TComPic*>& rcListPic, TComList<TComPicYuv*>& rcListPicYuvRec,
     179    std::list<AccessUnit>& accessUnitsInGOP, Bool isField, Bool isTff, const InputColourSpaceConversion snr_conversion, const Bool printFrameMSE, const Bool printMSSSIM, Int iGOPid );
    172180#else
    173181  Void  compressGOP ( Int iPOCLast, Int iNumPicRcvd, TComList<TComPic*>& rcListPic, TComList<TComPicYuv*>& rcListPicYuvRec,
     182#if JVET_F0064_MSSSIM
     183                      std::list<AccessUnit>& accessUnitsInGOP, Bool isField, Bool isTff, const InputColourSpaceConversion snr_conversion, const Bool printFrameMSE, const Bool printMSSSIM );
     184#else
    174185                      std::list<AccessUnit>& accessUnitsInGOP, Bool isField, Bool isTff, const InputColourSpaceConversion snr_conversion, const Bool printFrameMSE );
     186#endif
    175187#endif
    176188  Void  xAttachSliceDataToNalUnit (OutputNALUnit& rNalu, TComOutputBitstream* pcBitstreamRedirect);
     
    189201
    190202  TComList<TComPic*>*   getListPic()      { return m_pcListPic; }
     203#if JVET_F0064_MSSSIM 
     204  Void  printOutSummary      ( UInt uiNumAllPicCoded, Bool isField, const Bool printMSEBasedSNR, const Bool printSequenceMSE, const Bool printMSSSIM, const BitDepths &bitDepths );
     205#else
     206
    191207  Void  printOutSummary      ( UInt uiNumAllPicCoded, Bool isField, const Bool printMSEBasedSNR, const Bool printSequenceMSE, const BitDepths &bitDepths );
     208#endif
    192209#if NH_3D_VSO
    193210  Void  preLoopFilterPicAll  ( TComPic* pcPic, Dist64& ruiDist);
     
    204221  Void arrangeLongtermPicturesInRPS(TComSlice *, TComList<TComPic*>& );
    205222
     223  TEncAnalyze& getAnalyzeAllData() { return m_gcAnalyzeAll; }
     224  TEncAnalyze& getAnalyzeIData()   { return m_gcAnalyzeI; }
     225  TEncAnalyze& getAnalyzePData()   { return m_gcAnalyzeP; }
     226  TEncAnalyze& getAnalyzeBData()   { return m_gcAnalyzeB; }
     227
    206228protected:
    207229  TEncRateCtrl* getRateCtrl()       { return m_pcRateCtrl;  }
     
    212234  Void  xGetBuffer        ( TComList<TComPic*>& rcListPic, TComList<TComPicYuv*>& rcListPicYuvRecOut, Int iNumPicRcvd, Int iTimeOffset, TComPic*& rpcPic, TComPicYuv*& rpcPicYuvRecOut, Int pocCurr, Bool isField );
    213235
    214   Void  xCalculateAddPSNRs         ( const Bool isField, const Bool isFieldTopFieldFirst, const Int iGOPid, TComPic* pcPic, const AccessUnit&accessUnit, TComList<TComPic*> &rcListPic, Double dEncTime, const InputColourSpaceConversion snr_conversion, const Bool printFrameMSE );
    215   Void  xCalculateAddPSNR          ( TComPic* pcPic, TComPicYuv* pcPicD, const AccessUnit&, Double dEncTime, const InputColourSpaceConversion snr_conversion, const Bool printFrameMSE );
     236#if JVET_F0064_MSSSIM
     237  Void  xCalculateAddPSNRs         ( const Bool isField, const Bool isFieldTopFieldFirst, const Int iGOPid, TComPic* pcPic, const AccessUnit&accessUnit, TComList<TComPic*> &rcListPic, Double dEncTime, const InputColourSpaceConversion snr_conversion, const Bool printFrameMSE, const Bool printMSSSIM, Double* PSNR_Y );
     238  Void  xCalculateAddPSNR          ( TComPic* pcPic, TComPicYuv* pcPicD, const AccessUnit&, Double dEncTime, const InputColourSpaceConversion snr_conversion, const Bool printFrameMSE, const Bool printMSSSIM, Double* PSNR_Y );
    216239  Void  xCalculateInterlacedAddPSNR( TComPic* pcPicOrgFirstField, TComPic* pcPicOrgSecondField,
    217240                                     TComPicYuv* pcPicRecFirstField, TComPicYuv* pcPicRecSecondField,
    218                                      const InputColourSpaceConversion snr_conversion, const Bool printFrameMSE );
     241                                     const InputColourSpaceConversion snr_conversion, const Bool printFrameMSE, const Bool printMSSSIM, Double* PSNR_Y );
     242  Double xCalculateMSSSIM (const Pel *pOrg, const Int orgStride, const Pel* pRec, const Int recStride, const Int width, const Int height, const UInt bitDepth);
     243#else
     244  Void  xCalculateAddPSNRs         ( const Bool isField, const Bool isFieldTopFieldFirst, const Int iGOPid, TComPic* pcPic, const AccessUnit&accessUnit, TComList<TComPic*> &rcListPic, Double dEncTime, const InputColourSpaceConversion snr_conversion, const Bool printFrameMSE, Double* PSNR_Y );
     245  Void  xCalculateAddPSNR          ( TComPic* pcPic, TComPicYuv* pcPicD, const AccessUnit&, Double dEncTime, const InputColourSpaceConversion snr_conversion, const Bool printFrameMSE, Double* PSNR_Y );
     246  Void  xCalculateInterlacedAddPSNR( TComPic* pcPicOrgFirstField, TComPic* pcPicOrgSecondField,
     247                                     TComPicYuv* pcPicRecFirstField, TComPicYuv* pcPicRecSecondField,
     248                                     const InputColourSpaceConversion snr_conversion, const Bool printFrameMSE, Double* PSNR_Y );
     249#endif
     250
    219251#if NH_3D_VSO
    220252  Dist64 xFindDistortionFrame (TComPicYuv* pcPic0, TComPicYuv* pcPic1, const BitDepths &bitDepths);
     
    245277  Int xWriteSPS (AccessUnit &accessUnit, const TComSPS *sps);
    246278  Int xWritePPS (AccessUnit &accessUnit, const TComPPS *pps);
    247   Int xWriteParameterSets (AccessUnit &accessUnit, TComSlice *slice);
     279#if NH_MV
     280  Int xWriteParameterSets (AccessUnit &accessUnit, TComSlice *slice, const Bool bSeqFirst, const Bool bWriteVps );
     281#else
     282  Int xWriteParameterSets (AccessUnit &accessUnit, TComSlice *slice, const Bool bSeqFirst );
     283#endif
    248284
    249285#if NH_MV
     
    253289
    254290  Void applyDeblockingFilterMetric( TComPic* pcPic, UInt uiNumSlices );
    255 #if W0038_DB_OPT
    256291  Void applyDeblockingFilterParameterSelection( TComPic* pcPic, const UInt numSlices, const Int gopID );
    257 #endif
    258292};// END CLASS DEFINITION TEncGOP
    259293
Note: See TracChangeset for help on using the changeset viewer.