Context derivation for CABAC.
More...
#include "cabac.h"
#include "encoderstate.h"
#include "global.h"
Go to the source code of this file.
|
| 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 *target_state, const encoder_state_t *source_state) |
| |
| 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.
|
| |
| 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) |
| | Context derivation process of coeff_abs_significant_flag.
|
| |
◆ CNU
◆ kvz_context_calc_pattern_sig_ctx()
- Parameters
-
| 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 |
- Returns
- pattern for current coefficient group
◆ kvz_context_copy()
◆ kvz_context_get_sig_coeff_group()
◆ kvz_context_get_sig_ctx_inc()
- Parameters
-
| 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...) |
- Returns
- ctx_inc for current scan position
◆ kvz_ctx_init()
◆ kvz_init_contexts()
- Parameters
-
| encoder | encoder control struct |
| slice | type of slice we are coding (P/B/I) |