KSPROPERTY_CAMERACONTROL_EXTENDED_FOCUSMODE
A propriedade do modo de foco controla os modos de foco automático, manual e predefinido da câmera.
Tabela de Resumo de Uso
Get | Set | Destino | Tipo de descritor de propriedade | Tipo de valor da propriedade |
---|---|---|---|---|
Yes |
Yes |
Filtrar |
O valor da propriedade (dados de operação) contém uma estrutura KSCAMERA_EXTENDEDPROP_HEADER e uma estrutura KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING .
O tamanho total dos dados da propriedade é sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING). O membro Size de KSCAMERA_EXTENDEDPROP_HEADER é definido como esse tamanho total de dados da propriedade.
O membro Capability do KSCAMERA_EXTENDEDPROP_HEADER contém uma combinação OR bit a bit de uma ou mais das seguintes opções de processamento de vídeo.
Modo de processamento e foco | Descrição |
---|---|
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO | O driver de câmera usa sua própria lógica de processamento para vídeo. |
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_MANUAL | O driver de câmera usa um método de processamento predefinido ou um método baseado em temperatura. |
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK | O método de processamento de vídeo atual está bloqueado. |
KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS | Nenhum conjunto de pontos focal convergente. |
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_MACRO | Convergência focal do intervalo de macros. |
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_NORMAL | Convergência focal de intervalo normal. |
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_FULLRANGE | Convergência focal de intervalo completo. |
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_INFINITY | Convergência focal de intervalo infinito. |
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_HYPERFOCAL | Intervalo hiperfocal. |
O membro Flags do KSCAMERA_EXTENDEDPROP_HEADER contém o sinalizador de processamento de vídeo definido atualmente para a câmera. Se KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO configuração puder ser combinada com KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK.
Esse controle de propriedade é assíncrono e cancelável.
Comentários
Modos de processamento
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO
Esse sinalizador indica que a operação de foco automático convergiu quando o evento de conclusão é disparado. Após a conclusão e quando esse sinalizador não for combinado com KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK, o foco poderá divergir e o driver da câmera poderá continuar tentando convergência. Se o sinalizador KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK for incluído, o foco será bloqueado para a primeira convergência e não será alterado até que um novo comando de foco seja recebido.
O bloqueio, sem combinar o modo Automático, um controle já bloqueado deve ser tratado como não operacional pelo driver da câmera. O bloqueio, em combinação com o modo Automático, um controle já bloqueado deve disparar uma nova convergência.
Esse sinalizador é mutuamente exclusivo com os sinalizadores KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_MANUAL e KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS.
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_MANUAL
Manual indica que, para esse processamento de vídeo, os valores específicos são fornecidos. Valores específicos são fornecidos ao driver.
Esse sinalizador não deve ser combinado com KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO, KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK ou KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS.
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK
Quando esse sinalizador é definido sem um sinalizador de KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO correspondente, espera-se que o driver da câmera bloqueie o estado de foco atual e dispare o evento de conclusão depois que o foco estiver bloqueado. O driver da câmera não deve variar o estado de foco até que um novo comando de foco seja recebido. Se KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO combinado esse sinalizador, o driver da câmera convergirá no foco automático e bloqueará o foco para esse ponto convergido e, em seguida, disparará o evento de conclusão. Esse sinalizador não deve ser combinado com KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS ou KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_MANUAL.
Esse sinalizador pode não ser especificado com um sinalizador de intervalo para o controle de foco, a menos que seja combinado com KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO. Nesse caso, o foco é executado usando o sinalizador de intervalo para determinar onde tentar a verificação de foco automático. Em seguida, após a convergência, a configuração de foco é bloqueada e o evento de conclusão é acionado.
KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS
Esse sinalizador indica que o foco é contínuo. Nesse caso, não há um ponto de convergência único para o controle de foco. O driver deve aceitar essa solicitação e concluir a operação assíncrona imediatamente.
Esse sinalizador não deve ser combinado com KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO, KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK ou KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_MANUAL.
Esse modo é necessário para todos os drivers.
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_MACRO
Esse sinalizador indica que a convergência de foco deve ser executada para o intervalo de macros. O intervalo focal exato é determinado pelo driver. Esse sinalizador pode ser combinado com KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO e KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS.
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_NORMAL
Esse sinalizador indica que a convergência de foco deve ser executada para o intervalo normal. O intervalo focal exato é determinado pelo driver. Esse sinalizador pode ser combinado com KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO e KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS.
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_FULLRANGE
Esse sinalizador indica que a convergência de foco deve ser executada para o intervalo completo. O intervalo focal exato é determinado pelo driver. Esse sinalizador pode ser combinado com KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO e KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS.
Esse modo é necessário para todos os drivers.
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_INFINITY
Esse sinalizador indica que a convergência de foco deve ser executada para o intervalo infinito. O intervalo focal exato é determinado pelo driver. Esse sinalizador pode ser combinado com KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO e KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS.
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_HYPERFOCAL
Esse sinalizador indica que a convergência de foco deve ser executada para o intervalo hiperfocal. O intervalo focal exato é determinado pelo driver. Esse sinalizador pode ser combinado com KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO e KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS.
Obtendo a propriedade
Ao responder a uma solicitação de KSPROPERTY_TYPE_GET, o driver define os membros do KSCAMERA_EXTENDEDPROP_HEADER para o seguinte.
Membro | Valor |
---|---|
Versão | 1 |
PinId | KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF). |
Tamanho | sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING) |
Result | 0 |
Funcionalidade | KSCAMERA_EXTENDEDPROP_CAPS_ASYNCCONTROL | KSCAMERA_EXTENDEDPROP_CAPS_CANCELLABLE | (Com suporte para processamento de vídeo e modos de foco) |
Flags | O processamento de vídeo atual e o modo de foco. |
Se nenhum sinalizador de intervalo de foco tiver sido definido anteriormente, o driver definirá Sinalizadores como KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_FULLRANGE juntamente com KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO (padrão). Os membros da estrutura KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING que segue KSCAMERA_EXTENDEDPROP_HEADER são definidos de acordo com os requisitos do modo de foco.
O valor VideoProp.Value.ull deve conter a configuração de exposição atual quando o modo é KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO.
Definindo a propriedade
Quando a propriedade for definida, uma solicitação KSPROPERTY_TYPE_SET, o membro Flags de KSCAMERA_EXTENDEDPROP_HEADER conterá o modo de foco a ser definido. O membro VideoProc.Value de KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING deve ser ignorado quando Flags contém os sinalizadores KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO, KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS.
Requisitos
Versão |
Disponível a partir do Windows 8.1. |
parâmetro |
Ksmedia.h (inclua Ksmedia.h) |