KSPROPERTY_CAMERACONTROL_EXTENDED_ROI_ISPCONTROL

The KSPROPERTY_CAMERACONTROL_EXTENDED_ROI_ISPCONTROL property ID that is defined in the KSPROPERTY_CAMERACONTROL_EXTENDED_PROPERTY enumeration is used to get or configure the ROI settings and apply the desired processing.

Usage summary table

Scope Control Type

Version 1

Filter

Asynchronous, Cancelable

To get the current ROI settings from the driver or to configure the ROI settings and apply the desired processing (3As), the KSPROPERTY_CAMERACONTROL_EXTENDED_ROI_ISPCONTROL extended property control is sent to the driver along with a standard KSCAMERA_EXTENDEDPROP_HEADER structure followed by a KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROLHEADER structure followed by a KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROL structure and then by one or more corresponding ISP specific control payload structures. The following list illustrates a data structure layout with one focus ROI and two exposure ROIs.

  • KSCAMERA_EXTENDEDPROP_HEADER

  • KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROLHEADER

  • KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROL (Focus)

  • KSCAMERA_EXTENDEDPROP_ROI_FOCUS

  • KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROL (Exposure with 2 ROIs)

  • KSCAMERA_EXTENDEDPROP_ROI_EXPOSURE (ROI 1)

  • KSCAMERA_EXTENDEDPROP_ROI_EXPOSURE (ROI 2)

The table below contains the descriptions and requirements for the KSCAMERA_EXTENDEDPROP_HEADER structure fields when using the KSPROPERTY_CAMERACONTROL_EXTENDED_ROI_ISPCONTROL property of the extended ROI control.

Member Description

Version

This must be 1,

PinId

This must be KSCAMERA_EXTENDEDPROP_FILTERSCOPE (0xFFFFFFFF),

Size

For the initial GET call (when no SET call has ever taken place) this must be sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROLHEADER). In addition, the driver must return 0 within ControlCount in its ISO control header payload.

For any other SET or GET calls, this must be sizeof(KSCAMERA_EXTENDEDPROP_HEADER) + sizeof(KSCAMERA_EXTENDEDPROP_ ROI_ISPCONTROLHEADER) + ControlCount * sizeof(KSCAMERA_EXTENDEDPROP_ROI_ISPCONTROL) + sizeof(KSCAMERA_EXTENDEDPROP_ROI_FOCUS) * ROICount(focus) + sizeof(KSCAMERA_EXTENDEDPROP_EXPOSURE) * ROICount(exposure) + sizeof(KSCAMERA_EXTENDEDPROP_WHITEBALANCE) * ROICount(whitebalance).

Result

This indicates the error results of the last SET operation. If no SET operation has taken place, this must be 0. The value 0 indicates that no errors were detected for all ISP controls configured.

Capability

This must be a bit-wise OR of KSCAMERA_EXTENDEDPROP_CAPS_ASYNCONTROL and KSCAMERA_EXTENDEDPROP_CAPS_CANCELLABLE.

Flags

This is a read/write field This may be KSCAMERA_EXTENDEDPROP_FLAG_CANCELOPERATION for a SET call. This must be 0 for a GET call.

Adjustable Output Window Considerations

The 3A ROI coordinates sent to the camera are sent relative to the current output window of the camera. If the field of view has been modified due to use of a control such as Zoom, Pan or Tilt or Digital Window, the camera (or component implementing the Digital Window/PTZ control) is responsible for mapping the provided coordinates back to the sensor's full field of view, taking the current output window into consideration to ensure that the camera's 3A algorithm is targeting the correct spot. Depending on where the field of view modification occurs, the coordinate mapping may need to be bidirectional. For example, if a camera uses the Windows Platform DMFT for face detection, but the field of view modification is implemented in a component after the Platform DMFT in the driver chain, ROI coordinates provided by the application need to be mapped back to the full field of view before sending down to the camera and ROI coordinates calculated in the Platform DMFT need to be mapped to the modified field of view before being sent to an app requesting them.

Requirements

Header

Ksmedia.h