Modo de Sequência de Fotos

O modo de sequência de fotos permite capturar uma sequência de fotos em resposta a um único clique de foto da câmera. Nesse modo, o sistema de captura envia continuamente buffers para o driver da câmera para capturar as fotos em uma sequência. Esse modo também permite capturar fotos de um período de tempo antes do clique na foto.

Operação de sequência de fotos

Um driver de câmera dá suporte ao controle KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOMODE se for capaz de sequenciar fotos. O pipeline de captura inicia uma sequência de fotos enviando um gatilho de KS_VideoControlFlag_StartPhotoSequenceCapture para o fluxo de fotos. Neste ponto, o driver deve começar a enviar buffers de captura. O pipeline de captura interromperá a sequência de fotos enviando KS_VideoControlFlag_StopPhotoSequenceCapture para disparar o fluxo de fotos. Para cada foto concluída, um novo buffer é enviado para o driver para que ele capture quadros.

O pipeline de captura tem uma fase de configuração para o modo de sequência de fotos durante o qual configurará o número de quadros passados necessários para uma sessão de sequência de fotos específica. Durante a fase de configuração, o driver deve especificar o número máximo de quadros de fotos anteriores compatíveis. Além disso, o driver especificará quantos buffers são necessários para dar suporte ao número necessário de quadros passados.

O controle estendido, KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOTRIGGERTIME, passará o tempo real em que o usuário clicou no gatilho de fotos no aplicativo de câmera para tirar a sequência de fotos. Sem esse tempo, o driver não saberá qual captura de foto começará a retornar quadros de quando o gatilho KS_VideoControlFlag_StartPhotoSequenceCapture chegar. Com esse controle, espera-se que o driver retorne a foto mais próxima do tempo de gatilho de foto fornecido.

Negociação de contagem de quadros

A sequência de operações a seguir define o modo de foto e a contagem de quadros para o driver da câmera.

  1. Um aplicativo chama uma API para preparar o sistema de captura e o driver para uma captura de sequência de fotos.

  2. O sistema de captura envia uma solicitação de propriedade estendida do Modo de Foto para o driver, KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOMODE com KSCAMERA_EXTENDEDPROP_PHOTOMODE_SEQUENCE definido nos sinalizadores, para iniciar a transição do driver para o modo de sequência de fotos.

    1. O driver recebe a contagem de quadros de histórico solicitada do aplicativo. O driver deve retornar a contagem de quadros de histórico que é capaz de dar suporte junto com o número de buffers necessários para manter quadros de histórico.

    2. O driver deve atualizar a estrutura de requisitos do alocador do pino com o número de buffers pela chamada de transição do modo de sequência de fotos usando KsEdit.

    3. O driver alterará seu estado interno para o modo de sequência de fotos.

  3. O sistema de captura fará a transição do pino para KSSTATE_RUN e fornecerá ao driver o número de buffers solicitados para o modo de sequência de fotos.

Controlar os requisitos de suporte

O suporte para os seguintes controles estendidos é necessário para que um driver de câmera dê suporte ao modo de sequência de fotos.