Coding bins using CABAC.
More...
#include "global.h"
#include "bitstream.h"
Go to the source code of this file.
|
#define | CTX_ENTROPY_FBITS(ctx, val) kvz_f_entropy_bits[(ctx)->uc_state ^ (val)] |
|
#define | CABAC_FBITS_UPDATE(cabac, ctx, val, bits, name) |
|
#define | CTX_STATE(ctx) ((ctx)->uc_state >> 1) |
|
#define | CTX_MPS(ctx) ((ctx)->uc_state & 1) |
|
#define | CTX_UPDATE_LPS(ctx) { (ctx)->uc_state = kvz_g_auc_next_state_lps[ (ctx)->uc_state ]; } |
|
#define | CTX_UPDATE_MPS(ctx) { (ctx)->uc_state = kvz_g_auc_next_state_mps[ (ctx)->uc_state ]; } |
|
#define | CABAC_BIN(data, value, name) kvz_cabac_encode_bin((data), (value)); |
|
#define | CABAC_BINS_EP(data, value, bins, name) kvz_cabac_encode_bins_ep((data), (value), (bins)); |
|
#define | CABAC_BIN_EP(data, value, name) kvz_cabac_encode_bin_ep((data), (value)); |
|
|
void | kvz_cabac_start (cabac_data_t *data) |
| Initialize struct cabac_data.
|
|
void | kvz_cabac_encode_bin (cabac_data_t *data, uint32_t bin_value) |
|
void | kvz_cabac_encode_bin_ep (cabac_data_t *data, uint32_t bin_value) |
|
void | kvz_cabac_encode_bins_ep (cabac_data_t *data, uint32_t bin_values, int num_bins) |
|
void | kvz_cabac_encode_bin_trm (cabac_data_t *data, uint8_t bin_value) |
| Encode terminating bin.
|
|
void | kvz_cabac_write (cabac_data_t *data) |
|
void | kvz_cabac_finish (cabac_data_t *data) |
|
int | kvz_cabac_write_coeff_remain (cabac_data_t *cabac, uint32_t symbol, uint32_t r_param) |
| Coding of coeff_abs_level_minus3.
|
|
void | kvz_cabac_write_coeff_remain_encry (struct encoder_state_t *const state, cabac_data_t *const cabac, const uint32_t symbol, const uint32_t r_param, int32_t base_level) |
|
uint32_t | kvz_cabac_write_ep_ex_golomb (struct encoder_state_t *const state, cabac_data_t *data, uint32_t symbol, uint32_t count) |
|
void | kvz_cabac_write_unary_max_symbol (cabac_data_t *data, cabac_ctx_t *ctx, uint32_t symbol, int32_t offset, uint32_t max_symbol, double *bits_out) |
|
void | kvz_cabac_write_unary_max_symbol_ep (cabac_data_t *data, unsigned int symbol, unsigned int max_symbol) |
| This can be used for Truncated Rice binarization with cRiceParam=0.
|
|
◆ CABAC_BIN
◆ CABAC_BIN_EP
◆ CABAC_BINS_EP
◆ CABAC_FBITS_UPDATE
Value:
} \
} while(0)
const float kvz_f_entropy_bits[128]
Definition rdo.c:83
#define MAX_TILES_PER_DIM
Definition global.h:232
◆ CTX_ENTROPY_FBITS
◆ CTX_MPS
#define CTX_MPS |
( |
|
ctx | ) |
((ctx)->uc_state & 1) |
◆ CTX_STATE
#define CTX_STATE |
( |
|
ctx | ) |
((ctx)->uc_state >> 1) |
◆ CTX_UPDATE_LPS
◆ CTX_UPDATE_MPS
◆ kvz_cabac_encode_bin()
◆ kvz_cabac_encode_bin_ep()
◆ kvz_cabac_encode_bin_trm()
◆ kvz_cabac_encode_bins_ep()
◆ kvz_cabac_finish()
◆ kvz_cabac_start()
◆ kvz_cabac_write()
◆ kvz_cabac_write_coeff_remain()
- Parameters
-
symbol | Value of coeff_abs_level_minus3. |
r_param | Reference to Rice parameter. |
◆ kvz_cabac_write_coeff_remain_encry()
◆ kvz_cabac_write_ep_ex_golomb()
◆ kvz_cabac_write_unary_max_symbol()
◆ kvz_cabac_write_unary_max_symbol_ep()
◆ kvz_f_entropy_bits
◆ kvz_g_auc_lpst_table
◆ kvz_g_auc_next_state_lps
◆ kvz_g_auc_next_state_mps
◆ kvz_g_auc_renorm_table