FFmpeg
Loading...
Searching...
No Matches
cabac.c File Reference
#include <assert.h>
#include "libavcodec/cabac_functions.h"
#include "cabac.h"
#include "ctu.h"
#include "data.h"

Go to the source code of this file.

Data Structures

struct  ResidualCoding
 

Macros

#define CABAC_MAX_BIN   31
 
#define CNU   35
 
#define MAX_SUB_BLOCKS   16
 
#define MAX_SUB_BLOCK_SIZE   4
 
#define MAX_TB_SIZE   64
 
#define GET_CABAC(ctx)
 

Enumerations

enum  SyntaxElement {
  ALF_CTB_FLAG = 0 , ALF_USE_APS_FLAG = ALF_CTB_FLAG + 9 , ALF_CTB_CC_CB_IDC , ALF_CTB_CC_CR_IDC = ALF_CTB_CC_CB_IDC + 3 ,
  ALF_CTB_FILTER_ALT_IDX = ALF_CTB_CC_CR_IDC + 3 , SAO_MERGE_FLAG = ALF_CTB_FILTER_ALT_IDX + 2 , SAO_TYPE_IDX , SPLIT_CU_FLAG ,
  SPLIT_QT_FLAG = SPLIT_CU_FLAG + 9 , MTT_SPLIT_CU_VERTICAL_FLAG = SPLIT_QT_FLAG + 6 , MTT_SPLIT_CU_BINARY_FLAG = MTT_SPLIT_CU_VERTICAL_FLAG + 5 , NON_INTER_FLAG = MTT_SPLIT_CU_BINARY_FLAG + 4 ,
  CU_SKIP_FLAG = NON_INTER_FLAG + 2 , PRED_MODE_IBC_FLAG = CU_SKIP_FLAG + 3 , PRED_MODE_FLAG = PRED_MODE_IBC_FLAG + 3 , PRED_MODE_PLT_FLAG = PRED_MODE_FLAG + 2 ,
  CU_ACT_ENABLED_FLAG , INTRA_BDPCM_LUMA_FLAG , INTRA_BDPCM_LUMA_DIR_FLAG , INTRA_MIP_FLAG ,
  INTRA_LUMA_REF_IDX = INTRA_MIP_FLAG + 4 , INTRA_SUBPARTITIONS_MODE_FLAG = INTRA_LUMA_REF_IDX + 2 , INTRA_SUBPARTITIONS_SPLIT_FLAG , INTRA_LUMA_MPM_FLAG ,
  INTRA_LUMA_NOT_PLANAR_FLAG , INTRA_BDPCM_CHROMA_FLAG = INTRA_LUMA_NOT_PLANAR_FLAG + 2 , INTRA_BDPCM_CHROMA_DIR_FLAG , CCLM_MODE_FLAG ,
  CCLM_MODE_IDX , INTRA_CHROMA_PRED_MODE , GENERAL_MERGE_FLAG , INTER_PRED_IDC ,
  INTER_AFFINE_FLAG = INTER_PRED_IDC + 6 , CU_AFFINE_TYPE_FLAG = INTER_AFFINE_FLAG + 3 , SYM_MVD_FLAG , REF_IDX_LX ,
  MVP_LX_FLAG = REF_IDX_LX + 2 , AMVR_FLAG , AMVR_PRECISION_IDX = AMVR_FLAG + 2 , BCW_IDX = AMVR_PRECISION_IDX + 3 ,
  CU_CODED_FLAG , CU_SBT_FLAG , CU_SBT_QUAD_FLAG = CU_SBT_FLAG + 2 , CU_SBT_HORIZONTAL_FLAG ,
  CU_SBT_POS_FLAG = CU_SBT_HORIZONTAL_FLAG + 3 , LFNST_IDX , MTS_IDX = LFNST_IDX + 3 , COPY_ABOVE_PALETTE_INDICES_FLAG = MTS_IDX + 4 ,
  PALETTE_TRANSPOSE_FLAG , RUN_COPY_FLAG , REGULAR_MERGE_FLAG = RUN_COPY_FLAG + 8 , MMVD_MERGE_FLAG = REGULAR_MERGE_FLAG + 2 ,
  MMVD_CAND_FLAG , MMVD_DISTANCE_IDX , CIIP_FLAG , MERGE_SUBBLOCK_FLAG ,
  MERGE_SUBBLOCK_IDX = MERGE_SUBBLOCK_FLAG + 3 , MERGE_IDX , ABS_MVD_GREATER0_FLAG , ABS_MVD_GREATER1_FLAG ,
  TU_Y_CODED_FLAG , TU_CB_CODED_FLAG = TU_Y_CODED_FLAG + 4 , TU_CR_CODED_FLAG = TU_CB_CODED_FLAG + 2 , CU_QP_DELTA_ABS = TU_CR_CODED_FLAG + 3 ,
  CU_CHROMA_QP_OFFSET_FLAG = CU_QP_DELTA_ABS + 2 , CU_CHROMA_QP_OFFSET_IDX , TRANSFORM_SKIP_FLAG , TU_JOINT_CBCR_RESIDUAL_FLAG = TRANSFORM_SKIP_FLAG + 2 ,
  LAST_SIG_COEFF_X_PREFIX = TU_JOINT_CBCR_RESIDUAL_FLAG + 3 , LAST_SIG_COEFF_Y_PREFIX = LAST_SIG_COEFF_X_PREFIX +23 , SB_CODED_FLAG = LAST_SIG_COEFF_Y_PREFIX +23 , SIG_COEFF_FLAG = SB_CODED_FLAG + 7 ,
  PAR_LEVEL_FLAG = SIG_COEFF_FLAG +63 , ABS_LEVEL_GTX_FLAG = PAR_LEVEL_FLAG +33 , COEFF_SIGN_FLAG = ABS_LEVEL_GTX_FLAG +72 , SYNTAX_ELEMENT_LAST = COEFF_SIGN_FLAG + 6
}
 

Functions

static int cabac_reinit (VVCLocalContext *lc)
 
static void cabac_init_state (VVCLocalContext *lc)
 
int ff_vvc_cabac_init (VVCLocalContext *lc, const int ctu_idx, const int rx, const int ry)
 
static void vvc_refill2 (CABACContext *c)
 
static int vvc_get_cabac (CABACContext *c, VVCCabacState *base, const int ctx)
 
static int truncated_binary_decode (VVCLocalContext *lc, const int c_max)
 
static int kth_order_egk_decode (CABACContext *c, int k, const int max)
 
static int limited_kth_order_egk_decode (CABACContext *c, const int k, const int max_pre_ext_len, const int trunc_suffix_len)
 
static int fixed_length_decode (CABACContext *c, const int len)
 
static av_always_inline void get_left_top (const VVCLocalContext *lc, uint8_t *left, uint8_t *top, const int x0, const int y0, const uint8_t *left_ctx, const uint8_t *top_ctx)
 
static av_always_inline uint8_t get_inc (VVCLocalContext *lc, const uint8_t *ctx)
 
int ff_vvc_sao_merge_flag_decode (VVCLocalContext *lc)
 
int ff_vvc_sao_type_idx_decode (VVCLocalContext *lc)
 
int ff_vvc_sao_band_position_decode (VVCLocalContext *lc)
 
int ff_vvc_sao_offset_abs_decode (VVCLocalContext *lc)
 
int ff_vvc_sao_offset_sign_decode (VVCLocalContext *lc)
 
