Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5f2a47f3 authored by Zhijun He's avatar Zhijun He
Browse files

Camera2: update metadata specs

Change-Id: I0f2db931f923af6de281f1404142301d9cfe18ea
parent a17059b7
Loading
Loading
Loading
Loading
+8 −8
Original line number Original line Diff line number Diff line
@@ -227,9 +227,9 @@ public final class CameraCharacteristics extends CameraMetadata {
     * which enables application control of white balance, by using
     * which enables application control of white balance, by using
     * {@link CaptureRequest#COLOR_CORRECTION_TRANSFORM android.colorCorrection.transform} and {@link CaptureRequest#COLOR_CORRECTION_GAINS android.colorCorrection.gains}({@link CaptureRequest#COLOR_CORRECTION_MODE android.colorCorrection.mode} must be set to TRANSFORM_MATRIX).</p>
     * {@link CaptureRequest#COLOR_CORRECTION_TRANSFORM android.colorCorrection.transform} and {@link CaptureRequest#COLOR_CORRECTION_GAINS android.colorCorrection.gains}({@link CaptureRequest#COLOR_CORRECTION_MODE android.colorCorrection.mode} must be set to TRANSFORM_MATRIX).</p>
     *
     *
     * @see CaptureRequest#CONTROL_AWB_MODE
     * @see CaptureRequest#COLOR_CORRECTION_MODE
     * @see CaptureRequest#COLOR_CORRECTION_TRANSFORM
     * @see CaptureRequest#COLOR_CORRECTION_TRANSFORM
     * @see CaptureRequest#COLOR_CORRECTION_MODE
     * @see CaptureRequest#CONTROL_AWB_MODE
     * @see CaptureRequest#COLOR_CORRECTION_GAINS
     * @see CaptureRequest#COLOR_CORRECTION_GAINS
     */
     */
    public static final Key<byte[]> CONTROL_AWB_AVAILABLE_MODES =
    public static final Key<byte[]> CONTROL_AWB_AVAILABLE_MODES =
@@ -253,18 +253,18 @@ public final class CameraCharacteristics extends CameraMetadata {


    /**
    /**
     * <p>Supported resolutions for the JPEG thumbnail</p>
     * <p>Supported resolutions for the JPEG thumbnail</p>
     * <p>Below condiditions must be satisfied for this size list:</p>
     * <p>Below condiditions will be satisfied for this size list:</p>
     * <ul>
     * <ul>
     * <li>The sizes must be sorted by increasing pixel area (width x height).
     * <li>The sizes will be sorted by increasing pixel area (width x height).
     * If several resolutions have the same area, they must be sorted by increasing width.</li>
     * If several resolutions have the same area, they will be sorted by increasing width.</li>
     * <li>The aspect ratio of the largest thumbnail size must be same as the
     * <li>The aspect ratio of the largest thumbnail size will be same as the
     * aspect ratio of largest size in {@link CameraCharacteristics#SCALER_AVAILABLE_JPEG_SIZES android.scaler.availableJpegSizes}.
     * aspect ratio of largest size in {@link CameraCharacteristics#SCALER_AVAILABLE_JPEG_SIZES android.scaler.availableJpegSizes}.
     * The largest size is defined as the size that has the largest pixel area
     * The largest size is defined as the size that has the largest pixel area
     * in a given size list.</li>
     * in a given size list.</li>
     * <li>Each size in {@link CameraCharacteristics#SCALER_AVAILABLE_JPEG_SIZES android.scaler.availableJpegSizes} must have at least
     * <li>Each size in {@link CameraCharacteristics#SCALER_AVAILABLE_JPEG_SIZES android.scaler.availableJpegSizes} will have at least
     * one corresponding size that has the same aspect ratio in availableThumbnailSizes,
     * one corresponding size that has the same aspect ratio in availableThumbnailSizes,
     * and vice versa.</li>
     * and vice versa.</li>
     * <li>All non (0, 0) sizes must have non-zero widths and heights.</li>
     * <li>All non (0, 0) sizes will have non-zero widths and heights.</li>
     * </ul>
     * </ul>
     *
     *
     * @see CameraCharacteristics#SCALER_AVAILABLE_JPEG_SIZES
     * @see CameraCharacteristics#SCALER_AVAILABLE_JPEG_SIZES
+4 −4
Original line number Original line Diff line number Diff line
@@ -318,8 +318,8 @@ public abstract class CameraMetadata {
     * device, along with android.flash.* fields, if there's
     * device, along with android.flash.* fields, if there's
     * a flash unit for this camera device.</p>
     * a flash unit for this camera device.</p>
     *
     *
     * @see CaptureRequest#SENSOR_EXPOSURE_TIME
     * @see CaptureRequest#SENSOR_FRAME_DURATION
     * @see CaptureRequest#SENSOR_FRAME_DURATION
     * @see CaptureRequest#SENSOR_EXPOSURE_TIME
     * @see CaptureRequest#SENSOR_SENSITIVITY
     * @see CaptureRequest#SENSOR_SENSITIVITY
     * @see CaptureRequest#CONTROL_AE_MODE
     * @see CaptureRequest#CONTROL_AE_MODE
     */
     */
@@ -334,8 +334,8 @@ public abstract class CameraMetadata {
     * application has control over the various
     * application has control over the various
     * android.flash.* fields.</p>
     * android.flash.* fields.</p>
     *
     *
     * @see CaptureRequest#SENSOR_EXPOSURE_TIME
     * @see CaptureRequest#SENSOR_FRAME_DURATION
     * @see CaptureRequest#SENSOR_FRAME_DURATION
     * @see CaptureRequest#SENSOR_EXPOSURE_TIME
     * @see CaptureRequest#SENSOR_SENSITIVITY
     * @see CaptureRequest#SENSOR_SENSITIVITY
     * @see CaptureRequest#CONTROL_AE_MODE
     * @see CaptureRequest#CONTROL_AE_MODE
     */
     */
@@ -351,8 +351,8 @@ public abstract class CameraMetadata {
     * {@link CaptureRequest#CONTROL_CAPTURE_INTENT android.control.captureIntent} field is set to
     * {@link CaptureRequest#CONTROL_CAPTURE_INTENT android.control.captureIntent} field is set to
     * STILL_CAPTURE</p>
     * STILL_CAPTURE</p>
     *
     *
     * @see CaptureRequest#CONTROL_CAPTURE_INTENT
     * @see CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGER
     * @see CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGER
     * @see CaptureRequest#CONTROL_CAPTURE_INTENT
     * @see CaptureRequest#CONTROL_AE_MODE
     * @see CaptureRequest#CONTROL_AE_MODE
     */
     */
    public static final int CONTROL_AE_MODE_ON_AUTO_FLASH = 2;
    public static final int CONTROL_AE_MODE_ON_AUTO_FLASH = 2;
@@ -367,8 +367,8 @@ public abstract class CameraMetadata {
     * {@link CaptureRequest#CONTROL_CAPTURE_INTENT android.control.captureIntent} field is set to
     * {@link CaptureRequest#CONTROL_CAPTURE_INTENT android.control.captureIntent} field is set to
     * STILL_CAPTURE</p>
     * STILL_CAPTURE</p>
     *
     *
     * @see CaptureRequest#CONTROL_CAPTURE_INTENT
     * @see CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGER
     * @see CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGER
     * @see CaptureRequest#CONTROL_CAPTURE_INTENT
     * @see CaptureRequest#CONTROL_AE_MODE
     * @see CaptureRequest#CONTROL_AE_MODE
     */
     */
    public static final int CONTROL_AE_MODE_ON_ALWAYS_FLASH = 3;
    public static final int CONTROL_AE_MODE_ON_ALWAYS_FLASH = 3;
+21 −21
Original line number Original line Diff line number Diff line
@@ -399,9 +399,9 @@ public final class CaptureRequest extends CameraMetadata implements Parcelable {
     * issues. The {@link CaptureResult#STATISTICS_SCENE_FLICKER android.statistics.sceneFlicker} key can assist
     * issues. The {@link CaptureResult#STATISTICS_SCENE_FLICKER android.statistics.sceneFlicker} key can assist
     * the application in this.</p>
     * the application in this.</p>
     *
     *
     * @see CameraCharacteristics#CONTROL_AE_AVAILABLE_ANTIBANDING_MODES
     * @see CaptureResult#STATISTICS_SCENE_FLICKER
     * @see CaptureRequest#CONTROL_MODE
     * @see CaptureRequest#CONTROL_MODE
     * @see CaptureResult#STATISTICS_SCENE_FLICKER
     * @see CameraCharacteristics#CONTROL_AE_AVAILABLE_ANTIBANDING_MODES
     * @see CaptureRequest#CONTROL_AE_MODE
     * @see CaptureRequest#CONTROL_AE_MODE
     * @see #CONTROL_AE_ANTIBANDING_MODE_OFF
     * @see #CONTROL_AE_ANTIBANDING_MODE_OFF
     * @see #CONTROL_AE_ANTIBANDING_MODE_50HZ
     * @see #CONTROL_AE_ANTIBANDING_MODE_50HZ
@@ -453,12 +453,12 @@ public final class CaptureRequest extends CameraMetadata implements Parcelable {
     * fields for a given capture will be available in its
     * fields for a given capture will be available in its
     * CaptureResult.</p>
     * CaptureResult.</p>
     *
     *
     * @see CaptureRequest#CONTROL_MODE
     * @see CaptureRequest#SENSOR_EXPOSURE_TIME
     * @see CaptureRequest#SENSOR_EXPOSURE_TIME
     * @see CaptureRequest#SENSOR_FRAME_DURATION
     * @see CaptureRequest#SENSOR_FRAME_DURATION
     * @see CaptureRequest#SENSOR_SENSITIVITY
     * @see CaptureRequest#SENSOR_SENSITIVITY
     * @see CaptureRequest#FLASH_MODE
     * @see CaptureRequest#FLASH_MODE
     * @see CameraCharacteristics#FLASH_INFO_AVAILABLE
     * @see CameraCharacteristics#FLASH_INFO_AVAILABLE
     * @see CaptureRequest#CONTROL_MODE
     * @see #CONTROL_AE_MODE_OFF
     * @see #CONTROL_AE_MODE_OFF
     * @see #CONTROL_AE_MODE_ON
     * @see #CONTROL_AE_MODE_ON
     * @see #CONTROL_AE_MODE_ON_AUTO_FLASH
     * @see #CONTROL_AE_MODE_ON_AUTO_FLASH
@@ -605,9 +605,9 @@ public final class CaptureRequest extends CameraMetadata implements Parcelable {
     * routine is disabled. The camera device uses each particular illumination
     * routine is disabled. The camera device uses each particular illumination
     * target for white balance adjustment.</p>
     * target for white balance adjustment.</p>
     *
     *
     * @see CaptureRequest#COLOR_CORRECTION_TRANSFORM
     * @see CaptureRequest#COLOR_CORRECTION_MODE
     * @see CaptureRequest#CONTROL_MODE
     * @see CaptureRequest#CONTROL_MODE
     * @see CaptureRequest#COLOR_CORRECTION_MODE
     * @see CaptureRequest#COLOR_CORRECTION_TRANSFORM
     * @see CaptureRequest#COLOR_CORRECTION_GAINS
     * @see CaptureRequest#COLOR_CORRECTION_GAINS
     * @see #CONTROL_AWB_MODE_OFF
     * @see #CONTROL_AWB_MODE_OFF
     * @see #CONTROL_AWB_MODE_AUTO
     * @see #CONTROL_AWB_MODE_AUTO
@@ -686,14 +686,14 @@ public final class CaptureRequest extends CameraMetadata implements Parcelable {
     * <p>Overall mode of 3A control
     * <p>Overall mode of 3A control
     * routines</p>
     * routines</p>
     * <p>High-level 3A control. When set to OFF, all 3A control
     * <p>High-level 3A control. When set to OFF, all 3A control
     * by the HAL is disabled. The application must set the fields for
     * by the camera device is disabled. The application must set the fields for
     * 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
     * android.control.* are in effect, such as {@link CaptureRequest#CONTROL_AF_MODE android.control.afMode}.</p>
     * android.control.* are in effect, such as {@link CaptureRequest#CONTROL_AF_MODE android.control.afMode}.</p>
     * <p>When set to USE_SCENE_MODE, the individual controls in
     * <p>When set to USE_SCENE_MODE, the individual controls in
     * android.control.* are mostly disabled, and the HAL implements
     * android.control.* are mostly disabled, and the camera device implements
     * one of the scene mode settings (such as ACTION, SUNSET, or PARTY)
     * one of the scene mode settings (such as ACTION, SUNSET, or PARTY)
     * as it wishes. The HAL scene mode 3A settings are provided by
     * as it wishes. The camera device scene mode 3A settings are provided by
     * android.control.sceneModeOverrides.</p>
     * android.control.sceneModeOverrides.</p>
     *
     *
     * @see CaptureRequest#CONTROL_AF_MODE
     * @see CaptureRequest#CONTROL_AF_MODE
@@ -747,10 +747,10 @@ public final class CaptureRequest extends CameraMetadata implements Parcelable {
     * enhancement</p>
     * enhancement</p>
     * <p>Edge/sharpness/detail enhancement. OFF means no
     * <p>Edge/sharpness/detail enhancement. OFF means no
     * enhancement will be applied by the HAL.</p>
     * enhancement will be applied by the HAL.</p>
     * <p>FAST/HIGH_QUALITY both mean HAL-determined enhancement
     * <p>FAST/HIGH_QUALITY both mean camera device determined enhancement
     * will be applied. HIGH_QUALITY mode indicates that the
     * will be applied. HIGH_QUALITY mode indicates that the
     * HAL should use the highest-quality enhancement algorithms,
     * camera device will use the highest-quality enhancement algorithms,
     * even if it slows down capture rate. FAST means the HAL should
     * even if it slows down capture rate. FAST means the camera device will
     * not slow down capture rate when applying edge enhancement.</p>
     * not slow down capture rate when applying edge enhancement.</p>
     * @see #EDGE_MODE_OFF
     * @see #EDGE_MODE_OFF
     * @see #EDGE_MODE_FAST
     * @see #EDGE_MODE_FAST
@@ -813,8 +813,8 @@ public final class CaptureRequest extends CameraMetadata implements Parcelable {


    /**
    /**
     * <p>Resolution of embedded JPEG thumbnail</p>
     * <p>Resolution of embedded JPEG thumbnail</p>
     * <p>When set to (0, 0) value, the JPEG EXIF must not contain thumbnail,
     * <p>When set to (0, 0) value, the JPEG EXIF will not contain thumbnail,
     * but the captured JPEG must still be a valid image.</p>
     * but the captured JPEG will still be a valid image.</p>
     * <p>When a jpeg image capture is issued, the thumbnail size selected should have
     * <p>When a jpeg image capture is issued, the thumbnail size selected should have
     * the same aspect ratio as the jpeg image.</p>
     * the same aspect ratio as the jpeg image.</p>
     */
     */
@@ -839,9 +839,9 @@ public final class CaptureRequest extends CameraMetadata implements Parcelable {
     * auto-exposure algorithm, the overridden values are then provided
     * auto-exposure algorithm, the overridden values are then provided
     * back to the user in the corresponding result.</p>
     * back to the user in the corresponding result.</p>
     *
     *
     * @see CameraCharacteristics#LENS_INFO_AVAILABLE_APERTURES
     * @see CaptureRequest#SENSOR_EXPOSURE_TIME
     * @see CaptureRequest#SENSOR_SENSITIVITY
     * @see CaptureRequest#SENSOR_SENSITIVITY
     * @see CaptureRequest#SENSOR_EXPOSURE_TIME
     * @see CameraCharacteristics#LENS_INFO_AVAILABLE_APERTURES
     * @see CaptureRequest#CONTROL_AE_MODE
     * @see CaptureRequest#CONTROL_AE_MODE
     */
     */
    public static final Key<Float> LENS_APERTURE =
    public static final Key<Float> LENS_APERTURE =
@@ -887,10 +887,10 @@ public final class CaptureRequest extends CameraMetadata implements Parcelable {
     * algorithm</p>
     * algorithm</p>
     * <p>Noise filtering control. OFF means no noise reduction
     * <p>Noise filtering control. OFF means no noise reduction
     * will be applied by the HAL.</p>
     * will be applied by the HAL.</p>
     * <p>FAST/HIGH_QUALITY both mean HAL-determined noise filtering
     * <p>FAST/HIGH_QUALITY both mean camera device determined noise filtering
     * will be applied. HIGH_QUALITY mode indicates that the HAL
     * will be applied. HIGH_QUALITY mode indicates that the camera device
     * should use the highest-quality noise filtering algorithms,
     * will use the highest-quality noise filtering algorithms,
     * even if it slows down capture rate. FAST means the HAL should not
     * even if it slows down capture rate. FAST means the camera device should not
     * slow down capture rate when applying noise filtering.</p>
     * slow down capture rate when applying noise filtering.</p>
     * @see #NOISE_REDUCTION_MODE_OFF
     * @see #NOISE_REDUCTION_MODE_OFF
     * @see #NOISE_REDUCTION_MODE_FAST
     * @see #NOISE_REDUCTION_MODE_FAST
@@ -1009,8 +1009,8 @@ public final class CaptureRequest extends CameraMetadata implements Parcelable {
     * channel, to use when {@link CaptureRequest#TONEMAP_MODE android.tonemap.mode} is CONTRAST_CURVE.</p>
     * channel, to use when {@link CaptureRequest#TONEMAP_MODE android.tonemap.mode} is CONTRAST_CURVE.</p>
     * <p>See {@link CaptureRequest#TONEMAP_CURVE_RED android.tonemap.curveRed} for more details.</p>
     * <p>See {@link CaptureRequest#TONEMAP_CURVE_RED android.tonemap.curveRed} for more details.</p>
     *
     *
     * @see CaptureRequest#TONEMAP_MODE
     * @see CaptureRequest#TONEMAP_CURVE_RED
     * @see CaptureRequest#TONEMAP_CURVE_RED
     * @see CaptureRequest#TONEMAP_MODE
     */
     */
    public static final Key<float[]> TONEMAP_CURVE_BLUE =
    public static final Key<float[]> TONEMAP_CURVE_BLUE =
            new Key<float[]>("android.tonemap.curveBlue", float[].class);
            new Key<float[]>("android.tonemap.curveBlue", float[].class);
@@ -1022,8 +1022,8 @@ public final class CaptureRequest extends CameraMetadata implements Parcelable {
     * channel, to use when {@link CaptureRequest#TONEMAP_MODE android.tonemap.mode} is CONTRAST_CURVE.</p>
     * channel, to use when {@link CaptureRequest#TONEMAP_MODE android.tonemap.mode} is CONTRAST_CURVE.</p>
     * <p>See {@link CaptureRequest#TONEMAP_CURVE_RED android.tonemap.curveRed} for more details.</p>
     * <p>See {@link CaptureRequest#TONEMAP_CURVE_RED android.tonemap.curveRed} for more details.</p>
     *
     *
     * @see CaptureRequest#TONEMAP_MODE
     * @see CaptureRequest#TONEMAP_CURVE_RED
     * @see CaptureRequest#TONEMAP_CURVE_RED
     * @see CaptureRequest#TONEMAP_MODE
     */
     */
    public static final Key<float[]> TONEMAP_CURVE_GREEN =
    public static final Key<float[]> TONEMAP_CURVE_GREEN =
            new Key<float[]>("android.tonemap.curveGreen", float[].class);
            new Key<float[]>("android.tonemap.curveGreen", float[].class);
+19 −19
Original line number Original line Diff line number Diff line
@@ -195,12 +195,12 @@ public final class CaptureResult extends CameraMetadata {
     * fields for a given capture will be available in its
     * fields for a given capture will be available in its
     * CaptureResult.</p>
     * CaptureResult.</p>
     *
     *
     * @see CaptureRequest#CONTROL_MODE
     * @see CaptureRequest#SENSOR_EXPOSURE_TIME
     * @see CaptureRequest#SENSOR_EXPOSURE_TIME
     * @see CaptureRequest#SENSOR_FRAME_DURATION
     * @see CaptureRequest#SENSOR_FRAME_DURATION
     * @see CaptureRequest#SENSOR_SENSITIVITY
     * @see CaptureRequest#SENSOR_SENSITIVITY
     * @see CaptureRequest#FLASH_MODE
     * @see CaptureRequest#FLASH_MODE
     * @see CameraCharacteristics#FLASH_INFO_AVAILABLE
     * @see CameraCharacteristics#FLASH_INFO_AVAILABLE
     * @see CaptureRequest#CONTROL_MODE
     * @see #CONTROL_AE_MODE_OFF
     * @see #CONTROL_AE_MODE_OFF
     * @see #CONTROL_AE_MODE_ON
     * @see #CONTROL_AE_MODE_ON
     * @see #CONTROL_AE_MODE_ON_AUTO_FLASH
     * @see #CONTROL_AE_MODE_ON_AUTO_FLASH
@@ -336,9 +336,9 @@ public final class CaptureResult extends CameraMetadata {
     * routine is disabled. The camera device uses each particular illumination
     * routine is disabled. The camera device uses each particular illumination
     * target for white balance adjustment.</p>
     * target for white balance adjustment.</p>
     *
     *
     * @see CaptureRequest#COLOR_CORRECTION_TRANSFORM
     * @see CaptureRequest#COLOR_CORRECTION_MODE
     * @see CaptureRequest#CONTROL_MODE
     * @see CaptureRequest#CONTROL_MODE
     * @see CaptureRequest#COLOR_CORRECTION_MODE
     * @see CaptureRequest#COLOR_CORRECTION_TRANSFORM
     * @see CaptureRequest#COLOR_CORRECTION_GAINS
     * @see CaptureRequest#COLOR_CORRECTION_GAINS
     * @see #CONTROL_AWB_MODE_OFF
     * @see #CONTROL_AWB_MODE_OFF
     * @see #CONTROL_AWB_MODE_AUTO
     * @see #CONTROL_AWB_MODE_AUTO
@@ -395,14 +395,14 @@ public final class CaptureResult extends CameraMetadata {
     * <p>Overall mode of 3A control
     * <p>Overall mode of 3A control
     * routines</p>
     * routines</p>
     * <p>High-level 3A control. When set to OFF, all 3A control
     * <p>High-level 3A control. When set to OFF, all 3A control
     * by the HAL is disabled. The application must set the fields for
     * by the camera device is disabled. The application must set the fields for
     * 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
     * android.control.* are in effect, such as {@link CaptureRequest#CONTROL_AF_MODE android.control.afMode}.</p>
     * android.control.* are in effect, such as {@link CaptureRequest#CONTROL_AF_MODE android.control.afMode}.</p>
     * <p>When set to USE_SCENE_MODE, the individual controls in
     * <p>When set to USE_SCENE_MODE, the individual controls in
     * android.control.* are mostly disabled, and the HAL implements
     * android.control.* are mostly disabled, and the camera device implements
     * one of the scene mode settings (such as ACTION, SUNSET, or PARTY)
     * one of the scene mode settings (such as ACTION, SUNSET, or PARTY)
     * as it wishes. The HAL scene mode 3A settings are provided by
     * as it wishes. The camera device scene mode 3A settings are provided by
     * android.control.sceneModeOverrides.</p>
     * android.control.sceneModeOverrides.</p>
     *
     *
     * @see CaptureRequest#CONTROL_AF_MODE
     * @see CaptureRequest#CONTROL_AF_MODE
@@ -418,10 +418,10 @@ public final class CaptureResult extends CameraMetadata {
     * enhancement</p>
     * enhancement</p>
     * <p>Edge/sharpness/detail enhancement. OFF means no
     * <p>Edge/sharpness/detail enhancement. OFF means no
     * enhancement will be applied by the HAL.</p>
     * enhancement will be applied by the HAL.</p>
     * <p>FAST/HIGH_QUALITY both mean HAL-determined enhancement
     * <p>FAST/HIGH_QUALITY both mean camera device determined enhancement
     * will be applied. HIGH_QUALITY mode indicates that the
     * will be applied. HIGH_QUALITY mode indicates that the
     * HAL should use the highest-quality enhancement algorithms,
     * camera device will use the highest-quality enhancement algorithms,
     * even if it slows down capture rate. FAST means the HAL should
     * even if it slows down capture rate. FAST means the camera device will
     * not slow down capture rate when applying edge enhancement.</p>
     * not slow down capture rate when applying edge enhancement.</p>
     * @see #EDGE_MODE_OFF
     * @see #EDGE_MODE_OFF
     * @see #EDGE_MODE_FAST
     * @see #EDGE_MODE_FAST
@@ -495,8 +495,8 @@ public final class CaptureResult extends CameraMetadata {


    /**
    /**
     * <p>Resolution of embedded JPEG thumbnail</p>
     * <p>Resolution of embedded JPEG thumbnail</p>
     * <p>When set to (0, 0) value, the JPEG EXIF must not contain thumbnail,
     * <p>When set to (0, 0) value, the JPEG EXIF will not contain thumbnail,
     * but the captured JPEG must still be a valid image.</p>
     * but the captured JPEG will still be a valid image.</p>
     * <p>When a jpeg image capture is issued, the thumbnail size selected should have
     * <p>When a jpeg image capture is issued, the thumbnail size selected should have
     * the same aspect ratio as the jpeg image.</p>
     * the same aspect ratio as the jpeg image.</p>
     */
     */
@@ -521,9 +521,9 @@ public final class CaptureResult extends CameraMetadata {
     * auto-exposure algorithm, the overridden values are then provided
     * auto-exposure algorithm, the overridden values are then provided
     * back to the user in the corresponding result.</p>
     * back to the user in the corresponding result.</p>
     *
     *
     * @see CameraCharacteristics#LENS_INFO_AVAILABLE_APERTURES
     * @see CaptureRequest#SENSOR_SENSITIVITY
     * @see CaptureRequest#SENSOR_SENSITIVITY
     * @see CaptureRequest#SENSOR_EXPOSURE_TIME
     * @see CaptureRequest#SENSOR_EXPOSURE_TIME
     * @see CameraCharacteristics#LENS_INFO_AVAILABLE_APERTURES
     * @see CaptureRequest#CONTROL_AE_MODE
     * @see CaptureRequest#CONTROL_AE_MODE
     */
     */
    public static final Key<Float> LENS_APERTURE =
    public static final Key<Float> LENS_APERTURE =
@@ -585,10 +585,10 @@ public final class CaptureResult extends CameraMetadata {
     * algorithm</p>
     * algorithm</p>
     * <p>Noise filtering control. OFF means no noise reduction
     * <p>Noise filtering control. OFF means no noise reduction
     * will be applied by the HAL.</p>
     * will be applied by the HAL.</p>
     * <p>FAST/HIGH_QUALITY both mean HAL-determined noise filtering
     * <p>FAST/HIGH_QUALITY both mean camera device determined noise filtering
     * will be applied. HIGH_QUALITY mode indicates that the HAL
     * will be applied. HIGH_QUALITY mode indicates that the camera device
     * should use the highest-quality noise filtering algorithms,
     * will use the highest-quality noise filtering algorithms,
     * even if it slows down capture rate. FAST means the HAL should not
     * even if it slows down capture rate. FAST means the camera device should not
     * slow down capture rate when applying noise filtering.</p>
     * slow down capture rate when applying noise filtering.</p>
     * @see #NOISE_REDUCTION_MODE_OFF
     * @see #NOISE_REDUCTION_MODE_OFF
     * @see #NOISE_REDUCTION_MODE_FAST
     * @see #NOISE_REDUCTION_MODE_FAST
@@ -818,8 +818,8 @@ public final class CaptureResult extends CameraMetadata {
     * image of a gray wall (using bicubic interpolation for visual quality) as captured by the sensor gives:</p>
     * image of a gray wall (using bicubic interpolation for visual quality) as captured by the sensor gives:</p>
     * <p><img alt="Image of a uniform white wall (inverse shading map)" src="../../../../images/camera2/metadata/android.statistics.lensShadingMap/inv_shading.png" /></p>
     * <p><img alt="Image of a uniform white wall (inverse shading map)" src="../../../../images/camera2/metadata/android.statistics.lensShadingMap/inv_shading.png" /></p>
     *
     *
     * @see CaptureRequest#COLOR_CORRECTION_MODE
     * @see CaptureResult#STATISTICS_LENS_SHADING_MAP
     * @see CaptureResult#STATISTICS_LENS_SHADING_MAP
     * @see CaptureRequest#COLOR_CORRECTION_MODE
     * @see CameraCharacteristics#LENS_INFO_SHADING_MAP_SIZE
     * @see CameraCharacteristics#LENS_INFO_SHADING_MAP_SIZE
     */
     */
    public static final Key<float[]> STATISTICS_LENS_SHADING_MAP =
    public static final Key<float[]> STATISTICS_LENS_SHADING_MAP =
@@ -885,8 +885,8 @@ public final class CaptureResult extends CameraMetadata {
     * channel, to use when {@link CaptureRequest#TONEMAP_MODE android.tonemap.mode} is CONTRAST_CURVE.</p>
     * channel, to use when {@link CaptureRequest#TONEMAP_MODE android.tonemap.mode} is CONTRAST_CURVE.</p>
     * <p>See {@link CaptureRequest#TONEMAP_CURVE_RED android.tonemap.curveRed} for more details.</p>
     * <p>See {@link CaptureRequest#TONEMAP_CURVE_RED android.tonemap.curveRed} for more details.</p>
     *
     *
     * @see CaptureRequest#TONEMAP_MODE
     * @see CaptureRequest#TONEMAP_CURVE_RED
     * @see CaptureRequest#TONEMAP_CURVE_RED
     * @see CaptureRequest#TONEMAP_MODE
     */
     */
    public static final Key<float[]> TONEMAP_CURVE_BLUE =
    public static final Key<float[]> TONEMAP_CURVE_BLUE =
            new Key<float[]>("android.tonemap.curveBlue", float[].class);
            new Key<float[]>("android.tonemap.curveBlue", float[].class);
@@ -898,8 +898,8 @@ public final class CaptureResult extends CameraMetadata {
     * channel, to use when {@link CaptureRequest#TONEMAP_MODE android.tonemap.mode} is CONTRAST_CURVE.</p>
     * channel, to use when {@link CaptureRequest#TONEMAP_MODE android.tonemap.mode} is CONTRAST_CURVE.</p>
     * <p>See {@link CaptureRequest#TONEMAP_CURVE_RED android.tonemap.curveRed} for more details.</p>
     * <p>See {@link CaptureRequest#TONEMAP_CURVE_RED android.tonemap.curveRed} for more details.</p>
     *
     *
     * @see CaptureRequest#TONEMAP_MODE
     * @see CaptureRequest#TONEMAP_CURVE_RED
     * @see CaptureRequest#TONEMAP_CURVE_RED
     * @see CaptureRequest#TONEMAP_MODE
     */
     */
    public static final Key<float[]> TONEMAP_CURVE_GREEN =
    public static final Key<float[]> TONEMAP_CURVE_GREEN =
            new Key<float[]>("android.tonemap.curveGreen", float[].class);
            new Key<float[]>("android.tonemap.curveGreen", float[].class);