#[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
impl Clone for _VAStatsStatisticsParameter
Source§fn clone(&self) -> _VAStatsStatisticsParameter
fn clone(&self) -> _VAStatsStatisticsParameter
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for _VAStatsStatisticsParameter
Source§impl Debug for _VAStatsStatisticsParameter
impl Debug for _VAStatsStatisticsParameter
impl Eq for _VAStatsStatisticsParameter
Source§impl PartialEq for _VAStatsStatisticsParameter
impl PartialEq for _VAStatsStatisticsParameter
Source§fn eq(&self, other: &_VAStatsStatisticsParameter) -> bool
fn eq(&self, other: &_VAStatsStatisticsParameter) -> bool
self and other values to be equal, and is used by ==.