KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION
KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION é uma ID de propriedade usada para controlar o desfoque da tela de fundo no driver.
Essa propriedade controla uma correção no fluxo que um driver pode executar para habilitar a correção de imagem de alta qualidade para uso com imagens de visualização e gravadas. A correção no fluxo precisa ser habilitada e desabilitada no driver de maneira uniforme, para que os recursos possam ser controlados pelo Windows ou por um aplicativo.
Exemplos de configuração de controles KSPROPERTY podem ser encontrados no Driver de Exemplo de Câmera AVStream no GitHub.
Atualizar para KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION controle
A partir do Windows 11, versão 22H2, o modo de foco superficial foi introduzido no controle de segmentação em segundo plano existente como uma funcionalidade opcional.
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_SHALLOWFOCUS é um novo sinalizador adicionado ao controle KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION usado para controlar o Bokeh (modo de foco superficial) no driver. Esta é uma versão do KSPROPERTY_CAMERACONTROL_EXTENDED_BACKGROUNDSEGMENTATION de desfoque de plano de fundo, em que a ênfase é menos na privacidade e mais em fazer com que a tela de fundo do usuário pareça de uma câmera de maior qualidade com profundidade de efeito de campo. Isso visualmente fará com que o assunto em primeiro plano se destaque, semelhante à forma como a fotografia do modo retrato em muitos telefones celulares se tornou popular.
Tabela de resumo de uso
Escopo | Control | Tipo |
---|---|---|
Versão 1 | Filtrar | Síncrono |
Os sinalizadores a seguir podem ser colocados no KSCAMERA_EXTENDEDPROP_HEADER. Campo Sinalizadores para controlar o modo de foco superficial.
#define KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_OFF 0x0000000000000000
#define KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_BLUR 0x0000000000000001
#define KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_MASK 0x0000000000000002
#define KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_SHALLOWFOCUS 0x0000000000000004
Se o driver der suporte a esse controle, ele deverá dar suporte a BACKGROUNDSEMENTATION_OFF e um ou mais dos outros sinalizadores.
Se o driver não der suporte à segmentação em segundo plano, o driver não deverá implementar esse controle.
A chamada SET desse controle deve entrar em vigor mesmo quando o pino 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 sinalizador.
Sinalizador | Descrição |
---|---|
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_OFF | Essa é uma funcionalidade obrigatória. Quando especificado, a segmentação em segundo plano é desabilitada no driver. Esse é o valor padrão. |
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_BLUR | Essa é uma funcionalidade opcional. Quando especificado, o desfoque de plano de fundo é habilitado no driver e se aplica ao quadro, se possível. |
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_MASK | Essa é uma funcionalidade opcional. Quando especificado, a produção de metadados de máscara de plano de fundo é habilitada no driver (se possível, dado o MediaType usado conforme expresso por meio do conjunto de KSPROPERTY_CAMERACONTROL_EXTENDED_ BACKGROUNDSEGMENTATION_CONFIGCAPS retornado no campo Tamanho do KSCAMERA_EXTENDEDPROP_HEADER). Observe que isso pode ter suporte não apenas para câmeras coloridas, mas também para câmeras de profundidade e IR. |
KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_SHALLOWFOCUS | Essa é uma funcionalidade opcional. Quando especificado junto com KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_BLUR , o foco superficial é habilitado no driver. |
Observação
De uma perspectiva SET, KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_SHALLOWFOCUS precisa ser adicionado junto com KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_BLUR para entrar em vigor; Eles também podem ser definidos junto com KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION_MASK.
A tabela a seguir 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 | Isso deve ser 1. |
PinId | Isso deve ser KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF). |
Tamanho | Deve ser sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE). |
Result | Não utilizado, deve ser 0. |
Funcionalidade | Deve ser um OR bit a bit dos sinalizadores KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION _* com suporte definidos acima. |
Flags | Este é um campo de leitura/gravação. Pode ser qualquer um dos sinalizadores _* KSCAMERA_EXTENDEDPROP_BACKGROUNDSEGMENTATION definidos acima, exceto SHALLOWFOCUS (que precisa ser definido junto com BLUR para entrar em vigor) ou combinações válidas dos bits. De uma perspectiva SET, o modo de foco superficial será habilitado somente quando SHALLOWFOCUS e BLUR forem definidos ao mesmo tempo, eles poderão ser definidos junto com MASK. |
Requisitos
Cliente mínimo com suporte: Windows 11, versão 22H2
Cabeçalho: ksmedia.h (inclua Ksmedia.h)
Confira também
Exemplo de driver do modo retrato de segmentação de plano de fundo e do modo de olhar
KSPROPERTY_CAMERACONTROL_EXTENDED_EYEGAZECORRECTION