Метод IDirectXVideoProcessorService::GetVideoProcessorDeviceGuids (dxva2api.h)

Возвращает массив идентификаторов GUID, которые идентифицируют видеопроцессоры, поддерживаемые графическим оборудованием.

Синтаксис

HRESULT GetVideoProcessorDeviceGuids(
  [in]  const DXVA2_VideoDesc *pVideoDesc,
  [out] UINT                  *pCount,
  [out] GUID                  **pGuids
);

Параметры

[in] pVideoDesc

Указатель на структуру DXVA2_VideoDesc , которая описывает видеосодержимое.

[out] pCount

Получает количество идентификаторов GUID.

[out] pGuids

Получает массив идентификаторов GUID. Размер массива извлекается в параметре pCount . Метод выделяет память для массива. Вызывающий объект должен освободить память, вызвав CoTaskMemFree.

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

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Следующие GUID видеопроцессоров предопределены.

Идентификатор GUID Описание
DXVA2_VideoProcBobDevice Устройство Боба деинтерлейс. Это устройство использует алгоритм bob для деинтерлейки видео. Алгоритмы Боба создают отсутствующие строки полей путем интерполяции строк в одном поле.
DXVA2_VideoProcProgressiveDevice Прогрессивное видеоустройство. Это устройство доступно для прогрессивного видео, для которого не требуется алгоритм деинтерлейки.
DXVA2_VideoProcSoftwareDevice Эталонное (программное) устройство.
 

Графическое устройство может определять дополнительные guid для конкретных поставщиков. Драйвер предоставляет список идентификаторов GUID в порядке убывания качества. Режим с наивысшим качеством находится на первом месте в списке. Чтобы получить возможности каждого режима, вызовите IDirectXVideoProcessorService::GetVideoProcessorCaps и передайте GUID для режима.

Примеры


    // Initialize the video descriptor.

    g_VideoDesc.SampleWidth                         = VIDEO_MAIN_WIDTH;
    g_VideoDesc.SampleHeight                        = VIDEO_MAIN_HEIGHT;
    g_VideoDesc.SampleFormat.VideoChromaSubsampling = DXVA2_VideoChromaSubsampling_MPEG2;
    g_VideoDesc.SampleFormat.NominalRange           = DXVA2_NominalRange_16_235;
    g_VideoDesc.SampleFormat.VideoTransferMatrix    = EX_COLOR_INFO[g_ExColorInfo][0];
    g_VideoDesc.SampleFormat.VideoLighting          = DXVA2_VideoLighting_dim;
    g_VideoDesc.SampleFormat.VideoPrimaries         = DXVA2_VideoPrimaries_BT709;
    g_VideoDesc.SampleFormat.VideoTransferFunction  = DXVA2_VideoTransFunc_709;
    g_VideoDesc.SampleFormat.SampleFormat           = DXVA2_SampleProgressiveFrame;
    g_VideoDesc.Format                              = VIDEO_MAIN_FORMAT;
    g_VideoDesc.InputSampleFreq.Numerator           = VIDEO_FPS;
    g_VideoDesc.InputSampleFreq.Denominator         = 1;
    g_VideoDesc.OutputFrameFreq.Numerator           = VIDEO_FPS;
    g_VideoDesc.OutputFrameFreq.Denominator         = 1;

    // Query the video processor GUID.

    UINT count;
    GUID* guids = NULL;

    hr = g_pDXVAVPS->GetVideoProcessorDeviceGuids(&g_VideoDesc, &count, &guids);

Требования

   
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header dxva2api.h

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

Обработка видео DXVA

IDirectXVideoProcessorService