|
TUT HEVC Encoder
|
Functions | |
| void | kvz_ctx_init (cabac_ctx_t *ctx, uint32_t qp, uint32_t init_value) |
| Initialize struct cabac_ctx. More... | |
| void | kvz_init_contexts (encoder_state_t *state, int8_t QP, int8_t slice) |
| Initialize cabac context to be used for coding. More... | |
| void | kvz_context_copy (encoder_state_t *const target_state, const encoder_state_t *const source_state) |
| uint32_t | kvz_context_get_sig_coeff_group (uint32_t *sig_coeff_group_flag, uint32_t pos_x, uint32_t pos_y, int32_t width) |
| int32_t | kvz_context_calc_pattern_sig_ctx (const uint32_t *sig_coeff_group_flag, uint32_t pos_x, uint32_t pos_y, int32_t width) |
| Pattern decision for context derivation process of significant_coeff_flag. More... | |
| int32_t | kvz_context_get_sig_ctx_inc (int32_t pattern_sig_ctx, uint32_t scan_idx, int32_t pos_x, int32_t pos_y, int32_t block_type, int8_t texture_type) |
| Context derivation process of coeff_abs_significant_flag. More... | |
Variables | |
| static const uint8_t | INIT_SAO_MERGE_FLAG [3] = { 153, 153, 153 } |
| static const uint8_t | INIT_SAO_TYPE_IDX [3] = { 160, 185, 200 } |
| static const uint8_t | INIT_QT_ROOT_CBF [3][1] |
| static const uint8_t | INIT_MVP_IDX [3][2] |
| static const uint8_t | INIT_REF_PIC [3][2] |
| static const uint8_t | INIT_MVD [3][2] |
| static const uint8_t | INIT_MERGE_FLAG_EXT [3][1] |
| static const uint8_t | INIT_MERGE_IDX_EXT [3][1] |
| static const uint8_t | INIT_CU_TRANSQUANT_BYPASS [3][1] |
| static const uint8_t | INIT_SKIP_FLAG [3][3] |
| static const uint8_t | INIT_PRED_MODE [3][1] |
| static const uint8_t | INIT_PART_SIZE [3][4] |
| static const uint8_t | INIT_SPLIT_FLAG [3][3] |
| static const uint8_t | INIT_INTRA_PRED_MODE [3] |
| static const uint8_t | INIT_CHROMA_PRED_MODE [3][2] |
| static const uint8_t | INIT_INTER_DIR [3][5] |
| static const uint8_t | INIT_TRANS_SUBDIV_FLAG [3][3] |
| static const uint8_t | INIT_QT_CBF [3][8] |
| static const uint8_t | INIT_CU_QP_DELTA_ABS [3][2] |
| static const uint8_t | INIT_SIG_CG_FLAG [3][4] |
| static const uint8_t | INIT_SIG_FLAG [3][42] |
| static const uint8_t | INIT_LAST [3][30] |
| static const uint8_t | INIT_ONE_FLAG [3][24] |
| static const uint8_t | INIT_ABS_FLAG [3][6] |
| static const uint8_t | INIT_TRANSFORMSKIP_FLAG [3][2] |
| int32_t kvz_context_calc_pattern_sig_ctx | ( | const uint32_t * | sig_coeff_group_flag, |
| uint32_t | pos_x, | ||
| uint32_t | pos_y, | ||
| int32_t | width | ||
| ) |
| sig_coeff_group_flag | pointer to prior coded significant coeff group |
| pos_x | column of current coefficient group |
| pos_y | row of current coefficient group |
| width | width of the block |
| void kvz_context_copy | ( | encoder_state_t *const | target_state, |
| const encoder_state_t *const | source_state | ||
| ) |
| uint32_t kvz_context_get_sig_coeff_group | ( | uint32_t * | sig_coeff_group_flag, |
| uint32_t | pos_x, | ||
| uint32_t | pos_y, | ||
| int32_t | width | ||
| ) |
| int32_t kvz_context_get_sig_ctx_inc | ( | int32_t | pattern_sig_ctx, |
| uint32_t | scan_idx, | ||
| int32_t | pos_x, | ||
| int32_t | pos_y, | ||
| int32_t | block_type, | ||
| int8_t | texture_type | ||
| ) |
| pattern_sig_ctx | pattern for current coefficient group |
| scan_idx | pixel scan type in use |
| pos_x | column of current scan position |
| pos_y | row of current scan position |
| block_type | log2 value of block size if square block, or 4 otherwise |
| width | width of the block |
| texture_type | texture type (TEXT_LUMA...) |
| void kvz_ctx_init | ( | cabac_ctx_t * | ctx, |
| uint32_t | qp, | ||
| uint32_t | init_value | ||
| ) |
| void kvz_init_contexts | ( | encoder_state_t * | state, |
| int8_t | QP, | ||
| int8_t | slice | ||
| ) |
| encoder | encoder control struct |
| slice | type of slice we are coding (P/B/I) |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |