Метод 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 |