KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED
KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED — это расширенный элемент управления свойствами, который обеспечивает более глобальный контроль ISO с большей степенью детализации.
Сводная таблица использования
Область | Control | Тип |
---|---|---|
версия 1 |
Закрепление (фото) |
Асинхронный |
Новый флаг KSCAMERA_EXTENDEDPROP_ISO_MANUAL определен в ksmedia_phone.h следующим образом.
#define KSCAMERA_EXTENDEDPROP_ISO_MANUAL 0x0080000000000000
В следующей таблице приведены описания и требования к полям структуры KSCAMERA_EXTENDEDPROP_HEADER для элемента управления KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED.
Windows 8.1 KS_CAMERACONTROL_EXTENDED_ISO остается неизменным без поддержки целочисленного ручного ISO. Драйвер должен поддерживать только новый элемент управления KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED. Если оба этих элемента управления поддерживаются, конвейер по умолчанию будет использовать элемент управления KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED.
Если элемент управления KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED поддерживается, драйвер может объявлять только следующие возможности.
KSCAMERA_EXTENDEDPROP_ISO_AUTO
KSCAMERA_EXTENDEDPROP_ISO_MANUAL
KSCAMERA_EXTENDEDPROP_CAPS_ASYNCCONTROL
Если драйвер объявляет флаг возможности KSCAMERA_EXTENDEDPROP_ISO_MANUAL, он также должен объявлять поддерживаемые диапазоны ISO в значении Min/Max/Step свойства KSCAMERA_EXTENDED_PROP_VIDEOPROCSETTING. Если драйвер объявляет минимальное значение 0 и максимальное значение 0 или значение Шага меньше 1, элемент управления помечается как непригодный для использования и отклоняется конвейером.
Если драйвер поддерживает как KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED, так и KSPROPERTY_CAMERACONTROL_EXTENDED_ISO, драйвер должен объявлять KSCAMERA_EXTENDEDPROP_ISO_AUTO как для KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED, так и для KSPROPERTY_CAMERACONTROL_EXTENDED_ISO. В противном случае оба элемента управления ISO будут помечены как непригодные для использования и отклонены конвейером MF.
Если драйвер объявляет KSCAMERA_EXTENDEDPROP_ISO_MANUAL в KSPROPERTY_CAMERACONTROL_EXTENDED_ISO_ADVANCED и числовые значения KSCAMERA_EXTENDEDPROP_ISO_XXX в KSPROPERTY_CAMERACONTROL_EXTENDED_ISO, числовые значения KSCAMERA_EXTENDEDPROP_ISO_XXX, объявленные в KSPROPERTY_CAMERACONTROL_EXTENDED_ISO, должны находиться в поддерживаемых ручных диапазонах ISO, объявленных KSCAMERA_EXTENDEDPROP_ISO_MANUAL. Кроме того, все числовые значения KSCAMERA_EXTENDEDPROP_ISO_XXX в поддерживаемых диапазонах вручную должны объявляться KSPROPERTY_CAMERACONTROL_EXTENDED_ISO. В противном случае оба элемента управления ISO могут быть помечены как непригодные для использования и отклонены конвейером MF.
Например, возможности любого из следующих типов могут рассматриваться как катастрофический сбой, а управление может быть отклонено конвейером MF.
KSCAMERA_EXTENDEDPROP_ISO_MANUAL (min= 40, max = 240, step = 20), KSCAMERA_EXTENDEDPROP_ISO_50
KSCAMERA_EXTENDEDPROP_ISO_MANUAL (мин= 40, максимум = 240, шаг = 20), KSCAMERA_EXTENDEDPROP_ISO_80
KSCAMERA_EXTENDEDPROP_ISO_MANUAL (min= 40, max = 240, step = 20), KSCAMERA_EXTENDEDPROP_ISO_400
Конвейер 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 (мин= 40, максимум = 240, шаг = 20)
KSCAMERA_EXTENDEDPROP_ISO_80, KSCAMERA_EXTENDEDPROP_ISO_200
Член | Описание |
---|---|
Версия |
Значение должно быть 1, |
PinId |
Это должен быть идентификатор пин-кода, связанный с закреплением фотографии. |
Размер |
Это должно быть значение sizeof(KSCAMERA_EXTENDEDPROP_HEADER)+sizeof(KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING), |
Результат |
Содержит результаты последней операции SET. Если операция SET не выполнена, это значение должно быть равным 0. |
Функция |
Это должно быть немного мудрое ИЛИ KSCAMERA_EXTENDEDPROP_ISO_AUTO и/или KSCAMERA_EXTENDEDPROP_ISO_MANUAL, а также флаг KSCAMERA_EXTENDEDPROP_CAPS_ASYNCCONTROL. Этот элемент управления должен быть асинхронным. |
Флаги |
Это поле для чтения и записи. Это может быть любой из флагов KSCAMERA_EXTENDEDPROP_ISO_XXX, определенных выше. |
В следующей таблице приведены описания и требования к полям структуры KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING для ISO DDI. Эта структура определена в ksmedia.h.
Член | Описание |
---|---|
Режим |
Этот параметр не используется и должен иметь значение 0. |
Min/Max/Step |
Min/Max/Step содержит минимальное, максимальное значение или приращение скорости ISO вручную, поддерживаемой драйвером камеры. Драйвер должен возвращать их для операций GET, если поддерживается ручной ISO. |
VideoProc |
Если в поле Флаги KSCAMERA_EXTENDEDPROP_HEADER указано MANUAL, в videoProc.Value.ul необходимо указать текущее значение скорости ISO в диапазоне, описанном параметром Min/Max/Step. Если указаны флаги, отличные от manual, для операций SET поле VideoProc игнорируется. Для операций GET драйвер должен всегда возвращать текущую скорость ISO, независимо от того. |
Зарезервировано |
Это не используется. Это должно игнорироваться драйвером. |
Вызов GET
Драйвер должен объявить свою возможность в KSCAMERA_EXTENDEDPROP_HEADER. Возможность и текущий флаг ISO в драйвере в KSCAMERA_EXTENDEDPROP_HEADER. Flags. Если до вызова Get не было выполнено ни один вызов SET, драйвер должен вернуть значение по умолчанию в KSCAMERA_EXTENDEDPROP_HEADER. Флаги.
Если флаг KSCAMERA_EXTENDEDPROP_ISO_MANUAL объявлен в поле Возможности, драйвер должен дополнительно объявить поддерживаемые диапазоны в KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING. Min/Max/Step.
Драйвер также должен сообщить о текущей скорости ISO, используемой в KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING. VideoProc.Value.ul. Если до вызова GET не было выполнено ни один вызов SET, драйвер должен вернуть текущую скорость ISO в KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING. VideoProc.Value.ul.
Вызов SET
The KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING. VideoProc.Value.ul содержит нужную целочисленную скорость ISO вручную, если KSCAMERA_EXTENDEDPROP_ISO_MANUAL указана в KSCAMERA_EXTENDEDPROP_HEADER. Флаги.
Если флаг KSCAMERA_EXTENDEDPROP_ISO_AUTO указан в KSCAMERA_EXTENDEDPROP_HEADER. Флаги, KSCAMERA_EXTENDEDPROP_VIDEOPROCSETTING. VideoProc.Value.ul будет игнорироваться.
Требования
Заголовок |
Ksmedia.h |