KSPROPERTY_CAMERACONTROL_EXTENDED_EYEGAZECORRECTION

KSPROPERTY_CAMERACONTROL_EXTENDED_EYEGAZECORRECTION é uma ID de propriedade usada para controlar a correção do olhar no driver.

Essa ID de propriedade controla uma correção in-stream que um driver pode executar para habilitar a correção de imagens de alta qualidade para uso com imagens prévias e gravadas. A correção in-stream precisa ser habilitada e desabilitada no driver de maneira uniforme para que os recursos sejam controlados pelo Windows ou por um aplicativo.

Exemplos de configuração de controles KSPROPERTY podem ser encontrados em AVStream Camera Sample Driver no GitHub.

Atualização para controle KSPROPERTY_CAMERACONTROL_EXTENDED_EYEGAZECORRECTION

A partir do Windows 11, versão 22H2, o modo Stare é introduzido no controle de correção do olhar existente como um recurso opcional.

KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_STARE é um novo sinalizador adicionado ao controle KSPROPERTY_CAMERACONTROL_EXTENDED_EYEGAZECORRECTION que é usado para controlar o modo Stare no driver.

Enquanto a correção do olhar (também conhecida como contato visual) soluciona o problema geométrico do deslocamento entre a câmera e a tela, muitos cenários de vídeo exigem que o usuário fique olhando para a tela por longos períodos enquanto também fala: imagine ler uma apresentação/documento em uma chamada.

O modo Stare é uma forma mais agressiva de contato visual que muda continuamente os pixels dos olhos para fazer parecer que você está falando com o público, mesmo que esteja lendo um roteiro e movendo o globo ocular rapidamente.

Tabela do resumo de uso

Escopo Control Tipo
Versão 1 Filter Síncrono

Os sinalizadores a seguir podem ser colocados no campo KSCAMERA_EXTENDEDPROP_HEADER.Flags para controlar o modo Stare. O padrão deve ser desativado.

#define KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_OFF   0x0000000000000000
#define KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_ON    0x0000000000000001
#define KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_STARE 0x0000000000000002

Se o driver oferecer suporte a este controle, ele deverá oferecer suporte a EYEGAZECORRECTION_OFF e a um ou mais dos outros sinalizadores.

Se o driver não suportar a correção do olhar, o driver não deve implementar este controle.

A chamada SET deste controle entrará em vigor mesmo quando o pin de vídeo ou foto estiver no estado KSSTATE_RUN. Em uma chamada GET, o driver deve retornar as configurações atuais no campo Sinalizadores.

A tabela a seguir descreve os recursos de sinalização.

Sinalizador Descrição
KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_OFF Este é um recurso obrigatório. Quando especificado, a correção do olhar é desabilitada no driver.
KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_ON Este é um recurso obrigatório. Quando especificado, a correção do olhar é habilitada no driver.
KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_STARE Este é um recurso opcional. Quando especificado junto com KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_ON, o modo Stare é habilitado no driver.

Observação

De uma perspectiva SET, o modo Stare será habilitado somente quando KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_STARE e KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_ON estiverem definidos ao mesmo tempo. KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_OFF precisa ser exclusivo para os outros dois bits.

A tabela abaixo contém as descrições e os requisitos para os campos de estrutura KSCAMERA_EXTENDEDPROP_HEADER ao usar o controle.

Membro Descrição
Versão Deve ser 1.
PinId Deve ser KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF).
Tamanho Deve ser sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE).
Resultado Não usado, deve ser 0.
Funcionalidade Deve ser um bit a bit OU dos sinalizadores KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_* suportados definidos acima.
Sinalizadores Este é um campo de leitura/gravação. Pode ser qualquer um dos sinalizadores KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_* definidos acima, exceto KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_STARE (que precisa ser definido junto com ON para entrar em vigor) ou combinações válidas dos bits. De uma perspectiva SET, o modo Stare é habilitado somente quando KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_STARE e KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_ON estão definidos ao mesmo tempo. KSCAMERA_EXTENDEDPROP_EYEGAZECORRECTION_OFF precisa ser exclusivo para os outros dois bits.

Requisitos

Cliente mínimo com suporte: Windows 11, versão 22H2

Cabeçalho: ksmedia.h (incluir Ksmedia.h)

Confira também

Modo retrato de segmentação de plano de fundo e exemplo de driver do modo focar com o olhar

KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION

KSCAMERA_EXTENDEDPROP_HEADER