_MFT_ENUM_FLAG Enumeration

Contains flags for registering and enumeration Media Foundation transforms (MFTs).

These flags are used in the following functions:

  • MFTEnumEx: These flags control which Media Foundation transforms (MFTs) are enumerated, as well as the enumeration order.
  • MFTRegister: A subset of these flags are used when registering an MFT.

Syntax

typedef enum _MFT_ENUM_FLAG {
  MFT_ENUM_FLAG_SYNCMFT,
  MFT_ENUM_FLAG_ASYNCMFT,
  MFT_ENUM_FLAG_HARDWARE,
  MFT_ENUM_FLAG_FIELDOFUSE,
  MFT_ENUM_FLAG_LOCALMFT,
  MFT_ENUM_FLAG_TRANSCODE_ONLY,
  MFT_ENUM_FLAG_SORTANDFILTER,
  MFT_ENUM_FLAG_SORTANDFILTER_APPROVED_ONLY,
  MFT_ENUM_FLAG_SORTANDFILTER_WEB_ONLY,
  MFT_ENUM_FLAG_SORTANDFILTER_WEB_ONLY_EDGEMODE,
  MFT_ENUM_FLAG_UNTRUSTED_STOREMFT,
  MFT_ENUM_FLAG_ALL
} ;

Constants

MFT_ENUM_FLAG_SYNCMFT The MFT performs synchronous data processing in software.

This flag does not apply to hardware transforms.

MFT_ENUM_FLAG_ASYNCMFT The MFT performs asynchronous data processing in software. See Asynchronous MFTs.

This flag does not apply to hardware transforms.

MFT_ENUM_FLAG_HARDWARE The MFT performs hardware-based data processing, using either the AVStream driver or a GPU-based proxy MFT. MFTs in this category always process data asynchronously. See Hardware MFTs.
Note  This flag applies to video codecs and video processors that perform their work entirely in hardware. It does not apply to software decoders that use DirectX Video Acceleration to assist decoding.
 
MFT_ENUM_FLAG_FIELDOFUSE The MFT that must be unlocked by the application before use. Unlocking is performed using the IMFFieldOfUseMFTUnlock interface. For more information, see Field of Use Restrictions.

This flag does not apply to hardware transforms.

MFT_ENUM_FLAG_LOCALMFT For enumeration, include MFTs that were registered in the caller's process. To register an MFT in the caller's process, call the either the MFTRegisterLocal or MFTRegisterLocalByCLSID function.

This flag does not apply to hardware transforms.

Do not set this flag in the MFTRegister function.

MFT_ENUM_FLAG_TRANSCODE_ONLY The MFT is optimized for transcoding rather than playback.
MFT_ENUM_FLAG_SORTANDFILTER For enumeration, sort and filter the results. For more information, see the Remarks section of MFTEnumEx.

Do not set this flag in the MFTRegister function.

MFT_ENUM_FLAG_SORTANDFILTER_APPROVED_ONLY
MFT_ENUM_FLAG_SORTANDFILTER_WEB_ONLY
MFT_ENUM_FLAG_SORTANDFILTER_WEB_ONLY_EDGEMODE
MFT_ENUM_FLAG_UNTRUSTED_STOREMFT
MFT_ENUM_FLAG_ALL Bitwise OR of all the flags, excluding MFT_ENUM_FLAG_SORTANDFILTER.

Do not set this flag in the MFTRegister function.

Remarks

For registration, these flags describe the MFT that is being registered. Some flags do not apply in that context. For enumeration, these flags control which MFTs are selected in the enumeration. For more details about the precise meaning of these flags, see the reference topics for MFTRegister and MFTEnumEx

For registration, the MFT_ENUM_FLAG_SYNCMFT, MFT_ENUM_FLAG_ASYNCMFT, and MFT_ENUM_FLAG_HARDWARE flags are mutually exclusive. For enumeration, these three flags can be combined.

Requirements

   
Minimum supported client Windows 7 [desktop apps only]
Minimum supported server Windows Server 2008 R2 [desktop apps only]
Header mfapi.h

See Also

Field of Use Restrictions

MFTEnumEx

MFTRegister

Media Foundation Enumerations