camera3: Add camera profile properties.
Change-Id: I39f6067bb1c05b8b00b0205bb367312112407299
diff --git a/core/java/android/hardware/camera2/CameraCharacteristics.java b/core/java/android/hardware/camera2/CameraCharacteristics.java
index e76e4de..fb098b0 100644
--- a/core/java/android/hardware/camera2/CameraCharacteristics.java
+++ b/core/java/android/hardware/camera2/CameraCharacteristics.java
@@ -675,6 +675,20 @@
new Key<Integer>("android.sensor.orientation", int.class);
/**
+ * <p>The number of input samples for each dimension of
+ * {@link CaptureResult#SENSOR_PROFILE_HUE_SAT_MAP android.sensor.profileHueSatMap}.</p>
+ * <p>The number of input samples for the hue, saturation, and value
+ * dimension of {@link CaptureResult#SENSOR_PROFILE_HUE_SAT_MAP android.sensor.profileHueSatMap}. The order of the
+ * dimensions given is hue, saturation, value; where hue is the 0th
+ * element.</p>
+ * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ *
+ * @see CaptureResult#SENSOR_PROFILE_HUE_SAT_MAP
+ */
+ public static final Key<int[]> SENSOR_PROFILE_HUE_SAT_MAP_DIMENSIONS =
+ new Key<int[]>("android.sensor.profileHueSatMapDimensions", int[].class);
+
+ /**
* <p>Optional. Defaults to [OFF]. Lists the supported test
* pattern modes for android.test.patternMode.</p>
* <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
diff --git a/core/java/android/hardware/camera2/CaptureResult.java b/core/java/android/hardware/camera2/CaptureResult.java
index 2d82a1f..48a1870 100644
--- a/core/java/android/hardware/camera2/CaptureResult.java
+++ b/core/java/android/hardware/camera2/CaptureResult.java
@@ -1456,6 +1456,36 @@
new Key<Rational[]>("android.sensor.neutralColorPoint", Rational[].class);
/**
+ * <p>A mapping containing a hue shift, saturation scale, and value scale
+ * for each pixel.</p>
+ * <p>hue_samples, saturation_samples, and value_samples are given in
+ * {@link CameraCharacteristics#SENSOR_PROFILE_HUE_SAT_MAP_DIMENSIONS android.sensor.profileHueSatMapDimensions}.</p>
+ * <p>Each entry of this map contains three floats corresponding to the
+ * hue shift, saturation scale, and value scale, respectively; where the
+ * hue shift has the lowest index. The map entries are stored in the tag
+ * in nested loop order, with the value divisions in the outer loop, the
+ * hue divisions in the middle loop, and the saturation divisions in the
+ * inner loop. All zero input saturation entries are required to have a
+ * value scale factor of 1.0.</p>
+ * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ *
+ * @see CameraCharacteristics#SENSOR_PROFILE_HUE_SAT_MAP_DIMENSIONS
+ */
+ public static final Key<float[]> SENSOR_PROFILE_HUE_SAT_MAP =
+ new Key<float[]>("android.sensor.profileHueSatMap", float[].class);
+
+ /**
+ * <p>A list of x,y samples defining a tone-mapping curve for gamma adjustment.</p>
+ * <p>This tag contains a default tone curve that can be applied while
+ * processing the image as a starting point for user adjustments.
+ * The curve is specified as a list of value pairs in linear gamma.
+ * The curve is interpolated using a cubic spline.</p>
+ * <p><b>Optional</b> - This value may be {@code null} on some devices.</p>
+ */
+ public static final Key<float[]> SENSOR_PROFILE_TONE_CURVE =
+ new Key<float[]>("android.sensor.profileToneCurve", float[].class);
+
+ /**
* <p>When enabled, the sensor sends a test pattern instead of
* doing a real exposure from the camera.</p>
* <p>When a test pattern is enabled, all manual sensor controls specified