22 #include <va/va_enc_hevc.h> 90 char *
data,
size_t *data_len,
104 "%zu < %zu.\n", *data_len,
135 char *
data,
size_t *data_len)
169 char *
data,
size_t *data_len)
195 char *
data,
size_t *data_len)
215 .nuh_temporal_id_plus1 = 1,
247 *type = VAEncPackedHeaderRawData;
273 memset(vps, 0,
sizeof(*vps));
274 memset(sps, 0,
sizeof(*sps));
275 memset(pps, 0,
sizeof(*pps));
291 "%s is not supported.\n", desc->
name);
303 .nuh_temporal_id_plus1 = 1,
318 if (chroma_format == 1) {
355 "any normal level; using level 8.5.\n");
390 .nuh_temporal_id_plus1 = 1,
469 { 1, 1 }, { 12, 11 }, { 10, 11 }, { 16, 11 },
470 { 40, 33 }, { 24, 11 }, { 20, 11 }, { 32, 11 },
471 { 80, 33 }, { 18, 11 }, { 15, 11 }, { 64, 33 },
472 { 160, 99 }, { 4, 3 }, { 3, 2 }, { 2, 1 },
478 if (num == sar_idc[i].num &&
479 den == sar_idc[i].den) {
545 .nuh_temporal_id_plus1 = 1,
564 *vseq = (VAEncSequenceParameterBufferHEVC) {
583 .strong_intra_smoothing_enabled_flag =
586 .sample_adaptive_offset_enabled_flag =
593 .log2_min_luma_coding_block_size_minus3 =
595 .log2_diff_max_min_luma_coding_block_size =
597 .log2_min_transform_block_size_minus2 =
599 .log2_diff_max_min_transform_block_size =
601 .max_transform_hierarchy_depth_inter =
603 .max_transform_hierarchy_depth_intra =
606 .pcm_sample_bit_depth_luma_minus1 =
608 .pcm_sample_bit_depth_chroma_minus1 =
610 .log2_min_pcm_luma_coding_block_size_minus3 =
612 .log2_max_pcm_luma_coding_block_size_minus3 =
616 .vui_parameters_present_flag = 0,
619 *vpic = (VAEncPictureParameterBufferHEVC) {
620 .decoded_curr_pic = {
621 .picture_id = VA_INVALID_ID,
622 .flags = VA_PICTURE_HEVC_INVALID,
625 .coded_buf = VA_INVALID_ID,
627 .collocated_ref_pic_index = 0xff,
640 .ctu_max_bitsize_allowed = 0,
642 .num_ref_idx_l0_default_active_minus1 =
644 .num_ref_idx_l1_default_active_minus1 =
659 .loop_filter_across_tiles_enabled_flag =
663 .screen_content_flag = 0,
664 .enable_gpu_weighted_prediction = 0,
665 .no_output_of_prior_pics_flag = 0,
707 for (irap_ref = pic; irap_ref; irap_ref = irap_ref->
refs[1]) {
730 .nuh_temporal_id_plus1 = 1,
757 const int mapping[3] = {1, 2, 0};
758 const int chroma_den = 50000;
759 const int luma_den = 10000;
761 for (i = 0; i < 3; i++) {
762 const int j = mapping[
i];
804 clli->max_pic_average_light_level =
FFMIN(clm->
MaxFALL, 65535);
810 vpic->decoded_curr_pic = (VAPictureHEVC) {
816 for (i = 0; i < pic->
nb_refs; i++) {
823 vpic->reference_frames[
i] = (VAPictureHEVC) {
827 VA_PICTURE_HEVC_RPS_ST_CURR_BEFORE : 0) |
829 VA_PICTURE_HEVC_RPS_ST_CURR_AFTER : 0),
833 vpic->reference_frames[
i] = (VAPictureHEVC) {
834 .picture_id = VA_INVALID_ID,
835 .flags = VA_PICTURE_HEVC_INVALID,
845 vpic->pic_fields.bits.idr_pic_flag = 1;
846 vpic->pic_fields.bits.coding_type = 1;
847 vpic->pic_fields.bits.reference_pic_flag = 1;
850 vpic->pic_fields.bits.idr_pic_flag = 0;
851 vpic->pic_fields.bits.coding_type = 1;
852 vpic->pic_fields.bits.reference_pic_flag = 1;
855 vpic->pic_fields.bits.idr_pic_flag = 0;
856 vpic->pic_fields.bits.coding_type = 2;
857 vpic->pic_fields.bits.reference_pic_flag = 1;
860 vpic->pic_fields.bits.idr_pic_flag = 0;
861 vpic->pic_fields.bits.coding_type = 3;
862 vpic->pic_fields.bits.reference_pic_flag = 0;
887 .nuh_temporal_id_plus1 = 1,
905 int i, j, poc, rps_pics;
910 memset(rps, 0,
sizeof(*rps));
913 for (i = 0; i < pic->
nb_refs; i++) {
916 rps_used[rps_pics] = 1;
920 if (pic->
dpb[i] == pic)
922 for (j = 0; j < pic->
nb_refs; j++) {
923 if (pic->
dpb[i] == pic->
refs[j])
926 if (j < pic->nb_refs)
930 rps_used[rps_pics] = 0;
934 for (i = 1; i < rps_pics; i++) {
935 for (j = i; j > 0; j--) {
936 if (rps_poc[j] > rps_poc[j - 1])
939 FFSWAP(
int, rps_poc[j], rps_poc[j - 1]);
940 FFSWAP(
int, rps_used[j], rps_used[j - 1]);
946 for (i = 0; i < rps_pics; i++) {
948 rps_poc[i], rps_used[i]);
952 for (i = 0; i < rps_pics; i++) {
960 for (j = i - 1; j >= 0; j--) {
968 for (j = i; j < rps_pics; j++) {
1000 *vslice = (VAEncSliceParameterBufferHEVC) {
1022 .slice_fields.bits = {
1026 .slice_temporal_mvp_enabled_flag =
1030 .num_ref_idx_active_override_flag =
1034 .slice_deblocking_filter_disabled_flag =
1036 .slice_loop_filter_across_slices_enabled_flag =
1043 vslice->ref_pic_list0[
i].picture_id = VA_INVALID_ID;
1044 vslice->ref_pic_list0[
i].flags = VA_PICTURE_HEVC_INVALID;
1045 vslice->ref_pic_list1[
i].picture_id = VA_INVALID_ID;
1046 vslice->ref_pic_list1[
i].flags = VA_PICTURE_HEVC_INVALID;
1054 vslice->ref_pic_list0[0] = vpic->reference_frames[0];
1059 vslice->ref_pic_list1[0] = vpic->reference_frames[1];
1095 "%d / %d / %d for IDR- / P- / B-frames.\n",
1113 #if VA_CHECK_VERSION(0, 37, 0) 1128 .default_quality = 25,
1134 .sequence_params_size =
sizeof(VAEncSequenceParameterBufferHEVC),
1137 .picture_params_size =
sizeof(VAEncPictureParameterBufferHEVC),
1140 .slice_params_size =
sizeof(VAEncSliceParameterBufferHEVC),
1143 .sequence_header_type = VAEncPackedHeaderSequence,
1146 .slice_header_type = VAEncPackedHeaderHEVC_Slice,
1166 "in 8-bit unsigned integer.\n", avctx->
level);
1171 VA_ENC_PACKED_HEADER_SEQUENCE |
1172 VA_ENC_PACKED_HEADER_SLICE |
1173 VA_ENC_PACKED_HEADER_MISC;
1197 #define OFFSET(x) offsetof(VAAPIEncodeH265Context, x) 1198 #define FLAGS (AV_OPT_FLAG_VIDEO_PARAM | AV_OPT_FLAG_ENCODING_PARAM) 1203 {
"qp",
"Constant QP (for P-frames; scaled by qfactor/qoffset for I/B)",
1206 {
"aud",
"Include AUD",
1209 {
"profile",
"Set profile (general_profile_idc)",
1213 #define PROFILE(name, value) name, NULL, 0, AV_OPT_TYPE_CONST, \ 1214 { .i64 = value }, 0, 0, FLAGS, "profile" 1220 {
"tier",
"Set tier (general_tier_flag)",
1222 { .i64 = 0 }, 0, 1,
FLAGS,
"tier" },
1224 { .i64 = 0 }, 0, 0,
FLAGS,
"tier" },
1226 { .i64 = 1 }, 0, 0,
FLAGS,
"tier" },
1228 {
"level",
"Set level (general_level_idc)",
1232 #define LEVEL(name, value) name, NULL, 0, AV_OPT_TYPE_CONST, \ 1233 { .i64 = value }, 0, 0, FLAGS, "level" 1236 {
LEVEL(
"2.1", 63) },
1238 {
LEVEL(
"3.1", 93) },
1239 {
LEVEL(
"4", 120) },
1240 {
LEVEL(
"4.1", 123) },
1241 {
LEVEL(
"5", 150) },
1242 {
LEVEL(
"5.1", 153) },
1243 {
LEVEL(
"5.2", 156) },
1244 {
LEVEL(
"6", 180) },
1245 {
LEVEL(
"6.1", 183) },
1246 {
LEVEL(
"6.2", 186) },
1249 {
"sei",
"Set SEI to include",
1252 0, INT_MAX,
FLAGS,
"sei" },
1254 "Include HDR metadata for mastering display colour volume " 1255 "and content light level information",
1258 INT_MIN, INT_MAX,
FLAGS,
"sei" },
1267 {
"i_qfactor",
"1" },
1268 {
"i_qoffset",
"0" },
1269 {
"b_qfactor",
"6/5" },
1270 {
"b_qoffset",
"0" },
1284 .
name =
"hevc_vaapi",
1293 .priv_class = &vaapi_encode_h265_class,
1296 .
defaults = vaapi_encode_h265_defaults,
1302 .wrapper_name =
"vaapi",
#define FF_CODEC_CAP_INIT_CLEANUP
The codec allows calling the close function for deallocation even if the init function returned a fai...
uint16_t display_primaries_x[3]
uint8_t sps_video_parameter_set_id
uint8_t loop_filter_across_tiles_enabled_flag
uint32_t min_display_mastering_luminance
uint8_t transfer_characteristics
uint8_t pps_pic_parameter_set_id
uint8_t vps_poc_proportional_to_timing_flag
const AVPixFmtDescriptor * av_pix_fmt_desc_get(enum AVPixelFormat pix_fmt)
unsigned MaxCLL
Max content light level (cd/m^2).
uint8_t num_ref_idx_l0_default_active_minus1
uint8_t log2_max_mv_length_horizontal
uint8_t motion_vectors_over_pic_boundaries_flag
uint8_t sps_sub_layer_ordering_info_present_flag
uint8_t general_max_8bit_constraint_flag
static int vaapi_encode_h265_add_nal(AVCodecContext *avctx, CodedBitstreamFragment *au, void *nal_unit)
int64_t bit_rate
the average bitrate
#define LIBAVUTIL_VERSION_INT
uint8_t bitstream_restriction_flag
uint8_t bit_depth_luma_minus8
static av_cold int init(AVCodecContext *avctx)
#define AV_CODEC_CAP_HARDWARE
Codec is backed by a hardware implementation.
H265RawSEIContentLightLevelInfo content_light_level
uint8_t vui_timing_info_present_flag
int ff_cbs_init(CodedBitstreamContext **ctx_ptr, enum AVCodecID codec_id, void *log_ctx)
Create and initialise a new context for the given codec.
enum AVColorRange color_range
MPEG vs JPEG YUV range.
Content light level (based on CTA-861.3).
uint8_t sps_max_sub_layers_minus1
uint8_t sps_max_num_reorder_pics[HEVC_MAX_SUB_LAYERS]
const char * av_default_item_name(void *ptr)
Return the context name.
static const AVClass vaapi_encode_h265_class
uint8_t tiles_enabled_flag
int ff_cbs_insert_unit_content(CodedBitstreamContext *ctx, CodedBitstreamFragment *frag, int position, CodedBitstreamUnitType type, void *content, AVBufferRef *content_buf)
Insert a new unit into a fragment with the given content.
AVRational sample_aspect_ratio
sample aspect ratio (0 if unknown) That is the width of a pixel divided by the height of the pixel...
uint8_t restricted_ref_pic_lists_flag
Mastering display metadata associated with a video frame.
H265RawProfileTierLevel profile_tier_level
static av_cold int vaapi_encode_h265_close(AVCodecContext *avctx)
CodedBitstreamContext * cbc
void * codec_sequence_params
uint8_t sample_adaptive_offset_enabled_flag
uint8_t vui_parameters_present_flag
uint8_t pcm_sample_bit_depth_luma_minus1
static const AVCodecDefault vaapi_encode_h265_defaults[]
uint8_t bit_depth_chroma_minus8
float i_quant_offset
qscale offset between P and I-frames
uint8_t log2_chroma_w
Amount to shift the luma width right to find the chroma width.
uint8_t general_profile_idc
uint8_t used_by_curr_pic_s0_flag[HEVC_MAX_REFS]
AVRational time_base
This is the fundamental unit of time (in seconds) in terms of which frame timestamps are represented...
AVFrameSideData * av_frame_get_side_data(const AVFrame *frame, enum AVFrameSideDataType type)
uint32_t vps_num_units_in_tick
uint8_t sign_data_hiding_enabled_flag
uint16_t display_primaries_y[3]
const char * class_name
The name of the class; usually it is the same name as the context structure type to which the AVClass...
uint16_t conf_win_right_offset
#define AV_CODEC_CAP_DELAY
Encoder or decoder requires flushing with NULL input at the end in order to give the complete and cor...
#define av_assert0(cond)
assert() equivalent, that is always enabled.
H265RawSEIContentLightLevelInfo sei_content_light_level
int ff_vaapi_encode_send_frame(AVCodecContext *avctx, const AVFrame *frame)
uint16_t pic_height_in_luma_samples
AVComponentDescriptor comp[4]
Parameters that describe how pixels are packed.
uint8_t vps_sub_layer_ordering_info_present_flag
uint8_t general_max_12bit_constraint_flag
float b_quant_factor
qscale factor between IP and B-frames If > 0 then the last P-frame quantizer will be used (q= lastp_q...
#define FF_PROFILE_HEVC_MAIN
uint8_t vps_timing_info_present_flag
uint8_t log2_max_pic_order_cnt_lsb_minus4
uint8_t constrained_intra_pred_flag
uint32_t sps_max_latency_increase_plus1[HEVC_MAX_SUB_LAYERS]
Structure to hold side data for an AVFrame.
const H265RawProfileTierLevel * ptl
uint8_t matrix_coefficients
static double av_q2d(AVRational a)
Convert an AVRational to a double.
uint8_t aspect_ratio_info_present_flag
uint8_t vps_max_sub_layers_minus1
struct VAAPIEncodePicture * prev
#define AVERROR_EOF
End of file.
#define AV_LOG_VERBOSE
Detailed information.
H265RawSEIPayload payload[H265_MAX_SEI_PAYLOADS]
uint8_t general_max_monochrome_constraint_flag
VASurfaceID recon_surface
uint8_t log2_min_luma_transform_block_size_minus2
int av_reduce(int *dst_num, int *dst_den, int64_t num, int64_t den, int64_t max)
Reduce a fraction.
static const uint8_t header[24]
uint8_t sps_scaling_list_data_present_flag
uint8_t log2_min_pcm_luma_coding_block_size_minus3
static int vaapi_encode_h265_write_access_unit(AVCodecContext *avctx, char *data, size_t *data_len, CodedBitstreamFragment *au)
#define FF_PROFILE_HEVC_MAIN_10
uint8_t video_full_range_flag
enum AVChromaLocation chroma_sample_location
This defines the location of chroma samples.
uint8_t chroma_sample_loc_type_bottom_field
uint16_t vps_num_layer_sets_minus1
uint8_t video_signal_type_present_flag
size_t data_size
The number of bytes in the bitstream.
void ff_cbs_fragment_free(CodedBitstreamContext *ctx, CodedBitstreamFragment *frag)
Free the units array of a fragment in addition to what ff_cbs_fragment_reset does.
uint32_t vui_num_ticks_poc_diff_one_minus1
uint8_t vps_max_dec_pic_buffering_minus1[HEVC_MAX_SUB_LAYERS]
uint8_t log2_max_mv_length_vertical
AVHWFramesContext * input_frames
Content light level needed by to transmit HDR over HDMI (CTA-861.3).
#define i(width, name, range_min, range_max)
union H265RawSEIPayload::@33 payload
uint8_t vps_video_parameter_set_id
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
uint8_t log2_chroma_h
Amount to shift the luma height right to find the chroma height.
uint8_t conformance_window_flag
uint16_t max_content_light_level
uint8_t max_bits_per_min_cu_denom
static av_cold int vaapi_encode_h265_init(AVCodecContext *avctx)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
uint8_t chroma_loc_info_present_flag
#define PROFILE(name, value)
#define AV_LOG_DEBUG
Stuff which is only useful for libav* developers.
static int vaapi_encode_h265_init_sequence_params(AVCodecContext *avctx)
uint8_t num_negative_pics
const AVCodecHWConfigInternal * ff_vaapi_encode_hw_configs[]
simple assert() macros that are a bit more flexible than ISO C assert().
const char * name
Name of the codec implementation.
float i_quant_factor
qscale factor between P- and I-frames If > 0 then the last P-frame quantizer will be used (q = lastp_...
static const AVOption vaapi_encode_h265_options[]
uint8_t general_interlaced_source_flag
static const AVCodecDefault defaults[]
uint8_t general_tier_flag
uint8_t transform_skip_enabled_flag
H265RawNALUnitHeader nal_unit_header
uint8_t pcm_sample_bit_depth_chroma_minus1
void * codec_picture_params
size_t data_bit_padding
The number of bits which should be ignored in the final byte.
uint8_t chroma_sample_loc_type_top_field
uint8_t vps_max_layers_minus1
static int vaapi_encode_h265_init_slice_params(AVCodecContext *avctx, VAAPIEncodePicture *pic, VAAPIEncodeSlice *slice)
uint16_t conf_win_bottom_offset
H265RawNALUnitHeader nal_unit_header
static const VAAPIEncodeType vaapi_encode_type_h265
uint8_t nb_components
The number of components each pixel has, (1-4)
uint8_t scaling_list_enabled_flag
H265RawProfileTierLevel profile_tier_level
uint8_t general_max_422chroma_constraint_flag
uint8_t transquant_bypass_enabled_flag
int width
picture width / height.
uint8_t general_intra_constraint_flag
uint32_t vps_max_latency_increase_plus1[HEVC_MAX_SUB_LAYERS]
uint8_t vui_hrd_parameters_present_flag
uint16_t delta_poc_s1_minus1[HEVC_MAX_REFS]
const VAAPIEncodeProfile * profile
uint8_t diff_cu_qp_delta_depth
#define FF_PROFILE_UNKNOWN
const VAAPIEncodeProfile * profiles
av_cold int ff_vaapi_encode_init(AVCodecContext *avctx)
AVCodec ff_hevc_vaapi_encoder
static void bit_depth(AudioStatsContext *s, uint64_t mask, uint64_t imask, AVRational *depth)
uint8_t general_non_packed_constraint_flag
uint8_t sps_seq_parameter_set_id
enum AVColorPrimaries color_primaries
Chromaticity coordinates of the source primaries.
uint16_t pic_width_in_luma_samples
void * codec_picture_params
static int vaapi_encode_h265_init_picture_params(AVCodecContext *avctx, VAAPIEncodePicture *pic)
uint8_t vps_base_layer_available_flag
int ff_vaapi_encode_receive_packet(AVCodecContext *avctx, AVPacket *pkt)
uint8_t log2_min_luma_coding_block_size_minus3
uint8_t * data
Pointer to the bitstream form of this fragment.
uint8_t pps_seq_parameter_set_id
#define FF_ARRAY_ELEMS(a)
the normal 2^n-1 "JPEG" YUV ranges
int ff_cbs_write_fragment_data(CodedBitstreamContext *ctx, CodedBitstreamFragment *frag)
Write the content of the fragment to its own internal buffer.
uint16_t vps_num_hrd_parameters
uint8_t general_max_420chroma_constraint_flag
struct VAAPIEncodePicture * refs[MAX_PICTURE_REFERENCES]
uint8_t used_by_curr_pic_s1_flag[HEVC_MAX_REFS]
const H265LevelDescriptor * ff_h265_guess_level(const H265RawProfileTierLevel *ptl, int64_t bitrate, int width, int height, int slice_segments, int tile_rows, int tile_cols, int max_dec_pic_buffering)
Guess the level of a stream from some parameters.
uint8_t max_bytes_per_pic_denom
H265RawNALUnitHeader nal_unit_header
static int vaapi_encode_h265_write_slice_header(AVCodecContext *avctx, VAAPIEncodePicture *pic, VAAPIEncodeSlice *slice, char *data, size_t *data_len)
const struct VAAPIEncodeType * codec
uint8_t log2_diff_max_min_pcm_luma_coding_block_size
Libavcodec external API header.
#define VAAPI_ENCODE_RC_OPTIONS
uint8_t entropy_coding_sync_enabled_flag
uint8_t weighted_bipred_flag
uint16_t conf_win_top_offset
uint8_t sps_temporal_mvp_enabled_flag
Coded bitstream fragment structure, combining one or more units.
uint8_t general_level_idc
Descriptor that unambiguously describes how the bits of a pixel are stored in the up to 4 data planes...
main external API structure.
uint32_t vui_num_units_in_tick
uint8_t max_transform_hierarchy_depth_intra
uint8_t pps_loop_filter_across_slices_enabled_flag
uint8_t weighted_pred_flag
uint8_t sps_temporal_id_nesting_flag
H265RawSEIMasteringDisplayColourVolume mastering_display
static int FUNC() aud(CodedBitstreamContext *ctx, RWContext *rw, H264RawAUD *current)
uint16_t conf_win_left_offset
Describe the class of an AVClass context structure.
void ff_cbs_fragment_reset(CodedBitstreamContext *ctx, CodedBitstreamFragment *frag)
Free the units contained in a fragment as well as the fragment's own data buffer, but not the units a...
static int FUNC() pps(CodedBitstreamContext *ctx, RWContext *rw, H264RawPPS *current)
uint32_t max_display_mastering_luminance
Context structure for coded bitstream operations.
enum AVColorSpace colorspace
YUV colorspace type.
Rational number (pair of numerator and denominator).
enum AVColorTransferCharacteristic color_trc
Color Transfer Characteristic.
uint8_t general_max_10bit_constraint_flag
static int vaapi_encode_h265_write_extra_header(AVCodecContext *avctx, VAAPIEncodePicture *pic, int index, int *type, char *data, size_t *data_len)
static int FUNC() sps(CodedBitstreamContext *ctx, RWContext *rw, H264RawSPS *current)
uint8_t chroma_format_idc
void ff_cbs_close(CodedBitstreamContext **ctx_ptr)
Close a context and free all internal state.
float b_quant_offset
qscale offset between IP and B-frames
uint8_t general_lower_bit_rate_constraint_flag
uint8_t general_profile_compatibility_flag[32]
uint8_t vps_base_layer_internal_flag
static enum AVPixelFormat pix_fmts[]
static int FUNC() vps(CodedBitstreamContext *ctx, RWContext *rw, H265RawVPS *current)
uint8_t pcm_loop_filter_disabled_flag
H265RawNALUnitHeader nal_unit_header
#define VAAPI_ENCODE_COMMON_OPTIONS
static int vaapi_encode_h265_write_sequence_header(AVCodecContext *avctx, char *data, size_t *data_len)
uint8_t num_positive_pics
uint8_t general_frame_only_constraint_flag
static const VAAPIEncodeProfile vaapi_encode_h265_profiles[]
uint8_t vui_poc_proportional_to_timing_flag
uint8_t general_progressive_source_flag
uint8_t max_transform_hierarchy_depth_inter
static av_cold int vaapi_encode_h265_configure(AVCodecContext *avctx)
VAAPIEncodeContext common
common internal api header.
common internal and external API header
static int ref[MAX_W *MAX_W]
uint8_t pps_scaling_list_data_present_flag
uint8_t num_tile_rows_minus1
static int FUNC() sei(CodedBitstreamContext *ctx, RWContext *rw, H264RawSEI *current)
uint8_t num_tile_columns_minus1
uint16_t delta_poc_s0_minus1[HEVC_MAX_REFS]
uint8_t log2_diff_max_min_luma_coding_block_size
CodedBitstreamFragment current_access_unit
#define FF_PROFILE_HEVC_REXT
uint8_t vps_max_num_reorder_pics[HEVC_MAX_SUB_LAYERS]
H265RawSliceHeader header
H265RawSEIMasteringDisplayColourVolume sei_mastering_display
uint8_t num_short_term_ref_pic_sets
void * codec_slice_params
uint8_t log2_parallel_merge_level_minus2
uint8_t vps_temporal_id_nesting_flag
unsigned int desired_packed_headers
#define LEVEL(name, value)
uint8_t general_profile_space
uint8_t sps_max_dec_pic_buffering_minus1[HEVC_MAX_SUB_LAYERS]
#define FFSWAP(type, a, b)
uint32_t vps_num_ticks_poc_diff_one_minus1
int depth
Number of bits in the component.
uint8_t separate_colour_plane_flag
uint8_t strong_intra_smoothing_enabled_flag
uint8_t colour_description_present_flag
enum AVPixelFormat sw_format
The pixel format identifying the actual data layout of the hardware frames.
AVPixelFormat
Pixel format.
unsigned MaxFALL
Max average light level per frame (cd/m^2).
struct VAAPIEncodePicture * dpb[MAX_DPB_SIZE]
uint8_t log2_diff_max_min_luma_transform_block_size
uint8_t long_term_ref_pics_present_flag
uint8_t layer_id_included_flag[HEVC_MAX_LAYER_SETS][HEVC_MAX_LAYERS]
av_cold int ff_vaapi_encode_close(AVCodecContext *avctx)
uint8_t num_ref_idx_l1_default_active_minus1
H265RawNALUnitHeader nal_unit_header
uint8_t cu_qp_delta_enabled_flag