HEVC Test Model (HM)  HM-16.3
Classes | Namespaces | Enumerations
TypeDef.h File Reference

Define basic types, new types and enumerations. More...

#include <vector>
Include dependency graph for TypeDef.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SAOOffset
 
struct  SAOBlkParam
 
struct  _LFCUParam
 parameters for deblocking filter More...
 
struct  TUEntropyCodingParameters
 
struct  TComDigest
 
struct  TComSEITimeSet
 
struct  TComSEIMasteringDisplay
 

Namespaces

 Profile
 
 Level
 

Enumerations

enum  Profile::Name {
  Profile::NONE = 0, Profile::MAIN = 1, Profile::MAIN10 = 2, Profile::MAINSTILLPICTURE = 3,
  Profile::MAINREXT = 4, Profile::HIGHTHROUGHPUTREXT = 5
}
 
enum  Level::Tier { Level::MAIN = 0, Level::HIGH = 1 }
 
enum  Level::Name {
  Level::NONE = 0, Level::LEVEL1 = 30, Level::LEVEL2 = 60, Level::LEVEL2_1 = 63,
  Level::LEVEL3 = 90, Level::LEVEL3_1 = 93, Level::LEVEL4 = 120, Level::LEVEL4_1 = 123,
  Level::LEVEL5 = 150, Level::LEVEL5_1 = 153, Level::LEVEL5_2 = 156, Level::LEVEL6 = 180,
  Level::LEVEL6_1 = 183, Level::LEVEL6_2 = 186, Level::LEVEL8_5 = 255
}
 
#define DEBUG_STRING_PASS_INTO(name)
 
#define DEBUG_STRING_PASS_INTO_OPTIONAL(name, exp)
 
#define DEBUG_STRING_FN_DECLARE(name)
 
#define DEBUG_STRING_FN_DECLAREP(name)
 
#define DEBUG_STRING_NEW(name)
 
#define DEBUG_STRING_OUTPUT(os, name)
 
#define DEBUG_STRING_APPEND(str1, str2)
 
#define DEBUG_STRING_SWAP(srt1, str2)
 
#define DEBUG_STRING_CHANNEL_CONDITION(compID)
 
#define HARMONIZE_GOP_FIRST_FIELD_COUPLE   1
 
#define EFFICIENT_FIELD_IRAP   1
 
#define ALLOW_RECOVERY_POINT_AS_RAP   1
 
#define BUGFIX_INTRAPERIOD   1
 
#define SAO_ENCODE_ALLOW_USE_PREDEBLOCK   1
 
#define TILE_SIZE_CHECK   1
 
#define MAX_NUM_PICS_IN_SOP   1024
 
#define MAX_NESTING_NUM_OPS   1024
 
#define MAX_NESTING_NUM_LAYER   64
 
#define MAX_VPS_NUM_HRD_PARAMETERS   1
 
#define MAX_VPS_OP_SETS_PLUS1   1024
 
#define MAX_VPS_NUH_RESERVED_ZERO_LAYER_ID_PLUS1   1
 
#define MAXIMUM_INTRA_FILTERED_WIDTH   16
 
#define MAXIMUM_INTRA_FILTERED_HEIGHT   16
 
#define MAX_CPB_CNT   32
 Upper bound of (cpb_cnt_minus1 + 1) More...
 
#define MAX_NUM_LAYER_IDS   64
 
#define COEF_REMAIN_BIN_REDUCTION   3
 transitions from Golomb-Rice to TU+EG(k) More...
 
#define CU_DQP_TU_CMAX   5
 max number bins for truncated unary More...
 
#define CU_DQP_EG_k   0
 expgolomb order More...
 
#define SBH_THRESHOLD   4
 I0156: value of the fixed SBH controlling threshold. More...
 
#define DISABLING_CLIP_FOR_BIPREDME   1
 Ticket #175. More...
 
#define C1FLAG_NUMBER   8
 
#define C2FLAG_NUMBER   1
 
#define SAO_ENCODING_CHOICE   1
 I0184: picture early termination. More...
 
#define SAO_ENCODING_RATE   0.75
 