int ff_vvc_sao_eo_class_decode (VVCLocalContext *lc)
 
int ff_vvc_alf_ctb_flag (VVCLocalContext *lc, const int rx, const int ry, const int c_idx)
 
int ff_vvc_alf_use_aps_flag (VVCLocalContext *lc)
 
int ff_vvc_alf_luma_prev_filter_idx (VVCLocalContext *lc)
 
int ff_vvc_alf_luma_fixed_filter_idx (VVCLocalContext *lc)
 
int ff_vvc_alf_ctb_filter_alt_idx (VVCLocalContext *lc, const int c_idx, const int num_chroma_filters)
 
int ff_vvc_alf_ctb_cc_idc (VVCLocalContext *lc, const int rx, const int ry, const int idx, const int cc_filters_signalled)
 
int ff_vvc_split_cu_flag (VVCLocalContext *lc, const int x0, const int y0, const int cb_width, const int cb_height, const int is_chroma, const VVCAllowedSplit *a)
 
static int split_qt_flag_decode (VVCLocalContext *lc, const int x0, const int y0, const int ch_type, const int cqt_depth)
 
static int mtt_split_cu_vertical_flag_decode (VVCLocalContext *lc, const int x0, const int y0, const int cb_width, const int cb_height, const int ch_type, const VVCAllowedSplit *a)
 
static int mtt_split_cu_binary_flag_decode (VVCLocalContext *lc, const int mtt_split_cu_vertical_flag, const int mtt_depth)
 
VVCSplitMode ff_vvc_split_mode (VVCLocalContext *lc, const int x0, const int y0, const int cb_width, const int cb_height, const int cqt_depth, const int mtt_depth, const int ch_type, const VVCAllowedSplit *a)
 
int ff_vvc_non_inter_flag (VVCLocalContext *lc, const int x0, const int y0, const int ch_type)
 
int ff_vvc_pred_mode_flag (VVCLocalContext *lc, const int is_chroma)
 
int ff_vvc_pred_mode_plt_flag (VVCLocalContext *lc)
 
int ff_vvc_intra_bdpcm_luma_flag (VVCLocalContext *lc)
 
int ff_vvc_intra_bdpcm_luma_dir_flag (VVCLocalContext *lc)
 
int ff_vvc_intra_bdpcm_chroma_flag (VVCLocalContext *lc)
 
int ff_vvc_intra_bdpcm_chroma_dir_flag (VVCLocalContext *lc)
 
int ff_vvc_cu_skip_flag (VVCLocalContext *lc, const uint8_t *cu_skip_flag)
 
int ff_vvc_pred_mode_ibc_flag (VVCLocalContext *lc, const int is_chroma)
 
static av_always_inline uint8_t get_mip_inc (VVCLocalContext *lc, const uint8_t *ctx)
 
int ff_vvc_intra_mip_flag (VVCLocalContext *lc, const uint8_t *intra_mip_flag)
 
int ff_vvc_intra_mip_transposed_flag (VVCLocalContext *lc)
 
int ff_vvc_intra_mip_mode (VVCLocalContext *lc)
 
int ff_vvc_intra_luma_ref_idx (VVCLocalContext *lc)
 
int ff_vvc_intra_subpartitions_mode_flag (VVCLocalContext *lc)
 
enum IspType ff_vvc_isp_split_type (VVCLocalContext *lc, const int intra_subpartitions_mode_flag)
 
int ff_vvc_intra_luma_mpm_flag (VVCLocalContext *lc)
 
int ff_vvc_intra_luma_not_planar_flag (VVCLocalContext *lc, const int intra_subpartitions_mode_flag)
 
int ff_vvc_intra_luma_mpm_idx (VVCLocalContext *lc)
 
int ff_vvc_intra_luma_mpm_remainder (VVCLocalContext *lc)
 
int ff_vvc_cclm_mode_flag (VVCLocalContext *lc)
 
int ff_vvc_cclm_mode_idx (VVCLocalContext *lc)
 
int ff_vvc_intra_chroma_pred_mode (VVCLocalContext *lc)
 
int ff_vvc_palette_predictor_run (VVCLocalContext *lc, const int max)
 
int ff_vvc_num_signalled_palette_entries (VVCLocalContext *lc, const int max)
 
int ff_vvc_new_palette_entries (VVCLocalContext *lc, const int bit_depth)
 
bool ff_vvc_palette_escape_val_present_flag (VVCLocalContext *lc)
 
bool ff_vvc_palette_transpose_flag (VVCLocalContext *lc)
 
bool ff_vvc_run_copy_flag (VVCLocalContext *lc, const int prev_run_type, const int prev_run_position, const int cur_pos)
 
bool ff_vvc_copy_above_palette_indices_flag (VVCLocalContext *lc)
 
int ff_vvc_palette_idx_idc (VVCLocalContext *lc, const int max_palette_index, const bool adjust)
 
int ff_vvc_palette_escape_val (VVCLocalContext *lc, const int max)
 
int ff_vvc_general_merge_flag (VVCLocalContext *lc)
 
static int get_inter_flag_inc (VVCLocalContext *lc, const int x0, const int y0)
 
int ff_vvc_merge_subblock_flag (VVCLocalContext *lc)
 
int ff_vvc_merge_subblock_idx (VVCLocalContext *lc, const int max_num_subblock_merge_cand)
 
int ff_vvc_regular_merge_flag (VVCLocalContext *lc, const int cu_skip_flag)
 
int ff_vvc_mmvd_merge_flag (VVCLocalContext *lc)
 
int ff_vvc_mmvd_cand_flag (VVCLocalContext *lc)
 
static int mmvd_distance_idx_decode (VVCLocalContext *lc)
 
static int mmvd_direction_idx_decode (VVCLocalContext *lc)
 
void ff_vvc_mmvd_offset_coding (VVCLocalContext *lc, Mv *mmvd_offset, const int ph_mmvd_fullpel_only_flag)
 
static PredMode get_luma_pred_mode (VVCLocalContext *lc)
 
int ff_vvc_merge_idx (VVCLocalContext *lc)
 
int ff_vvc_merge_gpm_partition_idx (VVCLocalContext *lc)
 
int ff_vvc_merge_gpm_idx (VVCLocalContext *lc, const int idx)
 
int ff_vvc_ciip_flag (VVCLocalContext *lc)
 
PredFlag ff_vvc_pred_flag (VVCLocalContext *lc, const int is_b)
 
int ff_vvc_inter_affine_flag (VVCLocalContext *lc)
 
int ff_vvc_cu_affine_type_flag (VVCLocalContext *lc)
 
int ff_vvc_sym_mvd_flag (VVCLocalContext *lc)
 
int ff_vvc_ref_idx_lx (VVCLocalContext *lc, const uint8_t nb_refs)
 
int ff_vvc_abs_mvd_greater0_flag (VVCLocalContext *lc)
 
int ff_vvc_abs_mvd_greater1_flag (VVCLocalContext *lc)
 
int ff_vvc_abs_mvd_minus2 (VVCLocalContext *lc)
 
int ff_vvc_mvd_sign_flag (VVCLocalContext *lc)
 
int ff_vvc_mvp_lx_flag (VVCLocalContext *lc)
 
static int amvr_flag (VVCLocalContext *lc, const int inter_affine_flag)
 
static int amvr_precision_idx (VVCLocalContext *lc, const int inc, const int c_max)
 
