Condividi tramite


Metodo ID3D11VideoContext::VideoProcessorSetStreamLumaKey (d3d11.h)

Imposta la chiave luma per un flusso di input nel processore video.

Sintassi

void VideoProcessorSetStreamLumaKey(
  [in] ID3D11VideoProcessor *pVideoProcessor,
  [in] UINT                 StreamIndex,
  [in] BOOL                 Enable,
  [in] FLOAT                Lower,
  [in] FLOAT                Upper
);

Parametri

[in] pVideoProcessor

Puntatore all'interfaccia ID3D11VideoProcessor . Per ottenere questo puntatore, chiamare ID3D11VideoDevice::CreateVideoProcessor.

[in] StreamIndex

Indice in base zero del flusso di input. Per ottenere il numero massimo di flussi, chiamare ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps e controllare il membro della struttura MaxStreamStates .

[in] Enable

Specifica se luma keying è abilitato.

[in] Lower

Limite inferiore per la chiave luma. L'intervallo valido è [0... 1]. Se Enable è FALSE, questo parametro viene ignorato.

[in] Upper

Limite superiore per la chiave luma. L'intervallo valido è [0... 1]. Se Enable è FALSE, questo parametro viene ignorato.

Valore restituito

nessuno

Osservazioni

Per usare questa funzionalità, il driver deve supportare il tasto luma, indicato dal flag di funzionalità D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LUMA_KEY . Per eseguire una query per questa funzionalità, chiamare ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps. Inoltre, se il formato di input è RGB, il dispositivo deve supportare la funzionalità di D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_LUMA_KEY .

I valori di Lower e Upper assegnano i limiti inferiori e superiori della chiave luma, usando un intervallo nominale di [0...1]. Dato un formato con n bit per canale, questi valori vengono convertiti in valori luma come indicato di seguito:

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

Qualsiasi pixel il cui valore luma rientra nei limiti superiori e inferiori (inclusi) viene considerato trasparente.

Ad esempio, se il formato pixel usa luma a 8 bit, il limite superiore viene calcolato come segue:

BYTE Y = BYTE(max(min(1.0, Upper), 0.0) * 255.0)

Si noti che il valore è bloccato all'intervallo [0...1] prima di moltiplicare per 255.

Requisiti

Requisito Valore
Client minimo supportato Windows 8 [app desktop | App UWP]
Server minimo supportato Windows Server 2012 [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione d3d11.h

Vedi anche

ID3D11VideoContext