42 #error Include CommonDef.h not TypeDef.h
56 #define DEBUG_STRING 0
57 #define DEBUG_ENCODER_SEARCH_BINS 0
58 #define DEBUG_CABAC_BINS 0
59 #define DEBUG_INTRA_SEARCH_COSTS 0
60 #define DEBUG_TRANSFORM_AND_QUANTISE 0
62 #define ENVIRONMENT_VARIABLE_DEBUG_AND_TEST 0
63 #define PRINT_MACRO_VALUES 1
67 #ifndef RExt__DECODER_DEBUG_BIT_STATISTICS
68 #define RExt__DECODER_DEBUG_BIT_STATISTICS 0
73 #define ENC_DEC_TRACE 0
75 #define DEC_NUH_TRACE 0
77 #define PRINT_RPS_INFO 0
83 #define DECODER_CHECK_SUBSTREAM_AND_SLICE_TRAILING_BYTES 1
84 #define X0038_LAMBDA_FROM_QP_CAPABILITY 1
85 // To use this capability enable config parameter LambdaFromQpEnable
86 #define JCTVC_Y0038_PARAMS 1
88 #define JVET_E0059_FLOATING_POINT_QP_FIX 1
89 #define JVET_G0101_QP_SWITCHING 1
91 #define JVET_F0064_MSSSIM 1
93 #ifndef EXTENSION_360_VIDEO
94 #define EXTENSION_360_VIDEO 0
97 #define MCTS_ENC_CHECK 1
98 #define CCV_SEI_MESSAGE 1 // Content Colour Volume SEI message
99 #define RWP_SEI_MESSAGE 1 // region-wise SEI message
100 #define CMP_SEI_MESSAGE 1 // cubemap projection SEI message
101 #define ERP_SR_OV_SEI_MESSAGE 1 // equirectangular projection, sphere rotation, and omni viewport SEI message
104 // ====================================================================================================================
110 #define REDUCED_ENCODER_MEMORY 1
112 #define ADAPTIVE_QP_SELECTION 1
114 #define AMP_ENC_SPEEDUP 1
119 #define FAST_BIT_EST 1
121 #define HHI_RQT_INTRA_SPEEDUP 1
122 #define HHI_RQT_INTRA_SPEEDUP_MOD 0
124 #if HHI_RQT_INTRA_SPEEDUP_MOD && !HHI_RQT_INTRA_SPEEDUP
128 #define MATRIX_MULT 0
130 #define O0043_BEST_EFFORT_DECODING 0
132 #define ME_ENABLE_ROUNDING_OF_MVS 1
134 #define RDOQ_CHROMA_LAMBDA 1
137 #ifndef RExt__HIGH_BIT_DEPTH_SUPPORT
138 #define RExt__HIGH_BIT_DEPTH_SUPPORT 0
141 #if defined __SSE2__ || defined __AVX2__ || defined __AVX__ || defined _M_AMD64 || defined _M_X64
142 #define VECTOR_CODING__INTERPOLATION_FILTER 1
143 #define VECTOR_CODING__DISTORTION_CALCULATIONS 1
145 #define VECTOR_CODING__INTERPOLATION_FILTER 0
146 #define VECTOR_CODING__DISTORTION_CALCULATIONS 0
153 #if RExt__HIGH_BIT_DEPTH_SUPPORT
155 #define RExt__HIGH_PRECISION_FORWARD_TRANSFORM 1
158 #define RExt__HIGH_PRECISION_FORWARD_TRANSFORM 0
162 # define DISTORTION_PRECISION_ADJUSTMENT(x) 0
164 # define DISTORTION_PRECISION_ADJUSTMENT(x) (x)
168 #define DEBUG_STRING_PASS_INTO(name) , name
169 #define DEBUG_STRING_PASS_INTO_OPTIONAL(name, exp) , (exp==0)?0:name
170 #define DEBUG_STRING_FN_DECLARE(name) , std::string &name
171 #define DEBUG_STRING_FN_DECLAREP(name) , std::string *name
172 #define DEBUG_STRING_NEW(name) std::string name;
173 #define DEBUG_STRING_OUTPUT(os, name) os << name;
174 #define DEBUG_STRING_APPEND(str1, str2) str1+=str2;
175 #define DEBUG_STRING_SWAP(str1, str2) str1.swap(str2);
176 #define DEBUG_STRING_CHANNEL_CONDITION(compID) (true)
180 #define DEBUG_STRING_PASS_INTO(name)
181 #define DEBUG_STRING_PASS_INTO_OPTIONAL(name, exp)
182 #define DEBUG_STRING_FN_DECLARE(name)
183 #define DEBUG_STRING_FN_DECLAREP(name)
184 #define DEBUG_STRING_NEW(name)
185 #define DEBUG_STRING_OUTPUT(os, name)
186 #define DEBUG_STRING_APPEND(str1, str2)
187 #define DEBUG_STRING_SWAP(srt1, str2)
188 #define DEBUG_STRING_CHANNEL_CONDITION(compID)
195 #if ((RExt__HIGH_PRECISION_FORWARD_TRANSFORM != 0) && (RExt__HIGH_BIT_DEPTH_SUPPORT == 0))
196 #error ERROR: cannot enable RExt__HIGH_PRECISION_FORWARD_TRANSFORM without RExt__HIGH_BIT_DEPTH_SUPPORT
222 typedef __int64
Int64;
224 #if _MSC_VER <= 1200 // MS VC6
227 typedef unsigned __int64
UInt64;
241 #if RExt__HIGH_BIT_DEPTH_SUPPORT
562 #define NUM_SAO_EO_TYPES_LOG2 2
574 #define NUM_SAO_BO_CLASSES_LOG2 5
575 #define NUM_SAO_BO_CLASSES (1<<NUM_SAO_BO_CLASSES_LOG2)
757 #define MAX_NUM_SAO_CLASSES 32 //(NUM_SAO_EO_GROUPS > NUM_SAO_BO_GROUPS)?NUM_SAO_EO_GROUPS:NUM_SAO_BO_GROUPS
789 #if O0043_BEST_EFFORT_DECODING
825 if (other.
hash.size() !=
hash.size())
841 return !(*
this == other);
SliceType
supported slice type
#define MAX_NUM_SAO_CLASSES
Int getWindowTopOffset() const
Double chromaQpOffset
Chroma QP Offset (0.0:default)
Short TFilterCoeff
filter coefficient
UInt Distortion
distortion measurement
MESearchMethod
supported ME search methods
std::vector< std::pair< Int, Int > > mapping
first=luma level, second=delta QP.
Bool operator==(RNSEIWindow const &rhs) const
Int getWindowBottomOffset() const
Double maxMethodWeight
weight of max luma value when mode = 2
Int getWindowLeftOffset() const
don't use slices / slice segments
UInt Intermediate_UInt
used as intermediate value in calculations
symmetric motion partition, 2Nx N
Bool bLeftEdge
indicates left edge
friend std::ostream & operator<<(std::ostream &os, RNSEIWindow const ®ion)
Bool getWindowEnabledFlag() const
Double chromaQpScale
Chroma QP Scale (0.0:default)
Int recon[MAX_NUM_CHANNEL_TYPE]
the bit depth as indicated in the SPS
parameters for deblocking filter
Void setWindowBottomOffset(Int val)
Short TMatrixCoeff
transform matrix coefficient
Bool bInternalEdge
indicates internal edge
PartSize
supported partition shape
Limit maximum number of bytes in a slice / slice segment.
LumaLevelToDQPMode mode
use deltaQP determined by block luma level
Int Intermediate_Int
used as intermediate value in calculations
SignificanceMapContextType
SAOOffset offsetParam[MAX_NUM_COMPONENT]
symmetric motion partition, 2Nx2N
Void setWindowRightOffset(Int val)
const SAOOffset & operator=(const SAOOffset &src)
Bool enabled
Enabled flag (0:default)
asymmetric motion partition, 2Nx( N/2) + 2Nx(3N/2)
asymmetric motion partition, (3N/2)x2N + ( N/2)x2N
Bool numUnitFieldBasedFlag
MVP_DIR
motion vector predictor direction used in AMVP
Void setWindowTopOffset(Int val)
Double chromaCrQpScale
Chroma Cr QP Scale (1.0:default)
MVP of above right block.
Bool colourVolumeSEIEnabled
Int TCoeff
transform coefficient
RefPicList
reference list index
ChromaFormat
chroma formats (according to semantics of chroma_format_idc)
UInt firstSignificanceMapContext
COEFF_SCAN_TYPE
coefficient scanning type used in ACS
Limit maximum number of largest coding tree units in a slice / slice segments.
Double chromaCbQpScale
Chroma Cb QP Scale (1.0:default)
Bool checkSameRegion(RNSEIWindow const &rhs) const
CI_IDX
index for SBAC based RD optimization
const SAOBlkParam & operator=(const SAOBlkParam &src)
Void setWindowLeftOffset(Int val)
InputColourSpaceConversion
asymmetric motion partition, ( N/2)x2N + (3N/2)x2N
Bool operator==(const TComPictureHash &other) const
unsigned long long UInt64
SAOOffset & operator[](Int compIdx)
std::vector< UChar > hash
std::vector< RNSEIWindow > RNSEIWindowVec
Bool bTopEdge
indicates top edge
general size Hadamard with step
Bool operator!=(const TComPictureHash &other) const
PredMode
supported prediction type
struct _LFCUParam LFCUParam
parameters for deblocking filter
Int getWindowRightOffset() const
slices / slice segments span an integer number of tiles
asymmetric motion partition, 2Nx(3N/2) + 2Nx( N/2)
symmetric motion partition, Nx N
Void setWindow(Int offsetLeft, Int offsetLRight, Int offsetLTop, Int offsetLBottom)
Void setRegionId(UInt const val)
Bool checkSameID(RNSEIWindow const &rhs) const
symmetric motion partition, Nx2N
Bool operator==(const Window &rhs) const
DFunc
distortion function index
general size SAD with step