Skip to main content

VAEncSequenceParameterBufferH264

Type Alias VAEncSequenceParameterBufferH264 

Source
pub type VAEncSequenceParameterBufferH264 = _VAEncSequenceParameterBufferH264;
Expand description

\brief Sequence parameter for H.264 encoding in baseline, main & high profiles.

This structure holds information for \c seq_parameter_set_data() as defined by the H.264 specification.

If packed sequence headers mode is used, i.e. if the encoding pipeline was configured with the #VA_ENC_PACKED_HEADER_SEQUENCE 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::VAEncPackedHeaderSequence ;
  • a #VAEncPackedHeaderDataBuffer which holds the actual packed header data.

If \c seq_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 sequence parameter buffer.

Aliased Type§

#[repr(C)]
pub struct VAEncSequenceParameterBufferH264 {
Show 29 fields pub seq_parameter_set_id: u8, pub level_idc: u8, pub intra_period: u32, pub intra_idr_period: u32, pub ip_period: u32, pub bits_per_second: u32, pub max_num_ref_frames: u32, pub picture_width_in_mbs: u16, pub picture_height_in_mbs: u16, pub seq_fields: _VAEncSequenceParameterBufferH264__bindgen_ty_1, pub bit_depth_luma_minus8: u8, pub bit_depth_chroma_minus8: u8, pub num_ref_frames_in_pic_order_cnt_cycle: u8, pub offset_for_non_ref_pic: i32, pub offset_for_top_to_bottom_field: i32, pub offset_for_ref_frame: [i32; 256], pub frame_cropping_flag: u8, pub frame_crop_left_offset: u32, pub frame_crop_right_offset: u32, pub frame_crop_top_offset: u32, pub frame_crop_bottom_offset: u32, pub vui_parameters_present_flag: u8, pub vui_fields: _VAEncSequenceParameterBufferH264__bindgen_ty_2, pub aspect_ratio_idc: u8, pub sar_width: u32, pub sar_height: u32, pub num_units_in_tick: u32, pub time_scale: u32, pub va_reserved: [u32; 4],
}

Fields§

§seq_parameter_set_id: u8

\brief Same as the H.264 bitstream syntax element.

§level_idc: u8

\brief Same as the H.264 bitstream syntax element.

§intra_period: u32

\brief Period between I frames.

§intra_idr_period: u32

\brief Period between IDR frames.

§ip_period: u32

\brief Period between I/P frames.

§bits_per_second: u32

\brief Initial bitrate set for this sequence in CBR or VBR modes.

This field represents the initial bitrate value for this sequence if CBR or VBR mode is used, i.e. if the encoder pipeline was created with a #VAConfigAttribRateControl attribute set to either \ref VA_RC_CBR or \ref VA_RC_VBR.

The bitrate can be modified later on through #VAEncMiscParameterRateControl buffers.

§max_num_ref_frames: u32

\brief Same as the H.264 bitstream syntax element.

§picture_width_in_mbs: u16

\brief Picture width in macroblocks.

§picture_height_in_mbs: u16

\brief Picture height in macroblocks.

§seq_fields: _VAEncSequenceParameterBufferH264__bindgen_ty_1§bit_depth_luma_minus8: u8

\brief Same as the H.264 bitstream syntax element.

§bit_depth_chroma_minus8: u8

\brief Same as the H.264 bitstream syntax element.

§num_ref_frames_in_pic_order_cnt_cycle: u8

if pic_order_cnt_type == 1 / /**@{/ /** \brief Same as the H.264 bitstream syntax element.

§offset_for_non_ref_pic: i32

\brief Same as the H.264 bitstream syntax element.

§offset_for_top_to_bottom_field: i32

\brief Same as the H.264 bitstream syntax element.

§offset_for_ref_frame: [i32; 256]

\brief Same as the H.264 bitstream syntax element.

§frame_cropping_flag: u8

@name Cropping (optional) / /**@{/ /** \brief Same as the H.264 bitstream syntax element.

§frame_crop_left_offset: u32

\brief Same as the H.264 bitstream syntax element.

§frame_crop_right_offset: u32

\brief Same as the H.264 bitstream syntax element.

§frame_crop_top_offset: u32

\brief Same as the H.264 bitstream syntax element.

§frame_crop_bottom_offset: u32

\brief Same as the H.264 bitstream syntax element.

§vui_parameters_present_flag: u8

@name VUI parameters (optional) / /**@{/ /** \brief Same as the H.264 bitstream syntax element.

§vui_fields: _VAEncSequenceParameterBufferH264__bindgen_ty_2§aspect_ratio_idc: u8

\brief Same as the H.264 bitstream syntax element.

§sar_width: u32

\brief Same as the H.264 bitstream syntax element.

§sar_height: u32

\brief Same as the H.264 bitstream syntax element.

§num_units_in_tick: u32

\brief Same as the H.264 bitstream syntax element.

§time_scale: u32

\brief Same as the H.264 bitstream syntax element.

§va_reserved: [u32; 4]

\brief Reserved bytes for future use, must be zero