int ff_vvc_amvr_shift (VVCLocalContext *lc, const int inter_affine_flag, const PredMode pred_mode, const int has_amvr_flag)
 
int ff_vvc_bcw_idx (VVCLocalContext *lc, const int no_backward_pred_flag)
 
int ff_vvc_tu_cb_coded_flag (VVCLocalContext *lc)
 
int ff_vvc_tu_cr_coded_flag (VVCLocalContext *lc, int tu_cb_coded_flag)
 
int ff_vvc_tu_y_coded_flag (VVCLocalContext *lc)
 
int ff_vvc_cu_act_enabled_flag (VVCLocalContext *lc)
 
int ff_vvc_cu_qp_delta_abs (VVCLocalContext *lc)
 
int ff_vvc_cu_qp_delta_sign_flag (VVCLocalContext *lc)
 
int ff_vvc_cu_chroma_qp_offset_flag (VVCLocalContext *lc)
 
int ff_vvc_cu_chroma_qp_offset_idx (VVCLocalContext *lc)
 
static av_always_inline int last_significant_coeff_xy_prefix (VVCLocalContext *lc, const int log2_tb_size, const int log2_zo_tb_size, const int c_idx, const int ctx)
 
static av_always_inline int last_significant_coeff_x_prefix_decode (VVCLocalContext *lc, const int log2_tb_width, const int log2_zo_tb_width, const int c_idx)
 
static av_always_inline int last_significant_coeff_y_prefix_decode (VVCLocalContext *lc, const int log2_tb_height, const int log2_zo_tb_height, const int c_idx)
 
static av_always_inline int last_sig_coeff_suffix_decode (VVCLocalContext *lc, const int last_significant_coeff_y_prefix)
 
int ff_vvc_tu_joint_cbcr_residual_flag (VVCLocalContext *lc, const int tu_cb_coded_flag, const int tu_cr_coded_flag)
 
int ff_vvc_transform_skip_flag (VVCLocalContext *lc, const int inc)
 
static int get_local_sum (const int *level, const int w, const int h, const int xc, const int yc, const int hist_value)
 
static int get_local_sum_ts (const int *level, const int w, const int h, const int xc, const int yc)
 
static int get_gtx_flag_inc (const ResidualCoding *rc, const int xc, const int yc, const int last)
 
static int abs_level_gtx_flag_decode (VVCLocalContext *lc, const int inc)
 
static int par_level_flag_decode (VVCLocalContext *lc, const int inc)
 
static int par_level_flag_ts_decode (VVCLocalContext *lc)
 
static int sb_coded_flag_decode (VVCLocalContext *lc, const uint8_t *sb_coded_flag, const ResidualCoding *rc, const int xs, const int ys)
 
static int sig_coeff_flag_decode (VVCLocalContext *lc, const ResidualCoding *rc, const int xc, const int yc)
 
static int abs_get_rice_param (VVCLocalContext *lc, const ResidualCoding *rc, const int xc, const int yc, const int base_level)
 
static int abs_decode (VVCLocalContext *lc, const int c_rice_param)
 
static int abs_remainder_decode (VVCLocalContext *lc, const ResidualCoding *rc, const int xc, const int yc)
 
static int abs_remainder_ts_decode (VVCLocalContext *lc, const ResidualCoding *rc, const int xc, const int yc)
 
static int coeff_sign_flag_decode (VVCLocalContext *lc)
 
static int coeff_sign_flag_ts_decode (VVCLocalContext *lc, const CodingUnit *cu, const ResidualCoding *rc, const int xc, const int yc)
 
static int abs_level_gt1_flag_ts_decode (VVCLocalContext *lc, const CodingUnit *cu, const ResidualCoding *rc, const int xc, const int yc)
 
static int abs_level_gtx_flag_ts_decode (VVCLocalContext *lc, const int j)
 
static int dec_abs_level_decode (VVCLocalContext *lc, const ResidualCoding *rc, const int xc, const int yc, int *abs_level)
 
static void ep_update_hist (EntryPoint *ep, ResidualCoding *rc, const int remainder, const int addin)
 
static void init_residual_coding (const VVCLocalContext *lc, ResidualCoding *rc, const int log2_zo_tb_width, const int log2_zo_tb_height, TransformBlock *tb)
 
static int residual_ts_coding_subblock (VVCLocalContext *lc, ResidualCoding *rc, const int i)
 
static int hls_residual_ts_coding (VVCLocalContext *lc, TransformBlock *tb)
 
static int residual_coding_subblock (VVCLocalContext *lc, ResidualCoding *rc, const int i)
 
static void derive_last_scan_pos (ResidualCoding *rc)
 
static void last_significant_coeff_x_y_decode (ResidualCoding *rc, VVCLocalContext *lc, const int log2_zo_tb_width, const int log2_zo_tb_height)
 
static int hls_residual_coding (VVCLocalContext *lc, TransformBlock *tb)
 
int ff_vvc_residual_coding (VVCLocalContext *lc, TransformBlock *tb)
 
int ff_vvc_cu_coded_flag (VVCLocalContext *lc)
 
int ff_vvc_sbt_flag (VVCLocalContext *lc)
 
int ff_vvc_sbt_quad_flag (VVCLocalContext *lc)
 
int ff_vvc_sbt_horizontal_flag (VVCLocalContext *lc)
 
int ff_vvc_sbt_pos_flag (VVCLocalContext *lc)
 
int ff_vvc_lfnst_idx (VVCLocalContext *lc, const int inc)
 
int ff_vvc_mts_idx (VVCLocalContext *lc)
 
int ff_vvc_end_of_slice_flag_decode (VVCLocalContext *lc)
 
int ff_vvc_end_of_tile_one_bit (VVCLocalContext *lc)
 
int ff_vvc_end_of_subset_one_bit (VVCLocalContext *lc)
 

Variables

static const uint8_t init_values [4][SYNTAX_ELEMENT_LAST]
 
static const uint8_t qstate_translate_table [][2]
 

Macro Definition Documentation

◆ CABAC_MAX_BIN

#define CABAC_MAX_BIN   31

Definition at line 31 of file cabac.c.

◆ CNU

#define CNU   35

Definition at line 33 of file cabac.c.

◆ MAX_SUB_BLOCKS

#define MAX_SUB_BLOCKS   16

Definition at line 772 of file cabac.c.

◆ MAX_SUB_BLOCK_SIZE

#define MAX_SUB_BLOCK_SIZE   4

Definition at line 773 of file cabac.c.

Referenced by residual_coding_subblock(), and residual_ts_coding_subblock().

◆ MAX_TB_SIZE

#define MAX_TB_SIZE   64

Definition at line 774 of file cabac.c.

◆ GET_CABAC

#define GET_CABAC ( ctx)
Value:
vvc_get_cabac(&lc->ep->cc, lc->ep->cabac_state, ctx)
static AVFormatContext * ctx
Definition movenc.c:49
static int vvc_get_cabac(CABACContext *c, VVCCabacState *base, const int ctx)
Definition cabac.c:888

Definition at line 916 of file cabac.c.

Enumeration Type Documentation

◆ SyntaxElement

