Поделиться через


перечисление _MFT_ENUM_FLAG (mfapi.h)

Содержит флаги для регистрации и перечисления преобразований Media Foundation (MFT).

Эти флаги используются в следующих функциях:

  • MFTEnumEx: эти флаги определяют, какие преобразования Media Foundation (MFT) перечисляются, а также порядок перечисления.
  • MFTRegister: подмножество этих флагов используется при регистрации MFT.

Синтаксис

typedef enum _MFT_ENUM_FLAG {
  MFT_ENUM_FLAG_SYNCMFT = 0x00000001,
  MFT_ENUM_FLAG_ASYNCMFT = 0x00000002,
  MFT_ENUM_FLAG_HARDWARE = 0x00000004,
  MFT_ENUM_FLAG_FIELDOFUSE = 0x00000008,
  MFT_ENUM_FLAG_LOCALMFT = 0x00000010,
  MFT_ENUM_FLAG_TRANSCODE_ONLY = 0x00000020,
  MFT_ENUM_FLAG_SORTANDFILTER = 0x00000040,
  MFT_ENUM_FLAG_SORTANDFILTER_APPROVED_ONLY = 0x000000C0,
  MFT_ENUM_FLAG_SORTANDFILTER_WEB_ONLY = 0x00000140,
  MFT_ENUM_FLAG_SORTANDFILTER_WEB_ONLY_EDGEMODE = 0x00000240,
  MFT_ENUM_FLAG_UNTRUSTED_STOREMFT = 0x00000400,
  MFT_ENUM_FLAG_ALL = 0x0000003F
} ;

Константы

 
MFT_ENUM_FLAG_SYNCMFT
Значение: 0x00000001
MFT выполняет синхронную обработку данных в программном обеспечении.

Этот флаг не применяется к аппаратным преобразованиям.
MFT_ENUM_FLAG_ASYNCMFT
Значение: 0x00000002
MFT выполняет асинхронную обработку данных в программном обеспечении. См . асинхронные MFT.

Этот флаг не применяется к аппаратным преобразованиям.
MFT_ENUM_FLAG_HARDWARE
Значение: 0x00000004
MFT выполняет аппаратную обработку данных, используя драйвер AVStream или прокси-сервер на основе GPU MFT. MFT в этой категории всегда обрабатывают данные асинхронно. См. раздел Аппаратные MFT.

Примечание Этот флаг применяется к видеокодекам и видеопроцессорам, которые выполняют свою работу полностью на оборудовании. Это не относится к программным декодедерам, которые используют ускорение видео DirectX для поддержки декодирования.

 
MFT_ENUM_FLAG_FIELDOFUSE
Значение: 0x00000008
MFT, который должен быть разблокирован приложением перед использованием. Разблокировка выполняется с помощью интерфейса IMFFieldOfUseMFTUnlock . Дополнительные сведения см. в разделе Поле ограничений использования.

Этот флаг не применяется к аппаратным преобразованиям.
MFT_ENUM_FLAG_LOCALMFT
Значение: 0x00000010
Для перечисления включите MFT, которые были зарегистрированы в процессе вызывающей стороны. Чтобы зарегистрировать MFT в процессе вызывающего объекта, вызовите функцию MFTRegisterLocal или MFTRegisterLocalByCLSID .

Этот флаг не применяется к аппаратным преобразованиям.

Не устанавливайте этот флаг в функции MFTRegister .
MFT_ENUM_FLAG_TRANSCODE_ONLY
Значение: 0x00000020
MFT оптимизирован для перекодирования, а не для воспроизведения.
MFT_ENUM_FLAG_SORTANDFILTER
Значение: 0x00000040
Для перечисления отсортируйте и отфильтруйте результаты. Дополнительные сведения см. в разделе Примечания статьи MFTEnumEx.

Не устанавливайте этот флаг в функции MFTRegister .
MFT_ENUM_FLAG_SORTANDFILTER_APPROVED_ONLY
Значение: 0x000000C0
MFT_ENUM_FLAG_SORTANDFILTER_WEB_ONLY
Значение: 0x00000140
MFT_ENUM_FLAG_SORTANDFILTER_WEB_ONLY_EDGEMODE
Значение: 0x00000240
MFT_ENUM_FLAG_UNTRUSTED_STOREMFT
Значение: 0x00000400
MFT_ENUM_FLAG_ALL
Значение: 0x0000003F
Побитовое ИЛИ всех флагов, за исключением MFT_ENUM_FLAG_SORTANDFILTER.

Не устанавливайте этот флаг в функции MFTRegister .

Комментарии

Для регистрации эти флаги описывают регистрируемого MFT. Некоторые флаги не применяются в этом контексте. Для перечисления эти флаги определяют, какие MFT выбираются в перечислении. Дополнительные сведения о точном значении этих флагов см. в справочных статьях по MFTRegister и MFTEnumEx.

Для регистрации флаги MFT_ENUM_FLAG_SYNCMFT, MFT_ENUM_FLAG_ASYNCMFT и MFT_ENUM_FLAG_HARDWARE являются взаимоисключающими. Для перечисления эти три флага можно объединить.

Требования

Требование Значение
Минимальная версия клиента Windows 7 [только классические приложения]
Минимальная версия сервера Windows Server 2008 R2 [только классические приложения]
Верхняя часть mfapi.h

См. также раздел

Ограничения области использования

MFTEnumEx

MFTRegister

Перечисления Media Foundation