pub type VAEncSliceParameterBufferHEVC = _VAEncSliceParameterBufferHEVC;Expand description
\brief Slice parameter for HEVC encoding in main & main 10 profiles.
This structure holds information for \c slice_segment_layer_rbsp() as defined by the HEVC specification.
If packed slice headers mode is used, i.e. if the encoding pipeline was configured with the #VA_ENC_PACKED_HEADER_SLICE 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::VAEncPackedHeaderSlice ;
- a #VAEncPackedHeaderDataBuffer which holds the actual packed header data.
Aliased Type§
#[repr(C)]pub struct VAEncSliceParameterBufferHEVC {Show 28 fields
pub slice_segment_address: u32,
pub num_ctu_in_slice: u32,
pub slice_type: u8,
pub slice_pic_parameter_set_id: u8,
pub num_ref_idx_l0_active_minus1: u8,
pub num_ref_idx_l1_active_minus1: u8,
pub ref_pic_list0: [_VAPictureHEVC; 15],
pub ref_pic_list1: [_VAPictureHEVC; 15],
pub luma_log2_weight_denom: u8,
pub delta_chroma_log2_weight_denom: i8,
pub delta_luma_weight_l0: [i8; 15],
pub luma_offset_l0: [i8; 15],
pub delta_chroma_weight_l0: [[i8; 2]; 15],
pub chroma_offset_l0: [[i8; 2]; 15],
pub delta_luma_weight_l1: [i8; 15],
pub luma_offset_l1: [i8; 15],
pub delta_chroma_weight_l1: [[i8; 2]; 15],
pub chroma_offset_l1: [[i8; 2]; 15],
pub max_num_merge_cand: u8,
pub slice_qp_delta: i8,
pub slice_cb_qp_offset: i8,
pub slice_cr_qp_offset: i8,
pub slice_beta_offset_div2: i8,
pub slice_tc_offset_div2: i8,
pub slice_fields: _VAEncSliceParameterBufferHEVC__bindgen_ty_1,
pub pred_weight_table_bit_offset: u32,
pub pred_weight_table_bit_length: u32,
pub va_reserved: [u32; 6],
}Fields§
§slice_segment_address: u32\brief Starting CTU address for this slice.
num_ctu_in_slice: u32\brief Number of CTUs in this slice.
slice_type: u8\brief Slice type. Corresponds to HEVC syntax element of the same name.
slice_pic_parameter_set_id: u8\brief Same as the HEVC bitstream syntax element.
num_ref_idx_l0_active_minus1: u8\brief Maximum reference index for reference picture list 0. Range: 0 to 14, inclusive.
num_ref_idx_l1_active_minus1: u8\brief Maximum reference index for reference picture list 1. Range: 0 to 14, inclusive.
ref_pic_list0: [_VAPictureHEVC; 15]\brief Reference picture list 0 (for P slices).
ref_pic_list1: [_VAPictureHEVC; 15]\brief Reference picture list 1 (for B slices).
luma_log2_weight_denom: u8@name pred_weight_table() / /**@{/ /** \brief Same as the HEVC bitstream syntax element.
delta_chroma_log2_weight_denom: i8\brief Same as the HEVC bitstream syntax element.
delta_luma_weight_l0: [i8; 15]\brief Same as the HEVC bitstream syntax element.
luma_offset_l0: [i8; 15]\brief Same as the HEVC bitstream syntax element.
delta_chroma_weight_l0: [[i8; 2]; 15]\brief Same as the HEVC bitstream syntax element.
chroma_offset_l0: [[i8; 2]; 15]\brief Same as the HEVC spec variable ChromaOffsetL0[].
delta_luma_weight_l1: [i8; 15]\brief Same as the HEVC bitstream syntax element.
luma_offset_l1: [i8; 15]\brief Same as the HEVC bitstream syntax element.
delta_chroma_weight_l1: [[i8; 2]; 15]\brief Same as the HEVC bitstream syntax element.
chroma_offset_l1: [[i8; 2]; 15]\brief Same as the HEVC spec variable ChromaOffsetL1[].
max_num_merge_cand: u8\brief Corresponds to HEVC spec variable MaxNumMergeCand. Range: [1..5].
slice_qp_delta: i8\brief Same as the HEVC bitstream syntax element.
slice_cb_qp_offset: i8\brief Same as the HEVC bitstream syntax element.
slice_cr_qp_offset: i8\brief Same as the HEVC bitstream syntax element.
slice_beta_offset_div2: i8\brief Same as the HEVC bitstream syntax element.
slice_tc_offset_div2: i8\brief Same as the HEVC bitstream syntax element.
slice_fields: _VAEncSliceParameterBufferHEVC__bindgen_ty_1§pred_weight_table_bit_offset: u32\brief bit offset of syntax element pred_weight_table() in slice segment header. It aligns with the starting position of the current packed slice header. It is used when encoder prefers to override the weighted prediction parameters passed in from application. Please refer to enable_gpu_weighted_prediction in VAEncPictureParameterBufferHEVC.
pred_weight_table_bit_length: u32\brief bit length of syntax element pred_weight_table() in slice segment header. It is used when encoder prefers to override the weighted prediction parameters passed in from application. Please refer to enable_gpu_weighted_prediction in VAEncPictureParameterBufferHEVC.
va_reserved: [u32; 6]\brief Reserved bytes for future use, must be zero