Enumerator
ALF_CTB_FLAG 
ALF_USE_APS_FLAG 
ALF_CTB_CC_CB_IDC 
ALF_CTB_CC_CR_IDC 
ALF_CTB_FILTER_ALT_IDX 
SAO_MERGE_FLAG 
SAO_TYPE_IDX 
SPLIT_CU_FLAG 
SPLIT_QT_FLAG 
MTT_SPLIT_CU_VERTICAL_FLAG 
MTT_SPLIT_CU_BINARY_FLAG 
NON_INTER_FLAG 
CU_SKIP_FLAG 
PRED_MODE_IBC_FLAG 
PRED_MODE_FLAG 
PRED_MODE_PLT_FLAG 
CU_ACT_ENABLED_FLAG 
INTRA_BDPCM_LUMA_FLAG 
INTRA_BDPCM_LUMA_DIR_FLAG 
INTRA_MIP_FLAG 
INTRA_LUMA_REF_IDX 
INTRA_SUBPARTITIONS_MODE_FLAG 
INTRA_SUBPARTITIONS_SPLIT_FLAG 
INTRA_LUMA_MPM_FLAG 
INTRA_LUMA_NOT_PLANAR_FLAG 
INTRA_BDPCM_CHROMA_FLAG 
INTRA_BDPCM_CHROMA_DIR_FLAG 
CCLM_MODE_FLAG 
CCLM_MODE_IDX 
INTRA_CHROMA_PRED_MODE 
GENERAL_MERGE_FLAG 
INTER_PRED_IDC 
INTER_AFFINE_FLAG 
CU_AFFINE_TYPE_FLAG 
SYM_MVD_FLAG 
REF_IDX_LX 
MVP_LX_FLAG 
AMVR_FLAG 
AMVR_PRECISION_IDX 
BCW_IDX 
CU_CODED_FLAG 
CU_SBT_FLAG 
CU_SBT_QUAD_FLAG 
CU_SBT_HORIZONTAL_FLAG 
CU_SBT_POS_FLAG 
LFNST_IDX 
MTS_IDX 
COPY_ABOVE_PALETTE_INDICES_FLAG 
PALETTE_TRANSPOSE_FLAG 
RUN_COPY_FLAG 
REGULAR_MERGE_FLAG 
MMVD_MERGE_FLAG 
MMVD_CAND_FLAG 
MMVD_DISTANCE_IDX 
CIIP_FLAG 
MERGE_SUBBLOCK_FLAG 
MERGE_SUBBLOCK_IDX 
MERGE_IDX 
ABS_MVD_GREATER0_FLAG 
ABS_MVD_GREATER1_FLAG 
TU_Y_CODED_FLAG 
TU_CB_CODED_FLAG 
TU_CR_CODED_FLAG 
CU_QP_DELTA_ABS 
CU_CHROMA_QP_OFFSET_FLAG 
CU_CHROMA_QP_OFFSET_IDX 
TRANSFORM_SKIP_FLAG 
TU_JOINT_CBCR_RESIDUAL_FLAG 
LAST_SIG_COEFF_X_PREFIX 
LAST_SIG_COEFF_Y_PREFIX 
SB_CODED_FLAG 
SIG_COEFF_FLAG 
PAR_LEVEL_FLAG 
ABS_LEVEL_GTX_FLAG 
COEFF_SIGN_FLAG 
SYNTAX_ELEMENT_LAST 

Definition at line 35 of file cabac.c.

Function Documentation

◆ cabac_reinit()

static int cabac_reinit ( VVCLocalContext * lc)
static

Definition at line 813 of file cabac.c.

◆ cabac_init_state()

static void cabac_init_state ( VVCLocalContext * lc)
static

Definition at line 818 of file cabac.c.

◆ ff_vvc_cabac_init()

int ff_vvc_cabac_init ( VVCLocalContext * lc,
const int ctu_idx,
const int rx,
const int ry )

Definition at line 845 of file cabac.c.

Referenced by ff_vvc_coding_tree_unit().

◆ vvc_refill2()

static void vvc_refill2 ( CABACContext * c)
static

Definition at line 863 of file cabac.c.

Referenced by vvc_get_cabac().

◆ vvc_get_cabac()

static int vvc_get_cabac ( CABACContext * c,
VVCCabacState * base,
const int ctx )
inlinestatic

Definition at line 888 of file cabac.c.

◆ truncated_binary_decode()

static int truncated_binary_decode ( VVCLocalContext * lc,
const int c_max )
static

◆ kth_order_egk_decode()

static int kth_order_egk_decode ( CABACContext * c,
int k,
const int max )
static

◆ limited_kth_order_egk_decode()

static int limited_kth_order_egk_decode ( CABACContext * c,
const int k,
const int max_pre_ext_len,
const int trunc_suffix_len )
static

Definition at line 961 of file cabac.c.

Referenced by abs_decode(), and ff_vvc_abs_mvd_minus2().

◆ fixed_length_decode()

static int fixed_length_decode ( CABACContext * c,
const int len )
static

◆ get_left_top()

static av_always_inline void get_left_top ( const VVCLocalContext * lc,
uint8_t * left,
uint8_t * top,
const int x0,
const int y0,
const uint8_t * left_ctx,
const uint8_t * top_ctx )
static

◆ get_inc()

static av_always_inline uint8_t get_inc ( VVCLocalContext * lc,
const uint8_t * ctx )
static

Definition at line 1009 of file cabac.c.

Referenced by ff_vvc_cu_skip_flag().

◆ ff_vvc_sao_merge_flag_decode()

int ff_vvc_sao_merge_flag_decode ( VVCLocalContext * lc)

Definition at line 1016 of file cabac.c.

Referenced by hls_sao().

◆ ff_vvc_sao_type_idx_decode()

int ff_vvc_sao_type_idx_decode ( VVCLocalContext * lc)

Definition at line 1021 of file cabac.c.

Referenced by hls_sao().

◆ ff_vvc_sao_band_position_decode()

int ff_vvc_sao_band_position_decode ( VVCLocalContext * lc)

Definition at line 1031 of file cabac.c.

Referenced by hls_sao().

◆ ff_vvc_sao_offset_abs_decode()

int ff_vvc_sao_offset_abs_decode ( VVCLocalContext * lc)

Definition at line 1036 of file cabac.c.

Referenced by hls_sao().

◆ ff_vvc_sao_offset_sign_decode()

int ff_vvc_sao_offset_sign_decode ( VVCLocalContext * lc)

Definition at line 1046 of file cabac.c.

Referenced by hls_sao().

◆ ff_vvc_sao_eo_class_decode()

int ff_vvc_sao_eo_class_decode ( VVCLocalContext * lc)

Definition at line 1051 of file cabac.c.

Referenced by hls_sao().

◆ ff_vvc_alf_ctb_flag()

int ff_vvc_alf_ctb_flag ( VVCLocalContext * lc,
const int rx,
const int ry,
const int c_idx )

Definition at line 1056 of file cabac.c.

Referenced by alf_params().

◆ ff_vvc_alf_use_aps_flag()

int ff_vvc_alf_use_aps_flag ( VVCLocalContext * lc)

Definition at line 1071 of file cabac.c.

Referenced by alf_params().

◆ ff_vvc_alf_luma_prev_filter_idx()

int ff_vvc_alf_luma_prev_filter_idx ( VVCLocalContext * lc)

Definition at line 1076 of file cabac.c.

Referenced by alf_params().

◆ ff_vvc_alf_luma_fixed_filter_idx()

int ff_vvc_alf_luma_fixed_filter_idx ( VVCLocalContext * lc)

Definition at line 1081 of file cabac.c.

Referenced by alf_params().

◆ ff_vvc_alf_ctb_filter_alt_idx()

