Compartir a través de


KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_CAPABILITY

El identificador de propiedad KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_CAPABILITY que se define en KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_PROPERTY se usa para obtener las funcionalidades por fotograma del controlador. Se trata de un control get only; El controlador debe producir un error en las llamadas SET.

Resumen de uso

Para consultar la funcionalidad de configuración de fotogramas con el controlador, el control de propiedad KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_CAPABILITY se envía al controlador junto con un búfer de datos. En una llamada GET, el controlador rellena la carga de funcionalidad de configuración por fotograma en el búfer de datos proporcionado con el diseño de formato especificado a continuación.

La carga de funcionalidad debe comenzar con un encabezado de funcionalidad. Cada elemento de funcionalidad debe comenzar con un encabezado de elemento. Si un elemento de funcionalidad tiene una carga, el encabezado del elemento debe seguir una carga de elemento correspondiente.

En una llamada GET, primero se envía un búfer de longitud cero al controlador para averiguar el tamaño del búfer de datos necesario para contener toda la carga de funcionalidad. En respuesta a la llamada, el controlador debe devolver STATUS_BUFFER_OVERFLOW con el tamaño de búfer de funcionalidad necesario que debe ser al menos el tamaño de KSCAMERA_PERFRAMESETTING_CAP_HEADER.

A continuación se muestran las descripciones de los campos de KSCAMERA_PERFRAMESETTING_CAP_HEADER en contexto de los tipos de elemento definidos en la enumeración KSCAMERA_PERFRAMESETTING_ITEM_TYPE . El campo de carga útil representa las estructuras de carga del elemento después de la estructura de KSCAMERA_PERFRAMESETTING_CAP_ITEM_HEADER .

Elemento de tiempo de exposición

Tamaño

Este es el tamaño de la estructura de KSCAMERA_PERFRAMESETTING_CAP_HEADER + el tamaño de una estructura de KSPROPERTY_STEPPING_LONGLONG si se admite el modo manual.

Tipo

Debe ser KSCAMERA_PERFRAMESETTING_ITEM_EXPOSURE_TIME.

Marcas

Contiene las marcas disponibles. Este campo debe contener las marcas disponibles haciendo un OR bit a bit de las marcas definidas en ksmedia.h.

#define KSCAMERA_PERFRAMESETTING_AUTO       0x0000000100000000
#define KSCAMERA_PERFRAMESETTING_MANUAL     0x0000000200000000

Carga

Si el controlador admite el modo manual, se debe especificar una carga de intervalo en KSPROPERTY_STEPPING_LONGLONG. Bounds.SignedMinimum\SignedMaxmum y KSPROPERTY_STEPPING_LONGLONG. SteppingDelta

Elemento flash

Tamaño

Este es el tamaño de la estructura KSCAMERA_PERFRAMESETTING_CAP_HEADER .

Tipo

Debe ser KSCAMERA_PERFRAMESETTING_ITEM_TYPE. KSCAMERA_PERFRAMESETTING_ITEM_FLASH

Marcas

Contiene las marcas disponibles. Este campo debe contener las marcas disponibles haciendo un OR bit a bit de las marcas FLASH definidas a continuación en ksmedia.h.

#define KSCAMERA_EXTENDEDPROP_FLASH_OFF                                 0x0000000000000000  
#define KSCAMERA_EXTENDEDPROP_FLASH_ON                                  0x0000000000000001  
#define KSCAMERA_EXTENDEDPROP_FLASH_ON_ADJUSTABLEPOWER                  0x0000000000000002  
#define KSCAMERA_EXTENDEDPROP_FLASH_AUTO                                0x0000000000000004  
#define KSCAMERA_EXTENDEDPROP_FLASH_AUTO_ADJUSTABLEPOWER                0x0000000000000008  
#define KSCAMERA_EXTENDEDPROP_FLASH_REDEYEREDUCTION                     0x0000000000000010

Carga

El elemento flash no tiene una carga útil. Si se especifica KSCAMERA_EXTENDEDPROP_FLASH_ON_ADJUSTABLEPOWER o KSCAMERA_EXTENDEDPROP_FLASH_AUTO_ADJUSTABLEPOWER en las marcas, el parámetro de energía está en el intervalo comprendido entre 0 y 100.

Elemento de compensación de exposición

Tamaño

Este es el tamaño de la estructura de KSCAMERA_PERFRAMESETTING_CAP_HEADER + el tamaño de una estructura de KSPROPERTY_STEPPING_LONG si se admiten los pasos.

Tipo

Debe ser KSCAMERA_PERFRAMESETTING_ITEM_TYPE. KSCAMERA_PERFRAMESETTING_ITEM_EXPOSURE_COMPENSATION

Marcas

Contiene las marcas disponibles. Este campo debe contener las marcas disponibles haciendo un OR bit a bit de las marcas EVCOMP definidas a continuación en ksmedia.h o la marca AUTO definida a continuación en ksmedia_phone.h.

#define KSCAMERA_PERFRAMESETTING_AUTO               0x0000000100000000
#define KSCAMERA_EXTENDEDPROP_EVCOMP_SIXTHSTEP      0x0000000000000001  
#define KSCAMERA_EXTENDEDPROP_EVCOMP_QUARTERSTEP    0x0000000000000002  
#define KSCAMERA_EXTENDEDPROP_EVCOMP_THIRDSTEP      0x0000000000000004  
#define KSCAMERA_EXTENDEDPROP_EVCOMP_HALFSTEP       0x0000000000000008  
#define KSCAMERA_EXTENDEDPROP_EVCOMP_FULLSTEP       0x0000000000000010