#define SAO_ENCODING_CHOICE_CHROMA   1
 J0044: picture early termination Luma and Chroma are handled separately. More...
 
#define SAO_ENCODING_RATE_CHROMA   0.5
 
#define MAX_NUM_SAO_OFFSETS   4
 
#define MAX_NUM_VPS   16
 
#define MAX_NUM_SPS   16
 
#define MAX_NUM_PPS   64
 
#define RDOQ_CHROMA_LAMBDA   1
 F386: weighting of chroma for RDOQ. More...
 
#define MIN_SCAN_POS_CROSS   4
 
#define FAST_BIT_EST   1
 G763: Table-based bit estimation for CABAC. More...
 
#define MLS_GRP_NUM   64
 G644 : Max number of coefficient groups, max(16, 64) More...
 
#define MLS_CG_LOG2_WIDTH   2
 
#define MLS_CG_LOG2_HEIGHT   2
 
#define MLS_CG_SIZE   (MLS_CG_LOG2_WIDTH + MLS_CG_LOG2_HEIGHT)
 G644 : Coefficient group size of 4x4. More...
 
#define ADAPTIVE_QP_SELECTION   1
 G382: Adaptive reconstruction levels, non-normative part for adaptive QP selection. More...
 
#define ARL_C_PRECISION   7
 G382: 7-bit arithmetic precision. More...
 
#define LEVEL_RANGE   30
 G382: max coefficient level in statistics collection. More...
 
#define HHI_RQT_INTRA_SPEEDUP   1
 tests one best mode with full rqt More...
 
#define HHI_RQT_INTRA_SPEEDUP_MOD   0
 tests two best modes with full rqt More...
 
#define VERBOSE_RATE   0
 Print additional rate information in encoder. More...
 
#define AMVP_DECIMATION_FACTOR   4
 
#define SCAN_SET_SIZE   16
 
#define LOG2_SCAN_SET_SIZE   4
 
#define FAST_UDI_MAX_RDMODE_NUM   35
 maximum number of RD comparison in fast-UDI estimation loop More...
 
#define NUM_INTRA_MODE   36
 
#define WRITE_BACK   1
 Enable/disable the encoder to replace the deltaPOC and Used by current from the config file with the values derived by the refIdc parameter. More...
 
#define PRINT_RPS_INFO   0
 Enable/disable the printing of bits used to send the RPS. More...
 
#define RVM_VCEGAM10_M   4
 
#define PLANAR_IDX   0
 
#define VER_IDX   26
 
#define HOR_IDX   10
 
#define DC_IDX   1
 
#define NUM_CHROMA_MODE   5
 
#define DM_CHROMA_IDX   36
 
#define INVALID_MODE_IDX   (NUM_INTRA_MODE+1)
 
#define STOPCHROMASEARCH_MODE_IDX   (INVALID_MODE_IDX+1)
 
#define MDCS_ANGLE_LIMIT   4
 (default 4) 0 = Horizontal/vertical only, 1 = Horizontal/vertical +/- 1, 2 = Horizontal/vertical +/- 2 etc... More...
 
#define MDCS_MAXIMUM_WIDTH   8
 (default 8) (measured in pixels) TUs with width greater than this can only use diagonal scan More...
 
#define MDCS_MAXIMUM_HEIGHT   8
 (default 8) (measured in pixels) TUs with height greater than this can only use diagonal scan More...
 
#define FAST_UDI_USE_MPM   1
 
#define RDO_WITHOUT_DQP_BITS   0
 Disable counting dQP bits in RDO-based mode decision. More...
 
#define LOG2_MAX_NUM_COLUMNS_MINUS1   7
 
#define LOG2_MAX_NUM_ROWS_MINUS1   7
 
#define LOG2_MAX_COLUMN_WIDTH   13
 
#define LOG2_MAX_ROW_HEIGHT   13
 
#define MATRIX_MULT   0
 
#define AMP_SAD   1
 dedicated SAD functions for AMP More...
 
#define AMP_ENC_SPEEDUP   1
 encoder only speed-up by AMP mode skipping More...
 
#define AMP_MRG   1
 encoder only force merge for AMP partition (no motion search for AMP) More...
 
