diff options
author | Zhijun He <zhijunhe@google.com> | 2013-08-19 15:45:08 -0700 |
---|---|---|
committer | Zhijun He <zhijunhe@google.com> | 2013-08-21 11:12:04 -0700 |
commit | 3ffd70554f85bd1ee54354f2d5c44e1bc0878227 (patch) | |
tree | 2769e7100684ca9e92ec9f239668b64987c004ab | |
parent | a2e88ef89611d69b65b1830cc5ffebfb679e9d4d (diff) | |
download | frameworks_base-3ffd70554f85bd1ee54354f2d5c44e1bc0878227.zip frameworks_base-3ffd70554f85bd1ee54354f2d5c44e1bc0878227.tar.gz frameworks_base-3ffd70554f85bd1ee54354f2d5c44e1bc0878227.tar.bz2 |
Camera2: Update tonemap curve definitions.
This updates android.tonemap.curveGreen and android.tonemap.curveBlue
definitions.
Also update android.sensor.info.physicalSize type.
Bug: 10394966
Change-Id: I23156ad0cd67fa59500a1c803068e392514756d4
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 |