int ff_vvc_alf_ctb_filter_alt_idx ( VVCLocalContext * lc,
const int c_idx,
const int num_chroma_filters )

Definition at line 1086 of file cabac.c.

Referenced by alf_params().

◆ ff_vvc_alf_ctb_cc_idc()

int ff_vvc_alf_ctb_cc_idc ( VVCLocalContext * lc,
const int rx,
const int ry,
const int idx,
const int cc_filters_signalled )

Definition at line 1096 of file cabac.c.

Referenced by alf_params().

◆ ff_vvc_split_cu_flag()

int ff_vvc_split_cu_flag ( VVCLocalContext * lc,
const int x0,
const int y0,
const int cb_width,
const int cb_height,
const int is_chroma,
const VVCAllowedSplit * a )

Definition at line 1118 of file cabac.c.

Referenced by hls_coding_tree().

◆ split_qt_flag_decode()

static int split_qt_flag_decode ( VVCLocalContext * lc,
const int x0,
const int y0,
const int ch_type,
const int cqt_depth )
static

Definition at line 1140 of file cabac.c.

Referenced by ff_vvc_split_mode().

◆ mtt_split_cu_vertical_flag_decode()

static int mtt_split_cu_vertical_flag_decode ( VVCLocalContext * lc,
const int x0,
const int y0,
const int cb_width,
const int cb_height,
const int ch_type,
const VVCAllowedSplit * a )
static

Definition at line 1154 of file cabac.c.

Referenced by ff_vvc_split_mode().

◆ mtt_split_cu_binary_flag_decode()

static int mtt_split_cu_binary_flag_decode ( VVCLocalContext * lc,
const int mtt_split_cu_vertical_flag,
const int mtt_depth )
static

Definition at line 1190 of file cabac.c.

Referenced by ff_vvc_split_mode().

◆ ff_vvc_split_mode()

VVCSplitMode ff_vvc_split_mode ( VVCLocalContext * lc,
const int x0,
const int y0,
const int cb_width,
const int cb_height,
const int cqt_depth,
const int mtt_depth,
const int ch_type,
const VVCAllowedSplit * a )

Definition at line 1196 of file cabac.c.

Referenced by hls_coding_tree().

◆ ff_vvc_non_inter_flag()

int ff_vvc_non_inter_flag ( VVCLocalContext * lc,
const int x0,
const int y0,
const int ch_type )

Definition at line 1230 of file cabac.c.

Referenced by mode_type_decode().

◆ ff_vvc_pred_mode_flag()

int ff_vvc_pred_mode_flag ( VVCLocalContext * lc,
const int is_chroma )

Definition at line 1240 of file cabac.c.

Referenced by pred_mode_decode().

◆ ff_vvc_pred_mode_plt_flag()

int ff_vvc_pred_mode_plt_flag ( VVCLocalContext * lc)

Definition at line 1251 of file cabac.c.

Referenced by pred_mode_decode().

◆ ff_vvc_intra_bdpcm_luma_flag()

int ff_vvc_intra_bdpcm_luma_flag ( VVCLocalContext * lc)

Definition at line 1256 of file cabac.c.

Referenced by intra_luma_pred_modes().

◆ ff_vvc_intra_bdpcm_luma_dir_flag()

int ff_vvc_intra_bdpcm_luma_dir_flag ( VVCLocalContext * lc)

Definition at line 1261 of file cabac.c.

Referenced by intra_luma_pred_modes().

◆ ff_vvc_intra_bdpcm_chroma_flag()

int ff_vvc_intra_bdpcm_chroma_flag ( VVCLocalContext * lc)

Definition at line 1266 of file cabac.c.

Referenced by intra_chroma_pred_modes().

◆ ff_vvc_intra_bdpcm_chroma_dir_flag()

int ff_vvc_intra_bdpcm_chroma_dir_flag ( VVCLocalContext * lc)

Definition at line 1271 of file cabac.c.

Referenced by intra_chroma_pred_modes().

◆ ff_vvc_cu_skip_flag()

int ff_vvc_cu_skip_flag ( VVCLocalContext * lc,
const uint8_t * cu_skip_flag )

Definition at line 1276 of file cabac.c.

Referenced by pred_mode_decode().

◆ ff_vvc_pred_mode_ibc_flag()

int ff_vvc_pred_mode_ibc_flag ( VVCLocalContext * lc,
const int is_chroma )

Definition at line 1282 of file cabac.c.

Referenced by pred_mode_decode().

◆ get_mip_inc()

static av_always_inline uint8_t get_mip_inc ( VVCLocalContext * lc,
const uint8_t * ctx )
static

Definition at line 1295 of file cabac.c.

Referenced by ff_vvc_intra_mip_flag().

◆ ff_vvc_intra_mip_flag()

int ff_vvc_intra_mip_flag ( VVCLocalContext * lc,
const uint8_t * intra_mip_flag )

Definition at line 1302 of file cabac.c.

Referenced by intra_luma_pred_modes().

◆ ff_vvc_intra_mip_transposed_flag()

int ff_vvc_intra_mip_transposed_flag ( VVCLocalContext * lc)

Definition at line 1310 of file cabac.c.

Referenced by intra_luma_pred_modes().

◆ ff_vvc_intra_mip_mode()

int ff_vvc_intra_mip_mode ( VVCLocalContext * lc)

Definition at line 1315 of file cabac.c.

Referenced by intra_luma_pred_modes().

◆ ff_vvc_intra_luma_ref_idx()

int ff_vvc_intra_luma_ref_idx ( VVCLocalContext * lc)

Definition at line 1324 of file cabac.c.

Referenced by intra_luma_pred_modes().

◆ ff_vvc_intra_subpartitions_mode_flag()

int ff_vvc_intra_subpartitions_mode_flag ( VVCLocalContext * lc)

Definition at line 1334 of file cabac.c.

Referenced by intra_luma_pred_modes().

◆ ff_vvc_isp_split_type()

enum IspType ff_vvc_isp_split_type ( VVCLocalContext * lc,
const int intra_subpartitions_mode_flag )

Definition at line 1339 of file cabac.c.

Referenced by intra_luma_pred_modes().

◆ ff_vvc_intra_luma_mpm_flag()

int ff_vvc_intra_luma_mpm_flag ( VVCLocalContext * lc)

Definition at line 1346 of file cabac.c.

Referenced by luma_intra_pred_mode().

◆ ff_vvc_intra_luma_not_planar_flag()

int ff_vvc_intra_luma_not_planar_flag ( VVCLocalContext * lc,
const int intra_subpartitions_mode_flag )

Definition at line 1351 of file cabac.c.

Referenced by luma_intra_pred_mode().

◆ ff_vvc_intra_luma_mpm_idx()

int ff_vvc_intra_luma_mpm_idx ( VVCLocalContext * lc)

Definition at line 1356 of file cabac.c.

Referenced by luma_intra_pred_mode().

◆ ff_vvc_intra_luma_mpm_remainder()

int ff_vvc_intra_luma_mpm_remainder ( VVCLocalContext * lc)

Definition at line 1364 of file cabac.c.

Referenced by luma_intra_pred_mode().

◆ ff_vvc_cclm_mode_flag()

int ff_vvc_cclm_mode_flag ( VVCLocalContext * lc)

Definition at line 1369 of file cabac.c.

Referenced by intra_chroma_pred_modes().

◆ ff_vvc_cclm_mode_idx()