#define CABAC_INIT_PRESENT_FLAG   1
 
#define LUMA_INTERPOLATION_FILTER_SUB_SAMPLE_POSITIONS   4
 
#define CHROMA_INTERPOLATION_FILTER_SUB_SAMPLE_POSITIONS   8
 
#define MAX_NUM_LONG_TERM_REF_PICS   33
 
#define NUM_LONG_TERM_REF_PIC_SPS   0
 
#define DECODER_CHECK_SUBSTREAM_AND_SLICE_TRAILING_BYTES   1
 
#define RD_TEST_SAO_DISABLE_AT_PICTURE_LEVEL   0
 1 = tests whether SAO should be disabled at the picture level, 0 (default) = does not apply this additional test More...
 
#define O0043_BEST_EFFORT_DECODING   0
 0 (default) = disable code related to best effort decoding, 1 = enable code relating to best effort decoding [ decode-side only ]. More...
 
#define MAX_QP_OFFSET_LIST_SIZE   6
 Maximum size of QP offset list is 6 entries. More...
 
#define LOSSLESS_AND_MIXED_LOSSLESS_RD_COST_TEST_QP   0
 QP to use for lossless coding. More...
 
#define LOSSLESS_AND_MIXED_LOSSLESS_RD_COST_TEST_QP_PRIME   4
 QP' to use for mixed_lossy_lossless coding. More...
 
#define ENVIRONMENT_VARIABLE_DEBUG_AND_TEST   0
 When enabled, allows control of debug modifications via environment variables. More...
 
#define PRINT_MACRO_VALUES   1
 When enabled, the encoder prints out a list of the non-environment-variable controlled macros and their values on startup. More...
 
#define RExt__DECODER_DEBUG_BIT_STATISTICS   0
 0 (default) = decoder reports as normal, 1 = decoder produces bit usage statistics (will impact decoder run time by up to ~10%) More...
 
#define RExt__HIGH_BIT_DEPTH_SUPPORT   0
 0 (default) use data type definitions for 8-10 bit video, 1 = use larger data types to allow for up to 16-bit video (originally developed as part of N0188) More...
 
#define RExt__GOLOMB_RICE_ADAPTATION_STATISTICS_SETS   4
 
#define RExt__GOLOMB_RICE_INCREMENT_DIVISOR   4
 
#define 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...
 
#define MAX_TIMECODE_SEI_SETS   3
 Maximum number of time sets. More...
 
#define FULL_NBIT   0
 When enabled, use distortion measure derived from all bits of source data, otherwise discard (bitDepth - 8) least-significant bits of distortion. More...
 
#define RExt__HIGH_PRECISION_FORWARD_TRANSFORM   0
 0 (default) use original 6-bit transform matrices for both forward and inverse transform, 1 = use original matrices for inverse transform and high precision matrices for forward transform More...
 
#define DISTORTION_PRECISION_ADJUSTMENT(x)   (x)
 
#define NUM_SAO_EO_TYPES_LOG2   2
 
#define NUM_SAO_BO_CLASSES_LOG2   5
 
#define NUM_SAO_BO_CLASSES   (1<<NUM_SAO_BO_CLASSES_LOG2)
 
#define MAX_NUM_SAO_CLASSES   32
 
enum  RDPCMMode { RDPCM_OFF = 0, RDPCM_HOR = 1, RDPCM_VER = 2, NUMBER_OF_RDPCM_MODES = 3 }
 
enum  RDPCMSignallingMode { RDPCM_SIGNAL_IMPLICIT = 0, RDPCM_SIGNAL_EXPLICIT = 1, NUMBER_OF_RDPCM_SIGNALLING_MODES = 2 }
 
enum  SliceType { B_SLICE = 0, P_SLICE = 1, I_SLICE = 2, NUMBER_OF_SLICE_TYPES = 3 }
 supported slice type More...
 
enum  ChromaFormat {
  CHROMA_400 = 0, CHROMA_420 = 1, CHROMA_422 = 2, CHROMA_444 = 3,
  NUM_CHROMA_FORMAT = 4
}
 chroma formats (according to semantics of chroma_format_idc) More...
 
