HEVC Test Model (HM)  HM-16.18
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CommonDef.h File Reference

Defines version information, constants and small in-line functions. More...

#include <algorithm>
#include <iostream>
#include <assert.h>
#include <limits>
#include "TypeDef.h"
Include dependency graph for CommonDef.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

#define NV_VERSION   "16.18"
 Current software version. More...
 
#define NVM_COMPILEDBY   "[Unk-CXX]"
 
#define NVM_ONOS   "[Unk-OS]"
 
#define NVM_BITS   "[%d bit] ", (sizeof(Void*) == 8 ? 64 : 32)
 used for checking 64-bit O/S More...
 
#define NULL   0
 
#define DATA_ALIGN   1
 use 32-bit aligned malloc/free More...
 
#define xMalloc(type, len)   malloc ( sizeof(type)*(len) )
 
#define xFree(ptr)   free ( ptr )
 
#define FATAL_ERROR_0(MESSAGE, EXITCODE)
 
static const UInt MAX_UINT = 0xFFFFFFFFU
 max. value of unsigned 32-bit integer More...
 
static const Int MAX_INT = 2147483647
 max. value of signed 32-bit integer More...
 
static const Double MAX_DOUBLE = 1.7e+308
 max. value of Double-type value More...
 
static const Int MAX_GOP = 64
 max. value of hierarchical GOP size More...
 
static const Int MAX_NUM_REF_PICS = 16
 max. number of pictures used for reference More...
 
static const Int MAX_NUM_REF = 16
 max. number of entries in picture reference list More...
 
static const Int MAX_QP = 51
 
static const Int NOT_VALID = -1
 
static const Int AMVP_MAX_NUM_CANDS = 2
 AMVP: advanced motion vector prediction - max number of final candidates. More...
 
static const Int AMVP_DECIMATION_FACTOR = 4
 
static const Int MRG_MAX_NUM_CANDS = 5
 MERGE. More...
 
static const Int MAX_TLAYER = 7
 Explicit temporal layer QP offset - max number of temporal layer. More...
 
static const Int ADAPT_SR_SCALE = 1
 division factor for adaptive search range More...
 
static const Int MAX_NUM_PICS_IN_SOP = 1024
 
static const Int MAX_NESTING_NUM_OPS = 1024
 
static const Int MAX_NESTING_NUM_LAYER = 64
 
static const Int MAX_VPS_NUM_HRD_PARAMETERS = 1
 
static const Int MAX_VPS_OP_SETS_PLUS1 = 1024
 
static const Int MAX_VPS_NUH_RESERVED_ZERO_LAYER_ID_PLUS1 = 1
 
static const Int MAXIMUM_INTRA_FILTERED_WIDTH = 16
 
static const Int MAXIMUM_INTRA_FILTERED_HEIGHT = 16
 
static const Int MAX_CPB_CNT = 32
 Upper bound of (cpb_cnt_minus1 + 1) More...
 
static const Int MAX_NUM_LAYER_IDS = 64
 
static const Int COEF_REMAIN_BIN_REDUCTION = 3
 indicates the level at which the VLC transitions from Golomb-Rice to TU+EG(k) More...
 
static const Int CU_DQP_TU_CMAX = 5
 max number bins for truncated unary More...
 
static const Int CU_DQP_EG_k = 0
 expgolomb order More...
 
static const Int SBH_THRESHOLD = 4
 value of the fixed SBH controlling threshold More...
 
static const Int C1FLAG_NUMBER = 8
 
static const Int C2FLAG_NUMBER = 1
 
static const Int MAX_NUM_VPS = 16
 
static const Int MAX_NUM_SPS = 16
 
static const Int MAX_NUM_PPS = 64
 
static const Int MLS_GRP_NUM = 64
 Max number of coefficient groups, max(16, 64) More...
 
static const Int MLS_CG_LOG2_WIDTH = 2
 
static const Int MLS_CG_LOG2_HEIGHT = 2
 
static const Int MLS_CG_SIZE = 4
 Coefficient group size of 4x4; = MLS_CG_LOG2_WIDTH + MLS_CG_LOG2_HEIGHT. More...
 
static const Int ARL_C_PRECISION = 7
 G382: 7-bit arithmetic precision. More...
 
static const Int LEVEL_RANGE = 30
 G382: max coefficient level in statistics collection. More...
 
static const Int RVM_VCEGAM10_M = 4
 
static const Int FAST_UDI_MAX_RDMODE_NUM = 35
 maximum number of RD comparison in fast-UDI estimation loop More...
 
static const Int NUM_INTRA_MODE = 36
 
static const Int PLANAR_IDX = 0
 
static const Int VER_IDX = 26
 index for intra VERTICAL mode More...
 
static const Int HOR_IDX = 10
 index for intra HORIZONTAL mode More...
 
static const Int DC_IDX = 1
 index for intra DC mode More...
 
static const Int NUM_CHROMA_MODE = 5
 total number of chroma modes More...
 
static const Int DM_CHROMA_IDX = 36
 chroma mode index for derived from luma intra mode More...
 
