Compartir a través de


Método ID3D11VideoContext::VideoProcessorSetStreamLumaKey (d3d11.h)

Establece la clave luma para una secuencia de entrada en el procesador de vídeo.

Sintaxis

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

Parámetros

[in] pVideoProcessor

Puntero a la interfaz ID3D11VideoProcessor . Para obtener este puntero, llame a ID3D11VideoDevice::CreateVideoProcessor.

[in] StreamIndex

Índice de base cero del flujo de entrada. Para obtener el número máximo de secuencias, llame a ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps y compruebe el miembro de estructura MaxStreamStates .

[in] Enable

Especifica si la creación de claves luma está habilitada.

[in] Lower

Límite inferior para la clave luma. El intervalo válido es [0... 1]. Si Enable es FALSE, este parámetro se omite.

[in] Upper

Límite superior de la clave luma. El intervalo válido es [0... 1]. Si Enable es FALSE, este parámetro se omite.

Valor devuelto

None

Observaciones

Para usar esta característica, el controlador debe admitir el cifrado de luma, indicado por la marca de funcionalidad D3D11_VIDEO_PROCESSOR_FEATURE_CAPS_LUMA_KEY . Para consultar esta funcionalidad, llame a ID3D11VideoProcessorEnumerator::GetVideoProcessorCaps. Además, si el formato de entrada es RGB, el dispositivo debe admitir la funcionalidad D3D11_VIDEO_PROCESSOR_FORMAT_CAPS_RGB_LUMA_KEY .

Los valores de Lower y Upper dan los límites inferiores y superiores de la clave luma, utilizando un intervalo nominal de [0...1]. Dado un formato con n bits por canal, estos valores se convierten en valores luma de la siguiente manera:

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

Cualquier píxel cuyo valor luma se encuentre dentro de los límites superior e inferior (ambos incluidos) se trata como transparente.

Por ejemplo, si el formato de píxel usa luma de 8 bits, el límite superior se calcula de la siguiente manera:

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

Tenga en cuenta que el valor se sujeta al intervalo [0...1] antes de multiplicar por 255.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8 [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2012 [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado d3d11.h

Consulte también

ID3D11VideoContext