enum  ChannelType { CHANNEL_TYPE_LUMA = 0, CHANNEL_TYPE_CHROMA = 1, MAX_NUM_CHANNEL_TYPE = 2 }
 
enum  ComponentID { COMPONENT_Y = 0, COMPONENT_Cb = 1, COMPONENT_Cr = 2, MAX_NUM_COMPONENT = 3 }
 
enum  InputColourSpaceConversion {
  IPCOLOURSPACE_UNCHANGED = 0, IPCOLOURSPACE_YCbCrtoYCrCb = 1, IPCOLOURSPACE_YCbCrtoYYY = 2, IPCOLOURSPACE_RGBtoGBR = 3,
  NUMBER_INPUT_COLOUR_SPACE_CONVERSIONS = 4
}
 
enum  DeblockEdgeDir { EDGE_VER = 0, EDGE_HOR = 1, NUM_EDGE_DIR = 2 }
 
enum  PartSize {
  SIZE_2Nx2N = 0, SIZE_2NxN = 1, SIZE_Nx2N = 2, SIZE_NxN = 3,
  SIZE_2NxnU = 4, SIZE_2NxnD = 5, SIZE_nLx2N = 6, SIZE_nRx2N = 7,
  NUMBER_OF_PART_SIZES = 8
}
 supported partition shape More...
 
enum  PredMode { MODE_INTER = 0, MODE_INTRA = 1, NUMBER_OF_PREDICTION_MODES = 2 }
 supported prediction type More...
 
enum  RefPicList { REF_PIC_LIST_0 = 0, REF_PIC_LIST_1 = 1, NUM_REF_PIC_LIST_01 = 2, REF_PIC_LIST_X = 100 }
 reference list index More...
 
enum  DFunc {
  DF_DEFAULT = 0, DF_SSE = 1, DF_SSE4 = 2, DF_SSE8 = 3,
  DF_SSE16 = 4, DF_SSE32 = 5, DF_SSE64 = 6, DF_SSE16N = 7,
  DF_SAD = 8, DF_SAD4 = 9, DF_SAD8 = 10, DF_SAD16 = 11,
  DF_SAD32 = 12, DF_SAD64 = 13, DF_SAD16N = 14, DF_SADS = 15,
  DF_SADS4 = 16, DF_SADS8 = 17, DF_SADS16 = 18, DF_SADS32 = 19,
  DF_SADS64 = 20, DF_SADS16N = 21, DF_HADS = 22, DF_HADS4 = 23,
  DF_HADS8 = 24, DF_HADS16 = 25, DF_HADS32 = 26, DF_HADS64 = 27,
  DF_HADS16N = 28, DF_SAD12 = 43, DF_SAD24 = 44, DF_SAD48 = 45,
  DF_SADS12 = 46, DF_SADS24 = 47, DF_SADS48 = 48, DF_SSE_FRAME = 50,
  DF_TOTAL_FUNCTIONS = 64
}
 distortion function index More...
 
enum  CI_IDX {
  CI_CURR_BEST = 0, CI_NEXT_BEST, CI_TEMP_BEST, CI_CHROMA_INTRA,
  CI_QT_TRAFO_TEST, CI_QT_TRAFO_ROOT, CI_NUM
}
 index for SBAC based RD optimization More...
 
enum  MVP_DIR {
  MD_LEFT = 0, MD_ABOVE, MD_ABOVE_RIGHT, MD_BELOW_LEFT,
  MD_ABOVE_LEFT
}
 motion vector predictor direction used in AMVP More...
 
enum  StoredResidualType { RESIDUAL_RECONSTRUCTED = 0, RESIDUAL_ENCODER_SIDE = 1, NUMBER_OF_STORED_RESIDUAL_TYPES = 2 }
 
enum  TransformDirection { TRANSFORM_FORWARD = 0, TRANSFORM_INVERSE = 1, TRANSFORM_NUMBER_OF_DIRECTIONS = 2 }
 
enum  MESearchMethod { FULL_SEARCH = 0, DIAMOND = 1, SELECTIVE = 2 }
 supported ME search methods More...
 