int ff_vvc_cclm_mode_idx ( VVCLocalContext * lc)

Definition at line 1374 of file cabac.c.

Referenced by intra_chroma_pred_modes().

◆ ff_vvc_intra_chroma_pred_mode()

int ff_vvc_intra_chroma_pred_mode ( VVCLocalContext * lc)

Definition at line 1381 of file cabac.c.

Referenced by intra_chroma_pred_modes().

◆ ff_vvc_palette_predictor_run()

int ff_vvc_palette_predictor_run ( VVCLocalContext * lc,
const int max )

Definition at line 1388 of file cabac.c.

Referenced by palette_predicted().

◆ ff_vvc_num_signalled_palette_entries()

int ff_vvc_num_signalled_palette_entries ( VVCLocalContext * lc,
const int max )

Definition at line 1393 of file cabac.c.

Referenced by palette_signaled().

◆ ff_vvc_new_palette_entries()

int ff_vvc_new_palette_entries ( VVCLocalContext * lc,
const int bit_depth )

Definition at line 1398 of file cabac.c.

Referenced by palette_signaled().

◆ ff_vvc_palette_escape_val_present_flag()

bool ff_vvc_palette_escape_val_present_flag ( VVCLocalContext * lc)

Definition at line 1403 of file cabac.c.

Referenced by hls_palette_coding().

◆ ff_vvc_palette_transpose_flag()

bool ff_vvc_palette_transpose_flag ( VVCLocalContext * lc)

Definition at line 1408 of file cabac.c.

Referenced by hls_palette_coding().

◆ ff_vvc_run_copy_flag()

bool ff_vvc_run_copy_flag ( VVCLocalContext * lc,
const int prev_run_type,
const int prev_run_position,
const int cur_pos )

Definition at line 1413 of file cabac.c.

Referenced by palette_subblock_data().

◆ ff_vvc_copy_above_palette_indices_flag()

bool ff_vvc_copy_above_palette_indices_flag ( VVCLocalContext * lc)

Definition at line 1425 of file cabac.c.

Referenced by palette_subblock_data().

◆ ff_vvc_palette_idx_idc()

int ff_vvc_palette_idx_idc ( VVCLocalContext * lc,
const int max_palette_index,
const bool adjust )

Definition at line 1430 of file cabac.c.

Referenced by palette_subblock_data().

◆ ff_vvc_palette_escape_val()

int ff_vvc_palette_escape_val ( VVCLocalContext * lc,
const int max )

Definition at line 1435 of file cabac.c.

Referenced by palette_subblock_data().

◆ ff_vvc_general_merge_flag()

int ff_vvc_general_merge_flag ( VVCLocalContext * lc)

Definition at line 1440 of file cabac.c.

Referenced by inter_data().

◆ get_inter_flag_inc()

static int get_inter_flag_inc ( VVCLocalContext * lc,
const int x0,
const int y0 )
static

Definition at line 1445 of file cabac.c.

Referenced by ff_vvc_inter_affine_flag(), and ff_vvc_merge_subblock_flag().

◆ ff_vvc_merge_subblock_flag()

int ff_vvc_merge_subblock_flag ( VVCLocalContext * lc)

Definition at line 1456 of file cabac.c.

Referenced by hls_merge_data().

◆ ff_vvc_merge_subblock_idx()

int ff_vvc_merge_subblock_idx ( VVCLocalContext * lc,
const int max_num_subblock_merge_cand )

Definition at line 1462 of file cabac.c.

Referenced by merge_data_subblock().

◆ ff_vvc_regular_merge_flag()

int ff_vvc_regular_merge_flag ( VVCLocalContext * lc,
const int cu_skip_flag )

Definition at line 1472 of file cabac.c.

Referenced by merge_data_block().

◆ ff_vvc_mmvd_merge_flag()

int ff_vvc_mmvd_merge_flag ( VVCLocalContext * lc)

Definition at line 1478 of file cabac.c.

Referenced by merge_data_regular().

◆ ff_vvc_mmvd_cand_flag()

int ff_vvc_mmvd_cand_flag ( VVCLocalContext * lc)

Definition at line 1483 of file cabac.c.

Referenced by merge_data_regular().

◆ mmvd_distance_idx_decode()

static int mmvd_distance_idx_decode ( VVCLocalContext * lc)
static

Definition at line 1488 of file cabac.c.

Referenced by ff_vvc_mmvd_offset_coding().

◆ mmvd_direction_idx_decode()

static int mmvd_direction_idx_decode ( VVCLocalContext * lc)
static

Definition at line 1498 of file cabac.c.

Referenced by ff_vvc_mmvd_offset_coding().

◆ ff_vvc_mmvd_offset_coding()

void ff_vvc_mmvd_offset_coding ( VVCLocalContext * lc,
Mv * mmvd_offset,
const int ph_mmvd_fullpel_only_flag )

Definition at line 1503 of file cabac.c.

Referenced by merge_data_regular().

◆ get_luma_pred_mode()

static PredMode get_luma_pred_mode ( VVCLocalContext * lc)
static

Definition at line 1513 of file cabac.c.

Referenced by ff_vvc_merge_idx().

◆ ff_vvc_merge_idx()

int ff_vvc_merge_idx ( VVCLocalContext * lc)

Definition at line 1530 of file cabac.c.

Referenced by merge_data_ciip(), merge_data_ibc(), and merge_data_regular().

◆ ff_vvc_merge_gpm_partition_idx()

int ff_vvc_merge_gpm_partition_idx ( VVCLocalContext * lc)

Definition at line 1545 of file cabac.c.

Referenced by merge_data_gpm().

◆ ff_vvc_merge_gpm_idx()

int ff_vvc_merge_gpm_idx ( VVCLocalContext * lc,
const int idx )

Definition at line 1550 of file cabac.c.

Referenced by merge_data_gpm().

◆ ff_vvc_ciip_flag()

int ff_vvc_ciip_flag ( VVCLocalContext * lc)

Definition at line 1564 of file cabac.c.

Referenced by ciip_flag_decode().

◆ ff_vvc_pred_flag()

PredFlag ff_vvc_pred_flag ( VVCLocalContext * lc,
const int is_b )

Definition at line 1569 of file cabac.c.

Referenced by mvp_data().

◆ ff_vvc_inter_affine_flag()

int ff_vvc_inter_affine_flag ( VVCLocalContext * lc)

Definition at line 1584 of file cabac.c.

Referenced by mvp_data().

◆ ff_vvc_cu_affine_type_flag()

int ff_vvc_cu_affine_type_flag ( VVCLocalContext * lc)

Definition at line 1590 of file cabac.c.

Referenced by mvp_data().

◆ ff_vvc_sym_mvd_flag()

int ff_vvc_sym_mvd_flag ( VVCLocalContext * lc)

Definition at line 1595 of file cabac.c.

Referenced by mvp_data().

◆ ff_vvc_ref_idx_lx()

int ff_vvc_ref_idx_lx ( VVCLocalContext * lc,
const uint8_t nb_refs )

Definition at line 1600 of file cabac.c.

Referenced by ref_idx_decode().

◆ ff_vvc_abs_mvd_greater0_flag()

int ff_vvc_abs_mvd_greater0_flag ( VVCLocalContext * lc)

Definition at line 1615 of file cabac.c.

Referenced by hls_mvd_coding().

◆ ff_vvc_abs_mvd_greater1_flag()

int ff_vvc_abs_mvd_greater1_flag ( VVCLocalContext * lc)

