Go to the source code of this file.
|  | 
| enum | SAOType { SAO_NOT_APPLIED = 0, 
SAO_BAND, 
SAO_EDGE, 
SAO_APPLIED,
 SAO_NOT_APPLIED = 0, 
SAO_BAND, 
SAO_EDGE
 }
 | 
|  | 
| enum | SAOEOClass { SAO_EO_HORIZ = 0, 
SAO_EO_VERT, 
SAO_EO_135D, 
SAO_EO_45D,
 SAO_EO_HORIZ = 0, 
SAO_EO_VERT, 
SAO_EO_135D, 
SAO_EO_45D
 }
 | 
|  | 
| enum | IspType { ISP_NO_SPLIT, 
ISP_HOR_SPLIT, 
ISP_VER_SPLIT
 } | 
|  | 
| enum | VVCSplitMode { SPLIT_NONE, 
SPLIT_TT_HOR, 
SPLIT_BT_HOR, 
SPLIT_TT_VER,
 SPLIT_BT_VER, 
SPLIT_QT
 }
 | 
|  | 
| enum | MtsIdx { MTS_DCT2_DCT2, 
MTS_DST7_DST7, 
MTS_DST7_DCT8, 
MTS_DCT8_DST7,
 MTS_DCT8_DCT8
 }
 | 
|  | 
| enum | VVCTreeType { SINGLE_TREE, 
DUAL_TREE_LUMA, 
DUAL_TREE_CHROMA
 } | 
|  | 
| enum | PredMode { MODE_INTER = 0, 
MODE_INTRA, 
MODE_SKIP, 
MODE_INTER,
 MODE_INTRA, 
MODE_SKIP, 
MODE_PLT, 
MODE_IBC
 }
 | 
|  | 
| enum | MotionModelIdc { MOTION_TRANSLATION, 
MOTION_4_PARAMS_AFFINE, 
MOTION_6_PARAMS_AFFINE
 } | 
|  | 
| enum | PredFlag { PF_INTRA = 0, 
PF_L0, 
PF_L1, 
PF_BI,
 PF_INTRA = 0x0, 
PF_L0 = 0x1, 
PF_L1 = 0x2, 
PF_BI = 0x3,
 PF_IBC = PF_L0 | 0x4
 }
 | 
|  | 
| enum | IntraPredMode { INTRA_PLANAR = 0, 
INTRA_DC, 
INTRA_ANGULAR_2, 
INTRA_ANGULAR_3,
 INTRA_ANGULAR_4, 
INTRA_ANGULAR_5, 
INTRA_ANGULAR_6, 
INTRA_ANGULAR_7,
 INTRA_ANGULAR_8, 
INTRA_ANGULAR_9, 
INTRA_ANGULAR_10, 
INTRA_ANGULAR_11,
 INTRA_ANGULAR_12, 
INTRA_ANGULAR_13, 
INTRA_ANGULAR_14, 
INTRA_ANGULAR_15,
 INTRA_ANGULAR_16, 
INTRA_ANGULAR_17, 
INTRA_ANGULAR_18, 
INTRA_ANGULAR_19,
 INTRA_ANGULAR_20, 
INTRA_ANGULAR_21, 
INTRA_ANGULAR_22, 
INTRA_ANGULAR_23,
 INTRA_ANGULAR_24, 
INTRA_ANGULAR_25, 
INTRA_ANGULAR_26, 
INTRA_ANGULAR_27,
 INTRA_ANGULAR_28, 
INTRA_ANGULAR_29, 
INTRA_ANGULAR_30, 
INTRA_ANGULAR_31,
 INTRA_ANGULAR_32, 
INTRA_ANGULAR_33, 
INTRA_ANGULAR_34, 
VERT_PRED,
 HOR_PRED, 
DC_PRED, 
DIAG_DOWN_LEFT_PRED, 
DIAG_DOWN_RIGHT_PRED,
 VERT_RIGHT_PRED, 
HOR_DOWN_PRED, 
VERT_LEFT_PRED, 
HOR_UP_PRED,
 TM_VP8_PRED, 
LEFT_DC_PRED, 
TOP_DC_PRED, 
DC_128_PRED,
 DC_127_PRED, 
DC_129_PRED, 
N_INTRA_PRED_MODES, 
INTRA_INVALID = -1,
 INTRA_PLANAR = 0, 
INTRA_DC, 
INTRA_HORZ = 18, 
INTRA_DIAG = 34,
 INTRA_VERT = 50, 
INTRA_VDIAG = 66, 
INTRA_LT_CCLM = 81, 
INTRA_L_CCLM,
 INTRA_T_CCLM
 }
 | 
