次の方法で共有


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]. EnableFALSE の場合、このパラメーターは無視されます。

[in] Upper

luma キーの上限。 有効な範囲は [0....1]. EnableFALSE の場合、このパラメーターは無視されます。

戻り値

なし

解説

この機能を使用するには、ドライバーは、 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LUMA_KEY 機能フラグによって示される luma キー設定をサポートする必要があります。 この機能を照会するには、 ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps を呼び出します。 さらに、入力形式が RGB の場合、デバイスは D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_LUMA_KEY 機能をサポートする必要があります。

LowerUpper の値は、標準範囲 [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

こちらもご覧ください

ID3D11VideoContext