ID3D11VideoContext::VideoProcessorSetStreamLumaKey メソッド (d3d11.h)
ビデオ プロセッサ上の入力ストリームの luma キーを設定します。
構文
void VideoProcessorSetStreamLumaKey(
[in] ID3D11VideoProcessor *pVideoProcessor,
[in] UINT StreamIndex,
[in] BOOL Enable,
[in] FLOAT Lower,
[in] FLOAT Upper
);
パラメーター
[in] pVideoProcessor
ID3D11VideoProcessor インターフェイスへのポインター。 このポインターを取得するには、 ID3D11VideoDevice::CreateVideoProcessor を呼び出します。
[in] StreamIndex
入力ストリームの 0 から始まるインデックス。 ストリームの最大数を取得するには、ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps を呼び出し、MaxStreamStates 構造体メンバーをチェックします。
[in] Enable
luma キー設定を有効にするかどうかを指定します。
[in] Lower
luma キーの下限。 有効な範囲は [0....1]. Enable が FALSE の場合、このパラメーターは無視されます。
[in] Upper
luma キーの上限。 有効な範囲は [0....1]. Enable が FALSE の場合、このパラメーターは無視されます。
戻り値
なし
解説
この機能を使用するには、ドライバーは、 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LUMA_KEY 機能フラグによって示される luma キー設定をサポートする必要があります。 この機能を照会するには、 ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps を呼び出します。 さらに、入力形式が RGB の場合、デバイスは D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_LUMA_KEY 機能をサポートする必要があります。
Lower と Upper の値は、標準範囲 [0...1] を使用して、ルマ キーの下限と上限を示します。 チャネルごとに n ビットの形式を指定すると、これらの値は次のように luma 値に変換されます。
val = f * ((1 << n)-1)
ルマ値が上限と下限 (両端を含む) 内にあるピクセルは、透明として扱われます。
たとえば、ピクセル形式で 8 ビット luma を使用する場合、上限は次のように計算されます。
BYTE Y = BYTE(max(min(1.0, Upper), 0.0) * 255.0)
この値は、255 を掛ける前に [0...1] の範囲に固定されることに注意してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | d3d11.h |