Skip to main content

mfxEncodeCtrl

Struct mfxEncodeCtrl 

Source
#[repr(C)]
pub struct mfxEncodeCtrl { pub Header: mfxExtBuffer, pub reserved: [mfxU32; 4], pub reserved1: mfxU16, pub MfxNalUnitType: mfxU16, pub SkipFrame: mfxU16, pub QP: mfxU16, pub FrameType: mfxU16, pub NumExtParam: mfxU16, pub NumPayload: mfxU16, pub reserved2: mfxU16, pub ExtParam: *mut *mut mfxExtBuffer, pub Payload: *mut *mut mfxPayload, }
Expand description

Contains parameters for per-frame based encoding control.

Fields§

§Header: mfxExtBuffer

< This extension buffer doesn’t have assigned buffer ID. Ignored.

§reserved: [mfxU32; 4]§reserved1: mfxU16§MfxNalUnitType: mfxU16

Type of NAL unit that contains encoding frame. All supported values are defined by MfxNalUnitType enumerator. Other values defined in ITU-T H.265 specification are not supported.

The encoder uses this field only if application sets mfxExtCodingOption3::EnableNalUnitType option to ON during encoder initialization.

@note Only encoded order is supported. If application specifies this value in display order or uses value inappropriate for current frame or invalid value, then the encoder silently ignores it.

§SkipFrame: mfxU16

< Indicates that current frame should be skipped or the number of missed frames before the current frame. See mfxExtCodingOption2::SkipFrame for details.

§QP: mfxU16

< If nonzero, this value overwrites the global QP value for the current frame in the constant QP mode.

§FrameType: mfxU16

Encoding frame type. See the FrameType enumerator for details. If the encoder works in the encoded order, the application must specify the frame type. If the encoder works in the display order, only key frames are enforceable.

§NumExtParam: mfxU16

< Number of extra control buffers.

§NumPayload: mfxU16

< Number of payload records to insert into the bitstream.

§reserved2: mfxU16§ExtParam: *mut *mut mfxExtBuffer

Pointer to an array of pointers to external buffers that provide additional information or control to the encoder for this frame or field pair. A typical use is to pass the VPP auxiliary data generated by the video processing pipeline to the encoder. See the ExtendedBufferID for the list of extended buffers.

§Payload: *mut *mut mfxPayload

Pointer to an array of pointers to user data (MPEG-2) or SEI messages (H.264) for insertion into the bitstream. For field pictures, odd payloads are associated with the first field and even payloads are associated with the second field. See the mfxPayload structure for payload definitions.

Trait Implementations§

Source§

impl Clone for mfxEncodeCtrl

Source§

fn clone(&self) -> mfxEncodeCtrl

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 mfxEncodeCtrl

Source§

impl Debug for mfxEncodeCtrl

Source§

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

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

impl Default for mfxEncodeCtrl

Source§

fn default() -> Self

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

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.