Skip to main content

_VASliceParameterBufferHEVC

Struct _VASliceParameterBufferHEVC 

Source
#[repr(C)]
pub struct _VASliceParameterBufferHEVC {
Show 30 fields pub slice_data_size: u32, pub slice_data_offset: u32, pub slice_data_flag: u32, pub slice_data_byte_offset: u32, pub slice_segment_address: u32, pub RefPicList: [[u8; 15]; 2], pub LongSliceFlags: _VASliceParameterBufferHEVC__bindgen_ty_1, pub collocated_ref_idx: u8, pub num_ref_idx_l0_active_minus1: u8, pub num_ref_idx_l1_active_minus1: 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 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 ChromaOffsetL0: [[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 ChromaOffsetL1: [[i8; 2]; 15], pub five_minus_max_num_merge_cand: u8, pub num_entry_point_offsets: u16, pub entry_offset_to_subset_array: u16, pub slice_data_num_emu_prevn_bytes: u16, pub va_reserved: [u32; 2],
}
Expand description

\brief HEVC Slice Parameter Buffer Structure For Long Format

VASliceParameterBufferHEVC structure should be accompanied by a slice data buffer, which holds the whole raw slice NAL unit bit streams including start code prefix and emulation prevention bytes not removed.

This structure conveys parameters related to slice segment header and should be sent once per slice.

For short format, this data structure is not sent by application.

Fields§

§slice_data_size: u32

\brief Number of bytes in the slice data buffer for this slice counting from and including NAL unit header.

§slice_data_offset: u32

\brief The offset to the NAL unit header for this slice

§slice_data_flag: u32

\brief Slice data buffer flags. See \c VA_SLICE_DATA_FLAG_XXX.

§slice_data_byte_offset: u32

\brief Byte offset from NAL unit header to the begining of slice_data().

This byte offset is relative to and includes the NAL unit header and represents the number of bytes parsed in the slice_header() after the removal of any emulation prevention bytes in there. However, the slice data buffer passed to the hardware is the original bitstream, thus including any emulation prevention bytes.

§slice_segment_address: u32

HEVC syntax element.

§RefPicList: [[u8; 15]; 2]

\brief index into ReferenceFrames[] RefPicList[0][] corresponds to RefPicList0[] of HEVC variable. RefPicList[1][] corresponds to RefPicList1[] of HEVC variable. value range [0..14, 0xFF], where 0xFF indicates invalid entry.

§LongSliceFlags: _VASliceParameterBufferHEVC__bindgen_ty_1§collocated_ref_idx: u8

HEVC syntax element. Collocated Reference Picture Index. index to RefPicList[0][] or RefPicList[1][]. when slice_temporal_mvp_enabled_flag equals 0, it should take value 0xFF. value range [0..14, 0xFF].

§num_ref_idx_l0_active_minus1: u8

HEVC syntax element. if num_ref_idx_active_override_flag equals 0, host decoder should set its value to num_ref_idx_l0_default_active_minus1.

§num_ref_idx_l1_active_minus1: u8

HEVC syntax element. if num_ref_idx_active_override_flag equals 0, host decoder should set its value to num_ref_idx_l1_default_active_minus1.

§slice_qp_delta: i8

HEVC syntax element.

§slice_cb_qp_offset: i8

HEVC syntax element.

§slice_cr_qp_offset: i8

HEVC syntax element.

§slice_beta_offset_div2: i8

HEVC syntax element.

§slice_tc_offset_div2: i8

HEVC syntax element.

§luma_log2_weight_denom: u8

HEVC syntax element.

§delta_chroma_log2_weight_denom: i8

HEVC syntax element.

§delta_luma_weight_l0: [i8; 15]

HEVC syntax element.

§luma_offset_l0: [i8; 15]

HEVC syntax element.

§delta_chroma_weight_l0: [[i8; 2]; 15]

HEVC syntax element.

§ChromaOffsetL0: [[i8; 2]; 15]

corresponds to HEVC spec variable of the same name.

§delta_luma_weight_l1: [i8; 15]

HEVC syntax element.

§luma_offset_l1: [i8; 15]

HEVC syntax element.

§delta_chroma_weight_l1: [[i8; 2]; 15]

HEVC syntax element.

§ChromaOffsetL1: [[i8; 2]; 15]

corresponds to HEVC spec variable of the same name.

§five_minus_max_num_merge_cand: u8

HEVC syntax element.

§num_entry_point_offsets: u16

HEVC syntax element.

§entry_offset_to_subset_array: u16

HEVC syntax element.

§slice_data_num_emu_prevn_bytes: u16

\brief Number of emulation prevention bytes in slice header.

§va_reserved: [u32; 2]

\brief Reserved bytes for future use, must be zero

Trait Implementations§

Source§

impl Clone for _VASliceParameterBufferHEVC

Source§

fn clone(&self) -> _VASliceParameterBufferHEVC

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for _VASliceParameterBufferHEVC

Source§

impl Default for _VASliceParameterBufferHEVC

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.