Compartilhar via


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