Skip to main content

_VAStatsStatisticsParameter

Struct _VAStatsStatisticsParameter 

Source
#[repr(C)]
pub struct _VAStatsStatisticsParameter { pub input: VAPictureStats, pub past_references: *mut VAPictureStats, pub num_past_references: u32, pub past_ref_stat_buf: *mut VABufferID, pub future_references: *mut VAPictureStats, pub num_future_references: u32, pub future_ref_stat_buf: *mut VABufferID, pub outputs: *mut VABufferID, pub mv_predictor: VABufferID, pub qp: VABufferID, }
Expand description

\brief Motion Vector and Statistics frame level controls. common part VAStatsStatisticsParameterBufferType for a MB or CTB

Fields§

§input: VAPictureStats

\brief Source surface ID.

§past_references: *mut VAPictureStats

\brief Past reference surface ID pointer.

§num_past_references: u32

\brief Past reference surface number

§past_ref_stat_buf: *mut VABufferID

\brief Statistics output for past reference surface. Only enabling statistics output for past reference picture when *past_ref_stat_buf is a valid VABufferID, it is needed in case app wants statistics data of both reference and current pictures in very special use cases for better performance. The output layout is defined by VAStatsStatisticsBufferType(for progressive and top field of interlaced case) and VAStatsStatisticsBottomFieldBufferType(only for interlaced case), only pixel_average_16x16/pixel_average_8x8 and variance_16x16/variance_8x8 data are valid.

§future_references: *mut VAPictureStats

\brief Future reference surface ID pointer.

§num_future_references: u32

\brief Future reference surface number

§future_ref_stat_buf: *mut VABufferID

\brief Statistics output for future reference surface. Only enabling statistics output for future reference picture when *past_ref_stat_buf is a valid VABufferID, it is needed in case app wants statistics data of both reference and current pictures in very special use cases for better performance. The output layout is defined by VAStatsStatisticsBufferType(for progressive and top field of interlaced case) and VAStatsStatisticsBottomFieldBufferType(only for interlaced case), only pixel_average_16x16/pixel_average_8x8 and variance_16x16/variance_8x8 data are valid.

§outputs: *mut VABufferID

\brief ID of the output buffer. The number of outputs is determined by below DisableMVOutput and DisableStatisticsOutput. The output layout is defined by VAStatsMVBufferType, VAStatsStatisticsBufferType(for progressive and top field of interlaced case) and VAStatsStatisticsBottomFieldBufferType(only for interlaced case).

§mv_predictor: VABufferID

\brief MV predictor. It is valid only when mv_predictor_ctrl is not 0. Each block has a pair of MVs, one for past and one for future reference as defined by VAMotionVector. The block is in raster scan order. Buffer size shall not be less than the number of blocks multiplied by sizeof(VAMotionVector).

§qp: VABufferID

\brief QP input buffer. It is valid only when mb_qp is set to 1. The data in this buffer correspond to the input source. One QP per MB or CTB block in raster scan order, each QP is a signed char (8-bit) value.

Trait Implementations§

Source§

impl Clone for _VAStatsStatisticsParameter

Source§

fn clone(&self) -> _VAStatsStatisticsParameter

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 _VAStatsStatisticsParameter

Source§

impl Debug for _VAStatsStatisticsParameter

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for _VAStatsStatisticsParameter

Source§

fn default() -> Self

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

impl Eq for _VAStatsStatisticsParameter

Source§

impl PartialEq for _VAStatsStatisticsParameter

Source§

fn eq(&self, other: &_VAStatsStatisticsParameter) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for _VAStatsStatisticsParameter

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.