Loading api/current.txt +3 −0 Original line number Diff line number Diff line Loading @@ -13466,6 +13466,7 @@ package android.hardware.camera2 { field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_INFO_TIMESTAMP_SOURCE; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_INFO_WHITE_LEVEL; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_MAX_ANALOG_SENSITIVITY; field public static final android.hardware.camera2.CameraCharacteristics.Key<android.graphics.Rect[]> SENSOR_OPTICAL_BLACK_REGIONS; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_ORIENTATION; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_REFERENCE_ILLUMINANT1; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Byte> SENSOR_REFERENCE_ILLUMINANT2; Loading Loading @@ -13878,6 +13879,8 @@ package android.hardware.camera2 { field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> REPROCESS_EFFECTIVE_EXPOSURE_FACTOR; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Byte> REQUEST_PIPELINE_DEPTH; field public static final android.hardware.camera2.CaptureResult.Key<android.graphics.Rect> SCALER_CROP_REGION; field public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.BlackLevelPattern> SENSOR_DYNAMIC_BLACK_LEVEL; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> SENSOR_DYNAMIC_WHITE_LEVEL; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Long> SENSOR_EXPOSURE_TIME; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Long> SENSOR_FRAME_DURATION; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> SENSOR_GREEN_SPLIT; api/system-current.txt +3 −0 Original line number Diff line number Diff line Loading @@ -13814,6 +13814,7 @@ package android.hardware.camera2 { field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_INFO_TIMESTAMP_SOURCE; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_INFO_WHITE_LEVEL; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_MAX_ANALOG_SENSITIVITY; field public static final android.hardware.camera2.CameraCharacteristics.Key<android.graphics.Rect[]> SENSOR_OPTICAL_BLACK_REGIONS; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_ORIENTATION; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_REFERENCE_ILLUMINANT1; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Byte> SENSOR_REFERENCE_ILLUMINANT2; Loading Loading @@ -14226,6 +14227,8 @@ package android.hardware.camera2 { field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> REPROCESS_EFFECTIVE_EXPOSURE_FACTOR; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Byte> REQUEST_PIPELINE_DEPTH; field public static final android.hardware.camera2.CaptureResult.Key<android.graphics.Rect> SCALER_CROP_REGION; field public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.BlackLevelPattern> SENSOR_DYNAMIC_BLACK_LEVEL; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> SENSOR_DYNAMIC_WHITE_LEVEL; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Long> SENSOR_EXPOSURE_TIME; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Long> SENSOR_FRAME_DURATION; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> SENSOR_GREEN_SPLIT; core/java/android/hardware/camera2/CameraCharacteristics.java +45 −0 Original line number Diff line number Diff line Loading @@ -2178,11 +2178,18 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * (8-14 bits is expected), or by the point where the sensor response * becomes too non-linear to be useful. The default value for this is * maximum representable value for a 16-bit raw sample (2^16 - 1).</p> * <p>The white level values of captured images may vary for different * capture settings (e.g., {@link CaptureRequest#SENSOR_SENSITIVITY android.sensor.sensitivity}). This key * represents a coarse approximation for such case. It is recommended * to use {@link CaptureResult#SENSOR_DYNAMIC_WHITE_LEVEL android.sensor.dynamicWhiteLevel} for captures when supported * by the camera device, which provides more accurate white level values.</p> * <p><b>Range of valid values:</b><br> * > 255 (8-bit output)</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> * * @see CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERN * @see CaptureResult#SENSOR_DYNAMIC_WHITE_LEVEL * @see CaptureRequest#SENSOR_SENSITIVITY */ @PublicKey public static final Key<Integer> SENSOR_INFO_WHITE_LEVEL = Loading Loading @@ -2520,12 +2527,24 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * layout key (see {@link CameraCharacteristics#SENSOR_INFO_COLOR_FILTER_ARRANGEMENT android.sensor.info.colorFilterArrangement}), i.e. the * nth value given corresponds to the black level offset for the nth * color channel listed in the CFA.</p> * <p>The black level values of captured images may vary for different * capture settings (e.g., {@link CaptureRequest#SENSOR_SENSITIVITY android.sensor.sensitivity}). This key * represents a coarse approximation for such case. It is recommended to * use {@link CaptureResult#SENSOR_DYNAMIC_BLACK_LEVEL android.sensor.dynamicBlackLevel} or use pixels from * {@link CameraCharacteristics#SENSOR_OPTICAL_BLACK_REGIONS android.sensor.opticalBlackRegions} directly for captures when * supported by the camera device, which provides more accurate black * level values. For raw capture in particular, it is recommended to use * pixels from {@link CameraCharacteristics#SENSOR_OPTICAL_BLACK_REGIONS android.sensor.opticalBlackRegions} to calculate black * level values for each frame.</p> * <p><b>Range of valid values:</b><br> * >= 0 for each.</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> * * @see CaptureResult#SENSOR_DYNAMIC_BLACK_LEVEL * @see CameraCharacteristics#SENSOR_INFO_COLOR_FILTER_ARRANGEMENT * @see CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL * @see CameraCharacteristics#SENSOR_OPTICAL_BLACK_REGIONS * @see CaptureRequest#SENSOR_SENSITIVITY */ @PublicKey public static final Key<android.hardware.camera2.params.BlackLevelPattern> SENSOR_BLACK_LEVEL_PATTERN = Loading Loading @@ -2579,6 +2598,32 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri public static final Key<int[]> SENSOR_AVAILABLE_TEST_PATTERN_MODES = new Key<int[]>("android.sensor.availableTestPatternModes", int[].class); /** * <p>List of disjoint rectangles indicating the sensor * optically shielded black pixel regions.</p> * <p>In most camera sensors, the active array is surrounded by some * optically shielded pixel areas. By blocking light, these pixels * provides a reliable black reference for black level compensation * in active array region.</p> * <p>This key provides a list of disjoint rectangles specifying the * regions of optically shielded (with metal shield) black pixel * regions if the camera device is capable of reading out these black * pixels in the output raw images. In comparison to the fixed black * level values reported by {@link CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERN android.sensor.blackLevelPattern}, this key * may provide a more accurate way for the application to calculate * black level of each captured raw images.</p> * <p>When this key is reported, the {@link CaptureResult#SENSOR_DYNAMIC_BLACK_LEVEL android.sensor.dynamicBlackLevel} and * {@link CaptureResult#SENSOR_DYNAMIC_WHITE_LEVEL android.sensor.dynamicWhiteLevel} will also be reported.</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> * * @see CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERN * @see CaptureResult#SENSOR_DYNAMIC_BLACK_LEVEL * @see CaptureResult#SENSOR_DYNAMIC_WHITE_LEVEL */ @PublicKey public static final Key<android.graphics.Rect[]> SENSOR_OPTICAL_BLACK_REGIONS = new Key<android.graphics.Rect[]>("android.sensor.opticalBlackRegions", android.graphics.Rect[].class); /** * <p>List of lens shading modes for {@link CaptureRequest#SHADING_MODE android.shading.mode} that are supported by this camera device.</p> * <p>This list contains lens shading modes that can be set for the camera device. Loading core/java/android/hardware/camera2/CaptureResult.java +63 −0 Original line number Diff line number Diff line Loading @@ -3291,6 +3291,69 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { public static final Key<Long> SENSOR_ROLLING_SHUTTER_SKEW = new Key<Long>("android.sensor.rollingShutterSkew", long.class); /** * <p>A per-frame dynamic black level offset for each of the color filter * arrangement (CFA) mosaic channels.</p> * <p>Camera sensor black levels may vary dramatically for different * capture settings (e.g. {@link CaptureRequest#SENSOR_SENSITIVITY android.sensor.sensitivity}). The fixed black * level reported by {@link CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERN android.sensor.blackLevelPattern} may be too * inaccurate to represent the actual value on a per-frame basis. The * camera device internal pipeline relies on reliable black level values * to process the raw images appropriately. To get the best image * quality, the camera device may choose to estimate the per frame black * level values either based on optically shielded black regions * ({@link CameraCharacteristics#SENSOR_OPTICAL_BLACK_REGIONS android.sensor.opticalBlackRegions}) or its internal model.</p> * <p>This key reports the camera device estimated per-frame zero light * value for each of the CFA mosaic channels in the camera sensor. The * {@link CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERN android.sensor.blackLevelPattern} may only represent a coarse * approximation of the actual black level values. This value is the * black level used in camera device internal image processing pipeline * and generally more accurate than the fixed black level values. * However, since they are estimated values by the camera device, they * may not be as accurate as the black level values calculated from the * optical black pixels reported by {@link CameraCharacteristics#SENSOR_OPTICAL_BLACK_REGIONS android.sensor.opticalBlackRegions}.</p> * <p>The values are given in the same order as channels listed for the CFA * layout key (see {@link CameraCharacteristics#SENSOR_INFO_COLOR_FILTER_ARRANGEMENT android.sensor.info.colorFilterArrangement}), i.e. the * nth value given corresponds to the black level offset for the nth * color channel listed in the CFA.</p> * <p>This key will be available if {@link CameraCharacteristics#SENSOR_OPTICAL_BLACK_REGIONS android.sensor.opticalBlackRegions} is * available or the camera device advertises this key via * {@link android.hardware.camera2.CameraCharacteristics#getAvailableCaptureRequestKeys }.</p> * <p><b>Range of valid values:</b><br> * >= 0 for each.</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> * * @see CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERN * @see CameraCharacteristics#SENSOR_INFO_COLOR_FILTER_ARRANGEMENT * @see CameraCharacteristics#SENSOR_OPTICAL_BLACK_REGIONS * @see CaptureRequest#SENSOR_SENSITIVITY */ @PublicKey public static final Key<android.hardware.camera2.params.BlackLevelPattern> SENSOR_DYNAMIC_BLACK_LEVEL = new Key<android.hardware.camera2.params.BlackLevelPattern>("android.sensor.dynamicBlackLevel", android.hardware.camera2.params.BlackLevelPattern.class); /** * <p>Maximum raw value output by sensor for this frame.</p> * <p>Since the android.sensor.blackLevel may change for different * capture settings (e.g., {@link CaptureRequest#SENSOR_SENSITIVITY android.sensor.sensitivity}), the white * level will change accordingly. This key is similar to * {@link CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL android.sensor.info.whiteLevel}, but specifies the camera device * estimated white level for each frame.</p> * <p>This key will be available if {@link CameraCharacteristics#SENSOR_OPTICAL_BLACK_REGIONS android.sensor.opticalBlackRegions} is * available or the camera device advertises this key via * {@link android.hardware.camera2.CameraCharacteristics#getAvailableCaptureRequestKeys }.</p> * <p><b>Range of valid values:</b><br> * >= 0</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> * * @see CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL * @see CameraCharacteristics#SENSOR_OPTICAL_BLACK_REGIONS * @see CaptureRequest#SENSOR_SENSITIVITY */ @PublicKey public static final Key<Integer> SENSOR_DYNAMIC_WHITE_LEVEL = new Key<Integer>("android.sensor.dynamicWhiteLevel", int.class); /** * <p>Quality of lens shading correction applied * to the image data.</p> Loading Loading
api/current.txt +3 −0 Original line number Diff line number Diff line Loading @@ -13466,6 +13466,7 @@ package android.hardware.camera2 { field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_INFO_TIMESTAMP_SOURCE; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_INFO_WHITE_LEVEL; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_MAX_ANALOG_SENSITIVITY; field public static final android.hardware.camera2.CameraCharacteristics.Key<android.graphics.Rect[]> SENSOR_OPTICAL_BLACK_REGIONS; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_ORIENTATION; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_REFERENCE_ILLUMINANT1; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Byte> SENSOR_REFERENCE_ILLUMINANT2; Loading Loading @@ -13878,6 +13879,8 @@ package android.hardware.camera2 { field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> REPROCESS_EFFECTIVE_EXPOSURE_FACTOR; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Byte> REQUEST_PIPELINE_DEPTH; field public static final android.hardware.camera2.CaptureResult.Key<android.graphics.Rect> SCALER_CROP_REGION; field public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.BlackLevelPattern> SENSOR_DYNAMIC_BLACK_LEVEL; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> SENSOR_DYNAMIC_WHITE_LEVEL; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Long> SENSOR_EXPOSURE_TIME; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Long> SENSOR_FRAME_DURATION; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> SENSOR_GREEN_SPLIT;
api/system-current.txt +3 −0 Original line number Diff line number Diff line Loading @@ -13814,6 +13814,7 @@ package android.hardware.camera2 { field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_INFO_TIMESTAMP_SOURCE; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_INFO_WHITE_LEVEL; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_MAX_ANALOG_SENSITIVITY; field public static final android.hardware.camera2.CameraCharacteristics.Key<android.graphics.Rect[]> SENSOR_OPTICAL_BLACK_REGIONS; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_ORIENTATION; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Integer> SENSOR_REFERENCE_ILLUMINANT1; field public static final android.hardware.camera2.CameraCharacteristics.Key<java.lang.Byte> SENSOR_REFERENCE_ILLUMINANT2; Loading Loading @@ -14226,6 +14227,8 @@ package android.hardware.camera2 { field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> REPROCESS_EFFECTIVE_EXPOSURE_FACTOR; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Byte> REQUEST_PIPELINE_DEPTH; field public static final android.hardware.camera2.CaptureResult.Key<android.graphics.Rect> SCALER_CROP_REGION; field public static final android.hardware.camera2.CaptureResult.Key<android.hardware.camera2.params.BlackLevelPattern> SENSOR_DYNAMIC_BLACK_LEVEL; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Integer> SENSOR_DYNAMIC_WHITE_LEVEL; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Long> SENSOR_EXPOSURE_TIME; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Long> SENSOR_FRAME_DURATION; field public static final android.hardware.camera2.CaptureResult.Key<java.lang.Float> SENSOR_GREEN_SPLIT;
core/java/android/hardware/camera2/CameraCharacteristics.java +45 −0 Original line number Diff line number Diff line Loading @@ -2178,11 +2178,18 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * (8-14 bits is expected), or by the point where the sensor response * becomes too non-linear to be useful. The default value for this is * maximum representable value for a 16-bit raw sample (2^16 - 1).</p> * <p>The white level values of captured images may vary for different * capture settings (e.g., {@link CaptureRequest#SENSOR_SENSITIVITY android.sensor.sensitivity}). This key * represents a coarse approximation for such case. It is recommended * to use {@link CaptureResult#SENSOR_DYNAMIC_WHITE_LEVEL android.sensor.dynamicWhiteLevel} for captures when supported * by the camera device, which provides more accurate white level values.</p> * <p><b>Range of valid values:</b><br> * > 255 (8-bit output)</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> * * @see CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERN * @see CaptureResult#SENSOR_DYNAMIC_WHITE_LEVEL * @see CaptureRequest#SENSOR_SENSITIVITY */ @PublicKey public static final Key<Integer> SENSOR_INFO_WHITE_LEVEL = Loading Loading @@ -2520,12 +2527,24 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri * layout key (see {@link CameraCharacteristics#SENSOR_INFO_COLOR_FILTER_ARRANGEMENT android.sensor.info.colorFilterArrangement}), i.e. the * nth value given corresponds to the black level offset for the nth * color channel listed in the CFA.</p> * <p>The black level values of captured images may vary for different * capture settings (e.g., {@link CaptureRequest#SENSOR_SENSITIVITY android.sensor.sensitivity}). This key * represents a coarse approximation for such case. It is recommended to * use {@link CaptureResult#SENSOR_DYNAMIC_BLACK_LEVEL android.sensor.dynamicBlackLevel} or use pixels from * {@link CameraCharacteristics#SENSOR_OPTICAL_BLACK_REGIONS android.sensor.opticalBlackRegions} directly for captures when * supported by the camera device, which provides more accurate black * level values. For raw capture in particular, it is recommended to use * pixels from {@link CameraCharacteristics#SENSOR_OPTICAL_BLACK_REGIONS android.sensor.opticalBlackRegions} to calculate black * level values for each frame.</p> * <p><b>Range of valid values:</b><br> * >= 0 for each.</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> * * @see CaptureResult#SENSOR_DYNAMIC_BLACK_LEVEL * @see CameraCharacteristics#SENSOR_INFO_COLOR_FILTER_ARRANGEMENT * @see CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL * @see CameraCharacteristics#SENSOR_OPTICAL_BLACK_REGIONS * @see CaptureRequest#SENSOR_SENSITIVITY */ @PublicKey public static final Key<android.hardware.camera2.params.BlackLevelPattern> SENSOR_BLACK_LEVEL_PATTERN = Loading Loading @@ -2579,6 +2598,32 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri public static final Key<int[]> SENSOR_AVAILABLE_TEST_PATTERN_MODES = new Key<int[]>("android.sensor.availableTestPatternModes", int[].class); /** * <p>List of disjoint rectangles indicating the sensor * optically shielded black pixel regions.</p> * <p>In most camera sensors, the active array is surrounded by some * optically shielded pixel areas. By blocking light, these pixels * provides a reliable black reference for black level compensation * in active array region.</p> * <p>This key provides a list of disjoint rectangles specifying the * regions of optically shielded (with metal shield) black pixel * regions if the camera device is capable of reading out these black * pixels in the output raw images. In comparison to the fixed black * level values reported by {@link CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERN android.sensor.blackLevelPattern}, this key * may provide a more accurate way for the application to calculate * black level of each captured raw images.</p> * <p>When this key is reported, the {@link CaptureResult#SENSOR_DYNAMIC_BLACK_LEVEL android.sensor.dynamicBlackLevel} and * {@link CaptureResult#SENSOR_DYNAMIC_WHITE_LEVEL android.sensor.dynamicWhiteLevel} will also be reported.</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> * * @see CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERN * @see CaptureResult#SENSOR_DYNAMIC_BLACK_LEVEL * @see CaptureResult#SENSOR_DYNAMIC_WHITE_LEVEL */ @PublicKey public static final Key<android.graphics.Rect[]> SENSOR_OPTICAL_BLACK_REGIONS = new Key<android.graphics.Rect[]>("android.sensor.opticalBlackRegions", android.graphics.Rect[].class); /** * <p>List of lens shading modes for {@link CaptureRequest#SHADING_MODE android.shading.mode} that are supported by this camera device.</p> * <p>This list contains lens shading modes that can be set for the camera device. Loading
core/java/android/hardware/camera2/CaptureResult.java +63 −0 Original line number Diff line number Diff line Loading @@ -3291,6 +3291,69 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { public static final Key<Long> SENSOR_ROLLING_SHUTTER_SKEW = new Key<Long>("android.sensor.rollingShutterSkew", long.class); /** * <p>A per-frame dynamic black level offset for each of the color filter * arrangement (CFA) mosaic channels.</p> * <p>Camera sensor black levels may vary dramatically for different * capture settings (e.g. {@link CaptureRequest#SENSOR_SENSITIVITY android.sensor.sensitivity}). The fixed black * level reported by {@link CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERN android.sensor.blackLevelPattern} may be too * inaccurate to represent the actual value on a per-frame basis. The * camera device internal pipeline relies on reliable black level values * to process the raw images appropriately. To get the best image * quality, the camera device may choose to estimate the per frame black * level values either based on optically shielded black regions * ({@link CameraCharacteristics#SENSOR_OPTICAL_BLACK_REGIONS android.sensor.opticalBlackRegions}) or its internal model.</p> * <p>This key reports the camera device estimated per-frame zero light * value for each of the CFA mosaic channels in the camera sensor. The * {@link CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERN android.sensor.blackLevelPattern} may only represent a coarse * approximation of the actual black level values. This value is the * black level used in camera device internal image processing pipeline * and generally more accurate than the fixed black level values. * However, since they are estimated values by the camera device, they * may not be as accurate as the black level values calculated from the * optical black pixels reported by {@link CameraCharacteristics#SENSOR_OPTICAL_BLACK_REGIONS android.sensor.opticalBlackRegions}.</p> * <p>The values are given in the same order as channels listed for the CFA * layout key (see {@link CameraCharacteristics#SENSOR_INFO_COLOR_FILTER_ARRANGEMENT android.sensor.info.colorFilterArrangement}), i.e. the * nth value given corresponds to the black level offset for the nth * color channel listed in the CFA.</p> * <p>This key will be available if {@link CameraCharacteristics#SENSOR_OPTICAL_BLACK_REGIONS android.sensor.opticalBlackRegions} is * available or the camera device advertises this key via * {@link android.hardware.camera2.CameraCharacteristics#getAvailableCaptureRequestKeys }.</p> * <p><b>Range of valid values:</b><br> * >= 0 for each.</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> * * @see CameraCharacteristics#SENSOR_BLACK_LEVEL_PATTERN * @see CameraCharacteristics#SENSOR_INFO_COLOR_FILTER_ARRANGEMENT * @see CameraCharacteristics#SENSOR_OPTICAL_BLACK_REGIONS * @see CaptureRequest#SENSOR_SENSITIVITY */ @PublicKey public static final Key<android.hardware.camera2.params.BlackLevelPattern> SENSOR_DYNAMIC_BLACK_LEVEL = new Key<android.hardware.camera2.params.BlackLevelPattern>("android.sensor.dynamicBlackLevel", android.hardware.camera2.params.BlackLevelPattern.class); /** * <p>Maximum raw value output by sensor for this frame.</p> * <p>Since the android.sensor.blackLevel may change for different * capture settings (e.g., {@link CaptureRequest#SENSOR_SENSITIVITY android.sensor.sensitivity}), the white * level will change accordingly. This key is similar to * {@link CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL android.sensor.info.whiteLevel}, but specifies the camera device * estimated white level for each frame.</p> * <p>This key will be available if {@link CameraCharacteristics#SENSOR_OPTICAL_BLACK_REGIONS android.sensor.opticalBlackRegions} is * available or the camera device advertises this key via * {@link android.hardware.camera2.CameraCharacteristics#getAvailableCaptureRequestKeys }.</p> * <p><b>Range of valid values:</b><br> * >= 0</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> * * @see CameraCharacteristics#SENSOR_INFO_WHITE_LEVEL * @see CameraCharacteristics#SENSOR_OPTICAL_BLACK_REGIONS * @see CaptureRequest#SENSOR_SENSITIVITY */ @PublicKey public static final Key<Integer> SENSOR_DYNAMIC_WHITE_LEVEL = new Key<Integer>("android.sensor.dynamicWhiteLevel", int.class); /** * <p>Quality of lens shading correction applied * to the image data.</p> Loading