HEVC Test Model (HM)  HM-16.18
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TEncGOP.h
Go to the documentation of this file.
1 /* The copyright in this software is being made available under the BSD
2  * License, included below. This software may be subject to other third party
3  * and contributor rights, including patent rights, and no such rights are
4  * granted under this license.
5  *
6  * Copyright (c) 2010-2017, ITU/ISO/IEC
7  * All rights reserved.
8  *
9  * Redistribution and use in source and binary forms, with or without
10  * modification, are permitted provided that the following conditions are met:
11  *
12  * * Redistributions of source code must retain the above copyright notice,
13  * this list of conditions and the following disclaimer.
14  * * Redistributions in binary form must reproduce the above copyright notice,
15  * this list of conditions and the following disclaimer in the documentation
16  * and/or other materials provided with the distribution.
17  * * Neither the name of the ITU/ISO/IEC nor the names of its contributors may
18  * be used to endorse or promote products derived from this software without
19  * specific prior written permission.
20  *
21  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
25  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
31  * THE POSSIBILITY OF SUCH DAMAGE.
32  */
33 
38 #ifndef __TENCGOP__
39 #define __TENCGOP__
40 
41 #include <list>
42 
43 #include <stdlib.h>
44 
45 #include "TLibCommon/TComList.h"
46 #include "TLibCommon/TComPic.h"
49 #include "TLibCommon/AccessUnit.h"
51 #include "TEncSlice.h"
52 #include "TEncEntropy.h"
53 #include "TEncCavlc.h"
54 #include "TEncSbac.h"
55 #include "SEIwrite.h"
56 #include "SEIEncoder.h"
57 #if EXTENSION_360_VIDEO
58 #include "TAppEncHelper360/TExt360EncGop.h"
59 #endif
60 
61 #include "TEncAnalyze.h"
62 #include "TEncRateCtrl.h"
63 #include <vector>
64 
67 
68 class TEncTop;
69 
70 // ====================================================================================================================
71 // Class definition
72 // ====================================================================================================================
73 
74 class TEncGOP
75 {
76  class DUData
77  {
78  public:
80  :accumBitsDU(0)
81  ,accumNalsDU(0) {};
82 
85  };
86 
87 private:
88 
93 
95 
96 #if EXTENSION_360_VIDEO
97  TExt360EncGop m_ext360;
98 public:
99  TExt360EncGop &getExt360Data() { return m_ext360; }
100 private:
101 #endif
102 
103  // Data
114 
115  // Access channel
120 
126 
128 
129  //--Adaptive Loop filter
132  // indicate sequence first
134 
135  // clean decoding refresh
140 
141  std::vector<Int> m_vRVM_RP;
147  Int m_DBParam[MAX_ENCODER_DEBLOCKING_QUALITY_LAYERS][4]; //[layer_id][0: available; 1: bDBDisabled; 2: Beta Offset Div2; 3: Tc Offset Div2;]
148 
149 public:
150  TEncGOP();
151  virtual ~TEncGOP();
152 
153  Void create ();
154  Void destroy ();
155 
156  Void init ( TEncTop* pcTEncTop );
157  Void compressGOP ( Int iPOCLast, Int iNumPicRcvd, TComList<TComPic*>& rcListPic, TComList<TComPicYuv*>& rcListPicYuvRec,
159  std::list<AccessUnit>& accessUnitsInGOP, Bool isField, Bool isTff, const InputColourSpaceConversion snr_conversion, const Bool printFrameMSE, const Bool printMSSSIM );
160 #else
161  std::list<AccessUnit>& accessUnitsInGOP, Bool isField, Bool isTff, const InputColourSpaceConversion snr_conversion, const Bool printFrameMSE );
162 #endif
163  Void xAttachSliceDataToNalUnit (OutputNALUnit& rNalu, TComOutputBitstream* pcBitstreamRedirect);
164 
165 
166  Int getGOPSize() { return m_iGopSize; }
167 
169 
170 #if JVET_F0064_MSSSIM
171  Void printOutSummary ( UInt uiNumAllPicCoded, Bool isField, const Bool printMSEBasedSNR, const Bool printSequenceMSE, const Bool printMSSSIM, const BitDepths &bitDepths );
172 #else
173  Void printOutSummary ( UInt uiNumAllPicCoded, Bool isField, const Bool printMSEBasedSNR, const Bool printSequenceMSE, const BitDepths &bitDepths );
174 #endif
175  Void preLoopFilterPicAll ( TComPic* pcPic, UInt64& ruiDist );
176 
178  NalUnitType getNalUnitType( Int pocCurr, Int lastIdr, Bool isField );
180 
185 
186 protected:
188 
189 protected:
190 
191  Void xInitGOP ( Int iPOCLast, Int iNumPicRcvd, Bool isField );
192  Void xGetBuffer ( TComList<TComPic*>& rcListPic, TComList<TComPicYuv*>& rcListPicYuvRecOut, Int iNumPicRcvd, Int iTimeOffset, TComPic*& rpcPic, TComPicYuv*& rpcPicYuvRecOut, Int pocCurr, Bool isField );
193 
194 #if JVET_F0064_MSSSIM
195  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 );
196  Void xCalculateAddPSNR ( TComPic* pcPic, TComPicYuv* pcPicD, const AccessUnit&, Double dEncTime, const InputColourSpaceConversion snr_conversion, const Bool printFrameMSE, const Bool printMSSSIM, Double* PSNR_Y );
197  Void xCalculateInterlacedAddPSNR( TComPic* pcPicOrgFirstField, TComPic* pcPicOrgSecondField,
198  TComPicYuv* pcPicRecFirstField, TComPicYuv* pcPicRecSecondField,
199  const InputColourSpaceConversion snr_conversion, const Bool printFrameMSE, const Bool printMSSSIM, Double* PSNR_Y );
200  Double xCalculateMSSSIM (const Pel *pOrg, const Int orgStride, const Pel* pRec, const Int recStride, const Int width, const Int height, const UInt bitDepth);
201 #else
202  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 );
203  Void xCalculateAddPSNR ( TComPic* pcPic, TComPicYuv* pcPicD, const AccessUnit&, Double dEncTime, const InputColourSpaceConversion snr_conversion, const Bool printFrameMSE, Double* PSNR_Y );
204  Void xCalculateInterlacedAddPSNR( TComPic* pcPicOrgFirstField, TComPic* pcPicOrgSecondField,
205  TComPicYuv* pcPicRecFirstField, TComPicYuv* pcPicRecSecondField,
206  const InputColourSpaceConversion snr_conversion, const Bool printFrameMSE, Double* PSNR_Y );
207 #endif
208 
209  UInt64 xFindDistortionFrame (TComPicYuv* pcPic0, TComPicYuv* pcPic1, const BitDepths &bitDepths);
210 
212 
213  Void xWriteAccessUnitDelimiter (AccessUnit &accessUnit, TComSlice *slice);
214 
215  Void xCreateIRAPLeadingSEIMessages (SEIMessages& seiMessages, const TComSPS *sps, const TComPPS *pps);
216  Void xCreatePerPictureSEIMessages (Int picInGOP, SEIMessages& seiMessages, SEIMessages& nestedSeiMessages, TComSlice *slice);
217  Void xCreatePictureTimingSEI (Int IRAPGOPid, SEIMessages& seiMessages, SEIMessages& nestedSeiMessages, SEIMessages& duInfoSeiMessages, TComSlice *slice, Bool isField, std::deque<DUData> &duData);
218  Void xUpdateDuData(AccessUnit &testAU, std::deque<DUData> &duData);
219  Void xUpdateTimingSEI(SEIPictureTiming *pictureTimingSEI, std::deque<DUData> &duData, const TComSPS *sps);
220  Void xUpdateDuInfoSEI(SEIMessages &duInfoSeiMessages, SEIPictureTiming *pictureTimingSEI);
221 
222  Void xCreateScalableNestingSEI (SEIMessages& seiMessages, SEIMessages& nestedSeiMessages);
223  Void xWriteSEI (NalUnitType naluType, SEIMessages& seiMessages, AccessUnit &accessUnit, AccessUnit::iterator &auPos, Int temporalId, const TComSPS *sps);
224  Void xWriteSEISeparately (NalUnitType naluType, SEIMessages& seiMessages, AccessUnit &accessUnit, AccessUnit::iterator &auPos, Int temporalId, const TComSPS *sps);
225  Void xClearSEIs(SEIMessages& seiMessages, Bool deleteMessages);
226  Void xWriteLeadingSEIOrdered (SEIMessages& seiMessages, SEIMessages& duInfoSeiMessages, AccessUnit &accessUnit, Int temporalId, const TComSPS *sps, Bool testWrite);
227  Void xWriteLeadingSEIMessages (SEIMessages& seiMessages, SEIMessages& duInfoSeiMessages, AccessUnit &accessUnit, Int temporalId, const TComSPS *sps, std::deque<DUData> &duData);
228  Void xWriteTrailingSEIMessages (SEIMessages& seiMessages, AccessUnit &accessUnit, Int temporalId, const TComSPS *sps);
229  Void xWriteDuSEIMessages (SEIMessages& duInfoSeiMessages, AccessUnit &accessUnit, Int temporalId, const TComSPS *sps, std::deque<DUData> &duData);
230 
231  Int xWriteVPS (AccessUnit &accessUnit, const TComVPS *vps);
232  Int xWriteSPS (AccessUnit &accessUnit, const TComSPS *sps);
233  Int xWritePPS (AccessUnit &accessUnit, const TComPPS *pps);
234  Int xWriteParameterSets (AccessUnit &accessUnit, TComSlice *slice, const Bool bSeqFirst);
235 
236  Void applyDeblockingFilterMetric( TComPic* pcPic, UInt uiNumSlices );
237  Void applyDeblockingFilterParameterSelection( TComPic* pcPic, const UInt numSlices, const Int gopID );
238 };// END CLASS DEFINITION TEncGOP
239 
241 
242 #endif // __TENCGOP__
243 
entropy encoder class (header)
TEncSlice * m_pcSliceEncoder
Definition: TEncGOP.h:118
Void xWriteLeadingSEIOrdered(SEIMessages &seiMessages, SEIMessages &duInfoSeiMessages, AccessUnit &accessUnit, Int temporalId, const TComSPS *sps, Bool testWrite)
Definition: TEncGOP.cpp:253
Int m_iNumPicCoded
Definition: TEncGOP.h:111
TEncBinCABAC * m_pcBinCABAC
Definition: TEncGOP.h:124
Int xWriteSPS(AccessUnit &accessUnit, const TComSPS *sps)
Definition: TEncGOP.cpp:156
picture YUV buffer class
Definition: TComPicYuv.h:55
Bool m_ltRefPicUsedByCurrPicFlag[MAX_NUM_LONG_TERM_REF_PICS]
Definition: TEncGOP.h:108
TComPicYuv * m_pcDeblockingTempPicYuv
Definition: TEncGOP.h:146
Void xAttachSliceDataToNalUnit(OutputNALUnit &rNalu, TComOutputBitstream *pcBitstreamRedirect)
Definition: TEncGOP.cpp:2864
Void xInitGOP(Int iPOCLast, Int iNumPicRcvd, Bool isField)
Definition: TEncGOP.cpp:2066
NalUnitType getNalUnitType(Int pocCurr, Int lastIdr, Bool isField)
Definition: TEncGOP.cpp:2766
encoder analyzer class (header)
deblocking filter (header)
TEncAnalyze m_gcAnalyzeB
Definition: TEncGOP.h:92
TEncTop * m_pcEncTop
Definition: TEncGOP.h:116
picture class (symbol + YUV buffers)
Definition: TComPic.h:56
void Void
Definition: TypeDef.h:203
Void xWriteTrailingSEIMessages(SEIMessages &seiMessages, AccessUnit &accessUnit, Int temporalId, const TComSPS *sps)
Definition: TEncGOP.cpp:340
Void preLoopFilterPicAll(TComPic *pcPic, UInt64 &ruiDist)
Definition: TEncGOP.cpp:2049
TEncAnalyze & getAnalyzeBData()
Definition: TEncGOP.h:184
estimation part of sample adaptive offset class (header)
Int xWriteVPS(AccessUnit &accessUnit, const TComVPS *vps)
Definition: TEncGOP.cpp:147
Int m_iLastRecoveryPicPOC
Definition: TEncGOP.h:113
CAVLC encoder class.
Definition: TEncCavlc.h:70
unsigned int UInt
Definition: TypeDef.h:212
Bool m_bLongtermTestPictureHasBeenCoded
Definition: TEncGOP.h:104
Int m_pocCRA
Definition: TEncGOP.h:137
Short Pel
pixel type
Definition: TypeDef.h:249
Int getGOPSize()
Definition: TEncGOP.h:166
deblocking filter class
Void xWriteAccessUnitDelimiter(AccessUnit &accessUnit, TComSlice *slice)
Definition: TEncGOP.cpp:197
Void xClearSEIs(SEIMessages &seiMessages, Bool deleteMessages)
Definition: TEncGOP.cpp:240
Void xCreatePerPictureSEIMessages(Int picInGOP, SEIMessages &seiMessages, SEIMessages &nestedSeiMessages, TComSlice *slice)
Definition: TEncGOP.cpp:521
UInt m_ltRefPicPocLsbSps[MAX_NUM_LONG_TERM_REF_PICS]
Definition: TEncGOP.h:107
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)
Definition: TEncGOP.cpp:2158
TComList< TComPic * > * m_pcListPic
Definition: TEncGOP.h:119
TEncGOP()
Definition: TEncGOP.cpp:73
picture class (header)
Void xCreatePictureTimingSEI(Int IRAPGOPid, SEIMessages &seiMessages, SEIMessages &nestedSeiMessages, SEIMessages &duInfoSeiMessages, TComSlice *slice, Bool isField, std::deque< DUData > &duData)
Definition: TEncGOP.cpp:625
TEncAnalyze m_gcAnalyzeI
Definition: TEncGOP.h:90
TComLoopFilter * m_pcLoopFilter
Definition: TEncGOP.h:125
Bool m_bSeqFirst
Definition: TEncGOP.h:133
static const Int MAX_ENCODER_DEBLOCKING_QUALITY_LAYERS
Definition: CommonDef.h:244
TEncCavlc * m_pcCavlcCoder
Definition: TEncGOP.h:122
UInt m_numLongTermRefPicSPS
Definition: TEncGOP.h:106
NalUnitType m_associatedIRAPType
Definition: TEncGOP.h:138
Void xGetBuffer(TComList< TComPic * > &rcListPic, TComList< TComPicYuv * > &rcListPicYuvRecOut, Int iNumPicRcvd, Int iTimeOffset, TComPic *&rpcPic, TComPicYuv *&rpcPicYuvRecOut, Int pocCurr, Bool isField)
Definition: TEncGOP.cpp:2084
slice encoder class
Definition: TEncSlice.h:61
Void xUpdateDuInfoSEI(SEIMessages &duInfoSeiMessages, SEIPictureTiming *pictureTimingSEI)
Definition: TEncGOP.cpp:872
Void destroy()
Definition: TEncGOP.cpp:116
Void create()
Definition: TEncGOP.cpp:110
general list class (header)
Void xUpdateTimingSEI(SEIPictureTiming *pictureTimingSEI, std::deque< DUData > &duData, const TComSPS *sps)
Definition: TEncGOP.cpp:800
encoder analyzer class
Definition: TEncAnalyze.h:63
Int xWritePPS(AccessUnit &accessUnit, const TComPPS *pps)
Definition: TEncGOP.cpp:166
bool Bool
Definition: TypeDef.h:204
TEncRateCtrl * getRateCtrl()
Definition: TEncGOP.h:187
Void xCalculateInterlacedAddPSNR(TComPic *pcPicOrgFirstField, TComPic *pcPicOrgSecondField, TComPicYuv *pcPicRecFirstField, TComPicYuv *pcPicRecSecondField, const InputColourSpaceConversion snr_conversion, const Bool printFrameMSE, const Bool printMSSSIM, Double *PSNR_Y)
Definition: TEncGOP.cpp:2621
#define JVET_F0064_MSSSIM
Calculate MS-SSIM scores.
Definition: TypeDef.h:91
PPS class.
Definition: TComSlice.h:1034
TComList< TComPic * > * getListPic()
Definition: TEncGOP.h:168
Double xCalculateMSSSIM(const Pel *pOrg, const Int orgStride, const Pel *pRec, const Int recStride, const Int width, const Int height, const UInt bitDepth)
Definition: TEncGOP.cpp:2449
entropy encoder class
Definition: TEncEntropy.h:116
Int m_DBParam[MAX_ENCODER_DEBLOCKING_QUALITY_LAYERS][4]
Definition: TEncGOP.h:147
Void xCreateScalableNestingSEI(SEIMessages &seiMessages, SEIMessages &nestedSeiMessages)
Definition: TEncGOP.cpp:610
slice encoder class (header)
TEncAnalyze m_gcAnalyzeAll
Definition: TEncGOP.h:89
Int m_iLastIDR
Definition: TEncGOP.h:109
Void xWriteLeadingSEIMessages(SEIMessages &seiMessages, SEIMessages &duInfoSeiMessages, AccessUnit &accessUnit, Int temporalId, const TComSPS *sps, std::deque< DUData > &duData)
Definition: TEncGOP.cpp:321
Void xWriteDuSEIMessages(SEIMessages &duInfoSeiMessages, AccessUnit &accessUnit, Int temporalId, const TComSPS *sps, std::deque< DUData > &duData)
Definition: TEncGOP.cpp:348
Access Unit class (header)
TEncCfg * m_pcCfg
Definition: TEncGOP.h:117
virtual ~TEncGOP()
Definition: TEncGOP.cpp:104
Void arrangeLongtermPicturesInRPS(TComSlice *, TComList< TComPic * > &)
Definition: TEncGOP.cpp:2882
Initializes different SEI message types based on given encoder configuration parameters.
Definition: SEIEncoder.h:48
Void init(TEncTop *pcTEncTop)
Definition: TEncGOP.cpp:126
Int m_iGopSize
Definition: TEncGOP.h:110
UInt m_lastBPSEI
Definition: TEncGOP.h:142
SEIWriter m_seiWriter
Definition: TEncGOP.h:127
InputColourSpaceConversion
Definition: TypeDef.h:316
unsigned long long UInt64
Definition: TypeDef.h:233
Context-adaptive entropy encoder class (header)
TEncAnalyze m_gcAnalyzeAll_in
Definition: TEncGOP.h:94
std::vector< Int > m_vRVM_RP
Definition: TEncGOP.h:141
TEncAnalyze & getAnalyzePData()
Definition: TEncGOP.h:183
Bool m_bRefreshPending
Definition: TEncGOP.h:136
Void xWriteSEISeparately(NalUnitType naluType, SEIMessages &seiMessages, AccessUnit &accessUnit, AccessUnit::iterator &auPos, Int temporalId, const TComSPS *sps)
Definition: TEncGOP.cpp:222
Bool m_bLongtermTestPictureHasBeenCoded2
Definition: TEncGOP.h:105
TEncAnalyze & getAnalyzeAllData()
Definition: TEncGOP.h:181
std::list< SEI * > SEIMessages
Definition: SEI.h:123
Int accumBitsDU
Definition: TEncGOP.h:81
static const Int MAX_NUM_LONG_TERM_REF_PICS
Definition: CommonDef.h:203
Void xCalculateAddPSNR(TComPic *pcPic, TComPicYuv *pcPicD, const AccessUnit &, Double dEncTime, const InputColourSpaceConversion snr_conversion, const Bool printFrameMSE, const Bool printMSSSIM, Double *PSNR_Y)
Definition: TEncGOP.cpp:2239
int Int
Definition: TypeDef.h:211
TEncSlice * getSliceEncoder()
Definition: TEncGOP.h:177
encoder class
Definition: TEncTop.h:68
Int accumNalsDU
Definition: TEncGOP.h:84
Rate control manager class.
Double xCalculateRVM()
Definition: TEncGOP.cpp:2812
Void xUpdateDuData(AccessUnit &testAU, std::deque< DUData > &duData)
Definition: TEncGOP.cpp:763
NalUnitType
Definition: TypeDef.h:664
TEncAnalyze m_gcAnalyzeP
Definition: TEncGOP.h:91
Void xCreateIRAPLeadingSEIMessages(SEIMessages &seiMessages, const TComSPS *sps, const TComPPS *pps)
Definition: TEncGOP.cpp:392
CAVLC encoder class (header)
encoder configuration class
Definition: TEncCfg.h:111
UInt m_totalCoded
Definition: TEncGOP.h:143
SBAC encoder class.
Definition: TEncSbac.h:66
double Double
Definition: TypeDef.h:213
TEncEntropy * m_pcEntropyCoder
Definition: TEncGOP.h:121
Int xWriteParameterSets(AccessUnit &accessUnit, TComSlice *slice, const Bool bSeqFirst)
Definition: TEncGOP.cpp:176
Void applyDeblockingFilterMetric(TComPic *pcPic, UInt uiNumSlices)
Definition: TEncGOP.cpp:2987
TEncRateCtrl * m_pcRateCtrl
Definition: TEncGOP.h:131
Bool m_bufferingPeriodSEIPresentInAU
Definition: TEncGOP.h:144
slice header class
Definition: TComSlice.h:1225
Class for counting bits (header)
TEncSampleAdaptiveOffset * m_pcSAO
Definition: TEncGOP.h:130
Bool m_bFirst
Definition: TEncGOP.h:112
UInt64 xFindDistortionFrame(TComPicYuv *pcPic0, TComPicYuv *pcPic1, const BitDepths &bitDepths)
Definition: TEncGOP.cpp:2128
SEIEncoder m_seiEncoder
Definition: TEncGOP.h:145
Void applyDeblockingFilterParameterSelection(TComPic *pcPic, const UInt numSlices, const Int gopID)
Definition: TEncGOP.cpp:3106
Void xWriteSEI(NalUnitType naluType, SEIMessages &seiMessages, AccessUnit &accessUnit, AccessUnit::iterator &auPos, Int temporalId, const TComSPS *sps)
Definition: TEncGOP.cpp:209
TEncAnalyze & getAnalyzeIData()
Definition: TEncGOP.h:182
TEncSbac * m_pcSbacCoder
Definition: TEncGOP.h:123
Void compressGOP(Int iPOCLast, Int iNumPicRcvd, TComList< TComPic * > &rcListPic, TComList< TComPicYuv * > &rcListPicYuvRec, std::list< AccessUnit > &accessUnitsInGOP, Bool isField, Bool isTff, const InputColourSpaceConversion snr_conversion, const Bool printFrameMSE, const Bool printMSSSIM)
Definition: TEncGOP.cpp:1155
Void printOutSummary(UInt uiNumAllPicCoded, Bool isField, const Bool printMSEBasedSNR, const Bool printSequenceMSE, const Bool printMSSSIM, const BitDepths &bitDepths)
Definition: TEncGOP.cpp:1970
SPS class.
Definition: TComSlice.h:740
Int m_associatedIRAPPOC
Definition: TEncGOP.h:139