HEVC Test Model (HM)  HM-16.18
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TAppEncCfg.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 __TAPPENCCFG__
39 #define __TAPPENCCFG__
40 
41 #include "TLibCommon/CommonDef.h"
42 
43 #include "TLibEncoder/TEncCfg.h"
44 #if EXTENSION_360_VIDEO
45 #include "TAppEncHelper360/TExt360AppEncCfg.h"
46 #endif
47 #include <sstream>
48 #include <vector>
51 
52 // ====================================================================================================================
53 // Class definition
54 // ====================================================================================================================
55 
58 {
59 #if JVET_E0059_FLOATING_POINT_QP_FIX
60 public:
61  template <class T>
63  {
65  T value;
66  OptionalValue() : bPresent(false), value() { }
67  };
68 #endif
69 
70 protected:
71  // file I/O
72  std::string m_inputFileName;
73  std::string m_bitstreamFileName;
74  std::string m_reconFileName;
75 
76  // Lambda modifiers
78  std::vector<Double> m_adIntraLambdaModifier;
80 
81  // source specification
89 
91 
96 
109 
113 #if JVET_F0064_MSSSIM
115 #endif
119 
120  // profile/level
133 
134  // coding structure
138 #if JCTVC_Y0038_PARAMS
140 #endif
157 
158  // coding quality
159 #if JVET_E0059_FLOATING_POINT_QP_FIX
161 #else
162  Double m_fQP;
163 #endif
165 #if X0038_LAMBDA_FROM_QP_CAPABILITY
168 #endif
169  std::string m_dQPFileName;
176 
183 #if ADAPTIVE_QP_SELECTION
185 #endif
187 
190 
192 
193  // coding unit (CU) definition
194  // TODO: Remove MaxCUWidth/MaxCUHeight and replace with MaxCUSize.
200 
201  // transfom unit (TU) definition
204 
207 
208  // coding tools (bit-depth)
215 
216  //coding tools (chroma format)
218 
219  // coding tools (PCM bit-depth)
221 
222  // coding tool (SAO)
230  // coding tools (loop filter)
236  // coding tools (PCM)
242 
243  // coding tools (encoder-only parameters)
267 
273  std::vector<Int> m_tileColumnWidth;
274  std::vector<Int> m_tileRowHeight;
276 
281 
333 #if MCTS_ENC_CHECK
335 #endif
344 #if CCV_SEI_MESSAGE
357 #endif
358 #if ERP_SR_OV_SEI_MESSAGE
366 
373 
381  std::vector<Int> m_omniViewportSEITiltCentre;
382  std::vector<UInt> m_omniViewportSEIHorRange;
383  std::vector<UInt> m_omniViewportSEIVerRange;
384 #endif
385 #if CMP_SEI_MESSAGE
389 #endif
390 #if RWP_SEI_MESSAGE
400  std::vector<UChar> m_rwpSEIRwpTransformType;
401  std::vector<Bool> m_rwpSEIRwpGuardBandFlag;
402  std::vector<UInt> m_rwpSEIProjRegionWidth;
403  std::vector<UInt> m_rwpSEIProjRegionHeight;
404  std::vector<UInt> m_rwpSEIRwpSEIProjRegionTop;
405  std::vector<UInt> m_rwpSEIProjRegionLeft;
406  std::vector<UShort> m_rwpSEIPackedRegionWidth;
407  std::vector<UShort> m_rwpSEIPackedRegionHeight;
408  std::vector<UShort> m_rwpSEIPackedRegionTop;
409  std::vector<UShort> m_rwpSEIPackedRegionLeft;
410  std::vector<UChar> m_rwpSEIRwpLeftGuardBandWidth;
411  std::vector<UChar> m_rwpSEIRwpRightGuardBandWidth;
412  std::vector<UChar> m_rwpSEIRwpTopGuardBandHeight;
415  std::vector<UChar> m_rwpSEIRwpGuardBandType;
416 #endif
417 #if RNSEI
419 #endif
420  // weighted prediction
424 
427 
441  std::string m_scalingListFileName;
442 
446 
450 
486 #if RNSEI
488 #endif
489 
490  std::string m_summaryOutFilename;
493 
494 #if EXTENSION_360_VIDEO
495  TExt360AppEncCfg m_ext360;
496  friend class TExt360AppEncCfg;
497  friend class TExt360AppEncTop;
498 #endif
499 
500  // internal member functions
501  Void xCheckParameter ();
502  Void xPrintParameter ();
503  Void xPrintUsage ();
504 public:
505  TAppEncCfg();
506  virtual ~TAppEncCfg();
507 
508 public:
509  Void create ();
510  Void destroy ();
511  Bool parseCfg ( Int argc, TChar* argv[] );
512 
513 };// END CLASS DEFINITION TAppEncCfg
514 
516 
517 #endif // __TAPPENCCFG__
518 
UInt m_pcmLog2MaxSize
log2 of maximum PCM block size
Definition: TAppEncCfg.h:238
Int m_sphereRotationSEIYaw
Definition: TAppEncCfg.h:370
Void create()
create option handling class
Definition: TAppEncCfg.cpp:150
ChromaFormat m_InputChromaFormatIDC
Definition: TAppEncCfg.h:108
Int m_toneMapModelId
Definition: TAppEncCfg.h:295
TComSEIMasteringDisplay m_masteringDisplay
Definition: TAppEncCfg.h:186
Bool m_RCEnableRateControl
enable rate control or not
Definition: TAppEncCfg.h:430
std::string m_scalingListFileName
quantization matrix file name
Definition: TAppEncCfg.h:441
Bool m_recalculateQPAccordingToLambda
recalculate QP value according to the lambda value
Definition: TAppEncCfg.h:447
Bool m_ccvSEIMaxLuminanceValuePresentFlag
Definition: TAppEncCfg.h:350
Bool m_signDataHidingEnabledFlag
Definition: TAppEncCfg.h:429
Int m_chromaSampleLocTypeTopField
Specifies the location of chroma samples for top field.
Definition: TAppEncCfg.h:466
Int m_sigmoidWidth
Definition: TAppEncCfg.h:299
UInt m_RCCpbSize
CPB size.
Definition: TAppEncCfg.h:438
Double m_ccvSEIAvgLuminanceValue
Definition: TAppEncCfg.h:356
Bool m_bFastUDIUseMPMEnabled
Definition: TAppEncCfg.h:278
Bool m_useStrongIntraSmoothing
enable strong intra smoothing for 32x32 blocks where the reference samples are flat ...
Definition: TAppEncCfg.h:448
std::vector< Int > m_omniViewportSEIAzimuthCentre
Definition: TAppEncCfg.h:379
Int m_iDecodingRefreshType
random access type
Definition: TAppEncCfg.h:136
Bool m_loopFilterOffsetInPPS
offset for deblocking filter in 0 = slice header, 1 = PPS
Definition: TAppEncCfg.h:232
Bool m_TransquantBypassEnabledFlag
transquant_bypass_enabled_flag setting in PPS.
Definition: TAppEncCfg.h:443
Bool m_transformSkipRotationEnabledFlag
control flag for transform-skip/transquant-bypass residual rotation
Definition: TAppEncCfg.h:151
Int m_deblockingFilterMetric
blockiness metric in encoder
Definition: TAppEncCfg.h:235
std::vector< UChar > m_rwpSEIRwpTopGuardBandHeight
Definition: TAppEncCfg.h:412
std::vector< UInt > m_rwpSEIProjRegionHeight
Definition: TAppEncCfg.h:403
UInt m_uiMaxCUDepth
max. CU depth (as specified by command line)
Definition: TAppEncCfg.h:197
UInt m_FrameSkip
number of skipped frames from the beginning
Definition: TAppEncCfg.h:83
Bool m_enableAMP
Definition: TAppEncCfg.h:154
UInt m_greenMetadataType
Definition: TAppEncCfg.h:342
Int m_confWinTop
Definition: TAppEncCfg.h:100
Double m_ccvSEIMaxLuminanceValue
Definition: TAppEncCfg.h:355
Bool m_videoFullRangeFlag
Indicates the black level and range of luma and chroma signals.
Definition: TAppEncCfg.h:460
Bool m_colourDescriptionPresentFlag
Signals whether colour_primaries, transfer_characteristics and matrix_coefficients are present...
Definition: TAppEncCfg.h:461
Int m_crQpOffset
Chroma Cr QP Offset (0:default)
Definition: TAppEncCfg.h:178
Bool m_saoCtuBoundary
SAO parameter estimation using non-deblocked pixels for CTU bottom and right boundary areas...
Definition: TAppEncCfg.h:228
Bool m_rwpSEIRwpPersistenceFlag
Definition: TAppEncCfg.h:393
Bool m_cmpSEICmpPersistenceFlag
Definition: TAppEncCfg.h:388
Bool m_bUseAdaptiveQP
Flag for enabling QP adaptation based on a psycho-visual model.
Definition: TAppEncCfg.h:188
Bool m_recoveryPointSEIEnabled
Definition: TAppEncCfg.h:283
Int m_log2MaxMvLengthHorizontal
Indicate the maximum absolute value of a decoded horizontal MV component in quarter-pel luma units...
Definition: TAppEncCfg.h:483
Int m_colourPrimaries
Indicates chromaticity coordinates of the source primaries.
Definition: TAppEncCfg.h:462
Bool m_erpSEICancelFlag
Definition: TAppEncCfg.h:360
Bool m_bPCMInputBitDepthFlag
0: PCM bit-depth is internal bit-depth. 1: PCM bit-depth is input bit-depth.
Definition: TAppEncCfg.h:220
Int m_inputFileHeight
height of image in input file (this is equivalent to sourceHeight, if sourceHeight is not subsequentl...
Definition: TAppEncCfg.h:88
Defines version information, constants and small in-line functions.
GOPEntry m_GOPList[MAX_GOP]
the coding structure entries from the config file
Definition: TAppEncCfg.h:142
void Void
Definition: TypeDef.h:203
std::string m_reconFileName
output reconstruction file
Definition: TAppEncCfg.h:74
MESearchMethod
supported ME search methods
Definition: TypeDef.h:463
Int m_cbQpOffset
Chroma Cb QP Offset (0:default)
Definition: TAppEncCfg.h:177
Int m_matrixCoefficients
Describes the matrix coefficients used in deriving luma and chroma from RGB primaries.
Definition: TAppEncCfg.h:464
Bool m_intraConstraintFlag
Definition: TAppEncCfg.h:126
Int m_MSBExtendedBitDepth[MAX_NUM_CHANNEL_TYPE]
bit-depth of input samples after MSB extension
Definition: TAppEncCfg.h:211
Int m_iQPAdaptationRange
dQP range by QP adaptation
Definition: TAppEncCfg.h:189
Int m_outputBitDepth[MAX_NUM_CHANNEL_TYPE]
bit-depth of output file
Definition: TAppEncCfg.h:210
Bool m_lowerBitRateConstraintFlag
Definition: TAppEncCfg.h:128
Bool m_toneMappingInfoSEIEnabled
Definition: TAppEncCfg.h:286
Int m_transferCharacteristics
Indicates the opto-electronic transfer characteristics of the source.
Definition: TAppEncCfg.h:463
std::vector< Int > m_omniViewportSEITiltCentre
Definition: TAppEncCfg.h:381
Int m_inputBitDepth[MAX_NUM_CHANNEL_TYPE]
bit-depth of input file
Definition: TAppEncCfg.h:209
std::vector< UInt > m_rwpSEIProjRegionWidth
Definition: TAppEncCfg.h:402
Bool m_ccvSEIAvgLuminanceValuePresentFlag
Definition: TAppEncCfg.h:351
Double m_dIntraQpFactor
Intra Q Factor. If negative, use a default equation: 0.57*(1.0 - Clip3( 0.0, 0.5, 0...
Definition: TAppEncCfg.h:79
Int m_framePackingSEIId
Definition: TAppEncCfg.h:318
Int m_extendedWhiteLevelLumaCodeValue
Definition: TAppEncCfg.h:312
ChromaFormat m_chromaFormatConstraint
Definition: TAppEncCfg.h:125
Bool m_ccvSEIMinLuminanceValuePresentFlag
Definition: TAppEncCfg.h:349
std::vector< UInt > m_rwpSEIProjRegionLeft
Definition: TAppEncCfg.h:405
Bool m_tmctsSEIEnabled
Definition: TAppEncCfg.h:332
Int m_iFrameRate
source frame-rates (Hz)
Definition: TAppEncCfg.h:82
Int m_chromaSampleLocTypeBottomField
Specifies the location of chroma samples for bottom field.
Definition: TAppEncCfg.h:467
Bool m_snrInternalColourSpace
if true, then no colour space conversion is applied for snr calculation, otherwise inverse of input i...
Definition: TAppEncCfg.h:106
Int m_exposureCompensationValueNumerator
Definition: TAppEncCfg.h:306
Bool parseCfg(Int argc, TChar *argv[])
parse configuration file to fill member variables
Definition: TAppEncCfg.cpp:646
Bool m_vuiParametersPresentFlag
enable generation of VUI parameters
Definition: TAppEncCfg.h:451
UInt m_sliceChromaQpOffsetPeriodicity
Used in conjunction with Slice Cb/Cr QpOffsetIntraOrPeriodic. Use 0 (default) to disable periodic nat...
Definition: TAppEncCfg.h:180
Bool m_bitstreamRestrictionFlag
Signals whether bitstream restriction parameters are present.
Definition: TAppEncCfg.h:477
Bool m_tilesFixedStructureFlag
Indicates that each active picture parameter set has the same values of the syntax elements related t...
Definition: TAppEncCfg.h:478
Int m_iQP
QP value of key-picture (integer)
Definition: TAppEncCfg.h:164
Bool m_omniViewportSEIEnabled
Definition: TAppEncCfg.h:374
unsigned int UInt
Definition: TypeDef.h:212
UInt m_uiQuadtreeTULog2MaxSize
Definition: TAppEncCfg.h:202
std::string m_colourRemapSEIFileRoot
Definition: TAppEncCfg.h:485
Int m_noDisplaySEITLayer
Definition: TAppEncCfg.h:328
SliceConstraint m_sliceMode
Definition: TAppEncCfg.h:263
Bool m_cmpSEICmpCancelFlag
Definition: TAppEncCfg.h:387
Bool m_bufferingPeriodSEIEnabled
Definition: TAppEncCfg.h:284
Bool m_bHarmonizeGopFirstFieldCoupleEnabled
Definition: TAppEncCfg.h:95
Int m_iSourceWidth
source width in pixel
Definition: TAppEncCfg.h:85
UInt m_temporalSubsampleRatio
temporal subsample ratio, 2 means code every two frames
Definition: TAppEncCfg.h:84
Int m_chromaResamplingHorFilterIdc
Definition: TAppEncCfg.h:288
Int m_sarHeight
vertical size of the sample aspect ratio
Definition: TAppEncCfg.h:455
std::vector< UShort > m_rwpSEIPackedRegionHeight
Definition: TAppEncCfg.h:407
Definition: TEncCfg.h:49
Bool m_bUseSAO
Definition: TAppEncCfg.h:223
ScalingListMode m_useScalingListId
using quantization matrix
Definition: TAppEncCfg.h:440
Int m_cameraIsoSpeedValue
Definition: TAppEncCfg.h:302
Int m_videoFormat
Indicates representation of pictures.
Definition: TAppEncCfg.h:459
UInt m_log2ParallelMergeLevel
Parallel merge estimation region.
Definition: TAppEncCfg.h:425
Double m_saoEncodingRate
When &gt;0 SAO early picture termination is enabled for luma and chroma.
Definition: TAppEncCfg.h:225
Bool m_motionVectorsOverPicBoundariesFlag
Indicates that no samples outside the picture boundaries are used for inter prediction.
Definition: TAppEncCfg.h:479
Int m_defDispWinRightOffset
Specifies the right offset from the conformance window of the default window.
Definition: TAppEncCfg.h:471
Int m_framePackingSEIInterpretation
Definition: TAppEncCfg.h:320
std::string m_summaryOutFilename
filename to use for producing summary output file.
Definition: TAppEncCfg.h:490
Int m_displayOrientationSEIAngle
Definition: TAppEncCfg.h:325
std::vector< UChar > m_rwpSEIRwpRightGuardBandWidth
Definition: TAppEncCfg.h:411
Int m_loopFilterTcOffsetDiv2
tc offset for deblocking filter
Definition: TAppEncCfg.h:234
std::vector< Int > m_tileColumnWidth
Definition: TAppEncCfg.h:273
std::string m_bitstreamFileName
output bitstream file
Definition: TAppEncCfg.h:73
Bool m_aspectRatioInfoPresentFlag
Signals whether aspect_ratio_idc is present.
Definition: TAppEncCfg.h:452
Bool m_bFastMEAssumingSmootherMVEnabled
Enables fast ME assuming a smoother MV.
Definition: TAppEncCfg.h:257
Bool m_bLoopFilterDisable
flag for using deblocking filter
Definition: TAppEncCfg.h:231
Int m_exposureIndexValue
Definition: TAppEncCfg.h:304
Bool m_bUseBLambdaForNonKeyLowDelayPictures
Definition: TAppEncCfg.h:280
Bool m_sphereRotationSEICancelFlag
Definition: TAppEncCfg.h:368
Int m_numReorderPics[MAX_TLAYER]
total number of reorder pictures
Definition: TAppEncCfg.h:143
char TChar
Definition: TypeDef.h:206
UInt m_xsdMetricType
Definition: TAppEncCfg.h:343
Int m_loopFilterBetaOffsetDiv2
beta offset for deblocking filter
Definition: TAppEncCfg.h:233
UInt m_uiLog2DiffMaxMinCodingBlockSize
difference between largest and smallest CU depth
Definition: TAppEncCfg.h:199
Int m_exposureCompensationValueDenomIdc
Definition: TAppEncCfg.h:307
Bool m_exposureCompensationValueSignFlag
Definition: TAppEncCfg.h:305
UInt m_erpSEIRightGuardBandWidth
Definition: TAppEncCfg.h:365
Bool m_SOPDescriptionSEIEnabled
Definition: TAppEncCfg.h:330
Bool m_frameOnlyConstraintFlag
Definition: TAppEncCfg.h:132
Int * m_targetPivotValue
Definition: TAppEncCfg.h:315
Bool m_omniViewportSEICancelFlag
Definition: TAppEncCfg.h:376
Bool m_highPrecisionOffsetsEnabledFlag
Definition: TAppEncCfg.h:214
std::vector< UShort > m_rwpSEIPackedRegionLeft
Definition: TAppEncCfg.h:409
Bool m_timeCodeSEIEnabled
Definition: TAppEncCfg.h:336
Bool m_isField
enable field coding
Definition: TAppEncCfg.h:92
std::vector< UChar > m_rwpSEIRwpTransformType
Definition: TAppEncCfg.h:400
Bool m_isTopFieldFirst
Definition: TAppEncCfg.h:93
FastInterSearchMode m_fastInterSearchMode
Parameter that controls fast encoder settings.
Definition: TAppEncCfg.h:258
WCGChromaQPControl m_wcgChromaQpControl
Wide-colour-gamut chroma QP control.
Definition: TAppEncCfg.h:179
std::vector< Bool > m_rwpSEIRwpGuardBandFlag
Definition: TAppEncCfg.h:401
encoder configuration class (header)
Int m_maxNumOffsetsPerPic
SAO maximun number of offset per picture.
Definition: TAppEncCfg.h:227
Bool m_RCForceIntraQP
force all intra picture to use initial QP or not
Definition: TAppEncCfg.h:436
Bool m_useEarlySkipDetection
flag for using Early SKIP Detection
Definition: TAppEncCfg.h:262
std::string m_summaryPicFilenameBase
Base filename to use for producing summary picture output files. The actual filenames used will have ...
Definition: TAppEncCfg.h:491
Int m_preferredTransferCharacteristics
Definition: TAppEncCfg.h:341
Int * m_codedPivotValue
Definition: TAppEncCfg.h:314
Double m_saoEncodingRateChroma
The SAO early picture termination rate to use for chroma (when m_SaoEncodingRate is &gt;0)...
Definition: TAppEncCfg.h:226
Bool m_framePackingSEIEnabled
Definition: TAppEncCfg.h:316
Double m_ccvSEIPrimariesX[MAX_NUM_COMPONENT]
Definition: TAppEncCfg.h:352
std::string m_inputFileName
source file name
Definition: TAppEncCfg.h:72
Int m_iSourceHeight
source height in pixel (when interlaced = field height)
Definition: TAppEncCfg.h:86
HashType
Definition: TypeDef.h:524
Bool m_outputInternalColourSpace
if true, then no colour space conversion is applied for reconstructed video, otherwise inverse of inp...
Definition: TAppEncCfg.h:107
Int m_toneMapCodedDataBitDepth
Definition: TAppEncCfg.h:293
Int m_RCKeepHierarchicalBit
0: equal bit allocation; 1: fixed ratio bit allocation; 2: adaptive ratio bit allocation ...
Definition: TAppEncCfg.h:432
Bool m_rwpSEIEnabled
Definition: TAppEncCfg.h:391
Int m_toneMapId
Definition: TAppEncCfg.h:290
UInt m_omniViewportSEICntMinus1
Definition: TAppEncCfg.h:378
Int m_activeParameterSetsSEIEnabled
Definition: TAppEncCfg.h:449
Int m_toneMapMaxValue
Definition: TAppEncCfg.h:297
static const Int MAX_GOP
max. value of hierarchical GOP size
Definition: CommonDef.h:123
Int m_minSearchWindow
ME minimum search window size for the Adaptive Window ME.
Definition: TAppEncCfg.h:255
Bool m_crossComponentPredictionEnabledFlag
flag enabling the use of cross-component prediction
Definition: TAppEncCfg.h:145
Bool m_omniViewportSEIPersistenceFlag
Definition: TAppEncCfg.h:377
Bool m_sphereRotationSEIEnabled
Definition: TAppEncCfg.h:367
Int m_toneMapTargetBitDepth
Definition: TAppEncCfg.h:294
Double m_ccvSEIPrimariesY[MAX_NUM_COMPONENT]
Definition: TAppEncCfg.h:353
Bool m_segmentedRectFramePackingSEICancel
Definition: TAppEncCfg.h:322
Bool m_useRDOQTS
flag for using RD optimized quantization for transform skip
Definition: TAppEncCfg.h:247
Int m_defDispWinTopOffset
Specifies the top offset from the conformance window of the default window.
Definition: TAppEncCfg.h:472
Int m_confWinLeft
Definition: TAppEncCfg.h:98
Int m_conformanceWindowMode
Definition: TAppEncCfg.h:97
bool Bool
Definition: TypeDef.h:204
Bool m_transformSkipContextEnabledFlag
control flag for transform-skip/transquant-bypass single significance map context ...
Definition: TAppEncCfg.h:152
Bool m_extendedPrecisionProcessingFlag
Definition: TAppEncCfg.h:213
std::vector< UShort > m_rwpSEIPackedRegionWidth
Definition: TAppEncCfg.h:406
std::vector< Int > m_tileRowHeight
Definition: TAppEncCfg.h:274
Bool m_useSelectiveRDOQ
flag for using selective RDOQ
Definition: TAppEncCfg.h:248
Int m_confWinBottom
Definition: TAppEncCfg.h:101
UInt m_erpSEIGuardBandType
Definition: TAppEncCfg.h:363
Int m_sphereRotationSEIPitch
Definition: TAppEncCfg.h:371
Bool m_bClipOutputVideoToRec709Range
Definition: TAppEncCfg.h:118
Bool m_ccvSEIPrimariesPresentFlag
Definition: TAppEncCfg.h:348
Level::Tier m_levelTier
Definition: TAppEncCfg.h:122
Int m_iIntraPeriod
period of I-slice (random access period)
Definition: TAppEncCfg.h:135
LumaLevelToDeltaQPMapping m_lumaLevelToDeltaQPMapping
mapping from luma level to Delta QP.
Definition: TAppEncCfg.h:182
Bool m_ccvSEIEnabled
Definition: TAppEncCfg.h:345
Int m_maxBytesPerPicDenom
Indicates a number of bytes not exceeded by the sum of the sizes of the VCL NAL units associated with...
Definition: TAppEncCfg.h:481
Int m_cameraIsoSpeedIdc
Definition: TAppEncCfg.h:301
Int * m_aidQP
array of slice QP values
Definition: TAppEncCfg.h:170
Bool m_gradualDecodingRefreshInfoEnabled
Definition: TAppEncCfg.h:327
Bool m_bFastDeltaQP
Fast Delta QP (false:default)
Definition: TAppEncCfg.h:175
Int m_segmentedRectFramePackingSEIType
Definition: TAppEncCfg.h:323
Bool m_toneMapPersistenceFlag
Definition: TAppEncCfg.h:292
Int m_RCInitialQP
inital QP for rate control
Definition: TAppEncCfg.h:435
Bool m_rwpSEIConstituentPictureMatchingFlag
Definition: TAppEncCfg.h:394
Int m_confWinRight
Definition: TAppEncCfg.h:99
FastInterSearchMode
Definition: TypeDef.h:637
UInt m_uiMaxCUWidth
max. CU width in pixel
Definition: TAppEncCfg.h:195
Bool m_AccessUnitDelimiter
add Access Unit Delimiter NAL units
Definition: TAppEncCfg.h:104
Bool m_sphereRotationSEIPersistenceFlag
Definition: TAppEncCfg.h:369
Bool m_bUseEarlyCU
flag for using Early CU setting
Definition: TAppEncCfg.h:259
Bool m_RCLCULevelRC
true: LCU level rate control; false: picture level rate control NOTE: code-tidy - rename to m_RCCtuLe...
Definition: TAppEncCfg.h:433
Int m_sarWidth
horizontal size of the sample aspect ratio
Definition: TAppEncCfg.h:454
Bool m_bLFCrossTileBoundaryFlag
1: filter across tile boundaries 0: do not filter across tile boundaries
Definition: TAppEncCfg.h:269
TEncCfg::TEncSEIKneeFunctionInformation m_kneeFunctionInformationSEI
Definition: TAppEncCfg.h:340
UInt m_omniViewportSEIId
Definition: TAppEncCfg.h:375
encoder configuration class
Definition: TAppEncCfg.h:57
Int m_maxBitsPerMinCuDenom
Indicates an upper bound for the number of bits of coding_unit() data.
Definition: TAppEncCfg.h:482
Bool m_erpSEIPersistenceFlag
Definition: TAppEncCfg.h:361
Bool m_useWeightedPred
Use of weighted prediction in P slices.
Definition: TAppEncCfg.h:421
Double m_ccvSEIMinLuminanceValue
Definition: TAppEncCfg.h:354
Bool m_useTransformSkip
flag for enabling intra transform skipping
Definition: TAppEncCfg.h:148
Void xCheckParameter()
check validity of configuration values
Int m_rwpSEIPackedPictureHeight
Definition: TAppEncCfg.h:399
Int m_iGOPSize
GOP size of hierarchical structure.
Definition: TAppEncCfg.h:137
Int m_sliceSegmentArgument
argument according to selected slice segment mode
Definition: TAppEncCfg.h:266
Int m_bipredSearchRange
ME search range for bipred refinement.
Definition: TAppEncCfg.h:254
Bool m_entropyCodingSyncEnabledFlag
Definition: TAppEncCfg.h:275
Bool m_cabacZeroWordPaddingEnabled
Definition: TAppEncCfg.h:116
Bool m_pictureTimingSEIEnabled
Definition: TAppEncCfg.h:285
UInt m_summaryVerboseness
Specifies the level of the verboseness of the text output.
Definition: TAppEncCfg.h:492
std::vector< UChar > m_rwpSEIRwpBottomGuardBandHeight
Definition: TAppEncCfg.h:413
Bool m_cabacBypassAlignmentEnabledFlag
Definition: TAppEncCfg.h:156
SliceConstraint
Definition: TypeDef.h:514
Profile::Name m_profile
Definition: TAppEncCfg.h:121
Bool m_printFrameMSE
Definition: TAppEncCfg.h:111
UInt m_uiQuadtreeTULog2MinSize
Definition: TAppEncCfg.h:203
Int m_nominalBlackLevelLumaCodeValue
Definition: TAppEncCfg.h:310
Bool m_cmpSEIEnabled
Definition: TAppEncCfg.h:386
Int m_inputFileWidth
width of image in input file (this is equivalent to sourceWidth, if sourceWidth is not subsequently a...
Definition: TAppEncCfg.h:87
Bool m_printSequenceMSE
Definition: TAppEncCfg.h:112
ChromaFormat m_chromaFormatIDC
Definition: TAppEncCfg.h:217
ChromaFormat
chroma formats (according to semantics of chroma_format_idc)
Definition: TypeDef.h:292
WeightedPredictionMethod m_weightedPredictionMethod
Definition: TAppEncCfg.h:423
Bool m_progressiveSourceFlag
Definition: TAppEncCfg.h:129
Double m_adLambdaModifier[MAX_TLAYER]
Lambda modifier array for each temporal layer.
Definition: TAppEncCfg.h:77
std::vector< UInt > m_omniViewportSEIVerRange
Definition: TAppEncCfg.h:383
Bool m_bClipForBiPredMeEnabled
Enables clipping for Bi-Pred ME.
Definition: TAppEncCfg.h:256
Bool m_printMSEBasedSequencePSNR
Definition: TAppEncCfg.h:110
Int m_intraQPOffset
QP offset for intra slice (integer)
Definition: TAppEncCfg.h:166
Bool m_frameFieldInfoPresentFlag
Indicates that pic_struct values are present in picture timing SEI messages.
Definition: TAppEncCfg.h:474
Bool m_nonPackedConstraintFlag
Definition: TAppEncCfg.h:131
Int m_sliceArgument
argument according to selected slice mode
Definition: TAppEncCfg.h:264
Bool m_useRDOQ
flag for using RD optimized quantization
Definition: TAppEncCfg.h:246
CostMode
Definition: TypeDef.h:620
Bool m_bUseCbfFastMode
flag for using Cbf Fast PU Mode Decision
Definition: TAppEncCfg.h:261
std::string m_dQPFileName
QP offset for each slice (initialized from external file)
Definition: TAppEncCfg.h:169
Bool m_toneMapCancelFlag
Definition: TAppEncCfg.h:291
Int m_exposureIndexIdc
Definition: TAppEncCfg.h:303
UInt m_log2SaoOffsetScale[MAX_NUM_CHANNEL_TYPE]
number of bits for the upward bit shift operation on the decoded SAO offsets
Definition: TAppEncCfg.h:147
Bool m_chromaLocInfoPresentFlag
Signals whether chroma_sample_loc_type_top_field and chroma_sample_loc_type_bottom_field are present...
Definition: TAppEncCfg.h:465
Bool m_useWeightedBiPred
Use of bi-directional weighted prediction in B slices.
Definition: TAppEncCfg.h:422
std::vector< UChar > m_rwpSEIRwpGuardBandType
Definition: TAppEncCfg.h:415
Bool m_videoSignalTypePresentFlag
Signals whether video_format, video_full_range_flag, and colour_description_present_flag are present...
Definition: TAppEncCfg.h:458
Bool m_rdpcmEnabledFlag[NUMBER_OF_RDPCM_SIGNALLING_MODES]
control flags for residual DPCM
Definition: TAppEncCfg.h:153
Bool m_scalableNestingSEIEnabled
Definition: TAppEncCfg.h:331
Name
Definition: TypeDef.h:599
Bool m_RCUseLCUSeparateModel
use separate R-lambda model at LCU level NOTE: code-tidy - rename to m_RCUseCtuSeparateModel ...
Definition: TAppEncCfg.h:434
virtual ~TAppEncCfg()
Definition: TAppEncCfg.cpp:127
Void destroy()
destroy option handling class
Definition: TAppEncCfg.cpp:154
UInt m_uiPCMLog2MinSize
log2 of minimum PCM block size
Definition: TAppEncCfg.h:239
Bool m_bReWriteParamSetsFlag
Flag to enable rewriting of parameter sets at random access points.
Definition: TAppEncCfg.h:139
Bool m_useTransformSkipFast
flag for enabling fast intra transform skipping
Definition: TAppEncCfg.h:149
Int m_iSourceHeightOrg
original source height in pixel (when interlaced = frame height)
Definition: TAppEncCfg.h:90
Int m_minSpatialSegmentationIdc
Indicates the maximum size of the spatial segments in the pictures in the coded video sequence...
Definition: TAppEncCfg.h:480
UInt m_bitDepthConstraint
Definition: TAppEncCfg.h:124
Int m_rwpSEIPackedPictureWidth
Definition: TAppEncCfg.h:398
Bool m_bEfficientFieldIRAPEnabled
enable an efficient field IRAP structure.
Definition: TAppEncCfg.h:94
static const Int MAX_TLAYER
Explicit temporal layer QP offset - max number of temporal layer.
Definition: CommonDef.h:134
InputColourSpaceConversion
Definition: TypeDef.h:316
Bool m_tileUniformSpacingFlag
Definition: TAppEncCfg.h:270
std::vector< UShort > m_rwpSEIPackedRegionTop
Definition: TAppEncCfg.h:408
Bool m_bTestSAODisableAtPictureLevel
Definition: TAppEncCfg.h:224
UInt m_uiQuadtreeTUMaxDepthIntra
Definition: TAppEncCfg.h:206
ScalingListMode
Definition: TypeDef.h:497
Bool m_bPCMFilterDisableFlag
PCM filter disable flag.
Definition: TAppEncCfg.h:240
InputColourSpaceConversion m_inputColourSpaceConvert
colour space conversion to apply to input video
Definition: TAppEncCfg.h:105
Bool m_bUseAdaptQpSelect
Definition: TAppEncCfg.h:184
Bool m_segmentedRectFramePackingSEIPersistence
Definition: TAppEncCfg.h:324
Bool m_printMSSSIM
Definition: TAppEncCfg.h:114
Int * m_startOfCodedInterval
Definition: TAppEncCfg.h:313
Bool m_saoResetEncoderStateAfterIRAP
When true, SAO encoder state will be reset following an IRAP.
Definition: TAppEncCfg.h:229
Int m_chromaResamplingVerFilterIdc
Definition: TAppEncCfg.h:289
Int m_framePackingSEIType
Definition: TAppEncCfg.h:317
Bool m_bRestrictMESampling
Restrict sampling for the Selective ME.
Definition: TAppEncCfg.h:252
Int m_toneMapMinValue
Definition: TAppEncCfg.h:296
Int m_aspectRatioIdc
aspect_ratio_idc
Definition: TAppEncCfg.h:453
Bool m_rnSEIEnabled
Definition: TAppEncCfg.h:418
Int m_timeCodeSEINumTs
Definition: TAppEncCfg.h:337
CostMode m_costMode
Cost mode to use.
Definition: TAppEncCfg.h:445
Tier
Definition: TypeDef.h:592
std::vector< Double > m_adIntraLambdaModifier
Lambda modifier for Intra pictures, one for each temporal layer. If size&gt;temporalLayer, then use [temporalLayer], else if size&gt;0, use [size()-1], else use m_adLambdaModifier.
Definition: TAppEncCfg.h:78
Int m_sigmoidMidpoint
Definition: TAppEncCfg.h:298
Int m_numTileColumnsMinus1
Definition: TAppEncCfg.h:271
WeightedPredictionMethod
Definition: TypeDef.h:628
Int m_maxDecPicBuffering[MAX_TLAYER]
total number of pictures in the decoded picture buffer
Definition: TAppEncCfg.h:144
Bool m_ccvSEICancelFlag
Definition: TAppEncCfg.h:346
Bool m_bDisableIntraPUsInInterSlices
Flag for disabling intra predicted PUs in inter slices.
Definition: TAppEncCfg.h:250
UInt m_uiQuadtreeTUMaxDepthInter
Definition: TAppEncCfg.h:205
Bool m_RCCpbSaturationEnabled
enable target bits saturation to avoid CPB overflow and underflow
Definition: TAppEncCfg.h:437
Bool m_bUseASR
flag for using adaptive motion search range
Definition: TAppEncCfg.h:244
UInt m_maxNumMergeCand
Max number of merge candidates.
Definition: TAppEncCfg.h:426
Int m_numPivots
Definition: TAppEncCfg.h:300
Bool m_ccvSEIPersistenceFlag
Definition: TAppEncCfg.h:347
TComSEITimeSet m_timeSetArray[MAX_TIMECODE_SEI_SETS]
Definition: TAppEncCfg.h:338
UInt m_erpSEILeftGuardBandWidth
Definition: TAppEncCfg.h:364
std::vector< Bool > m_rwpSEIRwpGuardBandNotUsedForPredFlag
Definition: TAppEncCfg.h:414
Bool m_chromaResamplingFilterSEIenabled
Definition: TAppEncCfg.h:287
Level::Name m_level
Definition: TAppEncCfg.h:123
Int m_rwpSEINumPackedRegions
Definition: TAppEncCfg.h:395
Int m_diffCuChromaQpOffsetDepth
If negative, then do not apply chroma qp offsets.
Definition: TAppEncCfg.h:174
Bool m_enableIntraReferenceSmoothing
flag for enabling(default)/disabling intra reference smoothing/filtering
Definition: TAppEncCfg.h:241
Bool m_segmentedRectFramePackingSEIEnabled
Definition: TAppEncCfg.h:321
std::vector< UChar > m_rwpSEIRwpLeftGuardBandWidth
Definition: TAppEncCfg.h:410
int Int
Definition: TypeDef.h:211
MESearchMethod m_motionEstimationSearchMethod
Definition: TAppEncCfg.h:251
Bool m_tmctsSEITileConstraint
Definition: TAppEncCfg.h:334
Bool m_rwpSEIRwpCancelFlag
Definition: TAppEncCfg.h:392
UInt m_uiMaxTotalCUDepth
max. total CU depth - includes depth of transform-block structure
Definition: TAppEncCfg.h:198
Bool m_reconBasedCrossCPredictionEstimate
causes the alpha calculation in encoder search to be based on the decoded residual rather than the pr...
Definition: TAppEncCfg.h:146
Void xPrintParameter()
print configuration values
Bool m_bUseConstrainedIntraPred
flag for using constrained intra prediction
Definition: TAppEncCfg.h:277
Int m_defDispWinBottomOffset
Specifies the bottom offset from the conformance window of the default window.
Definition: TAppEncCfg.h:473
std::string m_regionalNestingSEIFileRoot
Definition: TAppEncCfg.h:487
UInt m_uiDeltaQpRD
dQP range for multi-pass slice QP optimization
Definition: TAppEncCfg.h:172
Bool m_persistentRiceAdaptationEnabledFlag
control flag for Golomb-Rice parameter adaptation over each slice
Definition: TAppEncCfg.h:155
std::vector< UInt > m_omniViewportSEIHorRange
Definition: TAppEncCfg.h:382
Int m_TMVPModeId
Definition: TAppEncCfg.h:428
Bool m_erpSEIEnabled
Definition: TAppEncCfg.h:359
Bool m_defaultDisplayWindowFlag
Indicates the presence of the default window parameters.
Definition: TAppEncCfg.h:469
Bool m_overscanAppropriateFlag
Indicates whether conformant decoded pictures are suitable for display using overscan.
Definition: TAppEncCfg.h:457
Int m_internalBitDepth[MAX_NUM_CHANNEL_TYPE]
bit-depth codec operates at (input/output files will be converted)
Definition: TAppEncCfg.h:212
Int m_sphereRotationSEIRoll
Definition: TAppEncCfg.h:372
Int m_refScreenLuminanceWhite
Definition: TAppEncCfg.h:308
Int m_defDispWinLeftOffset
Specifies the left offset from the conformance window of the default window.
Definition: TAppEncCfg.h:470
Bool m_bUseHADME
flag for using HAD in sub-pel ME
Definition: TAppEncCfg.h:245
Bool m_onePictureOnlyConstraintFlag
Definition: TAppEncCfg.h:127
Int m_iSearchRange
ME search range.
Definition: TAppEncCfg.h:253
SliceConstraint m_sliceSegmentMode
Definition: TAppEncCfg.h:265
Int m_RCTargetBitrate
target bitrate when rate control is enabled
Definition: TAppEncCfg.h:431
Bool m_bClipInputVideoToRec709Range
Definition: TAppEncCfg.h:117
double Double
Definition: TypeDef.h:213
Int m_framePackingSEIQuincunx
Definition: TAppEncCfg.h:319
Bool m_neutralChromaIndicationFlag
Indicates that the value of all decoded chroma samples is equal to 1&lt;&lt;(BitDepthCr-1) ...
Definition: TAppEncCfg.h:468
Bool m_interlacedSourceFlag
Definition: TAppEncCfg.h:130
Int m_rwpSEIProjPictureHeight
Definition: TAppEncCfg.h:397
static const Int MAX_TIMECODE_SEI_SETS
Maximum number of time sets.
Definition: CommonDef.h:218
Int m_sliceChromaQpOffsetIntraOrPeriodic[2]
Chroma Cb QP Offset at slice level for I slice or for periodic inter slices as defined by SliceChroma...
Definition: TAppEncCfg.h:181
Int m_numTicksPocDiffOneMinus1
Number of ticks minus 1 that for a POC difference of one.
Definition: TAppEncCfg.h:476
Bool m_CUTransquantBypassFlagForce
if transquant_bypass_enabled_flag, then, if true, all CU transquant bypass flags will be set to true...
Definition: TAppEncCfg.h:444
std::vector< UInt > m_rwpSEIRwpSEIProjRegionTop
Definition: TAppEncCfg.h:404
Bool m_usePCM
flag for using IPCM
Definition: TAppEncCfg.h:237
Double m_RCInitialCpbFullness
initial CPB fullness
Definition: TAppEncCfg.h:439
Bool m_temporalLevel0IndexSEIEnabled
Definition: TAppEncCfg.h:326
Int m_nominalWhiteLevelLumaCodeValue
Definition: TAppEncCfg.h:311
Int m_extraRPSs
extra RPSs added to handle CRA
Definition: TAppEncCfg.h:141
std::vector< Int > m_omniViewportSEIElevationCentre
Definition: TAppEncCfg.h:380
Int m_rwpSEIProjPictureWidth
Definition: TAppEncCfg.h:396
Bool m_erpSEIGuardBandFlag
Definition: TAppEncCfg.h:362
Int m_maxTempLayer
Max temporal layer.
Definition: TAppEncCfg.h:191
Bool m_bFastMEForGenBLowDelayEnabled
Definition: TAppEncCfg.h:279
Bool m_pocProportionalToTimingFlag
Indicates that the POC value is proportional to the output time w.r.t. first picture in CVS...
Definition: TAppEncCfg.h:475
OptionalValue< UInt > m_qpIncrementAtSourceFrame
Optional source frame number at which all subsequent frames are to use an increased internal QP...
Definition: TAppEncCfg.h:160
HashType m_decodedPictureHashSEIType
Checksum mode for decoded picture hash SEI message.
Definition: TAppEncCfg.h:282
Bool m_useFastDecisionForMerge
flag for using Fast Decision Merge RD-Cost
Definition: TAppEncCfg.h:260
Int m_aiPad[2]
number of padded pixels for width and height
Definition: TAppEncCfg.h:103
UInt m_log2MaxTransformSkipBlockSize
transform-skip maximum size (minimum of 2)
Definition: TAppEncCfg.h:150
Int m_log2MaxMvLengthVertical
Indicate the maximum absolute value of a decoded vertical MV component in quarter-pel luma units...
Definition: TAppEncCfg.h:484
Bool m_decodingUnitInfoSEIEnabled
Definition: TAppEncCfg.h:329
Void xPrintUsage()
print usage
Int m_framesToBeEncoded
number of encoded frames
Definition: TAppEncCfg.h:102
Int m_numTileRowsMinus1
Definition: TAppEncCfg.h:272
Int m_extendedRangeWhiteLevel
Definition: TAppEncCfg.h:309
UInt m_uiMaxCUHeight
max. CU height in pixel
Definition: TAppEncCfg.h:196
Int m_iMaxDeltaQP
max. |delta QP|
Definition: TAppEncCfg.h:171
Int m_iMaxCuDQPDepth
Max. depth for a minimum CuDQPSize (0:default)
Definition: TAppEncCfg.h:173
Bool m_lambdaFromQPEnable
enable flag for QP:lambda fix
Definition: TAppEncCfg.h:167
Bool m_bLFCrossSliceBoundaryFlag
1: filter across slice boundaries 0: do not filter across slice boundaries
Definition: TAppEncCfg.h:268
Bool m_kneeSEIEnabled
Definition: TAppEncCfg.h:339
Bool m_overscanInfoPresentFlag
Signals whether overscan_appropriate_flag is present.
Definition: TAppEncCfg.h:456
Int m_rdPenalty
RD-penalty for 32x32 TU for intra in non-intra slices (0: no RD-penalty, 1: RD-penalty, 2: maximum RD-penalty)
Definition: TAppEncCfg.h:249