TUT HEVC Encoder
|
Functions | |
void | kvz_ctx_init (cabac_ctx_t *ctx, uint32_t qp, uint32_t init_value) |
Initialize struct cabac_ctx. | |
void | kvz_init_contexts (encoder_state_t *state, int8_t QP, int8_t slice) |
Initialize cabac context to be used for coding. | |
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. | |
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. | |
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) |