IDirectXVideoProcessorService::GetVideoProcessorDeviceGuids-Methode (dxva2api.h)
Ruft ein Array von GUIDs ab, die die von der Grafikhardware unterstützten Videoprozessoren identifizieren.
Syntax
HRESULT GetVideoProcessorDeviceGuids(
[in] const DXVA2_VideoDesc *pVideoDesc,
[out] UINT *pCount,
[out] GUID **pGuids
);
Parameter
[in] pVideoDesc
Zeiger auf eine DXVA2_VideoDesc-Struktur , die den Videoinhalt beschreibt.
[out] pCount
Empfängt die Anzahl der GUIDs.
[out] pGuids
Empfängt ein Array von GUIDs. Die Größe des Arrays wird im pCount-Parameter abgerufen. Die -Methode weist den Arbeitsspeicher für das Array zu. Der Aufrufer muss den Arbeitsspeicher durch Aufrufen von CoTaskMemFree freigeben.
Rückgabewert
Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.
Hinweise
Die folgenden Videoprozessor-GUIDs sind vordefiniert.
GUID | Beschreibung |
---|---|
DXVA2_VideoProcBobDevice | Bob-Deinterlacegerät. Dieses Gerät verwendet einen "bob"-Algorithmus, um das Video zu deinterlacieren. Bob-Algorithmen erstellen fehlende Feldlinien, indem sie die Linien in einem einzelnen Feld interpolieren. |
DXVA2_VideoProcProgressiveDevice | Progressives Videogerät. Dieses Gerät ist für progressive Videos verfügbar, für die kein Deinterlace-Algorithmus erforderlich ist. |
DXVA2_VideoProcSoftwareDevice | Referenzgerät (Software). |
Das Grafikgerät kann zusätzliche herstellerspezifische GUIDs definieren. Der Treiber stellt die Liste der GUIDs in absteigender Qualitätsreihenfolge bereit. Der Modus mit der höchsten Qualität steht an erster Stelle in der Liste. Um die Funktionen der einzelnen Modus abzurufen, rufen Sie IDirectXVideoProcessorService::GetVideoProcessorCaps auf, und übergeben Sie die GUID für den Modus.
Beispiele
// 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);
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | dxva2api.h |