HEVC Test Model (HM)  HM-16.3
ContextTables.h File Reference

Defines constants and tables for SBAC. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

#define MAX_NUM_CTX_MOD   512
 maximum number of supported contexts More...
 
#define NUM_SPLIT_FLAG_CTX   3
 number of context models for split flag More...
 
#define NUM_SKIP_FLAG_CTX   3
 number of context models for skip flag More...
 
#define NUM_MERGE_FLAG_EXT_CTX   1
 number of context models for merge flag of merge extended More...
 
#define NUM_MERGE_IDX_EXT_CTX   1
 number of context models for merge index of merge extended More...
 
#define NUM_PART_SIZE_CTX   4
 number of context models for partition size More...
 
#define NUM_PRED_MODE_CTX   1
 number of context models for prediction mode More...
 
#define NUM_ADI_CTX   1
 number of context models for intra prediction More...
 
#define NUM_CHROMA_PRED_CTX   2
 number of context models for intra prediction (chroma) More...
 
#define NUM_INTER_DIR_CTX   5
 number of context models for inter prediction direction More...
 
#define NUM_MV_RES_CTX   2
 number of context models for motion vector difference More...
 
#define NUM_CHROMA_QP_ADJ_FLAG_CTX   1
 number of context models for chroma_qp_adjustment_flag More...
 
#define NUM_CHROMA_QP_ADJ_IDC_CTX   1
 number of context models for chroma_qp_adjustment_idc More...
 
#define NUM_REF_NO_CTX   2
 number of context models for reference index More...
 
#define NUM_TRANS_SUBDIV_FLAG_CTX   3
 number of context models for transform subdivision flags More...
 
#define NUM_QT_ROOT_CBF_CTX   1
 number of context models for QT ROOT CBF More...
 
#define NUM_DELTA_QP_CTX   3
 number of context models for dQP More...
 
#define NUM_SIG_CG_FLAG_CTX   2
 number of context models for MULTI_LEVEL_SIGNIFICANCE More...
 
#define NUM_EXPLICIT_RDPCM_FLAG_CTX   1
 number of context models for the flag which specifies whether to use RDPCM on inter coded residues More...
 
#define NUM_EXPLICIT_RDPCM_DIR_CTX   1
 number of context models for the flag which specifies which RDPCM direction is used on inter coded residues More...
 
#define NUM_SIG_FLAG_CTX_LUMA   28
 number of context models for luma sig flag More...
 
#define NUM_SIG_FLAG_CTX_CHROMA   16
 number of context models for chroma sig flag More...
 
#define NEIGHBOURHOOD_00_CONTEXT_1_THRESHOLD_4x4   3
 
#define NEIGHBOURHOOD_00_CONTEXT_2_THRESHOLD_4x4   1
 
#define FIRST_SIG_FLAG_CTX_LUMA   0
 
#define FIRST_SIG_FLAG_CTX_CHROMA   (FIRST_SIG_FLAG_CTX_LUMA + NUM_SIG_FLAG_CTX_LUMA)
 
#define NUM_SIG_FLAG_CTX   (NUM_SIG_FLAG_CTX_LUMA + NUM_SIG_FLAG_CTX_CHROMA)
 number of context models for sig flag More...
 
#define NUM_CTX_LAST_FLAG_SETS   2
 
#define NUM_CTX_LAST_FLAG_XY   15
 number of context models for last coefficient position More...
 
#define NUM_ONE_FLAG_CTX_PER_SET   4
 number of context models for greater than 1 flag in a set More...
 
#define NUM_ABS_FLAG_CTX_PER_SET   1
 number of context models for greater than 2 flag in a set More...
 
#define NUM_CTX_SETS_LUMA   4
 number of context model sets for luminance More...
 
#define NUM_CTX_SETS_CHROMA   2
 number of context model sets for combined chrominance More...
 
#define FIRST_CTX_SET_LUMA   0
 index of first luminance context set More...
 
#define NUM_ONE_FLAG_CTX_LUMA   (NUM_ONE_FLAG_CTX_PER_SET * NUM_CTX_SETS_LUMA)
 number of context models for greater than 1 flag of luma More...
 
#define NUM_ONE_FLAG_CTX_CHROMA   (NUM_ONE_FLAG_CTX_PER_SET * NUM_CTX_SETS_CHROMA)
 number of context models for greater than 1 flag of chroma More...
 
#define NUM_ABS_FLAG_CTX_LUMA   (NUM_ABS_FLAG_CTX_PER_SET * NUM_CTX_SETS_LUMA)
 number of context models for greater than 2 flag of luma More...
 
#define NUM_ABS_FLAG_CTX_CHROMA   (NUM_ABS_FLAG_CTX_PER_SET * NUM_CTX_SETS_CHROMA)
 number of context models for greater than 2 flag of chroma More...
 
#define NUM_ONE_FLAG_CTX   (NUM_ONE_FLAG_CTX_LUMA + NUM_ONE_FLAG_CTX_CHROMA)
 number of context models for greater than 1 flag More...
 
#define NUM_ABS_FLAG_CTX   (NUM_ABS_FLAG_CTX_LUMA + NUM_ABS_FLAG_CTX_CHROMA)
 number of context models for greater than 2 flag More...
 
