Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Legt die luma-Taste für einen Eingabedatenstrom auf dem Videoprozessor fest.
Syntax
void VideoProcessorSetStreamLumaKey(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[in] BOOL Enable,
[in] FLOAT Lower,
[in] FLOAT Upper
);
Parameter
[in] pVideoProcessor
Ein Zeiger auf die ID3D11VideoProcessor-Schnittstelle . Um diesen Zeiger abzurufen, rufen Sie ID3D11VideoDevice::CreateVideoProcessor auf.
[in] StreamIndex
Der nullbasierte Index des Eingabestreams. Um die maximale Anzahl von Streams abzurufen, rufen Sie ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps auf, und überprüfen Sie den MaxStreamStates-Strukturmember .
[in] Enable
Gibt an, ob luma keying aktiviert ist.
[in] Lower
Die Untergrenze für den Lumaschlüssel. Der gültige Bereich ist [0... 1]. Wenn EnableFALSE ist, wird dieser Parameter ignoriert.
[in] Upper
Die Obergrenze für den Lumaschlüssel. Der gültige Bereich ist [0... 1]. Wenn EnableFALSE ist, wird dieser Parameter ignoriert.
Rückgabewert
Keine
Bemerkungen
Um dieses Feature verwenden zu können, muss der Treiber luma-Keying unterstützen, die durch das D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LUMA_KEY-Funktionsflag angegeben wird. Um diese Funktion abzufragen, rufen Sie ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps auf. Wenn das Eingabeformat RGB ist, muss das Gerät außerdem die D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_LUMA_KEY-Funktion unterstützen.
Die Werte von Lower und Upper geben die Unter- und Obergrenze des Lumaschlüssels an, wobei ein Nominalbereich von [0...1] verwendet wird. Bei einem Format mit n Bits pro Kanal werden diese Werte wie folgt in Lumawerte konvertiert:
val = f * ((1 << n)-1)
Jedes Pixel, dessen Lumawert innerhalb der Oberen und Unteren Grenze (einschließlich) liegt, wird als transparent behandelt.
Wenn das Pixelformat beispielsweise 8-Bit-Luma verwendet, wird die Obergrenze wie folgt berechnet:
BYTE Y = BYTE(max(min(1.0, Upper), 0.0) * 255.0)
Beachten Sie, dass der Wert an den Bereich [0...1] geklemmt wird, bevor er mit 255 multipliziert wird.
Anforderungen
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) | Windows 8 [Desktop-Apps | UWP-Apps] |
| Unterstützte Mindestversion (Server) | Windows Server 2012 [Desktop-Apps | UWP-Apps] |
| Zielplattform | Windows |
| Kopfzeile | d3d11.h |