|  | 
|  | 
| int | ff_vvc_coding_tree_unit (VVCLocalContext *lc, int ctu_idx, int rs, int rx, int ry) | 
|  | parse a CTU  More... 
 | 
|  | 
| void | ff_vvc_set_neighbour_available (VVCLocalContext *lc, int x0, int y0, int w, int h) | 
|  | 
| void | ff_vvc_decode_neighbour (VVCLocalContext *lc, int x_ctb, int y_ctb, int rx, int ry, int rs) | 
|  | 
| void | ff_vvc_ctu_free_cus (CTU *ctu) | 
|  | 
| int | ff_vvc_get_qPy (const VVCFrameContext *fc, int xc, int yc) | 
|  | 
| void | ff_vvc_ep_init_stat_coeff (EntryPoint *ep, int bit_depth, int persistent_rice_adaptation_enabled_flag) | 
|  | 
◆ MAX_CTU_SIZE
◆ MAX_CU_SIZE
◆ MIN_CU_SIZE
◆ MIN_CU_LOG2
◆ MAX_CU_DEPTH
◆ MAX_PARTS_IN_CTU
◆ MIN_PU_SIZE
◆ MAX_TB_SIZE
◆ MIN_TU_SIZE
◆ MAX_TUS_IN_CU
◆ MAX_QP
◆ MAX_PB_SIZE
◆ EDGE_EMU_BUFFER_STRIDE
◆ CHROMA_EXTRA_BEFORE
      
        
          | #define CHROMA_EXTRA_BEFORE   1 | 
      
 
 
◆ CHROMA_EXTRA_AFTER
      
        
          | #define CHROMA_EXTRA_AFTER   2 | 
      
 
 
◆ CHROMA_EXTRA
◆ LUMA_EXTRA_BEFORE
      
        
          | #define LUMA_EXTRA_BEFORE   3 | 
      
 
 
◆ LUMA_EXTRA_AFTER
      
        
          | #define LUMA_EXTRA_AFTER   4 | 
      
 
 
◆ LUMA_EXTRA
◆ BILINEAR_EXTRA_BEFORE
      
        
          | #define BILINEAR_EXTRA_BEFORE   0 | 
      
 
 
◆ BILINEAR_EXTRA_AFTER
      
        
          | #define BILINEAR_EXTRA_AFTER   1 | 
      
 
 
◆ BILINEAR_EXTRA
◆ MAX_CONTROL_POINTS
      
        
          | #define MAX_CONTROL_POINTS   3 | 
      
 
 
◆ AFFINE_MIN_BLOCK_SIZE
      
        
          | #define AFFINE_MIN_BLOCK_SIZE   4 | 
      
 
 
◆ MRG_MAX_NUM_CANDS
      
        
          | #define MRG_MAX_NUM_CANDS   6 | 
      
 
 
◆ MAX_NUM_HMVP_CANDS
      
        
          | #define MAX_NUM_HMVP_CANDS   5 | 
      
 
 
◆ SAO_PADDING_SIZE
      
        
          | #define SAO_PADDING_SIZE   1 | 
      
 
 
◆ ALF_PADDING_SIZE
      
        
          | #define ALF_PADDING_SIZE   8 | 
      
 
 
◆ ALF_BLOCK_SIZE
◆ ALF_BORDER_LUMA
      
        
          | #define ALF_BORDER_LUMA   3 | 
      
 
 
◆ ALF_BORDER_CHROMA
      
        
          | #define ALF_BORDER_CHROMA   2 | 
      
 
 
◆ ALF_VB_POS_ABOVE_LUMA
      
        
          | #define ALF_VB_POS_ABOVE_LUMA   4 | 
      
 
 
◆ ALF_VB_POS_ABOVE_CHROMA
      
        
          | #define ALF_VB_POS_ABOVE_CHROMA   2 | 
      
 
 
◆ ALF_GRADIENT_STEP
      
        
          | #define ALF_GRADIENT_STEP   2 | 
      
 
 
