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


Метод IVMRDeinterlaceControl::GetNumberOfDeinterlaceModes (strmif.h)

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

Метод GetNumberOfDeinterlaceModes извлекает режимы деинтерлейсинга, доступные VMR для указанного формата видео.

Синтаксис

HRESULT GetNumberOfDeinterlaceModes(
  [in]      VMRVideoDesc *lpVideoDescription,
  [in, out] LPDWORD      lpdwNumDeinterlaceModes,
  [out]     LPGUID       lpDeinterlaceModes
);

Параметры

[in] lpVideoDescription

Указатель на структуру VMRVideoDesc , описывающую видео.

[in, out] lpdwNumDeinterlaceModes

Указатель на значение DWORD . На входных данных это значение указывает размер массива, заданного в lpDeinterlaceModes. В выходных данных он получает количество идентификаторов GUID, скопированных методом в массив.

[out] lpDeinterlaceModes

Адрес массива, выделенного вызывающим объектом. Метод заполняет массив значениями GUID. Чтобы определить необходимый размер массива, задайте для этого параметра значение NULL и проверка значение, возвращаемое в lpdwNumDeinterlaceModes.

Возвращаемое значение

Возвращает значение HRESULT . Возможные значения:

Код возврата Описание
E_POINTER
Аргумент указателя NULL.
S_OK
Успешное завершение
VFW_E_VMR_NOT_IN_MIXER_MODE
VMR не находится в режиме микшера.
VFW_E_DDRAW_CAPS_NOT_SUITABLE
Видео карта не поддерживает деинтерлейсинг оборудования.

Комментарии

Этот метод возвращает массив идентификаторов GUID, где каждый GUID представляет режим деинтерлейсинга, поддерживаемый драйвером графического устройства на оборудовании. Массив сортируется по качеству, поэтому первая запись представляет наилучшее качество, вторая — следующее лучшее качество и т. д.

Все драйверы должны поддерживать следующий режим:

GUID Описание
DXVA_DeinterlaceBobDevice Режим Боба
 

Драйверы могут поддерживать дополнительные режимы и должны определять собственные идентификаторы GUID для их идентификации. Для каждого возвращаемого режима вызовите метод IVMRDeinterlaceControl::GetDeinterlaceModeCaps , чтобы получить сведения об этом режиме.

Требования

   
Минимальная версия клиента Windows XP с пакетом обновления 1 (SP1) [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header strmif.h (включая Dshow.h)
Библиотека Strmiids.lib

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

Коды ошибок и успешного выполнения

Интерфейс IVMRDeinterlaceControl

Использование отрисовщика смешанного видео