#[repr(C)]pub struct _VAEncMiscParameterFEIFrameControlH264 {Show 13 fields
pub function: u32,
pub mb_ctrl: VABufferID,
pub distortion: VABufferID,
pub mv_data: VABufferID,
pub mb_code_data: VABufferID,
pub qp: VABufferID,
pub mv_predictor: VABufferID,
pub _bitfield_align_1: [u16; 0],
pub _bitfield_1: __BindgenBitfieldUnit<[u8; 16]>,
pub max_frame_size: u32,
pub num_passes: u32,
pub delta_qp: *mut u8,
pub reserved3: [u32; 4],
}Expand description
\brief FEI frame level control buffer for H.264
Fields§
§function: u32§mb_ctrl: VABufferID\brief MB (16x16) control input buffer. It is valid only when (mb_input | mb_size_ctrl) is set to 1. The data in this buffer correspond to the input source. 16x16 MB is in raster scan order, each MB control data structure is defined by VAEncFEIMBControlH264. Buffer size shall not be less than the number of 16x16 blocks multiplied by sizeof(VAEncFEIMBControlH264). Note: if mb_qp is set, VAEncQPBufferH264 is expected.
distortion: VABufferID\brief distortion output of MB ENC or ENC_PAK. Each 16x16 block has one distortion data with VAEncFEIDistortionH264 layout Buffer size shall not be less than the number of 16x16 blocks multiplied by sizeof(VAEncFEIDistortionH264).
mv_data: VABufferID\brief MVs data output of MB ENC. Each 16x16 block has one MVs data with layout VAMotionVector Buffer size shall not be less than the number of 16x16 blocks multiplied by sizeof(VAMotionVector) * 16.
mb_code_data: VABufferID\brief MBCode data output of MB ENC. Each 16x16 block has one MB Code data with layout VAEncFEIMBCodeH264 Buffer size shall not be less than the number of 16x16 blocks multiplied by sizeof(VAEncFEIMBCodeH264).
qp: VABufferID\brief QP input buffer with layout VAEncQPBufferH264. It is valid only when mb_qp is set to 1. The data in this buffer correspond to the input source. One QP per 16x16 block in raster scan order, each QP is a signed char (8-bit) value.
mv_predictor: VABufferID\brief MV predictor. It is valid only when mv_predictor_enable is set to 1. Each 16x16 block has one or more pair of motion vectors and the corresponding reference indexes as defined by VAEncFEIMVPredictorH264. 16x16 block is in raster scan order. Buffer size shall not be less than the number of 16x16 blocks multiplied by sizeof(VAEncFEIMVPredictorH264).
_bitfield_align_1: [u16; 0]§_bitfield_1: __BindgenBitfieldUnit<[u8; 16]>§max_frame_size: u32\brief max frame size control with multi passes QP setting
num_passes: u32\brief number of passes, every pass has different QP
delta_qp: *mut u8\brief delta QP list for every pass
reserved3: [u32; 4]Implementations§
Source§impl _VAEncMiscParameterFEIFrameControlH264
impl _VAEncMiscParameterFEIFrameControlH264
pub fn num_mv_predictors_l0(&self) -> u32
pub fn set_num_mv_predictors_l0(&mut self, val: u32)
pub fn num_mv_predictors_l1(&self) -> u32
pub fn set_num_mv_predictors_l1(&mut self, val: u32)
pub fn search_path(&self) -> u32
pub fn set_search_path(&mut self, val: u32)
pub fn len_sp(&self) -> u32
pub fn set_len_sp(&mut self, val: u32)
pub fn reserved0(&self) -> u32
pub fn set_reserved0(&mut self, val: u32)
pub fn sub_mb_part_mask(&self) -> u32
pub fn set_sub_mb_part_mask(&mut self, val: u32)
pub fn intra_part_mask(&self) -> u32
pub fn set_intra_part_mask(&mut self, val: u32)
pub fn multi_pred_l0(&self) -> u32
pub fn set_multi_pred_l0(&mut self, val: u32)
pub fn multi_pred_l1(&self) -> u32
pub fn set_multi_pred_l1(&mut self, val: u32)
pub fn sub_pel_mode(&self) -> u32
pub fn set_sub_pel_mode(&mut self, val: u32)
pub fn inter_sad(&self) -> u32
pub fn set_inter_sad(&mut self, val: u32)
pub fn intra_sad(&self) -> u32
pub fn set_intra_sad(&mut self, val: u32)
pub fn distortion_type(&self) -> u32
pub fn set_distortion_type(&mut self, val: u32)
pub fn repartition_check_enable(&self) -> u32
pub fn set_repartition_check_enable(&mut self, val: u32)
pub fn adaptive_search(&self) -> u32
pub fn set_adaptive_search(&mut self, val: u32)
pub fn mv_predictor_enable(&self) -> u32
pub fn set_mv_predictor_enable(&mut self, val: u32)
pub fn mb_qp(&self) -> u32
pub fn set_mb_qp(&mut self, val: u32)
pub fn mb_input(&self) -> u32
pub fn set_mb_input(&mut self, val: u32)
pub fn mb_size_ctrl(&self) -> u32
pub fn set_mb_size_ctrl(&mut self, val: u32)
pub fn colocated_mb_distortion(&self) -> u32
pub fn set_colocated_mb_distortion(&mut self, val: u32)
pub fn reserved1(&self) -> u32
pub fn set_reserved1(&mut self, val: u32)
pub fn ref_width(&self) -> u32
pub fn set_ref_width(&mut self, val: u32)
pub fn ref_height(&self) -> u32
pub fn set_ref_height(&mut self, val: u32)
pub fn search_window(&self) -> u32
pub fn set_search_window(&mut self, val: u32)
pub fn reserved2(&self) -> u32
pub fn set_reserved2(&mut self, val: u32)
pub fn new_bitfield_1( num_mv_predictors_l0: u32, num_mv_predictors_l1: u32, search_path: u32, len_sp: u32, reserved0: u32, sub_mb_part_mask: u32, intra_part_mask: u32, multi_pred_l0: u32, multi_pred_l1: u32, sub_pel_mode: u32, inter_sad: u32, intra_sad: u32, distortion_type: u32, repartition_check_enable: u32, adaptive_search: u32, mv_predictor_enable: u32, mb_qp: u32, mb_input: u32, mb_size_ctrl: u32, colocated_mb_distortion: u32, reserved1: u32, ref_width: u32, ref_height: u32, search_window: u32, reserved2: u32, ) -> __BindgenBitfieldUnit<[u8; 16]>
Trait Implementations§
Source§impl Clone for _VAEncMiscParameterFEIFrameControlH264
impl Clone for _VAEncMiscParameterFEIFrameControlH264
Source§fn clone(&self) -> _VAEncMiscParameterFEIFrameControlH264
fn clone(&self) -> _VAEncMiscParameterFEIFrameControlH264
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 _VAEncMiscParameterFEIFrameControlH264
impl Eq for _VAEncMiscParameterFEIFrameControlH264
Source§impl PartialEq for _VAEncMiscParameterFEIFrameControlH264
impl PartialEq for _VAEncMiscParameterFEIFrameControlH264
Source§fn eq(&self, other: &_VAEncMiscParameterFEIFrameControlH264) -> bool
fn eq(&self, other: &_VAEncMiscParameterFEIFrameControlH264) -> bool
self and other values to be equal, and is used by ==.