◆ ALF_GRADIENT_BORDER
      
        
          | #define ALF_GRADIENT_BORDER   2 | 
      
 
 
◆ ALF_GRADIENT_SIZE
◆ ALF_NUM_DIR
◆ SAMPLE
Value of the luma sample at position (x, y) in the 2D array tab. 
Definition at line 88 of file vvc_ctu.h.
 
 
◆ SAMPLE_CTB
      
        
          | #define SAMPLE_CTB | ( |  | tab, | 
        
          |  |  |  | x, | 
        
          |  |  |  | y | 
        
          |  | ) |  | ((tab)[(y) * min_cb_width + (x)]) | 
      
 
 
◆ CTB
◆ VVC_CONTEXTS
◆ BOUNDARY_LEFT_SLICE
      
        
          | #define BOUNDARY_LEFT_SLICE   (1 << 0) | 
      
 
 
◆ BOUNDARY_LEFT_TILE
      
        
          | #define BOUNDARY_LEFT_TILE   (1 << 1) | 
      
 
 
◆ BOUNDARY_UPPER_SLICE
      
        
          | #define BOUNDARY_UPPER_SLICE   (1 << 2) | 
      
 
 
◆ BOUNDARY_UPPER_TILE
      
        
          | #define BOUNDARY_UPPER_TILE   (1 << 3) | 
      
 
 
