summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhijun He <zhijunhe@google.com>2013-08-21 18:44:06 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-08-21 18:44:06 +0000
commite8aae8a122162a8d909bc917b32e6ba66d1d4170 (patch)
treeae2c81fcfd12f21b79a1ab592ff59cd711e96d6f
parentba75bbe3ceb63df7abf3b81abf5d8e5c1828f8be (diff)
parent3ffd70554f85bd1ee54354f2d5c44e1bc0878227 (diff)
downloadframeworks_base-e8aae8a122162a8d909bc917b32e6ba66d1d4170.zip
frameworks_base-e8aae8a122162a8d909bc917b32e6ba66d1d4170.tar.gz
frameworks_base-e8aae8a122162a8d909bc917b32e6ba66d1d4170.tar.bz2
Merge "Camera2: Update tonemap curve definitions." into klp-dev
-rw-r--r--core/java/android/hardware/camera2/CameraProperties.java4
-rw-r--r--core/java/android/hardware/camera2/CaptureRequest.java34
-rw-r--r--core/java/android/hardware/camera2/CaptureResult.java34
3 files changed, 56 insertions, 16 deletions
diff --git a/core/java/android/hardware/camera2/CameraProperties.java b/core/java/android/hardware/camera2/CameraProperties.java
index e713d21..0c39705 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
* </p>
*/
- public static final Key<android.hardware.camera2.Size> SENSOR_INFO_PHYSICAL_SIZE =
- new Key<android.hardware.camera2.Size>("android.sensor.info.physicalSize", android.hardware.camera2.Size.class);
+ public static final Key<float[]> SENSOR_INFO_PHYSICAL_SIZE =
+ new Key<float[]>("android.sensor.info.physicalSize", float[].class);
/**
* <p>
diff --git a/core/java/android/hardware/camera2/CaptureRequest.java b/core/java/android/hardware/camera2/CaptureRequest.java
index f2f6190..8b5bf4a 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
* </p>
+ * <p>
+ * Tonemapping / contrast / gamma curve for the blue
+ * channel, to use when android.tonemap.mode is CONTRAST_CURVE.
+ * </p><p>
+ * See android.tonemap.curveRed for more details.
+ * </p>
*/
- public static final Key<Float> TONEMAP_CURVE_BLUE =
- new Key<Float>("android.tonemap.curveBlue", float.class);
+ public static final Key<float[]> TONEMAP_CURVE_BLUE =
+ new Key<float[]>("android.tonemap.curveBlue", float[].class);
/**
* <p>
* Table mapping green input values to output
* values
* </p>
+ * <p>
+ * Tonemapping / contrast / gamma curve for the green
+ * channel, to use when android.tonemap.mode is CONTRAST_CURVE.
+ * </p><p>
+ * See android.tonemap.curveRed for more details.
+ * </p>
*/
- public static final Key<Float> TONEMAP_CURVE_GREEN =
- new Key<Float>("android.tonemap.curveGreen", float.class);
+ public static final Key<float[]> TONEMAP_CURVE_GREEN =
+ new Key<float[]>("android.tonemap.curveGreen", float[].class);
/**
* <p>
@@ -874,9 +886,17 @@ public final class CaptureRequest extends CameraMetadata implements Parcelable {
* values
* </p>
* <p>
- * .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.
+ * </p><p>
+ * 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.
+ * </p><p>
+ * 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 83ec07f..ef6aaa0 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
* </p>
+ * <p>
+ * Tonemapping / contrast / gamma curve for the blue
+ * channel, to use when android.tonemap.mode is CONTRAST_CURVE.
+ * </p><p>
+ * See android.tonemap.curveRed for more details.
+ * </p>
*/
- public static final Key<Float> TONEMAP_CURVE_BLUE =
- new Key<Float>("android.tonemap.curveBlue", float.class);
+ public static final Key<float[]> TONEMAP_CURVE_BLUE =
+ new Key<float[]>("android.tonemap.curveBlue", float[].class);
/**
* <p>
* Table mapping green input values to output
* values
* </p>
+ * <p>
+ * Tonemapping / contrast / gamma curve for the green
+ * channel, to use when android.tonemap.mode is CONTRAST_CURVE.
+ * </p><p>
+ * See android.tonemap.curveRed for more details.
+ * </p>
*/
- public static final Key<Float> TONEMAP_CURVE_GREEN =
- new Key<Float>("android.tonemap.curveGreen", float.class);
+ public static final Key<float[]> TONEMAP_CURVE_GREEN =
+ new Key<float[]>("android.tonemap.curveGreen", float[].class);
/**
* <p>
@@ -896,9 +908,17 @@ public final class CaptureResult extends CameraMetadata {
* values
* </p>
* <p>
- * .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.
+ * </p><p>
+ * 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.
+ * </p><p>
+ * 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