KSPROPERTY_CAMERACONTROL_EXTENDED_FIELDOFVIEW2

KSPROPERTY_CAMERACONTROL_EXTENDED_FIELDOFVIEW2 é um ID de propriedade que especifica o FoV (campo de visão) diagonal da câmera em graus. Os valores de FoV diagonal correspondem ao FoV diagonal na proporção nativa do sensor. Isso resulta em proporções não nativas que têm FoV diagonal real ligeiramente diferente.

Proporções do campo de visão diagonal.

Esse controle está relacionado a KSPROPERTY_CAMERACONTROL_EXTENDED_DIGITALWINDOW, KSPROPERTY_CAMERACONTROL_ZOOM e KSPROPERTY_CAMERACONTROL_EXTENDED_ZOOM. Veja a seção de observações abaixo para saber os requisitos de interoperabilidade.

Tabela do resumo de uso

Escopo Obter Definir Control Tipo
Versão 1 Sim Sim Filter Síncrono

Campos de estrutura KSCAMERA_EXTENDEDPROP_HEADER

A tabela abaixo contém os requisitos dos campos de estrutura KSCAMERA_EXTENDEDPROP_HEADER ao usar o controle.

Membro Descrição
Versão Deve ser 1.
PinId KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF)
Tamanho Deve ser sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE)
Resultado Deve conter 0. Esse campo é usado apenas para retornar os resultados da última operação SET assíncrona.
Funcionalidade Deve ser 0.
Sinalizadores Deve ser 0.

Payload KSCAMERA_EXTENDEDPROP_VALUE

O payload usa a estrutura de KSCAMERA_EXTENDEDPROP_VALUE existente com um tipo ULONG.

Comentários

Interoperabilidade com KSPROPERTY_CAMERACONTROL_ZOOM e KSPROPERTY_CAMERACONTROL_EXTENDED_ZOOM

Se um driver/dispositivo optar por oferecer suporte a esse novo controle de FoV e ao KSPROPERTY_CAMERACONTROL_ZOOM antigo ou ao KSPROPERTY_CAMERACONTROL_EXTENDED_ZOOM, o controle de zoom deverá funcionar dentro da nova seleção de FoV (campo de visão). Ou seja, o Zoom é relativo ao FoV. Para valores diferentes de FoV, o mesmo valor de Zoom resultará em quantidades diferentes de zoom aparente. Além disso, definir o FoV sempre redefine o Zoom para o valor padrão, independentemente de haver uma alteração no valor real do FoV.

Por exemplo, o antigo intervalo de controle de Zoom é especificado para ser de 10 a 600, e o zoom tem seu valor padrão, 10, quando a nova configuração de FoV é definida de 75 graus a 90 graus. O controle de zoom antigo ainda estará em 10 com o mesmo intervalo de 10 a 600. Porém, se o zoom antigo estava em 50, será redefinido para 10 quando o novo valor de FoV for definido.

Interoperabilidade com KSPROPERTY_CAMERACONTROL_EXTENDED_DIGITALWINDOW e DIGITALWINDOW_CONFIGCAPS

Se um driver/dispositivo optar por oferecer suporte a esse novo controle de FoV2 e aos controles de DW (janela digital), os seguintes requisitos deverão ser seguidos:

  • Se o único objetivo da implementação do suporte à janela digital for oferecer suporte a KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_AUTOFACEFRAMING, será aceitável que a janela digital manual suporte apenas um tamanho de janela que represente a janela completa. Essa janela completa deve corresponder ao DefaultDiagonalFieldOfViewInDegrees do FIELDOFVIEW2_CONFIGCAPS, embora o FoV máximo possa ser mais amplo. Nesse caso, os requisitos listados abaixo para uma janela digital manual podem ser ignorados, pois a janela digital manual não é totalmente suportada.

  • A área da janela digital manual suportada deve cobrir pelo menos a configuração de FoV mais ampla, por exemplo, usando a janela digital, você pode criar um corte digital que corresponda a qualquer uma das configurações de FoV suportadas. Se o FoV padrão não for o FoV mais amplo, a Janela Digital deverá usar os valores do pórtico para representar as janelas mais amplas.

  • KSPROPERTY_CAMERACONTROL_EXTENDED_DIGITALWINDOW_CONFIGCAPS deve relatar os mesmos recursos, independentemente do estado de controle de FoV.

    • A Janela Digital manual atual deve refletir a configuração atual de FoV e vice-versa, e o último controle vence.

    • Quando uma Janela Digital manual for definida, o FoV deverá ser alterado internamente para a menor configuração de FoV disponível que engloba a área da janela selecionada. Isso significa que as coordenadas de origem da Janela Digital poderão causar alterações no FoV, mesmo que o tamanho da Janela Digital permaneça o mesmo. Por exemplo, se as coordenadas de origem da Janela Digital estiverem no canto superior esquerdo com tamanho de janela de 0,4, a configuração de FoV anunciará o FoV mais amplo disponível (neste exemplo, 120°), caso contrário, não abrangerá essa área. Porém, se uma segunda Janela Digital com o mesmo tamanho de janela for feita como corte central, o FoV refletido provavelmente será algo mais estreito (75°, no exemplo).

    • Quando KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_AUTOFACEFRAMING é suportado e definido, o driver/dispositivo deve alterar internamente o FoV para a configuração mais ampla. Por exemplo, a operação GET para KSPROPERTY_CAMERACONTROL_EXTENDED_FIELDOFVIEW2 retornará a configuração de FoV mais ampla quando KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_AUTOFACEFRAMING estiver habilitada. No entanto, qualquer operação SET bem-sucedida para KSPROPERTY_CAMERACONTROL_EXTENDED_FIELDOFVIEW2 mudará a Janela Digital de volta para o modo KSCAMERA_EXTENDEDPROP_DIGITALWINDOW_MANUAL, pois o último controle vence.

Janela Digital e controle de campo de visão sincronizam o comportamento em diferentes configurações de Janela Digital.

Interoperabilidade com controles de região de interesse

Como esse controle altera o FoV (campo de visão) aparente, as coordenadas selecionadas por meio de qualquer controle de ROI (região de interesse) deverão ser redefinidas para seus padrões sempre que um SET for emitido para esse controle. A lista de controles de ROI atuais inclui:

  • KSPROPERTY_CAMERACONTROL_REGION_OF_INTEREST_PROPERTY_ID

  • KSPROPERTY_CAMERACONTROL_EXTENDED_ROI_CONFIGCAPS / KSPROPERTY_CAMERACONTROL_EXTENDED_ROI_ISPCONTROL

Se definirmos um controle futuro que defina uma região retangular, esse controle também deverá ser redefinido.

Além disso, os controles de Região de Interesse especificam suas regiões em relação à janela de saída, de modo que as coordenadas especificadas sejam sempre um retângulo no campo de visão atual. Como esse controle altera o campo de visão atual, um retângulo de Região de Interesse deverá ser remapeado pela câmera para caber no campo de visão atual.

Requisitos

Cliente mínimo com suporte: Windows 11, versão 24H2

Cabeçalho: ksmedia.h (incluir Ksmedia.h)

Confira também

KSCAMERA_EXTENDEDPROP_FIELDOFVIEW2_CONFIGCAPS

KSCAMERA_EXTENDEDPROP_HEADER

KSCAMERA_EXTENDEDPROP_VALUE

KSPROPERTY_CAMERACONTROL_EXTENDED_FIELDOFVIEW2_CONFIGCAPS