Loading camera/camera_platform.aconfig +7 −0 Original line number Diff line number Diff line Loading @@ -62,3 +62,10 @@ flag { description: "Enable session parameter injection via reconfiguration" bug: "308984721" } flag { namespace: "camera_platform" name: "camera_ae_mode_low_light_boost" description: "An AE mode that enables increased brightening in low light scenes" bug: "312803148" } camera/ndk/include/camera/NdkCameraMetadataTags.h +85 −0 Original line number Diff line number Diff line Loading @@ -2244,6 +2244,39 @@ typedef enum acamera_metadata_tag { */ ACAMERA_CONTROL_AUTOFRAMING_STATE = // byte (acamera_metadata_enum_android_control_autoframing_state_t) ACAMERA_CONTROL_START + 54, /** * <p>The operating luminance range of low light boost measured in lux (lx).</p> * * <p>Type: float[2]</p> * * <p>This tag may appear in: * <ul> * <li>ACameraMetadata from ACameraManager_getCameraCharacteristics</li> * </ul></p> * */ ACAMERA_CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE = // float[2] ACAMERA_CONTROL_START + 55, /** * <p>Current state of the low light boost AE mode.</p> * * <p>Type: byte (acamera_metadata_enum_android_control_low_light_boost_state_t)</p> * * <p>This tag may appear in: * <ul> * <li>ACameraMetadata from ACameraCaptureSession_captureCallback_result callbacks</li> * </ul></p> * * <p>When low light boost is enabled by setting the AE mode to * 'ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY', it can dynamically apply a low light * boost when the light level threshold is exceeded.</p> * <p>This state indicates when low light boost is 'ACTIVE' and applied. Similarly, it can * indicate when it is not being applied by returning 'INACTIVE'.</p> * <p>This key will be absent from the CaptureResult if AE mode is not set to * 'ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY.</p> */ ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE = // byte (acamera_metadata_enum_android_control_low_light_boost_state_t) ACAMERA_CONTROL_START + 56, ACAMERA_CONTROL_END, /** Loading Loading @@ -8214,6 +8247,44 @@ typedef enum acamera_metadata_enum_acamera_control_ae_mode { */ ACAMERA_CONTROL_AE_MODE_ON_EXTERNAL_FLASH = 5, /** * <p>Like 'ON' but applies additional brightness boost in low light scenes.</p> * <p>When the scene lighting conditions are within the range defined by * ACAMERA_CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE this mode will apply additional * brightness boost.</p> * <p>This mode will automatically adjust the intensity of low light boost applied * according to the scene lighting conditions. A darker scene will receive more boost * while a brighter scene will receive less boost.</p> * <p>This mode can ignore the set target frame rate to allow more light to be captured * which can result in choppier motion. The frame rate can extend to lower than the * ACAMERA_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES but will not go below 10 FPS. This mode * can also increase the sensor sensitivity gain which can result in increased luma * and chroma noise. The sensor sensitivity gain can extend to higher values beyond * ACAMERA_SENSOR_INFO_SENSITIVITY_RANGE. This mode may also apply additional * processing to recover details in dark and bright areas of the image,and noise * reduction at high sensitivity gain settings to manage the trade-off between light * sensitivity and capture noise.</p> * <p>This mode is restricted to two output surfaces. One output surface type can either * be SurfaceView or TextureView. Another output surface type can either be MediaCodec * or MediaRecorder. This mode cannot be used with a target FPS range higher than 30 * FPS.</p> * <p>If the session configuration is not supported, the AE mode reported in the * CaptureResult will be 'ON' instead of 'ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY'.</p> * <p>The application can observe the CapturerResult field * ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE to determine when low light boost is 'ACTIVE' or * 'INACTIVE'.</p> * <p>The low light boost is 'ACTIVE' once the scene lighting condition is less than the * upper bound lux value defined by ACAMERA_CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE. * This mode will be 'INACTIVE' once the scene lighting condition is greater than the * upper bound lux value defined by ACAMERA_CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE.</p> * * @see ACAMERA_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES * @see ACAMERA_CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE * @see ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE * @see ACAMERA_SENSOR_INFO_SENSITIVITY_RANGE */ ACAMERA_CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY = 6, } acamera_metadata_enum_android_control_ae_mode_t; // ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER Loading Loading @@ -9215,6 +9286,20 @@ typedef enum acamera_metadata_enum_acamera_control_autoframing_state { } acamera_metadata_enum_android_control_autoframing_state_t; // ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE typedef enum acamera_metadata_enum_acamera_control_low_light_boost_state { /** * <p>The AE mode 'ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY' is enabled but not applied.</p> */ ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE_INACTIVE = 0, /** * <p>The AE mode 'ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY' is enabled and applied.</p> */ ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE_ACTIVE = 1, } acamera_metadata_enum_android_control_low_light_boost_state_t; // ACAMERA_EDGE_MODE Loading services/camera/libcameraservice/aidl/VndkVersionMetadataTags.h +2 −0 Original line number Diff line number Diff line Loading @@ -77,6 +77,7 @@ std::map<int, std::vector<camera_metadata_tag>> static_api_level_to_keys{ {34, { ANDROID_CONTROL_AUTOFRAMING_AVAILABLE, ANDROID_CONTROL_AVAILABLE_SETTINGS_OVERRIDES, ANDROID_CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE, ANDROID_FLASH_SINGLE_STRENGTH_DEFAULT_LEVEL, ANDROID_FLASH_SINGLE_STRENGTH_MAX_LEVEL, ANDROID_FLASH_TORCH_STRENGTH_DEFAULT_LEVEL, Loading Loading @@ -108,6 +109,7 @@ std::map<int, std::vector<camera_metadata_tag>> dynamic_api_level_to_keys{ {34, { ANDROID_CONTROL_AUTOFRAMING, ANDROID_CONTROL_AUTOFRAMING_STATE, ANDROID_CONTROL_LOW_LIGHT_BOOST_STATE, ANDROID_CONTROL_SETTINGS_OVERRIDE, ANDROID_CONTROL_SETTINGS_OVERRIDING_FRAME_NUMBER, ANDROID_EXTENSION_CURRENT_TYPE, Loading Loading
camera/camera_platform.aconfig +7 −0 Original line number Diff line number Diff line Loading @@ -62,3 +62,10 @@ flag { description: "Enable session parameter injection via reconfiguration" bug: "308984721" } flag { namespace: "camera_platform" name: "camera_ae_mode_low_light_boost" description: "An AE mode that enables increased brightening in low light scenes" bug: "312803148" }
camera/ndk/include/camera/NdkCameraMetadataTags.h +85 −0 Original line number Diff line number Diff line Loading @@ -2244,6 +2244,39 @@ typedef enum acamera_metadata_tag { */ ACAMERA_CONTROL_AUTOFRAMING_STATE = // byte (acamera_metadata_enum_android_control_autoframing_state_t) ACAMERA_CONTROL_START + 54, /** * <p>The operating luminance range of low light boost measured in lux (lx).</p> * * <p>Type: float[2]</p> * * <p>This tag may appear in: * <ul> * <li>ACameraMetadata from ACameraManager_getCameraCharacteristics</li> * </ul></p> * */ ACAMERA_CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE = // float[2] ACAMERA_CONTROL_START + 55, /** * <p>Current state of the low light boost AE mode.</p> * * <p>Type: byte (acamera_metadata_enum_android_control_low_light_boost_state_t)</p> * * <p>This tag may appear in: * <ul> * <li>ACameraMetadata from ACameraCaptureSession_captureCallback_result callbacks</li> * </ul></p> * * <p>When low light boost is enabled by setting the AE mode to * 'ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY', it can dynamically apply a low light * boost when the light level threshold is exceeded.</p> * <p>This state indicates when low light boost is 'ACTIVE' and applied. Similarly, it can * indicate when it is not being applied by returning 'INACTIVE'.</p> * <p>This key will be absent from the CaptureResult if AE mode is not set to * 'ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY.</p> */ ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE = // byte (acamera_metadata_enum_android_control_low_light_boost_state_t) ACAMERA_CONTROL_START + 56, ACAMERA_CONTROL_END, /** Loading Loading @@ -8214,6 +8247,44 @@ typedef enum acamera_metadata_enum_acamera_control_ae_mode { */ ACAMERA_CONTROL_AE_MODE_ON_EXTERNAL_FLASH = 5, /** * <p>Like 'ON' but applies additional brightness boost in low light scenes.</p> * <p>When the scene lighting conditions are within the range defined by * ACAMERA_CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE this mode will apply additional * brightness boost.</p> * <p>This mode will automatically adjust the intensity of low light boost applied * according to the scene lighting conditions. A darker scene will receive more boost * while a brighter scene will receive less boost.</p> * <p>This mode can ignore the set target frame rate to allow more light to be captured * which can result in choppier motion. The frame rate can extend to lower than the * ACAMERA_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES but will not go below 10 FPS. This mode * can also increase the sensor sensitivity gain which can result in increased luma * and chroma noise. The sensor sensitivity gain can extend to higher values beyond * ACAMERA_SENSOR_INFO_SENSITIVITY_RANGE. This mode may also apply additional * processing to recover details in dark and bright areas of the image,and noise * reduction at high sensitivity gain settings to manage the trade-off between light * sensitivity and capture noise.</p> * <p>This mode is restricted to two output surfaces. One output surface type can either * be SurfaceView or TextureView. Another output surface type can either be MediaCodec * or MediaRecorder. This mode cannot be used with a target FPS range higher than 30 * FPS.</p> * <p>If the session configuration is not supported, the AE mode reported in the * CaptureResult will be 'ON' instead of 'ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY'.</p> * <p>The application can observe the CapturerResult field * ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE to determine when low light boost is 'ACTIVE' or * 'INACTIVE'.</p> * <p>The low light boost is 'ACTIVE' once the scene lighting condition is less than the * upper bound lux value defined by ACAMERA_CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE. * This mode will be 'INACTIVE' once the scene lighting condition is greater than the * upper bound lux value defined by ACAMERA_CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE.</p> * * @see ACAMERA_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES * @see ACAMERA_CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE * @see ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE * @see ACAMERA_SENSOR_INFO_SENSITIVITY_RANGE */ ACAMERA_CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY = 6, } acamera_metadata_enum_android_control_ae_mode_t; // ACAMERA_CONTROL_AE_PRECAPTURE_TRIGGER Loading Loading @@ -9215,6 +9286,20 @@ typedef enum acamera_metadata_enum_acamera_control_autoframing_state { } acamera_metadata_enum_android_control_autoframing_state_t; // ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE typedef enum acamera_metadata_enum_acamera_control_low_light_boost_state { /** * <p>The AE mode 'ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY' is enabled but not applied.</p> */ ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE_INACTIVE = 0, /** * <p>The AE mode 'ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY' is enabled and applied.</p> */ ACAMERA_CONTROL_LOW_LIGHT_BOOST_STATE_ACTIVE = 1, } acamera_metadata_enum_android_control_low_light_boost_state_t; // ACAMERA_EDGE_MODE Loading
services/camera/libcameraservice/aidl/VndkVersionMetadataTags.h +2 −0 Original line number Diff line number Diff line Loading @@ -77,6 +77,7 @@ std::map<int, std::vector<camera_metadata_tag>> static_api_level_to_keys{ {34, { ANDROID_CONTROL_AUTOFRAMING_AVAILABLE, ANDROID_CONTROL_AVAILABLE_SETTINGS_OVERRIDES, ANDROID_CONTROL_LOW_LIGHT_BOOST_INFO_LUMINANCE_RANGE, ANDROID_FLASH_SINGLE_STRENGTH_DEFAULT_LEVEL, ANDROID_FLASH_SINGLE_STRENGTH_MAX_LEVEL, ANDROID_FLASH_TORCH_STRENGTH_DEFAULT_LEVEL, Loading Loading @@ -108,6 +109,7 @@ std::map<int, std::vector<camera_metadata_tag>> dynamic_api_level_to_keys{ {34, { ANDROID_CONTROL_AUTOFRAMING, ANDROID_CONTROL_AUTOFRAMING_STATE, ANDROID_CONTROL_LOW_LIGHT_BOOST_STATE, ANDROID_CONTROL_SETTINGS_OVERRIDE, ANDROID_CONTROL_SETTINGS_OVERRIDING_FRAME_NUMBER, ANDROID_EXTENSION_CURRENT_TYPE, Loading