Coding bins using CABAC.
#include "global.h"
#include "bitstream.h"
Go to the source code of this file.
|
#define | CTX_ENTROPY_FBITS(ctx, val) |
|
#define | CABAC_FBITS_UPDATE(cabac, ctx, val, bits, name) |
|
#define | CTX_STATE(ctx) |
|
#define | CTX_MPS(ctx) |
|
#define | CTX_UPDATE_LPS(ctx) |
|
#define | CTX_UPDATE_MPS(ctx) |
|
#define | CABAC_BIN(data, value, name) |
|
#define | CABAC_BINS_EP(data, value, bins, name) |
|
#define | CABAC_BIN_EP(data, value, name) |
|
|
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
#define CABAC_BIN |
( |
| data, |
|
|
| value, |
|
|
| name ) |
Value:
void kvz_cabac_encode_bin(cabac_data_t *data, uint32_t bin_value)
Definition cabac.c:104
static kvz_rc_data * data
Definition rate_control.c:48
◆ CABAC_BIN_EP
#define CABAC_BIN_EP |
( |
| data, |
|
|
| value, |
|
|
| name ) |
Value:
void kvz_cabac_encode_bin_ep(cabac_data_t *data, uint32_t bin_value)
Definition cabac.c:228
◆ CABAC_BINS_EP
#define CABAC_BINS_EP |
( |
| data, |
|
|
| value, |
|
|
| bins, |
|
|
| name ) |
Value:
void kvz_cabac_encode_bins_ep(cabac_data_t *data, uint32_t bin_values, int num_bins)
Definition cabac.c:244
◆ CABAC_FBITS_UPDATE
#define CABAC_FBITS_UPDATE |
( |
| cabac, |
|
|
| ctx, |
|
|
| val, |
|
|
| bits, |
|
|
| name ) |
Value: do { \
if((cabac)->update) {\
(cabac)->cur_ctx = ctx;\
CABAC_BIN((cabac), (val), (name));\
} \
} while(0)
const float kvz_f_entropy_bits[128]
Definition rdo.c:83
◆ CTX_ENTROPY_FBITS
#define CTX_ENTROPY_FBITS |
( |
| ctx, |
|
|
| val ) |
◆ CTX_MPS
◆ CTX_STATE
◆ CTX_UPDATE_LPS
#define CTX_UPDATE_LPS |
( |
| ctx | ) |
|
Value:
const uint8_t kvz_g_auc_next_state_lps[128]
Definition cabac.c:52
◆ CTX_UPDATE_MPS
#define CTX_UPDATE_MPS |
( |
| ctx | ) |
|
Value:
const uint8_t kvz_g_auc_next_state_mps[128]
Definition cabac.c:40
◆ kvz_cabac_encode_bin()
void kvz_cabac_encode_bin |
( |
cabac_data_t * | data, |
|
|
uint32_t | bin_value ) |
◆ kvz_cabac_encode_bin_ep()
void kvz_cabac_encode_bin_ep |
( |
cabac_data_t * | data, |
|
|
uint32_t | bin_value ) |
◆ kvz_cabac_encode_bin_trm()
void kvz_cabac_encode_bin_trm |
( |
cabac_data_t *const | data, |
|
|
const uint8_t | bin_value ) |
◆ kvz_cabac_encode_bins_ep()
void kvz_cabac_encode_bins_ep |
( |
cabac_data_t * | data, |
|
|
uint32_t | bin_values, |
|
|
int | num_bins ) |
◆ kvz_cabac_finish()
◆ kvz_cabac_start()
◆ kvz_cabac_write()
◆ kvz_cabac_write_coeff_remain()
int kvz_cabac_write_coeff_remain |
( |
cabac_data_t *const | cabac, |
|
|
const uint32_t | symbol, |
|
|
const uint32_t | r_param ) |
- Parameters
-
symbol | Value of coeff_abs_level_minus3. |
r_param | Reference to Rice parameter. |
◆ kvz_cabac_write_coeff_remain_encry()
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 ) |
◆ kvz_cabac_write_ep_ex_golomb()
◆ kvz_cabac_write_unary_max_symbol()
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 ) |
◆ kvz_cabac_write_unary_max_symbol_ep()
void kvz_cabac_write_unary_max_symbol_ep |
( |
cabac_data_t * | data, |
|
|
unsigned int | symbol, |
|
|
unsigned int | max_symbol ) |
◆ kvz_f_entropy_bits
const float kvz_f_entropy_bits[128] |
|
extern |
◆ kvz_g_auc_lpst_table
const uint8_t kvz_g_auc_lpst_table[64][4] |
|
extern |
◆ kvz_g_auc_next_state_lps
const uint8_t kvz_g_auc_next_state_lps[128] |
|
extern |
◆ kvz_g_auc_next_state_mps
const uint8_t kvz_g_auc_next_state_mps[128] |
|
extern |
◆ kvz_g_auc_renorm_table
const uint8_t kvz_g_auc_renorm_table[32] |
|
extern |