Skip to main content

VAEncMiscParameterFEIFrameControlH264

Type Alias VAEncMiscParameterFEIFrameControlH264 

Source
pub type VAEncMiscParameterFEIFrameControlH264 = _VAEncMiscParameterFEIFrameControlH264;
Expand description

\brief FEI frame level control buffer for H.264

Aliased Type§

#[repr(C)]
pub struct VAEncMiscParameterFEIFrameControlH264 {
Show 13 fields pub function: u32, pub mb_ctrl: u32, pub distortion: u32, pub mv_data: u32, pub mb_code_data: u32, pub qp: u32, pub mv_predictor: u32, 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],
}

Fields§

§function: u32§mb_ctrl: u32

\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: u32

\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: u32

\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: u32

\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: u32

\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: u32

\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]