KSPROPERTY_CAMERACONTROL_EXTENDED_ZOOM
KSPROPERTY_CAMERACONTROL_EXTENDED_ZOOM é usado para controlar o zoom digital. Ele é definido na enumeração KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY e é usado para obter e definir a taxa de zoom e obter intervalos de zoom do driver. Em Windows 10, esse controle é estendido para também dar suporte ao zoom suave.
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 zoom suave versus o zoom direto. O padrão é definido pelo driver.
#define KSCAMERA_EXTENDEDPROP_ZOOM_DEFAULT 0x0000000000000000
#define KSCAMERA_EXTENDEDPROP_ZOOM_DIRECT 0x0000000000000001
#define KSCAMERA_EXTENDEDPROP_ZOOM_SMOOTH 0x0000000000000002
Se o driver der suporte a esse controle, ele deverá dar suporte a KSCAMERA_EXTENDEDPROP_ZOOM_DEFAULT.
Se o driver não der suporte ao zoom digital, o driver não deverá implementar esse controle.
A tabela a seguir descreve os recursos de sinalizador.
Sinalizador | Descrição |
---|---|
KSCAMERA_EXTENDEDPROP_ZOOM_DEFAULT |
Essa é uma funcionalidade obrigatória. Quando especificado, o driver decidirá se um zoom direto ou zoom suave deve ser aplicado e ampliará o fator de zoom de destino especificado em VideoProc.Value.ul adequadamente. Esse sinalizador é mutuamente exclusivo com os sinalizadores DIRECT e SMOOTH. |
KSCAMERA_EXTENDEDPROP_ZOOM_DIRECT |
Essa é uma funcionalidade obrigatória. Quando especificado, o driver ampliará o fator de zoom de destino especificado em VideoProc.Value.ul o mais rápido possível. Esse sinalizador é mutuamente exclusivo com os sinalizadores AUTO e SMOOTH. |
KSCAMERA_EXTENDEDPROP_ZOOM_SMOOTH |
Essa funcionalidade é opcional. Quando especificado, o driver ampliará gradualmente o fator de zoom de destino especificado em VideoProc.Value.ul de maneira suave. O número de quadros necessários para alcançar o fator de zoom especificado é até o driver. Esse sinalizador é mutuamente exclusivo com os sinalizadores AUTO e DIRECT. |
Para cada chamada GET , o driver deve relatar os intervalos de zoom atuais permitidos com base em configurações ou configurações atuais.
A tabela a seguir contém as descrições e os requisitos para os campos de estrutura KSCAMERA_EXTENDEDPROP_HEADER ao usar a propriedade KSPROPERTY_CAMERACONTROL_EXTENDED_ZOOM .
Membro | Descrição |
---|---|
Versão |
Isso deve ser 1, |
PinId |
Isso deve ser KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF), |
Tamanho |
Isso deve ser sizeof(KSCAMERA_EXTENDEDPROP_HEADER)+sizeof(KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING), |
Result |
Isso indica os resultados do erro da última operação SET. Se nenhuma operação SET tiver ocorrido, isso deverá ser 0. |
Funcionalidade |
Deve ser um OR bit a bit dos sinalizadores com suporte definidos acima. |
Flags |
Este é um campo de leitura/gravação. Esse pode ser qualquer um dos sinalizadores com suporte definidos acima. |
A tabela a seguir contém as descrições e os requisitos para os campos de estrutura KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING para a propriedade KSPROPERTY_CAMERACONTROL_EXTENDED_ZOOM .
Membro | Descrição |
---|---|
Mode |
Isso não é utilizado e deve ser 0. |
Min/Max/Step |
Min/Max/Step contém o mínimo/máximo/incremento da taxa de zoom compatível com o driver de câmera no formato Q16. O driver deve retornar esses valores para operações GET . |
VideoProc |
Para operações SET , o VideoProc.Value.ul deve especificar a taxa de zoom dentro do intervalo descrito pelo parâmetro Min/Max/Step. Para operações GET , o driver deve retornar a taxa de zoom atual. |
Reservado |
Isso não é utilizado. Isso deve ser ignorado pelo driver. |
Esse controle de propriedade é síncrono e não pode ser cancelado.
Requisitos
parâmetro |
Ksmedia.h |