VA-API  2.22.0
Classes | Enumerations
H.264 encoding API

Classes

struct  VAEncSequenceParameterBufferH264
 Sequence parameter for H.264 encoding in baseline, main & high profiles. More...
 
struct  VAEncPictureParameterBufferH264
 Picture parameter for H.264 encoding in baseline, main & high profiles. More...
 
struct  VAEncSliceParameterBufferH264
 Slice parameter for H.264 encoding in baseline, main & high profiles. More...
 
struct  VAEncMacroblockParameterBufferH264
 Macroblock parameter for H.264 encoding in baseline, main & high profiles. More...
 
struct  VAEncMiscParameterSubMbPartPelH264
 MB partition modes and 1/2 1/4 motion search configuration. More...
 

Enumerations

enum  VAEncPackedHeaderTypeH264 { VAEncPackedHeaderH264_SPS = VAEncPackedHeaderSequence , VAEncPackedHeaderH264_PPS = VAEncPackedHeaderPicture , VAEncPackedHeaderH264_Slice = VAEncPackedHeaderSlice , va_deprecated_enum = (0x80000000 | 1) }
 Packed header types specific to H.264 encoding. More...
 

Picture flags

Those flags flags are meant to signal when a picture marks the end of a sequence, a stream, or even both at once.

#define H264_LAST_PICTURE_EOSEQ   0x01
 Marks the last picture in the sequence. More...
 
#define H264_LAST_PICTURE_EOSTREAM   0x02
 Marks the last picture in the stream. More...
 

Macroblock neighbour availability bits

Definitions for macroblock neighbour availability bits used in intra prediction mode (non MBAFF only).

#define VA_MB_PRED_AVAIL_TOP_LEFT   (1 << 2)
 References macroblock in the top-left corner.
 
#define VA_MB_PRED_AVAIL_TOP   (1 << 4)
 References macroblock above the current macroblock.
 
#define VA_MB_PRED_AVAIL_TOP_RIGHT   (1 << 3)
 References macroblock in the top-right corner.
 
#define VA_MB_PRED_AVAIL_LEFT   (1 << 6)
 References macroblock on the left of the current macroblock.
 

Detailed Description

Macro Definition Documentation

◆ H264_LAST_PICTURE_EOSEQ

#define H264_LAST_PICTURE_EOSEQ   0x01

Marks the last picture in the sequence.

i.e. the driver appends end_of_seq() NAL unit to the encoded frame.

◆ H264_LAST_PICTURE_EOSTREAM

#define H264_LAST_PICTURE_EOSTREAM   0x02

Marks the last picture in the stream.

i.e. the driver appends end_of_stream() NAL unit to the encoded frame.

Enumeration Type Documentation

◆ VAEncPackedHeaderTypeH264

Packed header types specific to H.264 encoding.

Types of packed headers generally used for H.264 encoding. Each associated packed header data buffer shall contain the start code prefix 0x000001 followed by the complete NAL unit, thus also including the nal_unit_type.

Note: the start code prefix can contain an arbitrary number of leading zeros. The driver will skip them for emulation prevention bytes insertion, if necessary.

Enumerator
VAEncPackedHeaderH264_SPS 

Packed Sequence Parameter Set (SPS).

The corresponding packed header data buffer shall contain the complete seq_parameter_set_rbsp() syntax element.

Note: packed nal_unit_type shall be equal to 7.

VAEncPackedHeaderH264_PPS 

Packed Picture Parameter Set (PPS).

The corresponding packed header data buffer shall contain the complete pic_parameter_set_rbsp() syntax element.

Note: packed nal_unit_type shall be equal to 8.

VAEncPackedHeaderH264_Slice 

Packed slice header.

The corresponding packed header data buffer shall contain the slice_header() syntax element only, along with any start code prefix and NAL unit type preceeding it. i.e. this means that the buffer does not contain any of the slice_data() or the rbsp_slice_trailing_bits().

Note: packed nal_unit_type shall be equal to 1 (non-IDR picture), or 5 (IDR picture).

va_deprecated_enum 

Packed Supplemental Enhancement Information (SEI).

The corresponding packed header data buffer shall contain the complete sei_rbsp() syntax element, thus including several sei_message() elements if necessary.

Note: packed nal_unit_type shall be equal to 6.

Deprecated:
This is a deprecated packed header flag, All applications can use VA_ENC_PACKED_HEADER_RAW_DATA to pass the corresponding packed SEI header data buffer to the driver