38 #ifndef __TAPPENCCFG__
39 #define __TAPPENCCFG__
44 #if EXTENSION_360_VIDEO
45 #include "TAppEncHelper360/TExt360AppEncCfg.h"
59 #if JVET_E0059_FLOATING_POINT_QP_FIX
113 #if JVET_F0064_MSSSIM
138 #if JCTVC_Y0038_PARAMS
159 #if JVET_E0059_FLOATING_POINT_QP_FIX
165 #if X0038_LAMBDA_FROM_QP_CAPABILITY
183 #if ADAPTIVE_QP_SELECTION
358 #if ERP_SR_OV_SEI_MESSAGE
494 #if EXTENSION_360_VIDEO
495 TExt360AppEncCfg m_ext360;
496 friend class TExt360AppEncCfg;
497 friend class TExt360AppEncTop;
517 #endif // __TAPPENCCFG__
UInt m_pcmLog2MaxSize
log2 of maximum PCM block size
Int m_sphereRotationSEIYaw
Void create()
create option handling class
ChromaFormat m_InputChromaFormatIDC
TComSEIMasteringDisplay m_masteringDisplay
Bool m_RCEnableRateControl
enable rate control or not
std::string m_scalingListFileName
quantization matrix file name
Bool m_recalculateQPAccordingToLambda
recalculate QP value according to the lambda value
Bool m_ccvSEIMaxLuminanceValuePresentFlag
Bool m_signDataHidingEnabledFlag
Int m_chromaSampleLocTypeTopField
Specifies the location of chroma samples for top field.
UInt m_RCCpbSize
CPB size.
Double m_ccvSEIAvgLuminanceValue
Bool m_bFastUDIUseMPMEnabled
Bool m_useStrongIntraSmoothing
enable strong intra smoothing for 32x32 blocks where the reference samples are flat ...
std::vector< Int > m_omniViewportSEIAzimuthCentre
Int m_iDecodingRefreshType
random access type
Bool m_loopFilterOffsetInPPS
offset for deblocking filter in 0 = slice header, 1 = PPS
Bool m_TransquantBypassEnabledFlag
transquant_bypass_enabled_flag setting in PPS.
Bool m_transformSkipRotationEnabledFlag
control flag for transform-skip/transquant-bypass residual rotation
Int m_deblockingFilterMetric
blockiness metric in encoder
std::vector< UChar > m_rwpSEIRwpTopGuardBandHeight
std::vector< UInt > m_rwpSEIProjRegionHeight
UInt m_uiMaxCUDepth
max. CU depth (as specified by command line)
UInt m_FrameSkip
number of skipped frames from the beginning
Double m_ccvSEIMaxLuminanceValue
Bool m_videoFullRangeFlag
Indicates the black level and range of luma and chroma signals.
Bool m_colourDescriptionPresentFlag
Signals whether colour_primaries, transfer_characteristics and matrix_coefficients are present...
Int m_crQpOffset
Chroma Cr QP Offset (0:default)
Bool m_saoCtuBoundary
SAO parameter estimation using non-deblocked pixels for CTU bottom and right boundary areas...
Bool m_rwpSEIRwpPersistenceFlag
Bool m_cmpSEICmpPersistenceFlag
Bool m_bUseAdaptiveQP
Flag for enabling QP adaptation based on a psycho-visual model.
Bool m_recoveryPointSEIEnabled
Int m_log2MaxMvLengthHorizontal
Indicate the maximum absolute value of a decoded horizontal MV component in quarter-pel luma units...
Int m_colourPrimaries
Indicates chromaticity coordinates of the source primaries.
Bool m_bPCMInputBitDepthFlag
0: PCM bit-depth is internal bit-depth. 1: PCM bit-depth is input bit-depth.
Int m_inputFileHeight
height of image in input file (this is equivalent to sourceHeight, if sourceHeight is not subsequentl...
Defines version information, constants and small in-line functions.
GOPEntry m_GOPList[MAX_GOP]
the coding structure entries from the config file
std::string m_reconFileName
output reconstruction file
MESearchMethod
supported ME search methods
Int m_cbQpOffset
Chroma Cb QP Offset (0:default)
Int m_matrixCoefficients
Describes the matrix coefficients used in deriving luma and chroma from RGB primaries.
Bool m_intraConstraintFlag
Int m_MSBExtendedBitDepth[MAX_NUM_CHANNEL_TYPE]
bit-depth of input samples after MSB extension
Int m_iQPAdaptationRange
dQP range by QP adaptation
Int m_outputBitDepth[MAX_NUM_CHANNEL_TYPE]
bit-depth of output file
Bool m_lowerBitRateConstraintFlag
Bool m_toneMappingInfoSEIEnabled
Int m_transferCharacteristics
Indicates the opto-electronic transfer characteristics of the source.
std::vector< Int > m_omniViewportSEITiltCentre
Int m_inputBitDepth[MAX_NUM_CHANNEL_TYPE]
bit-depth of input file
std::vector< UInt > m_rwpSEIProjRegionWidth
Bool m_ccvSEIAvgLuminanceValuePresentFlag
Double m_dIntraQpFactor
Intra Q Factor. If negative, use a default equation: 0.57*(1.0 - Clip3( 0.0, 0.5, 0...
Int m_extendedWhiteLevelLumaCodeValue
ChromaFormat m_chromaFormatConstraint
Bool m_ccvSEIMinLuminanceValuePresentFlag
std::vector< UInt > m_rwpSEIProjRegionLeft
Int m_iFrameRate
source frame-rates (Hz)
Int m_chromaSampleLocTypeBottomField
Specifies the location of chroma samples for bottom field.
Bool m_snrInternalColourSpace
if true, then no colour space conversion is applied for snr calculation, otherwise inverse of input i...
Int m_exposureCompensationValueNumerator
Bool parseCfg(Int argc, TChar *argv[])
parse configuration file to fill member variables
Bool m_vuiParametersPresentFlag
enable generation of VUI parameters
UInt m_sliceChromaQpOffsetPeriodicity
Used in conjunction with Slice Cb/Cr QpOffsetIntraOrPeriodic. Use 0 (default) to disable periodic nat...
Bool m_bitstreamRestrictionFlag
Signals whether bitstream restriction parameters are present.
Bool m_tilesFixedStructureFlag
Indicates that each active picture parameter set has the same values of the syntax elements related t...
Int m_iQP
QP value of key-picture (integer)
Bool m_omniViewportSEIEnabled
UInt m_uiQuadtreeTULog2MaxSize
std::string m_colourRemapSEIFileRoot
SliceConstraint m_sliceMode
Bool m_cmpSEICmpCancelFlag
Bool m_bufferingPeriodSEIEnabled
Bool m_bHarmonizeGopFirstFieldCoupleEnabled
Int m_iSourceWidth
source width in pixel
UInt m_temporalSubsampleRatio
temporal subsample ratio, 2 means code every two frames
Int m_chromaResamplingHorFilterIdc
Int m_sarHeight
vertical size of the sample aspect ratio
std::vector< UShort > m_rwpSEIPackedRegionHeight
ScalingListMode m_useScalingListId
using quantization matrix
Int m_cameraIsoSpeedValue
Int m_videoFormat
Indicates representation of pictures.
UInt m_log2ParallelMergeLevel
Parallel merge estimation region.
Double m_saoEncodingRate
When >0 SAO early picture termination is enabled for luma and chroma.
Bool m_motionVectorsOverPicBoundariesFlag
Indicates that no samples outside the picture boundaries are used for inter prediction.
Int m_defDispWinRightOffset
Specifies the right offset from the conformance window of the default window.
Int m_framePackingSEIInterpretation
std::string m_summaryOutFilename
filename to use for producing summary output file.
Int m_displayOrientationSEIAngle
std::vector< UChar > m_rwpSEIRwpRightGuardBandWidth
Int m_loopFilterTcOffsetDiv2
tc offset for deblocking filter
std::vector< Int > m_tileColumnWidth
std::string m_bitstreamFileName
output bitstream file
Bool m_aspectRatioInfoPresentFlag
Signals whether aspect_ratio_idc is present.
Bool m_bFastMEAssumingSmootherMVEnabled
Enables fast ME assuming a smoother MV.
Bool m_bLoopFilterDisable
flag for using deblocking filter
Bool m_bUseBLambdaForNonKeyLowDelayPictures
Bool m_sphereRotationSEICancelFlag
Int m_numReorderPics[MAX_TLAYER]
total number of reorder pictures
Int m_loopFilterBetaOffsetDiv2
beta offset for deblocking filter
UInt m_uiLog2DiffMaxMinCodingBlockSize
difference between largest and smallest CU depth
Int m_exposureCompensationValueDenomIdc
Bool m_exposureCompensationValueSignFlag
UInt m_erpSEIRightGuardBandWidth
Bool m_SOPDescriptionSEIEnabled
Bool m_frameOnlyConstraintFlag
Bool m_omniViewportSEICancelFlag
Bool m_highPrecisionOffsetsEnabledFlag
std::vector< UShort > m_rwpSEIPackedRegionLeft
Bool m_timeCodeSEIEnabled
Bool m_isField
enable field coding
std::vector< UChar > m_rwpSEIRwpTransformType
FastInterSearchMode m_fastInterSearchMode
Parameter that controls fast encoder settings.
WCGChromaQPControl m_wcgChromaQpControl
Wide-colour-gamut chroma QP control.
std::vector< Bool > m_rwpSEIRwpGuardBandFlag
encoder configuration class (header)
Int m_maxNumOffsetsPerPic
SAO maximun number of offset per picture.
Bool m_RCForceIntraQP
force all intra picture to use initial QP or not
Bool m_useEarlySkipDetection
flag for using Early SKIP Detection
std::string m_summaryPicFilenameBase
Base filename to use for producing summary picture output files. The actual filenames used will have ...
Int m_preferredTransferCharacteristics
Double m_saoEncodingRateChroma
The SAO early picture termination rate to use for chroma (when m_SaoEncodingRate is >0)...
Bool m_framePackingSEIEnabled
Double m_ccvSEIPrimariesX[MAX_NUM_COMPONENT]
std::string m_inputFileName
source file name
Int m_iSourceHeight
source height in pixel (when interlaced = field height)
Bool m_outputInternalColourSpace
if true, then no colour space conversion is applied for reconstructed video, otherwise inverse of inp...
Int m_toneMapCodedDataBitDepth
Int m_RCKeepHierarchicalBit
0: equal bit allocation; 1: fixed ratio bit allocation; 2: adaptive ratio bit allocation ...
UInt m_omniViewportSEICntMinus1
Int m_activeParameterSetsSEIEnabled
static const Int MAX_GOP
max. value of hierarchical GOP size
Int m_minSearchWindow
ME minimum search window size for the Adaptive Window ME.
Bool m_crossComponentPredictionEnabledFlag
flag enabling the use of cross-component prediction
Bool m_omniViewportSEIPersistenceFlag
Bool m_sphereRotationSEIEnabled
Int m_toneMapTargetBitDepth
Double m_ccvSEIPrimariesY[MAX_NUM_COMPONENT]
Bool m_segmentedRectFramePackingSEICancel
Bool m_useRDOQTS
flag for using RD optimized quantization for transform skip
Int m_defDispWinTopOffset
Specifies the top offset from the conformance window of the default window.
Int m_conformanceWindowMode
Bool m_transformSkipContextEnabledFlag
control flag for transform-skip/transquant-bypass single significance map context ...
Bool m_extendedPrecisionProcessingFlag
std::vector< UShort > m_rwpSEIPackedRegionWidth
std::vector< Int > m_tileRowHeight
Bool m_useSelectiveRDOQ
flag for using selective RDOQ
UInt m_erpSEIGuardBandType
Int m_sphereRotationSEIPitch
Bool m_bClipOutputVideoToRec709Range
Bool m_ccvSEIPrimariesPresentFlag
Int m_iIntraPeriod
period of I-slice (random access period)
LumaLevelToDeltaQPMapping m_lumaLevelToDeltaQPMapping
mapping from luma level to Delta QP.
Int m_maxBytesPerPicDenom
Indicates a number of bytes not exceeded by the sum of the sizes of the VCL NAL units associated with...
Int * m_aidQP
array of slice QP values
Bool m_gradualDecodingRefreshInfoEnabled
Bool m_bFastDeltaQP
Fast Delta QP (false:default)
Int m_segmentedRectFramePackingSEIType
Bool m_toneMapPersistenceFlag
Int m_RCInitialQP
inital QP for rate control
Bool m_rwpSEIConstituentPictureMatchingFlag
UInt m_uiMaxCUWidth
max. CU width in pixel
Bool m_AccessUnitDelimiter
add Access Unit Delimiter NAL units
Bool m_sphereRotationSEIPersistenceFlag
Bool m_bUseEarlyCU
flag for using Early CU setting
Bool m_RCLCULevelRC
true: LCU level rate control; false: picture level rate control NOTE: code-tidy - rename to m_RCCtuLe...
Int m_sarWidth
horizontal size of the sample aspect ratio
Bool m_bLFCrossTileBoundaryFlag
1: filter across tile boundaries 0: do not filter across tile boundaries
TEncCfg::TEncSEIKneeFunctionInformation m_kneeFunctionInformationSEI
encoder configuration class
Int m_maxBitsPerMinCuDenom
Indicates an upper bound for the number of bits of coding_unit() data.
Bool m_erpSEIPersistenceFlag
Bool m_useWeightedPred
Use of weighted prediction in P slices.
Double m_ccvSEIMinLuminanceValue
Bool m_useTransformSkip
flag for enabling intra transform skipping
Void xCheckParameter()
check validity of configuration values
Int m_rwpSEIPackedPictureHeight
Int m_iGOPSize
GOP size of hierarchical structure.
Int m_sliceSegmentArgument
argument according to selected slice segment mode
Int m_bipredSearchRange
ME search range for bipred refinement.
Bool m_entropyCodingSyncEnabledFlag
Bool m_cabacZeroWordPaddingEnabled
Bool m_pictureTimingSEIEnabled
UInt m_summaryVerboseness
Specifies the level of the verboseness of the text output.
std::vector< UChar > m_rwpSEIRwpBottomGuardBandHeight
Bool m_cabacBypassAlignmentEnabledFlag
UInt m_uiQuadtreeTULog2MinSize
Int m_nominalBlackLevelLumaCodeValue
Int m_inputFileWidth
width of image in input file (this is equivalent to sourceWidth, if sourceWidth is not subsequently a...
ChromaFormat m_chromaFormatIDC
ChromaFormat
chroma formats (according to semantics of chroma_format_idc)
WeightedPredictionMethod m_weightedPredictionMethod
Bool m_progressiveSourceFlag
Double m_adLambdaModifier[MAX_TLAYER]
Lambda modifier array for each temporal layer.
std::vector< UInt > m_omniViewportSEIVerRange
Bool m_bClipForBiPredMeEnabled
Enables clipping for Bi-Pred ME.
Bool m_printMSEBasedSequencePSNR
Int m_intraQPOffset
QP offset for intra slice (integer)
Bool m_frameFieldInfoPresentFlag
Indicates that pic_struct values are present in picture timing SEI messages.
Bool m_nonPackedConstraintFlag
Int m_sliceArgument
argument according to selected slice mode
Bool m_useRDOQ
flag for using RD optimized quantization
Bool m_bUseCbfFastMode
flag for using Cbf Fast PU Mode Decision
std::string m_dQPFileName
QP offset for each slice (initialized from external file)
UInt m_log2SaoOffsetScale[MAX_NUM_CHANNEL_TYPE]
number of bits for the upward bit shift operation on the decoded SAO offsets
Bool m_chromaLocInfoPresentFlag
Signals whether chroma_sample_loc_type_top_field and chroma_sample_loc_type_bottom_field are present...
Bool m_useWeightedBiPred
Use of bi-directional weighted prediction in B slices.
std::vector< UChar > m_rwpSEIRwpGuardBandType
Bool m_videoSignalTypePresentFlag
Signals whether video_format, video_full_range_flag, and colour_description_present_flag are present...
Bool m_rdpcmEnabledFlag[NUMBER_OF_RDPCM_SIGNALLING_MODES]
control flags for residual DPCM
Bool m_scalableNestingSEIEnabled
Bool m_RCUseLCUSeparateModel
use separate R-lambda model at LCU level NOTE: code-tidy - rename to m_RCUseCtuSeparateModel ...
Void destroy()
destroy option handling class
UInt m_uiPCMLog2MinSize
log2 of minimum PCM block size
Bool m_bReWriteParamSetsFlag
Flag to enable rewriting of parameter sets at random access points.
Bool m_useTransformSkipFast
flag for enabling fast intra transform skipping
Int m_iSourceHeightOrg
original source height in pixel (when interlaced = frame height)
Int m_minSpatialSegmentationIdc
Indicates the maximum size of the spatial segments in the pictures in the coded video sequence...
UInt m_bitDepthConstraint
Int m_rwpSEIPackedPictureWidth
Bool m_bEfficientFieldIRAPEnabled
enable an efficient field IRAP structure.
static const Int MAX_TLAYER
Explicit temporal layer QP offset - max number of temporal layer.
InputColourSpaceConversion
Bool m_tileUniformSpacingFlag
std::vector< UShort > m_rwpSEIPackedRegionTop
Bool m_bTestSAODisableAtPictureLevel
UInt m_uiQuadtreeTUMaxDepthIntra
Bool m_bPCMFilterDisableFlag
PCM filter disable flag.
InputColourSpaceConversion m_inputColourSpaceConvert
colour space conversion to apply to input video
Bool m_segmentedRectFramePackingSEIPersistence
Int * m_startOfCodedInterval
Bool m_saoResetEncoderStateAfterIRAP
When true, SAO encoder state will be reset following an IRAP.
Int m_chromaResamplingVerFilterIdc
Int m_framePackingSEIType
Bool m_bRestrictMESampling
Restrict sampling for the Selective ME.
Int m_aspectRatioIdc
aspect_ratio_idc
CostMode m_costMode
Cost mode to use.
std::vector< Double > m_adIntraLambdaModifier
Lambda modifier for Intra pictures, one for each temporal layer. If size>temporalLayer, then use [temporalLayer], else if size>0, use [size()-1], else use m_adLambdaModifier.
Int m_numTileColumnsMinus1
Int m_maxDecPicBuffering[MAX_TLAYER]
total number of pictures in the decoded picture buffer
Bool m_bDisableIntraPUsInInterSlices
Flag for disabling intra predicted PUs in inter slices.
UInt m_uiQuadtreeTUMaxDepthInter
Bool m_RCCpbSaturationEnabled
enable target bits saturation to avoid CPB overflow and underflow
Bool m_bUseASR
flag for using adaptive motion search range
UInt m_maxNumMergeCand
Max number of merge candidates.
Bool m_ccvSEIPersistenceFlag
TComSEITimeSet m_timeSetArray[MAX_TIMECODE_SEI_SETS]
UInt m_erpSEILeftGuardBandWidth
std::vector< Bool > m_rwpSEIRwpGuardBandNotUsedForPredFlag
Bool m_chromaResamplingFilterSEIenabled
Int m_rwpSEINumPackedRegions
Int m_diffCuChromaQpOffsetDepth
If negative, then do not apply chroma qp offsets.
Bool m_enableIntraReferenceSmoothing
flag for enabling(default)/disabling intra reference smoothing/filtering
Bool m_segmentedRectFramePackingSEIEnabled
std::vector< UChar > m_rwpSEIRwpLeftGuardBandWidth
MESearchMethod m_motionEstimationSearchMethod
Bool m_tmctsSEITileConstraint
Bool m_rwpSEIRwpCancelFlag
UInt m_uiMaxTotalCUDepth
max. total CU depth - includes depth of transform-block structure
Bool m_reconBasedCrossCPredictionEstimate
causes the alpha calculation in encoder search to be based on the decoded residual rather than the pr...
Void xPrintParameter()
print configuration values
Bool m_bUseConstrainedIntraPred
flag for using constrained intra prediction
Int m_defDispWinBottomOffset
Specifies the bottom offset from the conformance window of the default window.
std::string m_regionalNestingSEIFileRoot
UInt m_uiDeltaQpRD
dQP range for multi-pass slice QP optimization
Bool m_persistentRiceAdaptationEnabledFlag
control flag for Golomb-Rice parameter adaptation over each slice
std::vector< UInt > m_omniViewportSEIHorRange
Bool m_defaultDisplayWindowFlag
Indicates the presence of the default window parameters.
Bool m_overscanAppropriateFlag
Indicates whether conformant decoded pictures are suitable for display using overscan.
Int m_internalBitDepth[MAX_NUM_CHANNEL_TYPE]
bit-depth codec operates at (input/output files will be converted)
Int m_sphereRotationSEIRoll
Int m_refScreenLuminanceWhite
Int m_defDispWinLeftOffset
Specifies the left offset from the conformance window of the default window.
Bool m_bUseHADME
flag for using HAD in sub-pel ME
Bool m_onePictureOnlyConstraintFlag
Int m_iSearchRange
ME search range.
SliceConstraint m_sliceSegmentMode
Int m_RCTargetBitrate
target bitrate when rate control is enabled
Bool m_bClipInputVideoToRec709Range
Int m_framePackingSEIQuincunx
Bool m_neutralChromaIndicationFlag
Indicates that the value of all decoded chroma samples is equal to 1<<(BitDepthCr-1) ...
Bool m_interlacedSourceFlag
Int m_rwpSEIProjPictureHeight
static const Int MAX_TIMECODE_SEI_SETS
Maximum number of time sets.
Int m_sliceChromaQpOffsetIntraOrPeriodic[2]
Chroma Cb QP Offset at slice level for I slice or for periodic inter slices as defined by SliceChroma...
Int m_numTicksPocDiffOneMinus1
Number of ticks minus 1 that for a POC difference of one.
Bool m_CUTransquantBypassFlagForce
if transquant_bypass_enabled_flag, then, if true, all CU transquant bypass flags will be set to true...
std::vector< UInt > m_rwpSEIRwpSEIProjRegionTop
Bool m_usePCM
flag for using IPCM
Double m_RCInitialCpbFullness
initial CPB fullness
Bool m_temporalLevel0IndexSEIEnabled
Int m_nominalWhiteLevelLumaCodeValue
Int m_extraRPSs
extra RPSs added to handle CRA
std::vector< Int > m_omniViewportSEIElevationCentre
Int m_rwpSEIProjPictureWidth
Bool m_erpSEIGuardBandFlag
Int m_maxTempLayer
Max temporal layer.
Bool m_bFastMEForGenBLowDelayEnabled
Bool m_pocProportionalToTimingFlag
Indicates that the POC value is proportional to the output time w.r.t. first picture in CVS...
OptionalValue< UInt > m_qpIncrementAtSourceFrame
Optional source frame number at which all subsequent frames are to use an increased internal QP...
HashType m_decodedPictureHashSEIType
Checksum mode for decoded picture hash SEI message.
Bool m_useFastDecisionForMerge
flag for using Fast Decision Merge RD-Cost
Int m_aiPad[2]
number of padded pixels for width and height
UInt m_log2MaxTransformSkipBlockSize
transform-skip maximum size (minimum of 2)
Int m_log2MaxMvLengthVertical
Indicate the maximum absolute value of a decoded vertical MV component in quarter-pel luma units...
Bool m_decodingUnitInfoSEIEnabled
Void xPrintUsage()
print usage
Int m_framesToBeEncoded
number of encoded frames
Int m_extendedRangeWhiteLevel
UInt m_uiMaxCUHeight
max. CU height in pixel
Int m_iMaxDeltaQP
max. |delta QP|
Int m_iMaxCuDQPDepth
Max. depth for a minimum CuDQPSize (0:default)
Bool m_lambdaFromQPEnable
enable flag for QP:lambda fix
Bool m_bLFCrossSliceBoundaryFlag
1: filter across slice boundaries 0: do not filter across slice boundaries
Bool m_overscanInfoPresentFlag
Signals whether overscan_appropriate_flag is present.
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)