diff --git a/core/java/android/hardware/camera2/CameraProperties.java b/core/java/android/hardware/camera2/CameraProperties.java index e713d2176e2f4..0c39705a7bce8 100644 --- a/core/java/android/hardware/camera2/CameraProperties.java +++ b/core/java/android/hardware/camera2/CameraProperties.java @@ -384,8 +384,8 @@ public final class CameraProperties extends CameraMetadata { * Needed for FOV calculation for old API *

*/ - public static final Key SENSOR_INFO_PHYSICAL_SIZE = - new Key("android.sensor.info.physicalSize", android.hardware.camera2.Size.class); + public static final Key SENSOR_INFO_PHYSICAL_SIZE = + new Key("android.sensor.info.physicalSize", float[].class); /** *

diff --git a/core/java/android/hardware/camera2/CaptureRequest.java b/core/java/android/hardware/camera2/CaptureRequest.java index f2f6190edb39c..8b5bf4a0abf3d 100644 --- a/core/java/android/hardware/camera2/CaptureRequest.java +++ b/core/java/android/hardware/camera2/CaptureRequest.java @@ -855,18 +855,30 @@ public final class CaptureRequest extends CameraMetadata implements Parcelable { * Table mapping blue input values to output * values *

+ *

+ * Tonemapping / contrast / gamma curve for the blue + * channel, to use when android.tonemap.mode is CONTRAST_CURVE. + *

+ * See android.tonemap.curveRed for more details. + *

*/ - public static final Key TONEMAP_CURVE_BLUE = - new Key("android.tonemap.curveBlue", float.class); + public static final Key TONEMAP_CURVE_BLUE = + new Key("android.tonemap.curveBlue", float[].class); /** *

* Table mapping green input values to output * values *

+ *

+ * Tonemapping / contrast / gamma curve for the green + * channel, to use when android.tonemap.mode is CONTRAST_CURVE. + *

+ * See android.tonemap.curveRed for more details. + *

*/ - public static final Key TONEMAP_CURVE_GREEN = - new Key("android.tonemap.curveGreen", float.class); + public static final Key TONEMAP_CURVE_GREEN = + new Key("android.tonemap.curveGreen", float[].class); /** *

@@ -874,9 +886,17 @@ public final class CaptureRequest extends CameraMetadata implements Parcelable { * values *

*

- * .The input range must be monotonically increasing - * with N, and values between entries should be linearly - * interpolated. For example, if the array is: [0.0, 0.0, + * Tonemapping / contrast / gamma curve for the red + * channel, to use when android.tonemap.mode is CONTRAST_CURVE. + *

+ * Since the input and output ranges may vary depending on + * the camera pipeline, the input and output pixel values + * are represented by normalized floating-point values + * between 0 and 1, with 0 == black and 1 == white. + *

+ * The curve should be linearly interpolated between the + * defined points. The points will be listed in increasing + * order of P_IN. For example, if the array is: [0.0, 0.0, * 0.3, 0.5, 1.0, 1.0], then the input->output mapping * for a few sample points would be: 0 -> 0, 0.15 -> * 0.25, 0.3 -> 0.5, 0.5 -> 0.64 diff --git a/core/java/android/hardware/camera2/CaptureResult.java b/core/java/android/hardware/camera2/CaptureResult.java index 83ec07f590331..ef6aaa0e71633 100644 --- a/core/java/android/hardware/camera2/CaptureResult.java +++ b/core/java/android/hardware/camera2/CaptureResult.java @@ -877,18 +877,30 @@ public final class CaptureResult extends CameraMetadata { * Table mapping blue input values to output * values *

+ *

+ * Tonemapping / contrast / gamma curve for the blue + * channel, to use when android.tonemap.mode is CONTRAST_CURVE. + *

+ * See android.tonemap.curveRed for more details. + *

*/ - public static final Key TONEMAP_CURVE_BLUE = - new Key("android.tonemap.curveBlue", float.class); + public static final Key TONEMAP_CURVE_BLUE = + new Key("android.tonemap.curveBlue", float[].class); /** *

* Table mapping green input values to output * values *

+ *

+ * Tonemapping / contrast / gamma curve for the green + * channel, to use when android.tonemap.mode is CONTRAST_CURVE. + *

+ * See android.tonemap.curveRed for more details. + *

*/ - public static final Key TONEMAP_CURVE_GREEN = - new Key("android.tonemap.curveGreen", float.class); + public static final Key TONEMAP_CURVE_GREEN = + new Key("android.tonemap.curveGreen", float[].class); /** *

@@ -896,9 +908,17 @@ public final class CaptureResult extends CameraMetadata { * values *

*

- * .The input range must be monotonically increasing - * with N, and values between entries should be linearly - * interpolated. For example, if the array is: [0.0, 0.0, + * Tonemapping / contrast / gamma curve for the red + * channel, to use when android.tonemap.mode is CONTRAST_CURVE. + *

+ * Since the input and output ranges may vary depending on + * the camera pipeline, the input and output pixel values + * are represented by normalized floating-point values + * between 0 and 1, with 0 == black and 1 == white. + *

+ * The curve should be linearly interpolated between the + * defined points. The points will be listed in increasing + * order of P_IN. For example, if the array is: [0.0, 0.0, * 0.3, 0.5, 1.0, 1.0], then the input->output mapping * for a few sample points would be: 0 -> 0, 0.15 -> * 0.25, 0.3 -> 0.5, 0.5 -> 0.64