KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED
KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED é um controle de propriedade estendido que permite mais controle ISO global com mais granularidade.
Tabela de resumo de uso
Escopo | Control | Tipo |
---|---|---|
Versão 1 |
Fixar (Foto) |
Assíncronos |
O novo sinalizador KSCAMERA_EXTENDEDPROP_ISO_MANUAL é definido em ksmedia_phone.h da seguinte maneira.
#define KSCAMERA_EXTENDEDPROP_ISO_MANUAL 0x0080000000000000
A tabela a seguir contém as descrições e os requisitos para os campos de estrutura KSCAMERA_EXTENDEDPROP_HEADER para o controle KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED.
O Windows 8.1 KS_CAMERACONTROL_EXTENDED_ISO permanece inalterado sem o suporte de ISO manual inteiro. O driver só deve dar suporte ao novo controle KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED. Se ambos os controles tiverem suporte, o pipeline usará como padrão o controle KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED.
Se houver suporte para o controle KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED, os únicos recursos que o driver pode anunciar serão os seguintes.
KSCAMERA_EXTENDEDPROP_ISO_AUTO
KSCAMERA_EXTENDEDPROP_ISO_MANUAL
KSCAMERA_EXTENDEDPROP_CAPS_ASYNCCONTROL
Se o driver anunciar o sinalizador de funcionalidade KSCAMERA_EXTENDEDPROP_ISO_MANUAL, ele também deverá anunciar os intervalos de ISO com suporte no valor Min/Max/Step da propriedade KSCAMERA_EXTENDED_PROP_VIDEOPROCSETTING. Se o driver anunciar um valor Min de 0 e um valor Máximo de 0 ou um valor Step menor que 1, o controle será sinalizado como inutilizável e será rejeitado pelo pipeline.
Se o driver der suporte a KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED e KSPROPERTY_CAMERACONTROL_EXTENDED_ISO, o driver deverá anunciar KSCAMERA_EXTENDEDPROP_ISO_AUTO para KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED e KSPROPERTY_CAMERACONTROL_EXTENDED_ISO. Caso contrário, ambos os controles ISO serão sinalizados como inutilizáveis e rejeitados pelo pipeline do MF.
Se o driver anunciar KSCAMERA_EXTENDEDPROP_ISO_MANUAL em KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED e os valores de KSCAMERA_EXTENDEDPROP_ISO_XXX numéricos em KSPROPERTY_CAMERACONTROL_EXTENDED_ISO, os valores de KSCAMERA_EXTENDEDPROP_ISO_XXX numéricos anunciados em KSPROPERTY_CAMERACONTROL_EXTENDED_ISO devem estar nos intervalos de ISO manuais com suporte anunciados por KSCAMERA_EXTENDEDPROP_ISO_MANUAL. Além disso, todos os valores de KSCAMERA_EXTENDEDPROP_ISO_XXX numéricos nos intervalos manuais com suporte devem ser anunciados por KSPROPERTY_CAMERACONTROL_EXTENDED_ISO. Caso contrário, ambos os controles ISO podem ser sinalizados como inutilizáveis e rejeitados pelo pipeline do MF.
Por exemplo, os recursos de qualquer um dos seguintes podem ser tratados como uma falha catastrófica e o controle pode ser rejeitado pelo pipeline do MF.
KSCAMERA_EXTENDEDPROP_ISO_MANUAL (min= 40, max = 240, step = 20), KSCAMERA_EXTENDEDPROP_ISO_50
KSCAMERA_EXTENDEDPROP_ISO_MANUAL (min= 40, max = 240, step = 20), KSCAMERA_EXTENDEDPROP_ISO_80
KSCAMERA_EXTENDEDPROP_ISO_MANUAL (min= 40, max = 240, step = 20), KSCAMERA_EXTENDEDPROP_ISO_400
As funcionalidades de qualquer uma das opções a seguir são aceitas pelo pipeline do MF.
KSCAMERA_EXTENDEDPROP_ISO_MANUAL (min= 40, max = 240, step = 20), KSCAMERA_EXTENDEDPROP_ISO_80, KSCAMERA_EXTENDEDPROP_ISO_100, KSCAMERA_EXTENDEDPROP_ISO_200
KSCAMERA_EXTENDEDPROP_ISO_MANUAL (min= 40, max = 240, step = 20)
KSCAMERA_EXTENDEDPROP_ISO_80, KSCAMERA_EXTENDEDPROP_ISO_200
Membro | Descrição |
---|---|
Versão |
Isso deve ser 1, |
PinId |
Essa deve ser a ID do Pin associada ao pino de foto. |
Tamanho |
Isso deve ser sizeof(KSCAMERA_EXTENDEDPROP_HEADER)+sizeof(KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING), |
Result |
Isso contém os resultados de erro da última operação SET. Se nenhuma operação SET tiver ocorrido, isso deverá ser 0. |
Funcionalidade |
Isso deve ser um pouco sábio OU de KSCAMERA_EXTENDEDPROP_ISO_AUTO e\ou KSCAMERA_EXTENDEDPROP_ISO_MANUAL, e o sinalizador KSCAMERA_EXTENDEDPROP_CAPS_ASYNCCONTROL. Esse controle deve ser assíncrono. |
Flags |
Este é um campo de leitura/gravação. Isso pode ser qualquer um dos sinalizadores de KSCAMERA_EXTENDEDPROP_ISO_XXX definidos acima. |
A tabela a seguir contém as descrições e os requisitos para os campos de estrutura KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING para o ISO DDI. Essa estrutura é definida em ksmedia.h.
Membro | Descrição |
---|---|
Mode |
Isso não é utilizado e deve ser 0. |
Min/Max/Step |
O Min/Max/Step contém o mínimo/máximo/incremento da velocidade iso manual com suporte do driver da câmera. O driver deve devolvê-los para operações GET se houver suporte para ISO manual. |
VideoProc |
Se MANUAL for especificado no campo Sinalizadores do KSCAMERA_EXTENDEDPROP_HEADER, VideoProc.Value.ul deverá especificar o valor de velocidade ISO atual dentro do intervalo descrito pelo parâmetro Min/Max/Step. Se Sinalizadores diferentes de Manual for especificado, para operações SET, o campo VideoProc será ignorado. Para operações GET, o driver sempre deve retornar a velocidade ISO atual, independentemente disso. |
Reservado |
Isso não é utilizado. Isso deve ser ignorado pelo driver. |
Chamada GET
O driver deve anunciar sua capacidade em KSCAMERA_EXTENDEDPROP_HEADER. Funcionalidade e o sinalizador ISO atual no driver no KSCAMERA_EXTENDEDPROP_HEADER. Flags. Se nenhuma chamada SET tiver sido emitida antes da chamada Get, o driver deverá retornar seu padrão em KSCAMERA_EXTENDEDPROP_HEADER. Sinalizadores.
Se o sinalizador KSCAMERA_EXTENDEDPROP_ISO_MANUAL for anunciado no campo Funcionalidade, o driver deverá anunciar ainda mais os intervalos com suporte no KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING. Min/Max/Step.
O driver também deve relatar a velocidade iso atual em uso no KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING. VideoProc.Value.ul. Se nenhuma chamada SET tiver sido emitida antes da chamada GET, o driver deverá retornar sua velocidade iso atual em KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING. VideoProc.Value.ul.
Chamada SET
O KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING. VideoProc.Value.ul contém a velocidade iso manual de inteiro desejada se KSCAMERA_EXTENDEDPROP_ISO_MANUAL for especificado em KSCAMERA_EXTENDEDPROP_HEADER. Sinalizadores.
Se o sinalizador KSCAMERA_EXTENDEDPROP_ISO_AUTO for especificado em KSCAMERA_EXTENDEDPROP_HEADER. Sinalizadores, KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING. VideoProc.Value.ul será ignorado.
Requisitos
parâmetro |
Ksmedia.h |