#define FIRST_CTX_SET_CHROMA   (FIRST_CTX_SET_LUMA + NUM_CTX_SETS_LUMA)
 index of first chrominance context set More...
 
#define NUM_QT_CBF_CTX_SETS   2
 
#define NUM_QT_CBF_CTX_PER_SET   5
 number of context models for QT CBF More...
 
#define FIRST_CBF_CTX_LUMA   0
 index of first luminance CBF context More...
 
#define FIRST_CBF_CTX_CHROMA   (FIRST_CBF_CTX_LUMA + NUM_QT_CBF_CTX_PER_SET)
 index of first chrominance CBF context More...
 
#define NUM_MVP_IDX_CTX   1
 number of context models for MVP index More...
 
#define NUM_SAO_MERGE_FLAG_CTX   1
 number of context models for SAO merge flags More...
 
#define NUM_SAO_TYPE_IDX_CTX   1
 number of context models for SAO type index More...
 
#define NUM_TRANSFORMSKIP_FLAG_CTX   1
 number of context models for transform skipping More...
 
#define NUM_CU_TRANSQUANT_BYPASS_FLAG_CTX   1
 
#define NUM_CROSS_COMPONENT_PREDICTION_CTX   10
 
#define CNU   154
 dummy initialization value for unused context models 'Context model Not Used' More...
 
#define BSLICE_LUMA_CBF_CONTEXT   153, 111, CNU, CNU, CNU
 
#define PSLICE_LUMA_CBF_CONTEXT   153, 111, CNU, CNU, CNU
 
#define ISLICE_LUMA_CBF_CONTEXT   111, 141, CNU, CNU, CNU
 
#define BSLICE_CHROMA_CBF_CONTEXT   149, 92, 167, 154, 154
 
#define PSLICE_CHROMA_CBF_CONTEXT   149, 107, 167, 154, 154
 
#define ISLICE_CHROMA_CBF_CONTEXT   94, 138, 182, 154, 154
 
#define BSLICE_LUMA_LAST_POSITION_CONTEXT   125, 110, 124, 110, 95, 94, 125, 111, 111, 79, 125, 126, 111, 111, 79
 
#define PSLICE_LUMA_LAST_POSITION_CONTEXT   125, 110, 94, 110, 95, 79, 125, 111, 110, 78, 110, 111, 111, 95, 94
 
#define ISLICE_LUMA_LAST_POSITION_CONTEXT   110, 110, 124, 125, 140, 153, 125, 127, 140, 109, 111, 143, 127, 111, 79
 
#define BSLICE_CHROMA_LAST_POSITION_CONTEXT   108, 123, 93, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU
 
#define PSLICE_CHROMA_LAST_POSITION_CONTEXT   108, 123, 108, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU
 
#define ISLICE_CHROMA_LAST_POSITION_CONTEXT   108, 123, 63, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU, CNU
 
#define BSLICE_LUMA_SIGNIFICANCE_CONTEXT   170, 154, 139, 153, 139, 123, 123, 63, 124, 166, 183, 140, 136, 153, 154, 166, 183, 140, 136, 153, 154, 166, 183, 140, 136, 153, 154, 140
 
#define PSLICE_LUMA_SIGNIFICANCE_CONTEXT   155, 154, 139, 153, 139, 123, 123, 63, 153, 166, 183, 140, 136, 153, 154, 166, 183, 140, 136, 153, 154, 166, 183, 140, 136, 153, 154, 140
 
#define ISLICE_LUMA_SIGNIFICANCE_CONTEXT   111, 111, 125, 110, 110, 94, 124, 108, 124, 107, 125, 141, 179, 153, 125, 107, 125, 141, 179, 153, 125, 107, 125, 141, 179, 153, 125, 141
 
#define BSLICE_CHROMA_SIGNIFICANCE_CONTEXT   170, 153, 138, 138, 122, 121, 122, 121, 167, 151, 183, 140, 151, 183, 140, 140
 
#define PSLICE_CHROMA_SIGNIFICANCE_CONTEXT   170, 153, 123, 123, 107, 121, 107, 121, 167, 151, 183, 140, 151, 183, 140, 140
 
#define ISLICE_CHROMA_SIGNIFICANCE_CONTEXT   140, 139, 182, 182, 152, 136, 152, 136, 153, 136, 139, 111, 136, 139, 111, 111
 
#define BSLICE_LUMA_ONE_CONTEXT   154, 196, 167, 167, 154, 152, 167, 182, 182, 134, 149, 136, 153, 121, 136, 122
 
#define PSLICE_LUMA_ONE_CONTEXT   154, 196, 196, 167, 154, 152, 167, 182, 182, 134, 149, 136, 153, 121, 136, 137
 
#define ISLICE_LUMA_ONE_CONTEXT   140, 92, 137, 138, 140, 152, 138, 139, 153, 74, 149, 92, 139, 107, 122, 152
 
#define BSLICE_LUMA_ABS_CONTEXT   107, 167, 91, 107
 
#define PSLICE_LUMA_ABS_CONTEXT   107, 167, 91, 122
 