Definition at line 1620 of file cabac.c.

Referenced by hls_mvd_coding().

◆ ff_vvc_abs_mvd_minus2()

int ff_vvc_abs_mvd_minus2 ( VVCLocalContext * lc)

Definition at line 1625 of file cabac.c.

Referenced by hls_mvd_coding().

◆ ff_vvc_mvd_sign_flag()

int ff_vvc_mvd_sign_flag ( VVCLocalContext * lc)

Definition at line 1630 of file cabac.c.

Referenced by hls_mvd_coding().

◆ ff_vvc_mvp_lx_flag()

int ff_vvc_mvp_lx_flag ( VVCLocalContext * lc)

Definition at line 1635 of file cabac.c.

Referenced by mvp_data(), and mvp_data_ibc().

◆ amvr_flag()

static int amvr_flag ( VVCLocalContext * lc,
const int inter_affine_flag )
static

Definition at line 1640 of file cabac.c.

Referenced by ff_vvc_amvr_shift().

◆ amvr_precision_idx()

static int amvr_precision_idx ( VVCLocalContext * lc,
const int inc,
const int c_max )
static

Definition at line 1645 of file cabac.c.

Referenced by ff_vvc_amvr_shift().

◆ ff_vvc_amvr_shift()

int ff_vvc_amvr_shift ( VVCLocalContext * lc,
const int inter_affine_flag,
const PredMode pred_mode,
const int has_amvr_flag )

Definition at line 1656 of file cabac.c.

Referenced by mvp_data(), and mvp_data_ibc().

◆ ff_vvc_bcw_idx()

int ff_vvc_bcw_idx ( VVCLocalContext * lc,
const int no_backward_pred_flag )

Definition at line 1679 of file cabac.c.

Referenced by bcw_idx_decode().

◆ ff_vvc_tu_cb_coded_flag()

int ff_vvc_tu_cb_coded_flag ( VVCLocalContext * lc)

Definition at line 1690 of file cabac.c.

Referenced by hls_transform_unit().

◆ ff_vvc_tu_cr_coded_flag()

int ff_vvc_tu_cr_coded_flag ( VVCLocalContext * lc,
int tu_cb_coded_flag )

Definition at line 1695 of file cabac.c.

Referenced by hls_transform_unit().

◆ ff_vvc_tu_y_coded_flag()

int ff_vvc_tu_y_coded_flag ( VVCLocalContext * lc)

Definition at line 1700 of file cabac.c.

Referenced by tu_y_coded_flag_decode().

◆ ff_vvc_cu_act_enabled_flag()

int ff_vvc_cu_act_enabled_flag ( VVCLocalContext * lc)

Definition at line 1714 of file cabac.c.

Referenced by hls_coding_unit().

◆ ff_vvc_cu_qp_delta_abs()

int ff_vvc_cu_qp_delta_abs ( VVCLocalContext * lc)

Definition at line 1719 of file cabac.c.

Referenced by set_qp_y().

◆ ff_vvc_cu_qp_delta_sign_flag()

int ff_vvc_cu_qp_delta_sign_flag ( VVCLocalContext * lc)

Definition at line 1747 of file cabac.c.

Referenced by set_qp_y().

◆ ff_vvc_cu_chroma_qp_offset_flag()

int ff_vvc_cu_chroma_qp_offset_flag ( VVCLocalContext * lc)

Definition at line 1752 of file cabac.c.

Referenced by chroma_qp_offset_decode().

◆ ff_vvc_cu_chroma_qp_offset_idx()

int ff_vvc_cu_chroma_qp_offset_idx ( VVCLocalContext * lc)

Definition at line 1757 of file cabac.c.

Referenced by chroma_qp_offset_decode().

◆ last_significant_coeff_xy_prefix()

static av_always_inline int last_significant_coeff_xy_prefix ( VVCLocalContext * lc,
const int log2_tb_size,
const int log2_zo_tb_size,
const int c_idx,
const int ctx )
static

◆ last_significant_coeff_x_prefix_decode()

static av_always_inline int last_significant_coeff_x_prefix_decode ( VVCLocalContext * lc,
const int log2_tb_width,
const int log2_zo_tb_width,
const int c_idx )
static

Definition at line 1788 of file cabac.c.

Referenced by last_significant_coeff_x_y_decode().

◆ last_significant_coeff_y_prefix_decode()

static av_always_inline int last_significant_coeff_y_prefix_decode ( VVCLocalContext * lc,
const int log2_tb_height,
const int log2_zo_tb_height,
const int c_idx )
static

Definition at line 1794 of file cabac.c.

Referenced by last_significant_coeff_x_y_decode().

◆ last_sig_coeff_suffix_decode()

static av_always_inline int last_sig_coeff_suffix_decode ( VVCLocalContext * lc,
const int last_significant_coeff_y_prefix )
static

Definition at line 1800 of file cabac.c.

Referenced by last_significant_coeff_x_y_decode().

◆ ff_vvc_tu_joint_cbcr_residual_flag()

int ff_vvc_tu_joint_cbcr_residual_flag ( VVCLocalContext * lc,
const int tu_cb_coded_flag,
const int tu_cr_coded_flag )

Definition at line 1811 of file cabac.c.

Referenced by hls_transform_unit().

◆ ff_vvc_transform_skip_flag()

int ff_vvc_transform_skip_flag ( VVCLocalContext * lc,
const int inc )

Definition at line 1816 of file cabac.c.

Referenced by hls_transform_unit().

◆ get_local_sum()

static int get_local_sum ( const int * level,
const int w,
const int h,
const int xc,
const int yc,
const int hist_value )
static

Definition at line 1822 of file cabac.c.

Referenced by abs_get_rice_param(), get_gtx_flag_inc(), and sig_coeff_flag_decode().

◆ get_local_sum_ts()

static int get_local_sum_ts ( const int * level,
const int w,
const int h,
const int xc,
const int yc )
static

Definition at line 1843 of file cabac.c.

Referenced by sig_coeff_flag_decode().

◆ get_gtx_flag_inc()

static int get_gtx_flag_inc ( const ResidualCoding * rc,
const int xc,
const int yc,
const int last )
static

Definition at line 1854 of file cabac.c.

Referenced by residual_coding_subblock().

◆ abs_level_gtx_flag_decode()

static int abs_level_gtx_flag_decode ( VVCLocalContext * lc,
const int inc )
static

Definition at line 1877 of file cabac.c.

Referenced by residual_coding_subblock().

◆ par_level_flag_decode()

static int par_level_flag_decode ( VVCLocalContext * lc,
const int inc )
static

Definition at line 1882 of file cabac.c.

Referenced by residual_coding_subblock().

◆ par_level_flag_ts_decode()

static int par_level_flag_ts_decode ( VVCLocalContext * lc)
static

Definition at line 1887 of file cabac.c.

Referenced by residual_ts_coding_subblock().

◆ sb_coded_flag_decode()

static int sb_coded_flag_decode ( VVCLocalContext * lc,
const uint8_t * sb_coded_flag,
const ResidualCoding * rc,
const int xs,
const int ys )
static

Definition at line 1893 of file cabac.c.

Referenced by residual_coding_subblock(), and residual_ts_coding_subblock().

◆ sig_coeff_flag_decode()

static int sig_coeff_flag_decode ( VVCLocalContext * lc,
const ResidualCoding * rc,
const int xc,
const int yc )
static

