From d178496b7e823efdc9c9780ab1d980207a36a19a Mon Sep 17 00:00:00 2001 From: Zhijun He Date: Tue, 8 Apr 2014 17:41:46 -0700 Subject: [PATCH] Camera2: Make colorFilterArrangement public It will be used by DNG Also fix a typo in spec. Change-Id: I8427df6b28149c0f8ced27b110efe96dd38357f4 --- api/current.txt | 6 ++++ .../camera2/CameraCharacteristics.java | 13 ++++++++ .../hardware/camera2/CameraMetadata.java | 32 +++++++++++++++++++ 3 files changed, 51 insertions(+) diff --git a/api/current.txt b/api/current.txt index 58f5a5ec56ecd..3230bd893b1a9 100644 --- a/api/current.txt +++ b/api/current.txt @@ -11592,6 +11592,7 @@ package android.hardware.camera2 { field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_BASE_GAIN_FACTOR; field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_BLACK_LEVEL_PATTERN; field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_INFO_ACTIVE_ARRAY_SIZE; + field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_INFO_COLOR_FILTER_ARRANGEMENT; field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_INFO_EXPOSURE_TIME_RANGE; field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_INFO_MAX_FRAME_DURATION; field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_INFO_PHYSICAL_SIZE; @@ -11788,6 +11789,11 @@ package android.hardware.camera2 { field public static final int REQUEST_AVAILABLE_CAPABILITIES_ZSL = 4; // 0x4 field public static final int SCALER_AVAILABLE_STREAM_CONFIGURATIONS_INPUT = 1; // 0x1 field public static final int SCALER_AVAILABLE_STREAM_CONFIGURATIONS_OUTPUT = 0; // 0x0 + field public static final int SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR = 3; // 0x3 + field public static final int SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG = 2; // 0x2 + field public static final int SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG = 1; // 0x1 + field public static final int SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB = 4; // 0x4 + field public static final int SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB = 0; // 0x0 field public static final int SENSOR_REFERENCE_ILLUMINANT_CLOUDY_WEATHER = 10; // 0xa field public static final int SENSOR_REFERENCE_ILLUMINANT_COOL_WHITE_FLUORESCENT = 14; // 0xe field public static final int SENSOR_REFERENCE_ILLUMINANT_D50 = 23; // 0x17 diff --git a/core/java/android/hardware/camera2/CameraCharacteristics.java b/core/java/android/hardware/camera2/CameraCharacteristics.java index ff7758046909d..98527768c2f58 100644 --- a/core/java/android/hardware/camera2/CameraCharacteristics.java +++ b/core/java/android/hardware/camera2/CameraCharacteristics.java @@ -949,6 +949,19 @@ public final class CameraCharacteristics extends CameraMetadata { public static final Key SENSOR_INFO_SENSITIVITY_RANGE = new Key("android.sensor.info.sensitivityRange", int[].class); + /** + *

Arrangement of color filters on sensor; + * represents the colors in the top-left 2x2 section of + * the sensor, in reading order

+ * @see #SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB + * @see #SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG + * @see #SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG + * @see #SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR + * @see #SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB + */ + public static final Key SENSOR_INFO_COLOR_FILTER_ARRANGEMENT = + new Key("android.sensor.info.colorFilterArrangement", int.class); + /** *

Range of valid exposure * times used by {@link CaptureRequest#SENSOR_EXPOSURE_TIME android.sensor.exposureTime}.

diff --git a/core/java/android/hardware/camera2/CameraMetadata.java b/core/java/android/hardware/camera2/CameraMetadata.java index 679310af12d2e..1e344988b4d99 100644 --- a/core/java/android/hardware/camera2/CameraMetadata.java +++ b/core/java/android/hardware/camera2/CameraMetadata.java @@ -424,6 +424,38 @@ public abstract class CameraMetadata { */ public static final int SCALER_AVAILABLE_STREAM_CONFIGURATIONS_INPUT = 1; + // + // Enumeration values for CameraCharacteristics#SENSOR_INFO_COLOR_FILTER_ARRANGEMENT + // + + /** + * @see CameraCharacteristics#SENSOR_INFO_COLOR_FILTER_ARRANGEMENT + */ + public static final int SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGGB = 0; + + /** + * @see CameraCharacteristics#SENSOR_INFO_COLOR_FILTER_ARRANGEMENT + */ + public static final int SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GRBG = 1; + + /** + * @see CameraCharacteristics#SENSOR_INFO_COLOR_FILTER_ARRANGEMENT + */ + public static final int SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_GBRG = 2; + + /** + * @see CameraCharacteristics#SENSOR_INFO_COLOR_FILTER_ARRANGEMENT + */ + public static final int SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_BGGR = 3; + + /** + *

Sensor is not Bayer; output has 3 16-bit + * values for each pixel, instead of just 1 16-bit value + * per pixel.

+ * @see CameraCharacteristics#SENSOR_INFO_COLOR_FILTER_ARRANGEMENT + */ + public static final int SENSOR_INFO_COLOR_FILTER_ARRANGEMENT_RGB = 4; + // // Enumeration values for CameraCharacteristics#LED_AVAILABLE_LEDS //