Compartilhar via


KSPROPERTY_CAMERACONTROL_EXTENDED_VIDEOSTABILIZATION

Esse controle de propriedade estendida é usado para controlar a estabilização de vídeo digital no driver\MFT0.

Tabela de resumo de uso

Escopo Control Tipo

Versão 1

Pin

Síncrono

Os sinalizadores a seguir que podem ser colocados no KSCAMERA_EXTENDEDPROP_HEADER. Sinaliza sinalizadores de campo para controlar a estabilização de vídeo digital no driver\MFT0. Por padrão, o driver deve ter a estabilização de vídeo desativada.

#define KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_OFF       0x0000000000000000
#define KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_ON        0x0000000000000001
#define KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_AUTO      0x0000000000000002

Se o driver não der suporte à estabilização de vídeo digital, o driver não deverá implementar esse controle.

Se o driver der suporte a esse controle, ele deverá dar suporte a VIDEOSTABILIZATION_ON\OFF.

A chamada SET desse controle não tem efeito quando o pino de vídeo está em qualquer estado superior ao estado KSSTATE_STOP. O driver rejeitará a chamada SET recebida se o pino de vídeo não estiver no estado de parada e retornar STATUS_INVALID_DEVICE_STATE. Em uma chamada GET, o driver deve retornar as configurações atuais no campo Sinalizadores.

Quando esse controle é usado no contexto de um perfil, o perfil deve servir como uma dica para o driver para o modo de qualidade. O driver pode determinar se deseja otimizar para baixa latência ou alta qualidade quando a estabilização de vídeo é ativada com base no perfil selecionado, por exemplo, videoconferência ou gravação de vídeo de alta qualidade.

Observação

PROPSETID_VIDCAP_CAMERACONTROL_VIDEO_STABILIZATION será preterido para Windows 10.

A tabela a seguir descreve os recursos de sinalizador.

Sinalizador Descrição

KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_OFF

Essa é uma funcionalidade obrigatória. Quando especificado, a estabilização de vídeo digital é desabilitada no driver\MFT0.

KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_ON

Essa é uma funcionalidade obrigatória. Quando especificada, a estabilização de vídeo digital é habilitada em driver\MFT0 e a configuração de preenchimento de excesso padrão é até o driver. Esse sinalizador é mutuamente exclusivo com os sinalizadores AUTO e OFF.

KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_AUTO

Essa funcionalidade é opcional. Quando especificado, o driver que dá suporte a essa funcionalidade determinará se a estabilização de vídeo deve ser executada e quanta estabilização deve ser aplicada com base na análise de cena e no cenário de captura. Esse sinalizador é mutuamente exclusivo com os sinalizadores ON e OFF.

Observação

Dependendo da implementação, o buffer verificado demais pode ser alocado pelo driver internamente ou pelo pipeline.

Se o buffer verificado for alocado pelo driver, o driver deverá anunciar o tipo de mídia regular e o tipo de mídia verificado demais. O MFT0 deve anunciar o tipo de mídia regular. Ao definir o tipo de mídia regular no tipo de mídia de saída do MFT0, o MFT0 deverá selecionar o tipo de mídia verificado em excesso correspondente dos tipos de mídia anunciados pelo driver como seu tipo de mídia de entrada, se a estabilização de vídeo estiver ativada. Se a estabilização de vídeo estiver desativada, o MFT0 deverá selecionar o tipo de mídia regular como seu tipo de mídia de entrada. O MFT0 deverá retornar MF_E_INVALIDMEDIATYPE se o tipo de mídia super digitalizado estiver definido como seu tipo de mídia de saída quando a estabilização de vídeo estiver ativada.

Se o buffer verificado for alocado pelo driver, o driver e o MFT0 deverão anunciar os tipos de mídia regulares. O MFT0 deve definir o tipo de mídia regular para o tipo de mídia de entrada e o tipo de mídia de saída.

Para dar suporte à estabilização de vídeo baseada em efeito (ou seja, estabilização de vídeo feita nem no driver nem no MFT0), o driver e o MFT0 também devem anunciar o tipo de mídia super digitalizado independentemente. Nesse caso, os tipos de mídia regulares e superscanned são expostos pelo driver e pelo MFT0. As regras a seguir serão aplicadas para garantir que a estabilização de vídeo baseada em efeito e driver\MFT0 esteja funcionando corretamente.

  • Se um tipo de mídia super digitalizado for definido como o tipo de mídia de saída MFT0 enquanto a estabilização de vídeo baseada em driver\MFT0 estiver ativada, o MFT0 deverá retornar MF_E_INVALIDMEDIATYPE.

  • Se um tipo de mídia regular for definido como o tipo de mídia de saída MFT0, o aplicativo deverá retornar um erro na tentativa de ativar a estabilização de vídeo baseada em efeito se a estabilização de vídeo baseada em efeito só puder assumir o tipo de mídia superscannada.

A tabela a seguir contém as descrições e os requisitos para os campos de estrutura KSCAMERA_EXTENDEDPROP_HEADER ao usar o controle de estabilização de vídeo.

Membro Descrição

Versão

Isso deve ser 1.

PinId

Deve ser a ID do Pino associada ao pino de vídeo.

Tamanho

Deve ser sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE).

Result

Indica os resultados do erro da última operação SET. Se nenhuma operação SET tiver ocorrido, ela deverá ser 0.

Funcionalidade

Isso deve ser um OR bit a bit dos sinalizadores de KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_XXX com suporte, conforme definido acima.

Flags

Este é um campo de leitura/gravação. Pode ser qualquer um dos sinalizadores de KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_XXX definidos acima.

Requisitos

parâmetro

Ksmedia.h