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


KSPROPERTY_CAMERACONTROL_EXTENDED_VIDEOSTABILIZATION

Этот расширенный элемент управления свойствами используется для управления цифровой стабилизацией видео в driver\MFT0.

Сводная таблица использования

Область Control Тип

версия 1

Pin

Синхронная

Следующие флаги, которые можно поместить в KSCAMERA_EXTENDEDPROP_HEADER. Флаги полей для управления цифровой стабилизацией видео в driver\MFT0. По умолчанию для драйвера должна быть отключена стабилизация видео.

#define KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_OFF       0x0000000000000000
#define KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_ON        0x0000000000000001
#define KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_AUTO      0x0000000000000002

Если драйвер не поддерживает стабилизацию цифрового видео, драйвер не должен реализовывать этот элемент управления.

Если драйвер поддерживает этот элемент управления, он должен поддерживать VIDEOSTABILIZATION_ON\OFF.

Вызов SET этого элемента управления не оказывает никакого влияния, если видеоклип находится в состоянии выше, чем состояние KSSTATE_STOP. Драйвер должен отклонить полученный вызов SET, если видеоклип не находится в состоянии остановки и возвращает STATUS_INVALID_DEVICE_STATE. В вызове GET драйвер должен вернуть текущие параметры в поле Флаги.

Если этот элемент управления используется в контексте профиля, профиль должен служить подсказкой для драйвера для режима качества. Драйвер может определить, следует ли оптимизировать низкую задержку или высокое качество при включении стабилизации видео на основе выбранного профиля, например видеоконференции или записи видео высокого качества.

Примечание

PROPSETID_VIDCAP_CAMERACONTROL_VIDEO_STABILIZATION будет нерекомендуем для Windows 10.

В следующей таблице описаны возможности флагов.

Flag Описание

KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_OFF

Это обязательная возможность. Если этот параметр указан, цифровая стабилизация видео отключается в driver\MFT0.

KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_ON

Это обязательная возможность. Если этот параметр указан, цифровая стабилизация видео включена в driver\MFT0, а параметр переполнения по умолчанию используется для драйвера. Этот флаг является взаимоисключающим с флагами AUTO и OFF.

KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_AUTO

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

Примечание

В зависимости от реализации пересканированный буфер может быть выделен внутренним драйвером или конвейером.

Если пересканированный буфер должен быть выделен драйвером, драйвер должен объявить как обычный тип мультимедиа, так и тип пересканированного носителя. MFT0 должен объявлять обычный тип мультимедиа. После установки обычного типа носителя для типа выходного носителя MFT0 MFT0 должен выбрать соответствующий тип мультимедиа с пересканированным из объявленных драйверов типов мультимедиа в качестве входного типа носителя, если включена стабилизация видео. Если стабилизация видео отключена, MFT0 должен выбрать тип обычного носителя в качестве входного. MFT0 должен возвращать MF_E_INVALIDMEDIATYPE, если в качестве выходного типа мультимедиа задан тип носителя overscanned, если включена стабилизация видео.

Если драйвер выделяет пересканированный буфер, драйвер и MFT0 должны объявлять обычные типы носителей. MFT0 должен задать обычный тип носителя как для входного, так и для выходного типа носителя.

Для поддержки стабилизации видео на основе эффектов (т. е. стабилизации видео, не выполняемой ни в драйвере, ни в MFT0), драйвер и MFT0 должны дополнительно объявлять тип мультимедиа с превышением. В этом случае драйвер и MFT0 предоставляют как обычные, так и пересканированные типы носителей. Следующие правила будут применяться, чтобы обеспечить правильную работу видео стабилизации на основе эффектов и драйвера\MFT0.

  • Если тип пересканированного носителя задан как тип выходного носителя MFT0, в то время как включена стабилизация видео на основе driver\MFT0, MFT0 должна возвращать MF_E_INVALIDMEDIATYPE.

  • Если обычный тип мультимедиа задан как тип выходного носителя MFT0, приложение должно возвращать ошибку при попытке включения стабилизации видео на основе эффекта, если стабилизация видео на основе эффекта может принимать только сверхсканированный тип мультимедиа.

В таблице ниже приведены описания и требования к полям структуры KSCAMERA_EXTENDEDPROP_HEADER при использовании элемента управления стабилизации видео.

Член Описание

Версия

Значение должно быть 1.

PinId

Должен быть идентификатором закрепления, связанным с закреплением видео.

Размер

Это должны быть значения sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_VALUE).

Результат

Указывает результаты ошибки последней операции SET. Если операция SET не выполнена, это должно быть 0.

Функция

Это должно быть побитовое ИЛИ поддерживаемых флагов KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_XXX, как определено выше.

Флаги

Это поле для чтения и записи. Это может быть любой из KSCAMERA_EXTENDEDPROP_VIDEOSTABILIZATION_XXX флагов, определенных выше.

Требования

Заголовок

Ksmedia.h