#define ISLICE_LUMA_ABS_CONTEXT   138, 153, 136, 167
 
#define BSLICE_CHROMA_ONE_CONTEXT   169, 208, 166, 167, 154, 152, 167, 182
 
#define PSLICE_CHROMA_ONE_CONTEXT   169, 194, 166, 167, 154, 167, 137, 182
 
#define ISLICE_CHROMA_ONE_CONTEXT   140, 179, 166, 182, 140, 227, 122, 197
 
#define BSLICE_CHROMA_ABS_CONTEXT   107, 167
 
#define PSLICE_CHROMA_ABS_CONTEXT   107, 167
 
#define ISLICE_CHROMA_ABS_CONTEXT   152, 152
 
static const UInt significanceMapContextSetStart [MAX_NUM_CHANNEL_TYPE][CONTEXT_NUMBER_OF_TYPES] = { {0, 9, 21, 27}, {0, 9, 12, 15} }
 
static const UInt significanceMapContextSetSize [MAX_NUM_CHANNEL_TYPE][CONTEXT_NUMBER_OF_TYPES] = { {9, 12, 6, 1}, {9, 3, 3, 1} }
 
static const UInt nonDiagonalScan8x8ContextOffset [MAX_NUM_CHANNEL_TYPE] = { 6, 0 }
 
static const UInt notFirstGroupNeighbourhoodContextOffset [MAX_NUM_CHANNEL_TYPE] = { 3, 0 }
 
static const UChar INIT_CU_TRANSQUANT_BYPASS_FLAG [NUMBER_OF_SLICE_TYPES][1]
 
static const UChar INIT_SPLIT_FLAG [NUMBER_OF_SLICE_TYPES][3]
 
static const UChar INIT_SKIP_FLAG [NUMBER_OF_SLICE_TYPES][3]
 
static const UChar INIT_MERGE_FLAG_EXT [NUMBER_OF_SLICE_TYPES][1]
 
static const UChar INIT_MERGE_IDX_EXT [NUMBER_OF_SLICE_TYPES][1]
 
static const UChar INIT_PART_SIZE [NUMBER_OF_SLICE_TYPES][4]
 
static const UChar INIT_PRED_MODE [NUMBER_OF_SLICE_TYPES][1]
 
static const UChar INIT_INTRA_PRED_MODE [NUMBER_OF_SLICE_TYPES][1]
 
static const UChar INIT_CHROMA_PRED_MODE [NUMBER_OF_SLICE_TYPES][2]
 
static const UChar INIT_INTER_DIR [NUMBER_OF_SLICE_TYPES][5]
 
static const UChar INIT_MVD [NUMBER_OF_SLICE_TYPES][2]
 
static const UChar INIT_REF_PIC [NUMBER_OF_SLICE_TYPES][2]
 
static const UChar INIT_DQP [NUMBER_OF_SLICE_TYPES][3]
 
static const UChar INIT_CHROMA_QP_ADJ_FLAG [NUMBER_OF_SLICE_TYPES][1]
 
static const UChar INIT_CHROMA_QP_ADJ_IDC [NUMBER_OF_SLICE_TYPES][1]
 
static const UChar INIT_QT_CBF [NUMBER_OF_SLICE_TYPES][2 *5]
 
static const UChar INIT_QT_ROOT_CBF [NUMBER_OF_SLICE_TYPES][1]
 
static const UChar INIT_LAST [NUMBER_OF_SLICE_TYPES][2 *15]
 
static const UChar INIT_SIG_CG_FLAG [NUMBER_OF_SLICE_TYPES][2 *2]
 
static const UChar INIT_SIG_FLAG [NUMBER_OF_SLICE_TYPES][(28+16)]
 
static const UChar INIT_ONE_FLAG [NUMBER_OF_SLICE_TYPES][((4 *4)+(4 *2))]
 
static const UChar INIT_ABS_FLAG [NUMBER_OF_SLICE_TYPES][((1 *4)+(1 *2))]
 
static const UChar INIT_MVP_IDX [NUMBER_OF_SLICE_TYPES][1]
 
static const UChar INIT_SAO_MERGE_FLAG [NUMBER_OF_SLICE_TYPES][1]
 
static const UChar INIT_SAO_TYPE_IDX [NUMBER_OF_SLICE_TYPES][1]
 
static const UChar INIT_TRANS_SUBDIV_FLAG [NUMBER_OF_SLICE_TYPES][3]
 
static const UChar INIT_TRANSFORMSKIP_FLAG [NUMBER_OF_SLICE_TYPES][2 *1]
 
static const UChar INIT_EXPLICIT_RDPCM_FLAG [NUMBER_OF_SLICE_TYPES][2 *1]
 
static const UChar INIT_EXPLICIT_RDPCM_DIR [NUMBER_OF_SLICE_TYPES][2 *1]
 
static const UChar INIT_CROSS_COMPONENT_PREDICTION [NUMBER_OF_SLICE_TYPES][10]
 

Detailed Description

Defines constants and tables for SBAC.

Todo:
number of context models is not matched to actual use, should be fixed

Definition in file ContextTables.h.