@ -984,10 +984,10 @@ typedef enum acamera_metadata_tag {
* capture parameters itself . < / p >
* capture parameters itself . < / p >
* < p > When set to AUTO , the individual algorithm controls in
* < p > When set to AUTO , the individual algorithm controls in
* ACAMERA_CONTROL_ * are in effect , such as ACAMERA_CONTROL_AF_MODE . < / p >
* ACAMERA_CONTROL_ * are in effect , such as ACAMERA_CONTROL_AF_MODE . < / p >
* < p > When set to USE_SCENE_MODE , the individual controls in
* < p > When set to USE_SCENE_MODE or USE_EXTENDED_SCENE_MODE , the individual controls in
* ACAMERA_CONTROL_ * are mostly disabled , and the camera device
* ACAMERA_CONTROL_ * are mostly disabled , and the camera device
* implements one of the scene mode settings ( such as ACTION ,
* implements one of the scene mode or extended scene mode settings ( such as ACTION ,
* SUNSET , or PARTY ) as it wishes . The camera device scene mode
* SUNSET , PARTY, or BOKEH ) as it wishes . The camera device scene mode
* 3 A settings are provided by { @ link ACameraCaptureSession_captureCallback_result capture results } . < / p >
* 3 A settings are provided by { @ link ACameraCaptureSession_captureCallback_result capture results } . < / p >
* < p > When set to OFF_KEEP_STATE , it is similar to OFF mode , the only difference
* < p > When set to OFF_KEEP_STATE , it is similar to OFF mode , the only difference
* is that this frame will not be used by camera device background 3 A statistics
* is that this frame will not be used by camera device background 3 A statistics
@ -1768,10 +1768,11 @@ typedef enum acamera_metadata_tag {
ACAMERA_CONTROL_AF_SCENE_CHANGE = // byte (acamera_metadata_enum_android_control_af_scene_change_t)
ACAMERA_CONTROL_AF_SCENE_CHANGE = // byte (acamera_metadata_enum_android_control_af_scene_change_t)
ACAMERA_CONTROL_START + 42 ,
ACAMERA_CONTROL_START + 42 ,
/**
/**
* < p > The list of bokeh modes for ACAMERA_CONTROL_BOKEH_MODE that are supported by this camera
* < p > The list of extended scene modes for ACAMERA_CONTROL_EXTENDED_SCENE_MODE that are supported
* device , and each bokeh mode ' s maximum streaming ( non - stall ) size with bokeh effect . < / p >
* by this camera device , and each extended scene mode ' s maximum streaming ( non - stall ) size
* with effect . < / p >
*
*
* @ see ACAMERA_CONTROL_ BOKEH _MODE
* @ see ACAMERA_CONTROL_ EXTENDED_SCENE _MODE
*
*
* < p > Type : int32 [ 3 * n ] < / p >
* < p > Type : int32 [ 3 * n ] < / p >
*
*
@ -1780,28 +1781,28 @@ typedef enum acamera_metadata_tag {
* < li > ACameraMetadata from ACameraManager_getCameraCharacteristics < / li >
* < li > ACameraMetadata from ACameraManager_getCameraCharacteristics < / li >
* < / ul > < / p >
* < / ul > < / p >
*
*
* < p > For OFF mode , the camera behaves normally with no bokeh effect . < / p >
* < p > For DISABLED mode , the camera behaves normally with no extended scene mode enabled . < / p >
* < p > For STILL_CAPTURE mode , the maximum streaming dimension specifies the limit under which
* < p > For BOKEH_ STILL_CAPTURE mode , the maximum streaming dimension specifies the limit
* bokeh is effective when capture intent is PREVIEW . Note that when capture intent is
* under which bokeh is effective when capture intent is PREVIEW . Note that when capture
* PREVIEW, the bokeh effect may not be as high quality compared to STILL_CAPTURE intent
* intent is PREVIEW, the bokeh effect may not be as high in quality compared to
* in order to maintain reasonable frame rate . The maximum streaming dimension must be one
* STILL_CAPTURE intent in order to maintain reasonable frame rate . The maximum streaming
* of the YUV_420_888 or PRIVATE resolutions in availableStreamConfigurations , or ( 0 , 0 )
* dimension must be one of the YUV_420_888 or PRIVATE resolutions in
* if preview bokeh is not supported . If the application configures a stream larger than
* availableStreamConfigurations , or ( 0 , 0 ) if preview bokeh is not supported . If the
* the maximum streaming dimension , bokeh effect may not be applied for this stream for
* application configures a stream larger than the maximum streaming dimension , bokeh
* PREVIEW intent . < / p >
* effect may not be applied for this stream for PREVIEW intent . < / p >
* < p > For CONTINUOUS mode , the maximum streaming dimension specifies the limit under which
* < p > For BOKEH_ CONTINUOUS mode , the maximum streaming dimension specifies the limit under
* bokeh is effective . This dimension must be one of the YUV_420_888 or PRIVATE resolutions
* which bokeh is effective . This dimension must be one of the YUV_420_888 or PRIVATE
* in availableStreamConfigurations , and if the sensor maximum resolution is larger than or
* resolutions in availableStreamConfigurations , and if the sensor maximum resolution is
* equal to 1080 p , the maximum streaming dimension must be at least 1080 p . If the
* larger than or equal to 1080 p , the maximum streaming dimension must be at least 1080 p .
* application configures a stream with larger dimension , the stream may not have bokeh
* If the application configures a stream with larger dimension , the stream may not have
* effect applied . < / p >
* bokeh effect applied . < / p >
*/
*/
ACAMERA_CONTROL_AVAILABLE_ BOKEH_MAX_SIZES = // int32[3*n]
ACAMERA_CONTROL_AVAILABLE_ EXTENDED_SCENE_MODE_MAX_SIZES = // int32[3*n]
ACAMERA_CONTROL_START + 43 ,
ACAMERA_CONTROL_START + 43 ,
/**
/**
* < p > The ranges of supported zoom ratio for non - OFF ACAMERA_CONTROL_BOKEH _MODE. < / p >
* < p > The ranges of supported zoom ratio for non - DISABLED ACAMERA_CONTROL_EXTENDED_SCENE _MODE. < / p >
*
*
* @ see ACAMERA_CONTROL_ BOKEH _MODE
* @ see ACAMERA_CONTROL_ EXTENDED_SCENE _MODE
*
*
* < p > Type : float [ 2 * n ] < / p >
* < p > Type : float [ 2 * n ] < / p >
*
*
@ -1810,20 +1811,19 @@ typedef enum acamera_metadata_tag {
* < li > ACameraMetadata from ACameraManager_getCameraCharacteristics < / li >
* < li > ACameraMetadata from ACameraManager_getCameraCharacteristics < / li >
* < / ul > < / p >
* < / ul > < / p >
*
*
* < p > When bokeh mode is enabled , the camera device may have limited range of zoom ratios
* < p > When extended scene mode is set , the camera device may have limited range of zoom ratios
* compared to when bokeh mode is disabled . This tag lists the zoom ratio ranges for all
* compared to when extended scene mode is DISABLED . This tag lists the zoom ratio ranges
* supported non - OFF bokeh modes , in the same order as in
* for all supported non - DISABLED extended scene modes , in the same order as in
* ACAMERA_CONTROL_AVAILABLE_BOKEH_CAPABILITIES . < / p >
* android. control . availableExtended . < / p >
* < p > Range [ 1.0 , 1.0 ] means that no zoom ( optical or digital ) is supported . < / p >
* < p > Range [ 1.0 , 1.0 ] means that no zoom ( optical or digital ) is supported . < / p >
*
* @ see ACAMERA_CONTROL_AVAILABLE_BOKEH_CAPABILITIES
*/
*/
ACAMERA_CONTROL_AVAILABLE_BOKEH_ZOOM_RATIO_RANGES = // float[2*n]
ACAMERA_CONTROL_AVAILABLE_EXTENDED_SCENE_MODE_ZOOM_RATIO_RANGES =
// float[2*n]
ACAMERA_CONTROL_START + 44 ,
ACAMERA_CONTROL_START + 44 ,
/**
/**
* < p > Whether bokeh mode is enabled for a particular capture request . < / p >
* < p > Whether extended scene mode is enabled for a particular capture request . < / p >
*
*
* < p > Type : byte ( acamera_metadata_enum_android_control_ bokeh _mode_t) < / p >
* < p > Type : byte ( acamera_metadata_enum_android_control_ extended_scene _mode_t) < / p >
*
*
* < p > This tag may appear in :
* < p > This tag may appear in :
* < ul >
* < ul >
@ -1833,36 +1833,33 @@ typedef enum acamera_metadata_tag {
*
*
* < p > With bokeh mode , the camera device may blur out the parts of scene that are not in
* < p > With bokeh mode , the camera device may blur out the parts of scene that are not in
* focus , creating a bokeh ( or shallow depth of field ) effect for people or objects . < / p >
* focus , creating a bokeh ( or shallow depth of field ) effect for people or objects . < / p >
* < p > When set to STILL_CAPTURE bokeh mode with STILL_CAPTURE capture intent , due to the extra
* < p > When set to BOKEH_ STILL_CAPTURE mode with STILL_CAPTURE capture intent , due to the extra
* processing needed for high quality bokeh effect , the stall may be longer than when
* processing needed for high quality bokeh effect , the stall may be longer than when
* capture intent is not STILL_CAPTURE . < / p >
* capture intent is not STILL_CAPTURE . < / p >
* < p > When set to STILL_CAPTURE bokeh mode with PREVIEW capture intent , < / p >
* < p > When set to BOKEH_ STILL_CAPTURE mode with PREVIEW capture intent , < / p >
* < ul >
* < ul >
* < li > If the camera device has BURST_CAPTURE capability , the frame rate requirement of
* < li > If the camera device has BURST_CAPTURE capability , the frame rate requirement of
* BURST_CAPTURE must still be met . < / li >
* BURST_CAPTURE must still be met . < / li >
* < li > All streams not larger than the maximum streaming dimension for STILL_CAPTURE mode
* < li > All streams not larger than the maximum streaming dimension for BOKEH_ STILL_CAPTURE mode
* ( queried via { @ link ACAMERA_CONTROL_AVAILABLE_ BOKEH _CAPABILITIES } )
* ( queried via { @ link ACAMERA_CONTROL_AVAILABLE_ EXTENDED_SCENE_MODE _CAPABILITIES } )
* will have preview bokeh effect applied . < / li >
* will have preview bokeh effect applied . < / li >
* < / ul >
* < / ul >
* < p > When set to CONTINUOUS mode , configured streams dimension should not exceed this mode ' s
* < p > When set to BOKEH_ CONTINUOUS mode , configured streams dimension should not exceed this mode ' s
* maximum streaming dimension in order to have bokeh effect applied . Bokeh effect may not
* maximum streaming dimension in order to have bokeh effect applied . Bokeh effect may not
* be available for streams larger than the maximum streaming dimension . < / p >
* be available for streams larger than the maximum streaming dimension . < / p >
* < p > Switching between different bokeh modes may involve reconfiguration of the camera
* < p > Switching between different extended scene modes may involve reconfiguration of the camera
* pipeline , resulting in long latency . The application should check this key against the
* pipeline , resulting in long latency . The application should check this key against the
* available session keys queried via
* available session keys queried via
* { @ link ACameraManager_getCameraCharacteristics } . < / p >
* { @ link ACameraManager_getCameraCharacteristics } . < / p >
* < p > When bokeh mode is on , the camera device may override certain control parameters , such as
* reduce frame rate or use face priority scene mode , to achieve best power and quality
* tradeoffs . When turned on , AE , AWB , and AF run in auto modes , and only the mandatory
* stream combinations of LIMITED hardware level are guaranteed . < / p >
* < p > For a logical multi - camera , bokeh may be implemented by stereo vision from sub - cameras
* < p > For a logical multi - camera , bokeh may be implemented by stereo vision from sub - cameras
* with different field of view . As a result , when bokeh mode is enabled , the camera device
* with different field of view . As a result , when bokeh mode is enabled , the camera device
* may override ACAMERA_SCALER_CROP_REGION , and the field of view will be smaller than when
* may override ACAMERA_SCALER_CROP_REGION or ACAMERA_CONTROL_ZOOM_RATIO , and the field of
* bokeh mode is off . < / p >
* view may be smaller than when bokeh mode is off . < / p >
*
*
* @ see ACAMERA_CONTROL_ZOOM_RATIO
* @ see ACAMERA_SCALER_CROP_REGION
* @ see ACAMERA_SCALER_CROP_REGION
*/
*/
ACAMERA_CONTROL_ BOKEH_MODE = // byte (acamera_metadata_enum_android_control_bokeh _mode_t)
ACAMERA_CONTROL_ EXTENDED_SCENE_MODE = // byte (acamera_metadata_enum_android_control_extended_scene _mode_t)
ACAMERA_CONTROL_START + 45 ,
ACAMERA_CONTROL_START + 45 ,
/**
/**
* < p > Minimum and maximum zoom ratios supported by this camera device . < / p >
* < p > Minimum and maximum zoom ratios supported by this camera device . < / p >
@ -6891,6 +6888,7 @@ typedef enum acamera_metadata_enum_acamera_control_mode {
* This setting can only be used if scene mode is supported ( i . e .
* This setting can only be used if scene mode is supported ( i . e .
* ACAMERA_CONTROL_AVAILABLE_SCENE_MODES
* ACAMERA_CONTROL_AVAILABLE_SCENE_MODES
* contain some modes other than DISABLED ) . < / p >
* contain some modes other than DISABLED ) . < / p >
* < p > For extended scene modes such as BOKEH , please use USE_EXTENDED_SCENE_MODE instead . < / p >
*
*
* @ see ACAMERA_CONTROL_AVAILABLE_SCENE_MODES
* @ see ACAMERA_CONTROL_AVAILABLE_SCENE_MODES
*/
*/
@ -6908,6 +6906,18 @@ typedef enum acamera_metadata_enum_acamera_control_mode {
*/
*/
ACAMERA_CONTROL_MODE_OFF_KEEP_STATE = 3 ,
ACAMERA_CONTROL_MODE_OFF_KEEP_STATE = 3 ,
/**
* < p > Use a specific extended scene mode . < / p >
* < p > When extended scene mode is on , the camera device may override certain control
* parameters , such as targetFpsRange , AE , AWB , and AF modes , to achieve best power and
* quality tradeoffs . Only the mandatory stream combinations of LIMITED hardware level
* are guaranteed . < / p >
* < p > This setting can only be used if extended scene mode is supported ( i . e .
* android . control . availableExtendedSceneModes
* contains some modes other than DISABLED ) . < / p >
*/
ACAMERA_CONTROL_MODE_USE_EXTENDED_SCENE_MODE = 4 ,
} acamera_metadata_enum_android_control_mode_t ;
} acamera_metadata_enum_android_control_mode_t ;
// ACAMERA_CONTROL_SCENE_MODE
// ACAMERA_CONTROL_SCENE_MODE
@ -7297,12 +7307,12 @@ typedef enum acamera_metadata_enum_acamera_control_af_scene_change {
} acamera_metadata_enum_android_control_af_scene_change_t ;
} acamera_metadata_enum_android_control_af_scene_change_t ;
// ACAMERA_CONTROL_ BOKEH _MODE
// ACAMERA_CONTROL_ EXTENDED_SCENE _MODE
typedef enum acamera_metadata_enum_acamera_control_ bokeh _mode {
typedef enum acamera_metadata_enum_acamera_control_ extended_scene _mode {
/**
/**
* < p > Bokeh mode is disabled . < / p >
* < p > Extended scene mode is disabled . < / p >
*/
*/
ACAMERA_CONTROL_ BOKEH_MODE_OFF = 0 ,
ACAMERA_CONTROL_ EXTENDED_SCENE_MODE_DISABLED = 0 ,
/**
/**
* < p > High quality bokeh mode is enabled for all non - raw streams ( including YUV ,
* < p > High quality bokeh mode is enabled for all non - raw streams ( including YUV ,
@ -7310,7 +7320,7 @@ typedef enum acamera_metadata_enum_acamera_control_bokeh_mode {
* extra image processing , this mode may introduce additional stall to non - raw streams .
* extra image processing , this mode may introduce additional stall to non - raw streams .
* This mode should be used in high quality still capture use case . < / p >
* This mode should be used in high quality still capture use case . < / p >
*/
*/
ACAMERA_CONTROL_ BOKEH_MODE_STILL_CAPTURE = 1 ,
ACAMERA_CONTROL_ EXTENDED_SCENE_MODE_BOKEH_STILL_CAPTURE = 1 ,
/**
/**
* < p > Bokeh effect must not slow down capture rate relative to sensor raw output ,
* < p > Bokeh effect must not slow down capture rate relative to sensor raw output ,
@ -7318,9 +7328,9 @@ typedef enum acamera_metadata_enum_acamera_control_bokeh_mode {
* streaming dimension . This mode should be used if performance and power are a
* streaming dimension . This mode should be used if performance and power are a
* priority , such as video recording . < / p >
* priority , such as video recording . < / p >
*/
*/
ACAMERA_CONTROL_ BOKEH_MODE_CONTINUOUS = 2 ,
ACAMERA_CONTROL_ EXTENDED_SCENE_MODE_BOKEH_CONTINUOUS = 2 ,
} acamera_metadata_enum_android_control_ bokeh _mode_t;
} acamera_metadata_enum_android_control_ extended_scene _mode_t;