Поделиться через


Режим последовательности фотографий

Режим последовательности фотографий позволяет захватывать последовательность фотографий в ответ на один щелчок фотографии камеры. В этом режиме система захвата непрерывно отправляет буферы драйверу камеры для последовательного захвата фотографий. Этот режим также позволяет захватывать фотографии за период времени до нажатия на фотографию.

Операция последовательности фотографий

Драйвер камеры поддерживает элемент управления KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOMODE , если способен последовательности фотографий. Конвейер захвата запускает последовательность фотографий, отправляя триггер KS_VideoControlFlag_StartPhotoSequenceCapture в поток фотографий. На этом этапе драйвер должен начать отправку буферов записи. Конвейер захвата остановит последовательность фотографий, отправив KS_VideoControlFlag_StopPhotoSequenceCapture для активации фотопотока. Для каждой готовой фотографии драйверу отправляется новый буфер для захвата кадров.

Конвейер захвата имеет этап настройки для режима последовательности фотографий, в течение которого он настроит количество прошлых кадров, необходимых для определенного сеанса последовательности фотографий. На этапе настройки драйвер должен указать максимальное количество последних фотокадров, которые он поддерживает. Кроме того, драйвер указывает, сколько буферов необходимо для поддержки требуемого количества прошлых кадров.

Расширенный элемент управления , KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOTRIGGERTIME, передает фактическое время, когда пользователь нажимает триггер фотографии в приложении камеры, чтобы сделать последовательность фотографий. Без этого времени водитель не будет знать, с какого фото захвата начать возврат кадров, когда KS_VideoControlFlag_StartPhotoSequenceCapture триггер прибывает. С помощью этого элемента управления драйвер должен вернуть фотографию, которая ближе всего к заданному времени триггера фотографии.

Согласование количества кадров

Следующая последовательность операций задает режим фото и количество кадров для драйвера камеры.

  1. Приложение вызывает API для подготовки системы захвата и драйвера для захвата последовательности фотографий.

  2. Система захвата отправляет драйверу запрос расширенного свойства в режиме фотографии, KSPROPERTY_CAMERACONTROL_EXTENDED_PHOTOMODE с KSCAMERA_EXTENDEDPROP_PHOTOMODE_SEQUENCE, заданными в флагах, чтобы начать переход драйвера в режим последовательности фотографий.

    1. Драйвер получает запрошенное число кадров журнала из приложения. Драйвер должен возвращать количество кадров журнала, которые он может поддерживать, а также количество буферов, необходимых для хранения кадров журнала.

    2. Драйвер должен обновить структуру требований к распределителю контакта, указав количество буферов при вызове перехода режима последовательности фотографий с помощью KsEdit.

    3. Драйвер изменит свое внутреннее состояние на режим последовательности фотографий.

  3. Система захвата передаст контакт на KSSTATE_RUN и предоставит драйверу количество буферов, запрошенных для режима последовательности фотографий.

Требования к поддержке элементов управления

Для поддержки режима последовательности фотографий драйверу камеры требуется поддержка следующих расширенных элементов управления.