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