diff options
author | Zhijun He <zhijunhe@google.com> | 2013-08-21 18:44:06 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2013-08-21 18:44:06 +0000 |
commit | e8aae8a122162a8d909bc917b32e6ba66d1d4170 (patch) | |
tree | ae2c81fcfd12f21b79a1ab592ff59cd711e96d6f | |
parent | ba75bbe3ceb63df7abf3b81abf5d8e5c1828f8be (diff) | |
parent | 3ffd70554f85bd1ee54354f2d5c44e1bc0878227 (diff) | |
download | frameworks_base-e8aae8a122162a8d909bc917b32e6ba66d1d4170.zip frameworks_base-e8aae8a122162a8d909bc917b32e6ba66d1d4170.tar.gz frameworks_base-e8aae8a122162a8d909bc917b32e6ba66d1d4170.tar.bz2 |
Merge "Camera2: Update tonemap curve definitions." into klp-dev
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 |