*~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~*/
/**
+ * <p>
+ * When android.sensor.awbMode is not OFF, TRANSFORM_MATRIX
+ * should be ignored.
+ * </p>
* @see #COLOR_CORRECTION_MODE_TRANSFORM_MATRIX
* @see #COLOR_CORRECTION_MODE_FAST
* @see #COLOR_CORRECTION_MODE_HIGH_QUALITY
* This matrix is either set by HAL when the request
* android.colorCorrection.mode is not TRANSFORM_MATRIX, or
* directly by the application in the request when the
- * androird.colorCorrection.mode is TRANSFORM_MATRIX.
+ * android.colorCorrection.mode is TRANSFORM_MATRIX.
+ * </p><p>
* In the latter case, the HAL may round the matrix to account
* for precision issues; the final rounded matrix should be
* reported back in this matrix result metadata.
* it should use the G_even value,and write G_odd equal to
* G_even in the output result metadata.
* </p><p>
+ * This array is either set by HAL when the request
+ * android.colorCorrection.mode is not TRANSFORM_MATRIX, or
+ * directly by the application in the request when the
+ * android.colorCorrection.mode is TRANSFORM_MATRIX.
+ * </p><p>
* The ouput should be the gains actually applied by the HAL to
* the current frame.
* </p>
/**
* <p>
* Duration each pixel is exposed to
- * light
+ * light.
+ * </p><p>
+ * If the sensor can't expose this exact duration, it should shorten the
+ * duration exposed to the nearest possible value (rather than expose longer).
* </p>
* <p>
* 1/10000 - 30 sec range. No bulb mode
* Gain applied to image data. Must be
* implemented through analog gain only if set to values
* below 'maximum analog sensitivity'.
+ * </p><p>
+ * If the sensor can't apply this exact gain, it should lessen the
+ * gain to the nearest possible value (rather than gain more).
* </p>
* <p>
* ISO 12232:2006 REI method
* compensation, the HAL must report whether setting the
* black level lock was successful in the output result
* metadata.
+ * </p><p>
+ * The black level locking must happen at the sensor, and not at the ISP.
+ * If for some reason black level locking is no longer legal (for example,
+ * the analog gain has changed, which forces black levels to be
+ * recalculated), then the HAL is free to override this request (and it
+ * must report 'OFF' when this does happen) until the next time locking
+ * is legal again.
* </p>
*/
public static final Key<Boolean> BLACK_LEVEL_LOCK =
* This matrix is either set by HAL when the request
* android.colorCorrection.mode is not TRANSFORM_MATRIX, or
* directly by the application in the request when the
- * androird.colorCorrection.mode is TRANSFORM_MATRIX.
+ * android.colorCorrection.mode is TRANSFORM_MATRIX.
+ * </p><p>
* In the latter case, the HAL may round the matrix to account
* for precision issues; the final rounded matrix should be
* reported back in this matrix result metadata.
* it should use the G_even value,and write G_odd equal to
* G_even in the output result metadata.
* </p><p>
+ * This array is either set by HAL when the request
+ * android.colorCorrection.mode is not TRANSFORM_MATRIX, or
+ * directly by the application in the request when the
+ * android.colorCorrection.mode is TRANSFORM_MATRIX.
+ * </p><p>
* The ouput should be the gains actually applied by the HAL to
* the current frame.
* </p>
/**
* <p>
* Duration each pixel is exposed to
- * light
+ * light.
+ * </p><p>
+ * If the sensor can't expose this exact duration, it should shorten the
+ * duration exposed to the nearest possible value (rather than expose longer).
* </p>
* <p>
* 1/10000 - 30 sec range. No bulb mode
* Gain applied to image data. Must be
* implemented through analog gain only if set to values
* below 'maximum analog sensitivity'.
+ * </p><p>
+ * If the sensor can't apply this exact gain, it should lessen the
+ * gain to the nearest possible value (rather than gain more).
* </p>
* <p>
* ISO 12232:2006 REI method
/**
* <p>
+ * The temperature of the sensor, sampled at the time
+ * exposure began for this frame.
+ * </p><p>
+ * The thermal diode being queried should be inside the sensor PCB, or
+ * somewhere close to it.
+ * </p>
+ */
+ public static final Key<Float> SENSOR_TEMPERATURE =
+ new Key<Float>("android.sensor.temperature", float.class);
+
+ /**
+ * <p>
* State of the face detector
* unit
* </p>
* detected faces
* </p>
* <p>
- * Only available if faceDetectMode != OFF
+ * Only available if faceDetectMode != OFF. The value should be
+ * meaningful (for example, setting 100 at all times is illegal).
* </p>
*/
public static final Key<byte[]> STATISTICS_FACE_SCORES =
* of 1; all other sections should have gains above 1.
* the map should be on the order of 30-40 rows, and
* must be smaller than 64x64.
+ * </p><p>
+ * When android.colorCorrection.mode = TRANSFORM_MATRIX, the map
+ * must take into account the colorCorrection settings.
* </p>
*/
public static final Key<float[]> STATISTICS_LENS_SHADING_MAP =
* </p><p>
* The 4 channel gains are defined in Bayer domain,
* see android.colorCorrection.gains for details.
+ * </p><p>
+ * This value should always be calculated by the AWB block,
+ * regardless of the android.control.* current values.
* </p>
*/
public static final Key<float[]> STATISTICS_PREDICTED_COLOR_GAINS =
* </p><p>
* These estimates must be provided for all frames, even if
* capture settings and color transforms are set by the application.
+ * </p><p>
+ * This value should always be calculated by the AWB block,
+ * regardless of the android.control.* current values.
* </p>
*/
public static final Key<Rational[]> STATISTICS_PREDICTED_COLOR_TRANSFORM =
* compensation, the HAL must report whether setting the
* black level lock was successful in the output result
* metadata.
+ * </p><p>
+ * The black level locking must happen at the sensor, and not at the ISP.
+ * If for some reason black level locking is no longer legal (for example,
+ * the analog gain has changed, which forces black levels to be
+ * recalculated), then the HAL is free to override this request (and it
+ * must report 'OFF' when this does happen) until the next time locking
+ * is legal again.
* </p>
*/
public static final Key<Boolean> BLACK_LEVEL_LOCK =