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]. 如果 Enable 為 FALSE,則會忽略此參數。
[in] Upper
luma 索引鍵的上限。 有效範圍是 [0...1]. 如果 Enable 為 FALSE,則會忽略此參數。
傳回值
無
備註
若要使用這項功能,驅動程式必須支援 luma 索引鍵,以 D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LUMA_KEY 功能旗標表示。 若要查詢這項功能,請呼叫 ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps。 此外,如果輸入格式為 RGB,裝置必須支援 D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_LUMA_KEY 功能。
Lower 和 Upper 的值會使用 [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 |