enum  COEFF_SCAN_TYPE { SCAN_DIAG = 0, SCAN_HOR = 1, SCAN_VER = 2, SCAN_NUMBER_OF_TYPES = 3 }
 coefficient scanning type used in ACS More...
 
enum  COEFF_SCAN_GROUP_TYPE { SCAN_UNGROUPED = 0, SCAN_GROUPED_4x4 = 1, SCAN_NUMBER_OF_GROUP_TYPES = 2 }
 
enum  SignificanceMapContextType {
  CONTEXT_TYPE_4x4 = 0, CONTEXT_TYPE_8x8 = 1, CONTEXT_TYPE_NxN = 2, CONTEXT_TYPE_SINGLE = 3,
  CONTEXT_NUMBER_OF_TYPES = 4
}
 
enum  ScalingListMode { SCALING_LIST_OFF, SCALING_LIST_DEFAULT, SCALING_LIST_FILE_READ }
 
enum  ScalingListSize {
  SCALING_LIST_4x4 = 0, SCALING_LIST_8x8, SCALING_LIST_16x16, SCALING_LIST_32x32,
  SCALING_LIST_SIZE_NUM
}
 
enum  SliceConstraint { NO_SLICES = 0, FIXED_NUMBER_OF_CTU = 1, FIXED_NUMBER_OF_BYTES = 2, FIXED_NUMBER_OF_TILES = 3 }
 
enum  SAOMode { SAO_MODE_OFF = 0, SAO_MODE_NEW, SAO_MODE_MERGE, NUM_SAO_MODES }
 
enum  SAOModeMergeTypes { SAO_MERGE_LEFT =0, SAO_MERGE_ABOVE, NUM_SAO_MERGE_TYPES }
 
enum  SAOModeNewTypes {
  SAO_TYPE_START_EO =0, SAO_TYPE_EO_0 = SAO_TYPE_START_EO, SAO_TYPE_EO_90, SAO_TYPE_EO_135,
  SAO_TYPE_EO_45, SAO_TYPE_START_BO, SAO_TYPE_BO = SAO_TYPE_START_BO, NUM_SAO_NEW_TYPES
}
 
enum  SAOEOClasses {
  SAO_CLASS_EO_FULL_VALLEY = 0, SAO_CLASS_EO_HALF_VALLEY = 1, SAO_CLASS_EO_PLAIN = 2, SAO_CLASS_EO_HALF_PEAK = 3,
  SAO_CLASS_EO_FULL_PEAK = 4, NUM_SAO_EO_CLASSES
}
 
enum  CostMode { COST_STANDARD_LOSSY = 0, COST_SEQUENCE_LEVEL_LOSSLESS = 1, COST_LOSSLESS_CODING = 2, COST_MIXED_LOSSLESS_LOSSY_CODING = 3 }
 
enum  SPSExtensionFlagIndex { SPS_EXT__REXT = 0, NUM_SPS_EXTENSION_FLAGS = 8 }
 
enum  PPSExtensionFlagIndex { PPS_EXT__REXT = 0, NUM_PPS_EXTENSION_FLAGS = 8 }
 
typedef void Void
 
typedef bool Bool
 
typedef char Char
 
typedef unsigned char UChar
 
typedef short Short
 
typedef unsigned short UShort
 
typedef int Int
 
typedef unsigned int UInt
 
typedef double Double
 
typedef float Float
 
typedef long long Int64
 
typedef unsigned long long UInt64
 
typedef Short Pel
 pixel type More...
 
typedef Int TCoeff
 transform coefficient More...
 
typedef Short TMatrixCoeff
 transform matrix coefficient More...
 
typedef Short TFilterCoeff
 filter coefficient More...
 
typedef Int Intermediate_Int
 used as intermediate value in calculations More...
 
typedef UInt Intermediate_UInt
 used as intermediate value in calculations More...
 
typedef UInt Distortion
 distortion measurement More...
 
typedef struct _LFCUParam LFCUParam
 parameters for deblocking filter More...
 

Detailed Description

Define basic types, new types and enumerations.

Definition in file TypeDef.h.