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 |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für