Definition at line 1914 of file cabac.c.

Referenced by residual_coding_subblock(), and residual_ts_coding_subblock().

◆ abs_get_rice_param()

static int abs_get_rice_param ( VVCLocalContext * lc,
const ResidualCoding * rc,
const int xc,
const int yc,
const int base_level )
static

Definition at line 1937 of file cabac.c.

Referenced by abs_remainder_decode(), and dec_abs_level_decode().

◆ abs_decode()

static int abs_decode ( VVCLocalContext * lc,
const int c_rice_param )
static

Definition at line 1963 of file cabac.c.

Referenced by abs_remainder_decode(), abs_remainder_ts_decode(), and dec_abs_level_decode().

◆ abs_remainder_decode()

static int abs_remainder_decode ( VVCLocalContext * lc,
const ResidualCoding * rc,
const int xc,
const int yc )
static

Definition at line 1985 of file cabac.c.

Referenced by residual_coding_subblock().

◆ abs_remainder_ts_decode()

static int abs_remainder_ts_decode ( VVCLocalContext * lc,
const ResidualCoding * rc,
const int xc,
const int yc )
static

Definition at line 2000 of file cabac.c.

Referenced by residual_ts_coding_subblock().

◆ coeff_sign_flag_decode()

static int coeff_sign_flag_decode ( VVCLocalContext * lc)
static

Definition at line 2009 of file cabac.c.

◆ coeff_sign_flag_ts_decode()

static int coeff_sign_flag_ts_decode ( VVCLocalContext * lc,
const CodingUnit * cu,
const ResidualCoding * rc,
const int xc,
const int yc )
static

Definition at line 2015 of file cabac.c.

Referenced by residual_ts_coding_subblock().

◆ abs_level_gt1_flag_ts_decode()

static int abs_level_gt1_flag_ts_decode ( VVCLocalContext * lc,
const CodingUnit * cu,
const ResidualCoding * rc,
const int xc,
const int yc )
static

Definition at line 2034 of file cabac.c.

Referenced by residual_ts_coding_subblock().

◆ abs_level_gtx_flag_ts_decode()

static int abs_level_gtx_flag_ts_decode ( VVCLocalContext * lc,
const int j )
static

Definition at line 2050 of file cabac.c.

Referenced by residual_ts_coding_subblock().

◆ dec_abs_level_decode()

static int dec_abs_level_decode ( VVCLocalContext * lc,
const ResidualCoding * rc,
const int xc,
const int yc,
int * abs_level )
static

Definition at line 2060 of file cabac.c.

Referenced by residual_coding_subblock().

◆ ep_update_hist()

static void ep_update_hist ( EntryPoint * ep,
ResidualCoding * rc,
const int remainder,
const int addin )
static

Definition at line 2076 of file cabac.c.

Referenced by residual_coding_subblock().

◆ init_residual_coding()

static void init_residual_coding ( const VVCLocalContext * lc,
ResidualCoding * rc,
const int log2_zo_tb_width,
const int log2_zo_tb_height,
TransformBlock * tb )
static

Definition at line 2086 of file cabac.c.

Referenced by hls_residual_coding(), and hls_residual_ts_coding().

◆ residual_ts_coding_subblock()

static int residual_ts_coding_subblock ( VVCLocalContext * lc,
ResidualCoding * rc,
const int i )
static

< AbsLevelPass2

Definition at line 2130 of file cabac.c.

Referenced by hls_residual_ts_coding().

◆ hls_residual_ts_coding()

static int hls_residual_ts_coding ( VVCLocalContext * lc,
TransformBlock * tb )
static

Definition at line 2248 of file cabac.c.

Referenced by ff_vvc_residual_coding().

◆ residual_coding_subblock()

static int residual_coding_subblock ( VVCLocalContext * lc,
ResidualCoding * rc,
const int i )
inlinestatic

Definition at line 2262 of file cabac.c.

Referenced by hls_residual_coding().

◆ derive_last_scan_pos()

static void derive_last_scan_pos ( ResidualCoding * rc)
static

Definition at line 2406 of file cabac.c.

Referenced by hls_residual_coding().

◆ last_significant_coeff_x_y_decode()

static void last_significant_coeff_x_y_decode ( ResidualCoding * rc,
VVCLocalContext * lc,
const int log2_zo_tb_width,
const int log2_zo_tb_height )
static

Definition at line 2422 of file cabac.c.

Referenced by hls_residual_coding().

◆ hls_residual_coding()

static int hls_residual_coding ( VVCLocalContext * lc,
TransformBlock * tb )
static

Definition at line 2453 of file cabac.c.

Referenced by ff_vvc_residual_coding().

◆ ff_vvc_residual_coding()

int ff_vvc_residual_coding ( VVCLocalContext * lc,
TransformBlock * tb )

Definition at line 2501 of file cabac.c.

Referenced by hls_transform_unit().

◆ ff_vvc_cu_coded_flag()

int ff_vvc_cu_coded_flag ( VVCLocalContext * lc)

Definition at line 2509 of file cabac.c.

Referenced by hls_coding_unit().

◆ ff_vvc_sbt_flag()

int ff_vvc_sbt_flag ( VVCLocalContext * lc)

Definition at line 2514 of file cabac.c.

Referenced by sbt_info().

◆ ff_vvc_sbt_quad_flag()

int ff_vvc_sbt_quad_flag ( VVCLocalContext * lc)

Definition at line 2522 of file cabac.c.

Referenced by sbt_info().

◆ ff_vvc_sbt_horizontal_flag()

int ff_vvc_sbt_horizontal_flag ( VVCLocalContext * lc)

Definition at line 2527 of file cabac.c.

Referenced by sbt_info().

◆ ff_vvc_sbt_pos_flag()

int ff_vvc_sbt_pos_flag ( VVCLocalContext * lc)

Definition at line 2535 of file cabac.c.

Referenced by sbt_info().

◆ ff_vvc_lfnst_idx()

int ff_vvc_lfnst_idx ( VVCLocalContext * lc,
const int inc )

Definition at line 2540 of file cabac.c.

Referenced by lfnst_idx_decode().

◆ ff_vvc_mts_idx()

int ff_vvc_mts_idx ( VVCLocalContext * lc)

Definition at line 2549 of file cabac.c.

Referenced by mts_idx_decode().

◆ ff_vvc_end_of_slice_flag_decode()

int ff_vvc_end_of_slice_flag_decode ( VVCLocalContext * lc)

Definition at line 2559 of file cabac.c.

Referenced by hls_coding_tree_unit().

◆ ff_vvc_end_of_tile_one_bit()

int ff_vvc_end_of_tile_one_bit ( VVCLocalContext * lc)

Definition at line 2564 of file cabac.c.

Referenced by hls_coding_tree_unit().

◆ ff_vvc_end_of_subset_one_bit()

int ff_vvc_end_of_subset_one_bit ( VVCLocalContext * lc)

Definition at line 2569 of file cabac.c.

Referenced by hls_coding_tree_unit().

Variable Documentation

◆ init_values

const uint8_t init_values[4][SYNTAX_ELEMENT_LAST]
static

Definition at line 116 of file cabac.c.

◆ qstate_translate_table

const uint8_t qstate_translate_table[][2]
static
Initial value:
= {
{ 0, 2 }, { 2, 0 }, { 1, 3 }, { 3, 1 }
}

Definition at line 2056 of file cabac.c.

Referenced by residual_coding_subblock().