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

輸入數據流以零起始的索引。 若要取得數據流數目上限,請呼叫 ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps ,並檢查 MaxStreamStates 結構成員。

[in] Enable

指定是否啟用 luma 索引鍵。

[in] Lower

luma 索引鍵的下限。 有效範圍是 [0...1]. 如果 EnableFALSE,則會忽略此參數。

[in] Upper

luma 索引鍵的上限。 有效範圍是 [0...1]. 如果 EnableFALSE,則會忽略此參數。

傳回值

備註

若要使用這項功能,驅動程式必須支援 luma 索引鍵,以 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LUMA_KEY 功能旗標表示。 若要查詢這項功能,請呼叫 ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps。 此外,如果輸入格式為 RGB,裝置必須支援 D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_LUMA_KEY 功能。

LowerUpper 的值會使用 [0...1] 指定 luma 索引鍵的下限和上限。 假設每個通道有 n 個位的格式,這些值會轉換成 luma 值,如下所示:

val = f * ((1 << n)-1)

其 luma 值落在上限和下限的任何圖元, (內含) 會視為透明。

例如,如果像素格式使用 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