pub type VAEncPictureParameterBufferH264 = _VAEncPictureParameterBufferH264;Expand description
\brief Picture parameter for H.264 encoding in baseline, main & high profiles.
This structure holds information for \c pic_parameter_set_rbsp() as defined by the H.264 specification.
If packed picture headers mode is used, i.e. if the encoding pipeline was configured with the #VA_ENC_PACKED_HEADER_PICTURE flag, then the driver expects two more buffers to be provided to the same \c vaRenderPicture() as this buffer:
- a #VAEncPackedHeaderParameterBuffer with type set to VAEncPackedHeaderType::VAEncPackedHeaderPicture ;
- a #VAEncPackedHeaderDataBuffer which holds the actual packed header data.
If \c pic_scaling_matrix_present_flag is set to \c 1, then a #VAIQMatrixBufferH264 buffer shall also be provided within the same \c vaRenderPicture() call as this picture parameter buffer.
Aliased Type§
#[repr(C)]pub struct VAEncPictureParameterBufferH264 {Show 14 fields
pub CurrPic: _VAPictureH264,
pub ReferenceFrames: [_VAPictureH264; 16],
pub coded_buf: u32,
pub pic_parameter_set_id: u8,
pub seq_parameter_set_id: u8,
pub last_picture: u8,
pub frame_num: u16,
pub pic_init_qp: u8,
pub num_ref_idx_l0_active_minus1: u8,
pub num_ref_idx_l1_active_minus1: u8,
pub chroma_qp_index_offset: i8,
pub second_chroma_qp_index_offset: i8,
pub pic_fields: _VAEncPictureParameterBufferH264__bindgen_ty_1,
pub va_reserved: [u32; 4],
}Fields§
§CurrPic: _VAPictureH264\brief Information about the picture to be encoded.
See #VAPictureH264 for further description of each field. Note that CurrPic.picture_id represents the reconstructed (decoded) picture. User provides a scratch VA surface ID here.
ReferenceFrames: [_VAPictureH264; 16]\brief Decoded Picture Buffer (DPB).
This array represents the list of reconstructed (decoded) frames used as reference. It is important to keep track of reconstructed frames so that they can be used later on as reference for P or B-frames encoding.
coded_buf: u32\brief Output encoded bitstream.
\ref coded_buf has type #VAEncCodedBufferType. It should be large enough to hold the compressed NAL slice and possibly SPS and PPS NAL units.
pic_parameter_set_id: u8\brief The picture parameter set referred to in the slice header.
seq_parameter_set_id: u8\brief The active sequence parameter set. Range: 0 to 31, inclusive.
last_picture: u8\brief OR’d flags describing whether the picture is the last one or not.
This fields holds 0 if the picture to be encoded is not the last one in the stream or sequence. Otherwise, it is a combination of \ref H264_LAST_PICTURE_EOSEQ or \ref H264_LAST_PICTURE_EOSTREAM.
frame_num: u16\brief The picture identifier. Range: 0 to \f$2^{log2_max_frame_num_minus4 + 4} - 1\f$, inclusive.
pic_init_qp: u8\brief \c pic_init_qp_minus26 + 26.
num_ref_idx_l0_active_minus1: u8\brief Maximum reference index for reference picture list 0. Range: 0 to 31, inclusive.
num_ref_idx_l1_active_minus1: u8\brief Maximum reference index for reference picture list 1. Range: 0 to 31, inclusive.
chroma_qp_index_offset: i8\brief Range: -12 to 12, inclusive.
second_chroma_qp_index_offset: i8\brief Range: -12 to 12, inclusive.
pic_fields: _VAEncPictureParameterBufferH264__bindgen_ty_1§va_reserved: [u32; 4]\brief Reserved bytes for future use, must be zero