KSPROPERTY_CAMERACONTROL_EXTENDED_FOCUSMODE
Свойство режима фокусировки управляет автоматическим, ручным и предустановленным режимом фокусировки камеры.
Сводная таблица использования
Get | Set | целевого объекта | Тип дескриптора свойства | Тип значения свойства |
---|---|---|---|---|
Да |
Да |
Фильтр |
Значение свойства (данные операции) содержит структуру KSCAMERA_EXTENDEDPROP_HEADER и структуру KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING .
Общий размер данных свойства равен sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING). Элементу SizeKSCAMERA_EXTENDEDPROP_HEADER присвоен общий размер данных свойства.
Элемент CapabilityKSCAMERA_EXTENDEDPROP_HEADER содержит побитовое или сочетание одного или нескольких следующих вариантов обработки видео.
Режим обработки и фокусировки | Описание |
---|---|
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO | Драйвер камеры использует собственную логику обработки видео. |
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_MANUAL | Драйвер камеры использует предустановленный метод обработки или метод на основе температуры. |
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK | Текущий метод обработки видео заблокирован. |
KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS | Не установлен конвергентный фокус. |
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_MACRO | Конвергенция фокуса макросов. |
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_NORMAL | Нормальная конвергенция фокуса диапазона. |
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_FULLRANGE | Конвергенция фокуса в полном диапазоне. |
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_INFINITY | Конвергенция фокуса бесконечного диапазона. |
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_HYPERFOCAL | Гиперфокальные диапазоны. |
Элемент FlagsKSCAMERA_EXTENDEDPROP_HEADER содержит флаг обработки видео, установленный для камеры. Если KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO параметр можно объединить с KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK.
Этот элемент управления свойством является асинхронным и может быть отменен.
Комментарии
Режимы обработки
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO
Этот флаг указывает, что операция автоматического фокусирования сходилась при активации события завершения. По завершении и если этот флаг не является объединенным с KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK, фокус может отличаться, а драйвер камеры может продолжить попытки конвергенции. Если включен флаг KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK, фокус блокируется на первой конвергенции и не меняется до получения новой команды фокуса.
Блокировка без сочетания автоматического режима, уже заблокированный элемент управления должен рассматриваться драйвером камеры как отсутствие операции. Блокировка в сочетании с автоматическим режимом уже заблокированного элемента управления должна вызвать новую конвергенцию.
Этот флаг является взаимоисключающим с флагами KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_MANUAL и KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS.
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_MANUAL
Вручную указывает, что для этой обработки видео предоставляются конкретные значения. Драйверу предоставляются определенные значения.
Этот флаг не должен сочетаться с KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO, KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK или KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS.
KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK
Если этот флаг установлен без соответствующего флага KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO, драйвер камеры должен заблокировать текущее состояние фокуса и активировать событие завершения после блокировки фокуса. Драйвер камеры не должен изменять состояние фокуса, пока не будет получена новая команда фокусировки. Если KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO объединить этот флаг, драйвер камеры сходится при автоматическом фокусе и заблокирует фокус на этой конвергентной точке, а затем активирует событие завершения. Этот флаг не должен сочетаться с KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS или KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_MANUAL.
Этот флаг не может быть указан с флагом диапазона для элемента управления фокусом, если он не объединен с KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO. В этом случае фокус выполняется с помощью флага диапазона, чтобы определить, где будет предпринята попытка автоматического сканирования фокуса. После конвергенции установка фокуса блокируется, а событие завершения срабатывает.
KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS
Этот флаг указывает, что фокус является непрерывным. В этом случае не существует единой точки конвергенции для управления фокусом. Драйвер должен принять этот запрос и немедленно завершить асинхронную операцию.
Этот флаг не должен сочетаться с KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO, KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK или KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_MANUAL.
Этот режим является обязательным для всех драйверов.
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_MACRO
Этот флаг указывает, что для диапазона макросов должна быть выполнена конвергенция фокуса. Точный диапазон фокусов определяется драйвером. Этот флаг можно сочетать с KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO и KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS.
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_NORMAL
Этот флаг указывает, что конвергенция фокуса должна быть выполнена для нормального диапазона. Точный диапазон фокусов определяется драйвером. Этот флаг можно сочетать с KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO и KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS.
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_FULLRANGE
Этот флаг указывает, что конвергенция фокуса должна выполняться для всего диапазона. Точный диапазон фокусов определяется драйвером. Этот флаг можно сочетать с KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO и KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS.
Этот режим является обязательным для всех драйверов.
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_INFINITY
Этот флаг указывает, что конвергенция фокуса должна выполняться для бесконечного диапазона. Точный диапазон фокусов определяется драйвером. Этот флаг можно сочетать с KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO и KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS.
KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_HYPERFOCAL
Этот флаг указывает, что конвергенция фокуса должна быть выполнена для гиперфокальной области. Точный диапазон фокусов определяется драйвером. Этот флаг можно сочетать с KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO и KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS.
Получение свойства
При ответе на запрос KSPROPERTY_TYPE_GET драйвер задает для членов KSCAMERA_EXTENDEDPROP_HEADER следующие значения.
Член | Значение |
---|---|
Версия | 1 |
PinId | KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF). |
Размер | sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING) |
Результат | 0 |
Функция | KSCAMERA_EXTENDEDPROP_CAPS_ASYNCCONTROL | KSCAMERA_EXTENDEDPROP_CAPS_CANCELLABLE | (поддерживаются режимы обработки и фокусировки видео) |
Флаги | Текущий режим обработки видео и фокусировки. |
Если флаг диапазона фокуса ранее не задан, драйвер устанавливает для флагов значение KSCAMERA_EXTENDEDPROP_FOCUS_RANGE_FULLRANGE вместе с KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO (по умолчанию). Элементы структуры KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING , следующей за KSCAMERA_EXTENDEDPROP_HEADER , задаются в соответствии с требованиями режима фокусировки.
Значение VideoProp.Value.ull должно содержать текущий параметр экспозиции, когда режим KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO.
Задание свойства
Если свойство задано, KSPROPERTY_TYPE_SET запрос, элемент FlagsKSCAMERA_EXTENDEDPROP_HEADER будет содержать заданный режим фокусировки. Элемент VideoProc.ValueKSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING следует игнорировать, если флаги Flags содержат флаги KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_AUTO, KSCAMERA_EXTENDEDPROP_VIDEOPROCFLAG_LOCK KSCAMERA_EXTENDEDPROP_FOCUS_CONTINUOUS.
Требования
Версия |
Доступно, начиная с Windows 8.1. |
Заголовок |
Ksmedia.h (включая Ksmedia.h) |