◆ SAOType
| Enumerator | 
|---|
| SAO_NOT_APPLIED |  | 
| SAO_BAND |  | 
| SAO_EDGE |  | 
| SAO_APPLIED |  | 
| SAO_NOT_APPLIED |  | 
| SAO_BAND |  | 
| SAO_EDGE |  | 
Definition at line 92 of file vvc_ctu.h.
 
 
◆ SAOEOClass
| Enumerator | 
|---|
| SAO_EO_HORIZ |  | 
| SAO_EO_VERT |  | 
| SAO_EO_135D |  | 
| SAO_EO_45D |  | 
| SAO_EO_HORIZ |  | 
| SAO_EO_VERT |  | 
| SAO_EO_135D |  | 
| SAO_EO_45D |  | 
Definition at line 98 of file vvc_ctu.h.
 
 
◆ IspType
| Enumerator | 
|---|
| ISP_NO_SPLIT |  | 
| ISP_HOR_SPLIT |  | 
| ISP_VER_SPLIT |  | 
Definition at line 113 of file vvc_ctu.h.
 
 
◆ VVCSplitMode
| Enumerator | 
|---|
| SPLIT_NONE |  | 
| SPLIT_TT_HOR |  | 
| SPLIT_BT_HOR |  | 
| SPLIT_TT_VER |  | 
| SPLIT_BT_VER |  | 
| SPLIT_QT |  | 
Definition at line 119 of file vvc_ctu.h.
 
 
◆ MtsIdx
| Enumerator | 
|---|
| MTS_DCT2_DCT2 |  | 
| MTS_DST7_DST7 |  | 
| MTS_DST7_DCT8 |  | 
| MTS_DCT8_DST7 |  | 
| MTS_DCT8_DCT8 |  | 
Definition at line 128 of file vvc_ctu.h.
 
 
◆ VVCTreeType
| Enumerator | 
|---|
| SINGLE_TREE |  | 
| DUAL_TREE_LUMA |  | 
| DUAL_TREE_CHROMA |  | 
Definition at line 161 of file vvc_ctu.h.
 
 
◆ PredMode
| Enumerator | 
|---|
| MODE_INTER |  | 
| MODE_INTRA |  | 
| MODE_SKIP |  | 
| MODE_INTER |  | 
| MODE_INTRA |  | 
| MODE_SKIP |  | 
| MODE_PLT |  | 
| MODE_IBC |  | 
Definition at line 182 of file vvc_ctu.h.
 
 
◆ MotionModelIdc
| Enumerator | 
|---|
| MOTION_TRANSLATION |  | 
| MOTION_4_PARAMS_AFFINE |  | 
| MOTION_6_PARAMS_AFFINE |  | 
Definition at line 209 of file vvc_ctu.h.
 
 
◆ PredFlag
| Enumerator | 
|---|
| PF_INTRA |  | 
| PF_L0 |  | 
| PF_L1 |  | 
| PF_BI |  | 
| PF_INTRA |  | 
| PF_L0 |  | 
| PF_L1 |  | 
| PF_BI |  | 
| PF_IBC |  | 
Definition at line 215 of file vvc_ctu.h.
 
 
◆ IntraPredMode
| Enumerator | 
|---|
| INTRA_PLANAR |  | 
| INTRA_DC |  | 
| INTRA_ANGULAR_2 |  | 
| INTRA_ANGULAR_3 |  | 
| INTRA_ANGULAR_4 |  | 
| INTRA_ANGULAR_5 |  | 
| INTRA_ANGULAR_6 |  | 
| INTRA_ANGULAR_7 |  | 
| INTRA_ANGULAR_8 |  | 
| INTRA_ANGULAR_9 |  | 
| INTRA_ANGULAR_10 |  | 
| INTRA_ANGULAR_11 |  | 
| INTRA_ANGULAR_12 |  | 
| INTRA_ANGULAR_13 |  | 
| INTRA_ANGULAR_14 |  | 
| INTRA_ANGULAR_15 |  | 
| INTRA_ANGULAR_16 |  | 
| INTRA_ANGULAR_17 |  | 
| INTRA_ANGULAR_18 |  | 
| INTRA_ANGULAR_19 |  | 
| INTRA_ANGULAR_20 |  | 
| INTRA_ANGULAR_21 |  | 
| INTRA_ANGULAR_22 |  | 
| INTRA_ANGULAR_23 |  | 
| INTRA_ANGULAR_24 |  | 
| INTRA_ANGULAR_25 |  | 
| INTRA_ANGULAR_26 |  | 
| INTRA_ANGULAR_27 |  | 
| INTRA_ANGULAR_28 |  | 
| INTRA_ANGULAR_29 |  | 
| INTRA_ANGULAR_30 |  | 
| INTRA_ANGULAR_31 |  | 
| INTRA_ANGULAR_32 |  | 
| INTRA_ANGULAR_33 |  | 
| INTRA_ANGULAR_34 |  | 
| VERT_PRED |  | 
| HOR_PRED |  | 
| DC_PRED |  | 
| DIAG_DOWN_LEFT_PRED |  | 
| DIAG_DOWN_RIGHT_PRED |  | 
| VERT_RIGHT_PRED |  | 
| HOR_DOWN_PRED |  | 
| VERT_LEFT_PRED |  | 
| HOR_UP_PRED |  | 
| TM_VP8_PRED |  | 
| LEFT_DC_PRED |  | 
| TOP_DC_PRED |  | 
| DC_128_PRED |  | 
| DC_127_PRED |  | 
| DC_129_PRED |  | 
| N_INTRA_PRED_MODES |  | 
| INTRA_INVALID |  | 
| INTRA_PLANAR |  | 
| INTRA_DC |  | 
| INTRA_HORZ |  | 
| INTRA_DIAG |  | 
| INTRA_VERT |  | 
| INTRA_VDIAG |  | 
| INTRA_LT_CCLM |  | 
| INTRA_L_CCLM |  | 
| INTRA_T_CCLM |  | 
Definition at line 223 of file vvc_ctu.h.
 
 
◆ ff_vvc_coding_tree_unit()
parse a CTU 
- Parameters
- 
  
    | lc | local context for CTU |  | ctb_idx | CTB(CTU) address in the current slice |  | rs | raster order for the CTU. |  | rx | raster order x for the CTU. |  | ry | raster order y for the CTU. |  
 
- Returns
- AVERROR 
Definition at line 2441 of file vvc_ctu.c.
Referenced by run_parse().
 
 
◆ ff_vvc_set_neighbour_available()
◆ ff_vvc_decode_neighbour()
◆ ff_vvc_ctu_free_cus()
      
        
          | void ff_vvc_ctu_free_cus | ( | CTU * | ctu | ) |  | 
      
 
 
◆ ff_vvc_get_qPy()
◆ ff_vvc_ep_init_stat_coeff()
      
        
          | void ff_vvc_ep_init_stat_coeff | ( | EntryPoint * | ep, | 
        
          |  |  | int | bit_depth, | 
        
          |  |  | int | persistent_rice_adaptation_enabled_flag | 
        
          |  | ) |  |  |