Skip to main content

mfxFrameInfo

Struct mfxFrameInfo 

Source
#[repr(C)]
pub struct mfxFrameInfo {
Show 16 fields pub reserved: [mfxU32; 4], pub ChannelId: mfxU16, pub BitDepthLuma: mfxU16, pub BitDepthChroma: mfxU16, pub Shift: mfxU16, pub FrameId: mfxFrameId, pub FourCC: mfxU32, pub __bindgen_anon_1: mfxFrameInfo__bindgen_ty_1, pub FrameRateExtN: mfxU32, pub FrameRateExtD: mfxU32, pub reserved3: mfxU16, pub AspectRatioW: mfxU16, pub AspectRatioH: mfxU16, pub PicStruct: mfxU16, pub ChromaFormat: mfxU16, pub reserved2: mfxU16,
}
Expand description

Specifies properties of video frames. See also “Configuration Parameter Constraints” chapter.

Fields§

§reserved: [mfxU32; 4]

< Reserved for future use.

§ChannelId: mfxU16

The unique ID of each VPP channel set by application. It’s required that during Init/Reset application fills ChannelId for each mfxVideoChannelParam provided by the application and the SDK sets it back to the correspondent mfxSurfaceArray::mfxFrameSurface1 to distinguish different channels. It’s expected that surfaces for some channels might be returned with some delay so application has to use mfxFrameInfo::ChannelId to distinguish what returned surface belongs to what VPP channel. Decoder’s initialization parameters are always sent through channel with mfxFrameInfo::ChannelId equals to zero. It’s allowed to skip setting of decoder’s parameters for simplified decoding procedure

§BitDepthLuma: mfxU16

Number of bits used to represent luma samples. @note Not all codecs and implementations support this value. Use the Query API function to check if this feature is supported.

§BitDepthChroma: mfxU16

Number of bits used to represent chroma samples. @note Not all codecs and implementations support this value. Use the Query API function to check if this feature is supported.

§Shift: mfxU16

The Shift flag indicates whether the values of luma and chroma samples are shifted. For the decoding process, the recommended value is specified by the DecodeHeader or GetVideoParam API. A value of one indicates that the luma and chroma sample values are shifted, while a value of zero indicates that there is no shift. Please refer to the example data alignment provided below.

@note Not all codecs and implementations support this flag. Use the Query API function to check if this feature is supported. AVC and HEVC allow users to set the Shift flag to either 0 or 1. However, setting the Shift flag to a value different from the recommended one may lead to increased CPU utilization. For other codecs, attempting to set the Shift flag to a value other than the recommended one will result in an error status.

§FrameId: mfxFrameId

< Describes the view and layer of a frame picture.

§FourCC: mfxU32

< FourCC code of the color format. See the ColorFourCC enumerator for details.

§__bindgen_anon_1: mfxFrameInfo__bindgen_ty_1§FrameRateExtN: mfxU32

< Frame rate numerator.

§FrameRateExtD: mfxU32

< Frame rate denominator.

§reserved3: mfxU16

@}

§AspectRatioW: mfxU16

< Aspect Ratio for width.

§AspectRatioH: mfxU16

< Aspect Ratio for height.

§PicStruct: mfxU16

< Picture type as specified in the PicStruct enumerator.

§ChromaFormat: mfxU16

< Color sampling method. Value is the same as that of ChromaFormatIdc. ChromaFormat is not defined if FourCC is zero.

§reserved2: mfxU16

Trait Implementations§

Source§

impl Clone for mfxFrameInfo

Source§

fn clone(&self) -> mfxFrameInfo

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 mfxFrameInfo

Source§

impl Default for mfxFrameInfo

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.