Carga

Si un controlador solo admite el modo automático, no se incluye una carga. De lo contrario, se debe especificar una carga de intervalo en una estructura de KSPROPERTY_STEPPING_LONG . La compensación mínima y máxima de EV son valores absolutos de compensación de EV y se determinan a partir de KSPROPERTY_STEPPING_LONG. Bounds.SignedMinimum y KSPROPERTY_STEPPING_LONG. Bounds.SignedMaximum. El paso de compensación de EV viene determinado por el tamaño del paso de la marca de paso EVCOMP más baja que corresponde a un float (por ejemplo, 1/6 para KSCAMERA_EXTENDEDPROP_EVCOMP_SIXTHSTEP).

Elemento de velocidad ISO

Tamaño

Este es el tamaño de la estructura de KSCAMERA_PERFRAMESETTING_CAP_HEADER + el tamaño de una estructura de KSPROPERTY_STEPPING_LONG si se admite el modo manual.

Tipo

Debe ser KSCAMERA_PERFRAMESETTING_ITEM_TYPE. KSCAMERA_PERFRAMESETTING_ITEM_ISO

Marcas

Este campo contiene las marcas disponibles. Este campo debe contener las marcas disponibles haciendo un OR bit a bit de las marcas ISO definidas a continuación en ksmedia.h y ksmedia_phone.h. Si se admite iso por fotograma, el controlador debe admitir al menos una de las siguientes funcionalidades, ISO_AUTO y ISO_MANUAL, en las que ISO_AUTO es obligatorio. Si ISO_MANUAL se anuncia, el controlador debe anunciar aún más la velocidad ISO mínima\max\step admitida en KSPROPERTY_STEPPING_LONG. ISO_MANUAL se debe admitir si se desea iso manual.

#define KSCAMERA_EXTENDEDPROP_ISO_MANUAL    0x0080000000000000
#define KSCAMERA_EXTENDEDPROP_ISO_AUTO      0x0000000000000001

Carga

Si un controlador solo admite el modo automático, no se incluye una carga. De lo contrario, se debe especificar una carga de intervalo en una estructura de KSPROPERTY_STEPPING_LONG . El paso mínimo, máximo y de velocidades ISO se determina a partir de KSPROPERTY_STEPPING_LONG. Bounds.UnsignedMinimum, KSPROPERTY_STEPPING_LONG. Bounds.UnsignedMaximum y KSPROPERTY_STEPPING_LONG. Bounds.SteppingDelta. Los controladores que admiten iso manual entero solo deben anunciar ISO_MANUAL con intervalos de velocidad ISO compatibles (min/max/step). Los valores preestablecidos de ISO_Xxx numéricos no se admiten para iso por fotograma.

Elemento de foco

Tamaño

Este es el tamaño de la estructura KSCAMERA_PERFRAMESETTING_CAP_HEADER + el tamaño de una estructura de KSPROPERTY_STEPPING_LONG .

Tipo

Debe ser KSCAMERA_PERFRAMESETTING_ITEM_TYPE. KSCAMERA_PERFRAMESETTING_ITEM_FOCUS.

Marcas

Contiene las marcas disponibles. Este campo debe establecerse realizando una operación OR bit a bit de la marca definida a continuación en ksmedis.h.

#define KSCAMERA_PERFRAMESETTING_MANUAL     0x0000000200000000

Carga

Se debe especificar una carga de intervalo en una estructura de KSPROPERTY_STEPPING_LONG. El mínimo, el máximo y el paso de la posición de la lente se determinan a partir de KSPROPERTY_STEPPING_LONG. Bounds.UnsignedMinimum, KSPROPERTY_STEPPING_LONG. Bounds.UnsignedMaximum y KSPROPERTY_STEPPING_LONG. Paso a paso. El comportamiento del enfoque de configuración por fotograma y cómo se intercala con la configuración de foco global se define de la siguiente manera.

  1. La posición de la lente es pegajosa; pero los comandos de foco no son. Si se ha seleccionado el enfoque automático continuo (CAF) en la configuración global, la operación de CAF solo se invalida para los fotogramas especificados y CAF probablemente moverá la posición de la lente (probablemente después de un barrido completo) después del enfoque manual proporcionado.

  2. Siempre se supone que la configuración de enfoque global se presupone a menos que se invalide explícitamente con una configuración manual en PFS.

  3. El AF global es unidirección y solo se aplica al primer fotograma, si no se especificó ninguna invalidación manual.

  4. El CAF global se aplica a todos los fotogramas a menos que un PFS invalide explícitamente.

  5. La configuración de enfoque manual global no revierte después de un PFS manual (la posición de la lente permanece).

Tipo de imagen de confirmación

Tamaño

Este es el tamaño de la estructura KSCAMERA_PERFRAMESETTING_CAP_HEADER .

Tipo

Debe ser KSCAMERA_PERFRAMESETTING_ITEM_TYPE. KSCAMERA_PERFRAMESETTING_ITEM_PHOTOCONFIRMATION.

Marcas

El campo flags no se usa.

Carga

No hay ninguna carga útil para este elemento.

Elemento de propiedad personalizado

Tamaño

Este es el tamaño de la estructura KSCAMERA_PERFRAMESETTING_CAP_HEADER + el tamaño del GUID.

Tipo

Debe ser KSCAMERA_PERFRAMESETTING_ITEM_TYPE. KSCAMERA_PERFRAMESETTING_ITEM_CUSTOM.

Marcas

El campo flags no se usa.

Carga

Este es el GUID de la propiedad personalizada.

Requisitos

Encabezado

Ksmedia.h