static const Int MDCS_ANGLE_LIMIT = 4
 0 = Horizontal/vertical only, 1 = Horizontal/vertical +/- 1, 2 = Horizontal/vertical +/- 2 etc... More...
 
static const Int MDCS_MAXIMUM_WIDTH = 8
 (measured in pixels) TUs with width greater than this can only use diagonal scan More...
 
static const Int MDCS_MAXIMUM_HEIGHT = 8
 (measured in pixels) TUs with height greater than this can only use diagonal scan More...
 
static const Int LOG2_MAX_NUM_COLUMNS_MINUS1 = 7
 
static const Int LOG2_MAX_NUM_ROWS_MINUS1 = 7
 
static const Int CABAC_INIT_PRESENT_FLAG = 1
 
static const Int LUMA_INTERPOLATION_FILTER_SUB_SAMPLE_POSITIONS = 4
 
static const Int CHROMA_INTERPOLATION_FILTER_SUB_SAMPLE_POSITIONS = 8
 
static const Int MAX_NUM_LONG_TERM_REF_PICS = 33
 
static const Int NUM_LONG_TERM_REF_PIC_SPS = 0
 
static const Int MAX_QP_OFFSET_LIST_SIZE = 6
 Maximum size of QP offset list is 6 entries. More...
 
static const Int LOSSLESS_AND_MIXED_LOSSLESS_RD_COST_TEST_QP = 0
 QP to use for lossless coding. More...
 
static const Int LOSSLESS_AND_MIXED_LOSSLESS_RD_COST_TEST_QP_PRIME =4
 QP' to use for mixed_lossy_lossless coding. More...
 
static const Int RExt__GOLOMB_RICE_ADAPTATION_STATISTICS_SETS = 4
 
static const Int RExt__GOLOMB_RICE_INCREMENT_DIVISOR = 4
 
static const Int RExt__PREDICTION_WEIGHTING_ANALYSIS_DC_PRECISION = 0
 Additional fixed bit precision used during encoder-side weighting prediction analysis. Currently only used when high_precision_prediction_weighting_flag is set, for backwards compatibility reasons. More...
 
static const Int MAX_TIMECODE_SEI_SETS = 3
 Maximum number of time sets. More...
 
static const Int MAX_CU_DEPTH = 6
 log2(CTUSize) More...
 
static const Int MAX_CU_SIZE = 64
 = 1<<(MAX_CU_DEPTH) More...
 
static const Int MIN_PU_SIZE = 4
 
static const Int MIN_TU_SIZE = 4
 
static const Int MAX_TU_SIZE = 32
 
static const Int MAX_NUM_PART_IDXS_IN_CTU_WIDTH = MAX_CU_SIZE/MIN_PU_SIZE
 maximum number of partition indices across the width of a CTU (or height of a CTU) More...
 
static const Int SCALING_LIST_REM_NUM = 6
 
static const Int QUANT_SHIFT = 14
 Q(4) = 2^14. More...
 
static const Int IQUANT_SHIFT = 6
 
static const Int SCALE_BITS = 15
 For fractional bit estimates in RDOQ. More...
 
static const Int SCALING_LIST_NUM = MAX_NUM_COMPONENT * NUMBER_OF_PREDICTION_MODES
 list number for quantization matrix More...
 
static const Int SCALING_LIST_START_VALUE = 8
 start value for dpcm mode More...
 
static const Int MAX_MATRIX_COEF_NUM = 64
 max coefficient number for quantization matrix More...
 
static const Int MAX_MATRIX_SIZE_NUM = 8
 max size number for quantization matrix More...
 
static const Int SCALING_LIST_BITS = 8
 bit depth of scaling list entries More...
 
static const Int LOG2_SCALING_LIST_NEUTRAL_VALUE = 4
 log2 of the value that, when used in a scaling list, has no effect on quantisation More...
 
static const Int SCALING_LIST_DC = 16
 default DC value More...
 
static const Int CONTEXT_STATE_BITS = 6
 
static const Int LAST_SIGNIFICANT_GROUPS = 10
 
static const Int MAX_ENCODER_DEBLOCKING_QUALITY_LAYERS = 8
 
static const UInt LUMA_LEVEL_TO_DQP_LUT_MAXSIZE = 1024
 max LUT size for QP offset based on luma More...
 
template<typename T >
Clip3 (const T minVal, const T maxVal, const T a)
 general min/max clip More...
 
template<typename T >
ClipBD (const T x, const Int bitDepth)
 
template<typename T >
Void Check3 (T minVal, T maxVal, T a)
 general min/max clip More...
 
template<typename ValueType >
ValueType leftShift (const ValueType value, const Int shift)
 
template<typename ValueType >
ValueType rightShift (const ValueType value, const Int shift)
 
template<typename ValueType >
ValueType leftShift_round (const ValueType value, const Int shift)
 
template<typename ValueType >
ValueType rightShift_round (const ValueType value, const Int shift)
 

Detailed Description

Defines version information, constants and small in-line functions.

Definition in file CommonDef.h.