ID3D11VideoContext::VideoProcessorSetStreamLumaKey-Methode (d3d11.h)

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

Weitere Informationen

ID3D11VideoContext