Go to the documentation of this file.
23 #ifndef AVCODEC_HEVC_H
24 #define AVCODEC_HEVC_H
39 #define MAX_DPB_SIZE 16 // A.4.1
42 #define MAX_NB_THREADS 16
43 #define SHIFT_CTB_WPP 2
48 #define MAX_SUB_LAYERS 7
49 #define MAX_VPS_COUNT 16
50 #define MAX_SPS_COUNT 32
51 #define MAX_PPS_COUNT 256
52 #define MAX_SHORT_TERM_RPS_COUNT 64
53 #define MAX_CU_SIZE 128
56 #define MAX_TRANSFORM_DEPTH 5
58 #define MAX_TB_SIZE 32
59 #define MAX_PB_SIZE 64
60 #define MAX_LOG2_CTB_SIZE 6
62 #define DEFAULT_INTRA_TC_OFFSET 2
64 #define HEVC_CONTEXTS 199
66 #define MRG_MAX_NUM_CANDS 5
71 #define EPEL_EXTRA_BEFORE 1
72 #define EPEL_EXTRA_AFTER 2
74 #define QPEL_EXTRA_BEFORE 3
75 #define QPEL_EXTRA_AFTER 4
78 #define EDGE_EMU_BUFFER_STRIDE 80
83 #define SAMPLE(tab, x, y) ((tab)[(y) * s->sps->width + (x)])
84 #define SAMPLE_CTB(tab, x, y) ((tab)[(y) * min_cb_width + (x)])
85 #define SAMPLE_CBF(tab, x, y) ((tab)[((y) & ((1<<log2_trafo_size)-1)) * MAX_CU_SIZE + ((x) & ((1<<log2_trafo_size)-1))])
86 #define SAMPLE_CBF2(tab, x, y) ((tab)[(y) * MAX_CU_SIZE + (x)])
88 #define IS_IDR(s) ((s)->nal_unit_type == NAL_IDR_W_RADL || (s)->nal_unit_type == NAL_IDR_N_LP)
89 #define IS_BLA(s) ((s)->nal_unit_type == NAL_BLA_W_RADL || (s)->nal_unit_type == NAL_BLA_W_LP || \
90 (s)->nal_unit_type == NAL_BLA_N_LP)
91 #define IS_IRAP(s) ((s)->nal_unit_type >= 16 && (s)->nal_unit_type <= 23)
718 #define HEVC_FRAME_FLAG_OUTPUT (1 << 0)
719 #define HEVC_FRAME_FLAG_SHORT_REF (1 << 1)
720 #define HEVC_FRAME_FLAG_LONG_REF (1 << 2)
935 const HEVCSPS *sps,
int is_slice_header);
1021 int nPbW,
int nPbH);
1023 int nPbW,
int nPbH,
int log2_cb_size,
1024 int part_idx,
int merge_idx,
MvField *
mv);
1026 int nPbW,
int nPbH,
int log2_cb_size,
1027 int part_idx,
int merge_idx,
1032 int log2_trafo_size);
1040 int log2_trafo_size,
enum ScanType scan_idx,