pub type VAStatsStatisticsParameter = _VAStatsStatisticsParameter;Expand description
\brief Motion Vector and Statistics frame level controls. common part VAStatsStatisticsParameterBufferType for a MB or CTB
Aliased Type§
#[repr(C)]pub struct VAStatsStatisticsParameter {
pub input: _VAPictureStats,
pub past_references: *mut _VAPictureStats,
pub num_past_references: u32,
pub past_ref_stat_buf: *mut u32,
pub future_references: *mut _VAPictureStats,
pub num_future_references: u32,
pub future_ref_stat_buf: *mut u32,
pub outputs: *mut u32,
pub mv_predictor: u32,
pub qp: u32,
}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 u32\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 u32\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 u32\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: u32\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: u32\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.