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_LOG2_CTB_SIZE 6
61 #define DEFAULT_INTRA_TC_OFFSET 2
63 #define HEVC_CONTEXTS 199
65 #define MRG_MAX_NUM_CANDS 5
70 #define EPEL_EXTRA_BEFORE 1
71 #define EPEL_EXTRA_AFTER 2
73 #define QPEL_EXTRA_BEFORE 3
74 #define QPEL_EXTRA_AFTER 4
77 #define EDGE_EMU_BUFFER_STRIDE 80
82 #define SAMPLE(tab, x, y) ((tab)[(y) * s->sps->width + (x)])
83 #define SAMPLE_CTB(tab, x, y) ((tab)[(y) * min_cb_width + (x)])
85 #define IS_IDR(s) ((s)->nal_unit_type == NAL_IDR_W_RADL || (s)->nal_unit_type == NAL_IDR_N_LP)
86 #define IS_BLA(s) ((s)->nal_unit_type == NAL_BLA_W_RADL || (s)->nal_unit_type == NAL_BLA_W_LP || \
87 (s)->nal_unit_type == NAL_BLA_N_LP)
88 #define IS_IRAP(s) ((s)->nal_unit_type >= 16 && (s)->nal_unit_type <= 23)
698 #define HEVC_FRAME_FLAG_OUTPUT (1 << 0)
699 #define HEVC_FRAME_FLAG_SHORT_REF (1 << 1)
700 #define HEVC_FRAME_FLAG_LONG_REF (1 << 2)
701 #define HEVC_FRAME_FLAG_BUMPING (1 << 3)
772 #define BOUNDARY_LEFT_SLICE (1 << 0)
773 #define BOUNDARY_LEFT_TILE (1 << 1)
774 #define BOUNDARY_UPPER_SLICE (1 << 2)
775 #define BOUNDARY_UPPER_TILE (1 << 3)
920 const HEVCSPS *sps,
int is_slice_header);
1008 int nPbW,
int nPbH);
1010 int nPbW,
int nPbH,
int log2_cb_size,
1011 int part_idx,
int merge_idx,
MvField *
mv);
1013 int nPbW,
int nPbH,
int log2_cb_size,
1014 int part_idx,
int merge_idx,
1019 int log2_trafo_size);
1027 int log2_trafo_size,
enum ScanType scan_idx,