KSPROPERTY_CAMERACONTROL_EXTENDED_FRAMERATE_THROTTLE
KSPROPERTY_CAMERACONTROL_EXTENDED_FRAMERATE_THROTTLE é um controle dinâmico que reduz a taxa de quadros do vídeo por um fator de escala da taxa de quadros original.
Tabela do resumo de uso
Obter | Definir | Destino | Tipo de descritor da propriedade | Tipo de valor de propriedade |
---|---|---|---|---|
Sim | Sim | Filter | KSPROPERTY | KSCAMERA_EXTENDEDPROP_HEADER |
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 de propriedade.
O membro Capability de KSCAMERA_EXTENDEDPROP_HEADER contém um dos seguintes valores.
Controle de restrição de taxa de quadros | Descrição |
---|---|
KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_OFF | A limitação de taxa de quadros está desativada. |
KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_ON | A limitação de taxa de quadros está ativada. |
O membro Sinalizadores de KSCAMERA_EXTENDEDPROP_HEADER contém o sinalizador atualmente definido para a câmera. KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_OFF deve ser o padrão.
Esse controle de propriedade é síncrono e não cancelável.
Esse controle só se aplicará enquanto a câmera estiver transmitindo ativamente. Estar transmitindo ativamente significa que um pino de visualização ou gravação deve estar em KSSTATE_RUN, pronto e capaz de entregar quadros. Em um conjunto, se um fluxo não estiver ativo, esse controle deverá exibir STATUS_INVALID_DEVICE_STATE. Mesmo que este seja um controle de escopo de Filtro, não deve afetar o pino da foto ou fluxos não-RGB, como IR/profundidade.
Comentários
Obter a propriedade
Ao responder a uma solicitação KSPROPERTY_TYPE_GET, o driver define os membros de KSCAMERA_EXTENDEDPROP_HEADER como a seguir.
Membro | Valor |
---|---|
Versão | 1 |
PinId | KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF) |
Tamanho | Deve ser sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING) |
Resultado | Deve ser 0. Esse campo é usado para retornar o resultado da última operação SET. |
Funcionalidade | KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_ON ou 0x1 |
Sinalizadores | Pode ser KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_ON ou KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_OFF. |
Se nenhum sinalizador de aceleração de taxa de quadros tiver sido definido anteriormente, o driver definirá Sinalizadores como KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_OFF. Os membros da estrutura KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING que segue KSCAMERA_EXTENDEDPROP_HEADER são definidos de acordo com os requisitos do modo de celeração de taxa de quadros.
Definir a propriedade
Quando a propriedade é definida, uma solicitação de KSPROPERTY_TYPE_SET, o membro Sinalizadores de KSCAMERA_EXTENDEDPROP_HEADER contém o modo de aceleração da taxa de quadros a ser definido. O membro VideoProc.Value de KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING deve ser ignorado quando Sinalizadores contém o sinalizador do modo KSCAMERA_EXTENDEDPROP_FRAMERATE_THROTTLE_OFF.
Estrutura do conteúdo
A tabela a seguir contém as descrições e os requisitos para os campos de estrutura KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING para o DDI do acelerador da taxa de quadros. Essa estrutura é definida em ksmedia.h.
Membro | Descrição |
---|---|
Mode | Não é usado e deve ser 0. |
Mín./Máx./Etapa | O valor máximo deve ser 100, o que indica que não há alteração na taxa de quadros. O passo deve ser um fator de 100, tal como % máxima do passo == 0. O valor mínimo deve ser igual a pelo menos um tamanho de passo ou um múltiplo do tamanho do passo. O valor mínimo não pode ser 0. |
VideoProc | O VideoProc.Value.ul deve especificar a porcentagem do fator de escala para esse controle. Esse valor deve estar dentro do intervalo de Mín e Máx e deve ser definido como um múltiplo do valor do passo. Ao definir esse valor corretamente, um aplicativo pode garantir que a nova taxa de quadros nunca exceda o valor original, nem vá para zero. Por exemplo, definir um valor de 80 produziria uma taxa de quadros de 80% da taxa de quadros original. |
Reserved | Isso não é usado. Isso deve ser ignorado pelo driver. |
Requisitos
Cliente mínimo com suporte: Windows 11, versão 24H2
Cabeçalho: ksmedia.h (incluir Ksmedia.h)