#include <stdbool.h>
#include "libavcodec/cabac.h"
#include "libavutil/mem_internal.h"
#include "dec.h"
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 (CodingUnit **cus) |
|
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
Definition at line 33 of file ctu.h.
◆ MAX_CU_SIZE
Definition at line 35 of file ctu.h.
◆ MIN_CU_SIZE
Definition at line 36 of file ctu.h.
◆ MIN_CU_LOG2
Definition at line 37 of file ctu.h.
◆ MAX_CU_DEPTH
Definition at line 38 of file ctu.h.
◆ MAX_PARTS_IN_CTU
Definition at line 40 of file ctu.h.
◆ MIN_PU_SIZE
Definition at line 42 of file ctu.h.
◆ MAX_TB_SIZE
Definition at line 44 of file ctu.h.
◆ MIN_TU_SIZE
Definition at line 45 of file ctu.h.
◆ MAX_TUS_IN_CU
Definition at line 46 of file ctu.h.
◆ MAX_QP
Definition at line 48 of file ctu.h.
◆ MAX_PB_SIZE
Definition at line 50 of file ctu.h.
◆ MAX_SCALING_RATIO
#define MAX_SCALING_RATIO 8 |
Definition at line 51 of file ctu.h.
◆ EDGE_EMU_BUFFER_STRIDE
Definition at line 52 of file ctu.h.
◆ CHROMA_EXTRA_BEFORE
#define CHROMA_EXTRA_BEFORE 1 |
Definition at line 54 of file ctu.h.
◆ CHROMA_EXTRA_AFTER
#define CHROMA_EXTRA_AFTER 2 |
Definition at line 55 of file ctu.h.
◆ CHROMA_EXTRA
Definition at line 56 of file ctu.h.
◆ LUMA_EXTRA_BEFORE
#define LUMA_EXTRA_BEFORE 3 |
Definition at line 57 of file ctu.h.
◆ LUMA_EXTRA_AFTER
#define LUMA_EXTRA_AFTER 4 |
Definition at line 58 of file ctu.h.
◆ LUMA_EXTRA
Definition at line 59 of file ctu.h.
◆ BILINEAR_EXTRA_BEFORE
#define BILINEAR_EXTRA_BEFORE 0 |
Definition at line 60 of file ctu.h.
◆ BILINEAR_EXTRA_AFTER
#define BILINEAR_EXTRA_AFTER 1 |
Definition at line 61 of file ctu.h.
◆ BILINEAR_EXTRA
Definition at line 62 of file ctu.h.
◆ SCALED_INT
#define SCALED_INT |
( |
|
pos | ) |
((pos) >> 10) |
Definition at line 64 of file ctu.h.
◆ MAX_CONTROL_POINTS
#define MAX_CONTROL_POINTS 3 |
Definition at line 66 of file ctu.h.
◆ AFFINE_MIN_BLOCK_SIZE
#define AFFINE_MIN_BLOCK_SIZE 4 |
Definition at line 68 of file ctu.h.
◆ MRG_MAX_NUM_CANDS
#define MRG_MAX_NUM_CANDS 6 |
Definition at line 70 of file ctu.h.
◆ MAX_NUM_HMVP_CANDS
#define MAX_NUM_HMVP_CANDS 5 |
Definition at line 71 of file ctu.h.
◆ SAO_PADDING_SIZE
#define SAO_PADDING_SIZE 1 |
Definition at line 73 of file ctu.h.
◆ ALF_PADDING_SIZE
#define ALF_PADDING_SIZE 8 |
Definition at line 75 of file ctu.h.
◆ ALF_BLOCK_SIZE
Definition at line 76 of file ctu.h.
◆ ALF_BORDER_LUMA
#define ALF_BORDER_LUMA 3 |
Definition at line 78 of file ctu.h.
◆ ALF_BORDER_CHROMA
#define ALF_BORDER_CHROMA 2 |
Definition at line 79 of file ctu.h.
◆ ALF_VB_POS_ABOVE_LUMA
#define ALF_VB_POS_ABOVE_LUMA 4 |
Definition at line 81 of file ctu.h.
◆ ALF_VB_POS_ABOVE_CHROMA
#define ALF_VB_POS_ABOVE_CHROMA 2 |
Definition at line 82 of file ctu.h.
◆ ALF_GRADIENT_STEP
#define ALF_GRADIENT_STEP 2 |
Definition at line 84 of file ctu.h.
◆ ALF_GRADIENT_BORDER
#define ALF_GRADIENT_BORDER 2 |
Definition at line 85 of file ctu.h.
◆ ALF_GRADIENT_SIZE
Definition at line 86 of file ctu.h.
◆ ALF_NUM_DIR
Definition at line 87 of file ctu.h.
◆ SAMPLE
Value of the luma sample at position (x, y) in the 2D array tab.
Definition at line 93 of file ctu.h.
◆ SAMPLE_CTB
#define SAMPLE_CTB |
( |
|
tab, |
|
|
|
x, |
|
|
|
y |
|
) |
| ((tab)[(y) * min_cb_width + (x)]) |
Definition at line 94 of file ctu.h.
◆ CTB
Definition at line 95 of file ctu.h.
◆ VVC_CONTEXTS
◆ BOUNDARY_LEFT_SLICE
#define BOUNDARY_LEFT_SLICE (1 << 0) |
◆ BOUNDARY_LEFT_TILE
#define BOUNDARY_LEFT_TILE (1 << 1) |
◆ BOUNDARY_LEFT_SUBPIC
#define BOUNDARY_LEFT_SUBPIC (1 << 2) |
◆ BOUNDARY_UPPER_SLICE
#define BOUNDARY_UPPER_SLICE (1 << 3) |
◆ BOUNDARY_UPPER_TILE
#define BOUNDARY_UPPER_TILE (1 << 4) |
◆ BOUNDARY_UPPER_SUBPIC
#define BOUNDARY_UPPER_SUBPIC (1 << 5) |
◆ SAOType
Enumerator |
---|
SAO_NOT_APPLIED | |
SAO_BAND | |
SAO_EDGE | |
SAO_APPLIED | |
SAO_NOT_APPLIED | |
SAO_BAND | |
SAO_EDGE | |
Definition at line 97 of file 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 103 of file ctu.h.
◆ IspType
Enumerator |
---|
ISP_NO_SPLIT | |
ISP_HOR_SPLIT | |
ISP_VER_SPLIT | |
Definition at line 118 of file ctu.h.
◆ VVCSplitMode
Enumerator |
---|
SPLIT_NONE | |
SPLIT_TT_HOR | |
SPLIT_BT_HOR | |
SPLIT_TT_VER | |
SPLIT_BT_VER | |
SPLIT_QT | |
Definition at line 124 of file ctu.h.
◆ MtsIdx
Enumerator |
---|
MTS_DCT2_DCT2 | |
MTS_DST7_DST7 | |
MTS_DST7_DCT8 | |
MTS_DCT8_DST7 | |
MTS_DCT8_DCT8 | |
Definition at line 133 of file ctu.h.
◆ VVCTreeType
Enumerator |
---|
SINGLE_TREE | |
DUAL_TREE_LUMA | |
DUAL_TREE_CHROMA | |
Definition at line 166 of file ctu.h.
◆ PredMode
Enumerator |
---|
MODE_INTER | |
MODE_INTRA | |
MODE_SKIP | |
MODE_INTER | |
MODE_INTRA | |
MODE_SKIP | |
MODE_PLT | |
MODE_IBC | |
Definition at line 188 of file ctu.h.
◆ MotionModelIdc
Enumerator |
---|
MOTION_TRANSLATION | |
MOTION_4_PARAMS_AFFINE | |
MOTION_6_PARAMS_AFFINE | |
Definition at line 215 of file 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 221 of file 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 229 of file ctu.h.
◆ ff_vvc_coding_tree_unit()
int ff_vvc_coding_tree_unit |
( |
VVCLocalContext * |
lc, |
|
|
int |
ctu_idx, |
|
|
int |
rs, |
|
|
int |
rx, |
|
|
int |
ry |
|
) |
| |
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 2455 of file ctu.c.
Referenced by run_parse().
◆ ff_vvc_set_neighbour_available()
void ff_vvc_set_neighbour_available |
( |
VVCLocalContext * |
lc, |
|
|
int |
x0, |
|
|
int |
y0, |
|
|
int |
w, |
|
|
int |
h |
|
) |
| |
◆ ff_vvc_decode_neighbour()
void ff_vvc_decode_neighbour |
( |
VVCLocalContext * |
lc, |
|
|
int |
x_ctb, |
|
|
int |
y_ctb, |
|
|
int |
rx, |
|
|
int |
ry, |
|
|
int |
rs |
|
) |
| |
◆ ff_vvc_ctu_free_cus()
◆ 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 |
|
) |
| |