Merge "Camera2: Add metadata keys and enum values" into klp-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
66a83ae650
253
api/current.txt
253
api/current.txt
@@ -10757,7 +10757,119 @@ package android.hardware.camera2 {
|
|||||||
method public void readFromParcel(android.os.Parcel);
|
method public void readFromParcel(android.os.Parcel);
|
||||||
method public void set(android.hardware.camera2.CameraMetadata.Key<T>, T);
|
method public void set(android.hardware.camera2.CameraMetadata.Key<T>, T);
|
||||||
method public void writeToParcel(android.os.Parcel, int);
|
method public void writeToParcel(android.os.Parcel, int);
|
||||||
|
field public static final int COLOR_CORRECTION_MODE_FAST = 1; // 0x1
|
||||||
|
field public static final int COLOR_CORRECTION_MODE_HIGH_QUALITY = 2; // 0x2
|
||||||
|
field public static final int COLOR_CORRECTION_MODE_TRANSFORM_MATRIX = 0; // 0x0
|
||||||
|
field public static final int CONTROL_AE_ANTIBANDING_MODE_50HZ = 1; // 0x1
|
||||||
|
field public static final int CONTROL_AE_ANTIBANDING_MODE_60HZ = 2; // 0x2
|
||||||
|
field public static final int CONTROL_AE_ANTIBANDING_MODE_AUTO = 3; // 0x3
|
||||||
|
field public static final int CONTROL_AE_ANTIBANDING_MODE_OFF = 0; // 0x0
|
||||||
|
field public static final int CONTROL_AE_MODE_OFF = 0; // 0x0
|
||||||
|
field public static final int CONTROL_AE_MODE_ON = 1; // 0x1
|
||||||
|
field public static final int CONTROL_AE_MODE_ON_ALWAYS_FLASH = 3; // 0x3
|
||||||
|
field public static final int CONTROL_AE_MODE_ON_AUTO_FLASH = 2; // 0x2
|
||||||
|
field public static final int CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE = 4; // 0x4
|
||||||
|
field public static final int CONTROL_AE_PRECAPTURE_TRIGGER_IDLE = 0; // 0x0
|
||||||
|
field public static final int CONTROL_AE_PRECAPTURE_TRIGGER_START = 1; // 0x1
|
||||||
|
field public static final int CONTROL_AE_STATE_CONVERGED = 2; // 0x2
|
||||||
|
field public static final int CONTROL_AE_STATE_FLASH_REQUIRED = 4; // 0x4
|
||||||
|
field public static final int CONTROL_AE_STATE_INACTIVE = 0; // 0x0
|
||||||
|
field public static final int CONTROL_AE_STATE_LOCKED = 3; // 0x3
|
||||||
|
field public static final int CONTROL_AE_STATE_PRECAPTURE = 5; // 0x5
|
||||||
|
field public static final int CONTROL_AE_STATE_SEARCHING = 1; // 0x1
|
||||||
|
field public static final int CONTROL_AF_MODE_AUTO = 1; // 0x1
|
||||||
|
field public static final int CONTROL_AF_MODE_CONTINUOUS_PICTURE = 4; // 0x4
|
||||||
|
field public static final int CONTROL_AF_MODE_CONTINUOUS_VIDEO = 3; // 0x3
|
||||||
|
field public static final int CONTROL_AF_MODE_EDOF = 5; // 0x5
|
||||||
|
field public static final int CONTROL_AF_MODE_MACRO = 2; // 0x2
|
||||||
|
field public static final int CONTROL_AF_MODE_OFF = 0; // 0x0
|
||||||
|
field public static final int CONTROL_AF_STATE_ACTIVE_SCAN = 3; // 0x3
|
||||||
|
field public static final int CONTROL_AF_STATE_FOCUSED_LOCKED = 4; // 0x4
|
||||||
|
field public static final int CONTROL_AF_STATE_INACTIVE = 0; // 0x0
|
||||||
|
field public static final int CONTROL_AF_STATE_NOT_FOCUSED_LOCKED = 5; // 0x5
|
||||||
|
field public static final int CONTROL_AF_STATE_PASSIVE_FOCUSED = 2; // 0x2
|
||||||
|
field public static final int CONTROL_AF_STATE_PASSIVE_SCAN = 1; // 0x1
|
||||||
|
field public static final int CONTROL_AF_TRIGGER_CANCEL = 2; // 0x2
|
||||||
|
field public static final int CONTROL_AF_TRIGGER_IDLE = 0; // 0x0
|
||||||
|
field public static final int CONTROL_AF_TRIGGER_START = 1; // 0x1
|
||||||
|
field public static final int CONTROL_AWB_MODE_AUTO = 1; // 0x1
|
||||||
|
field public static final int CONTROL_AWB_MODE_CLOUDY_DAYLIGHT = 6; // 0x6
|
||||||
|
field public static final int CONTROL_AWB_MODE_DAYLIGHT = 5; // 0x5
|
||||||
|
field public static final int CONTROL_AWB_MODE_FLUORESCENT = 3; // 0x3
|
||||||
|
field public static final int CONTROL_AWB_MODE_INCANDESCENT = 2; // 0x2
|
||||||
|
field public static final int CONTROL_AWB_MODE_OFF = 0; // 0x0
|
||||||
|
field public static final int CONTROL_AWB_MODE_SHADE = 8; // 0x8
|
||||||
|
field public static final int CONTROL_AWB_MODE_TWILIGHT = 7; // 0x7
|
||||||
|
field public static final int CONTROL_AWB_MODE_WARM_FLUORESCENT = 4; // 0x4
|
||||||
|
field public static final int CONTROL_AWB_STATE_CONVERGED = 2; // 0x2
|
||||||
|
field public static final int CONTROL_AWB_STATE_INACTIVE = 0; // 0x0
|
||||||
|
field public static final int CONTROL_AWB_STATE_LOCKED = 3; // 0x3
|
||||||
|
field public static final int CONTROL_AWB_STATE_SEARCHING = 1; // 0x1
|
||||||
|
field public static final int CONTROL_CAPTURE_INTENT_CUSTOM = 0; // 0x0
|
||||||
|
field public static final int CONTROL_CAPTURE_INTENT_PREVIEW = 1; // 0x1
|
||||||
|
field public static final int CONTROL_CAPTURE_INTENT_STILL_CAPTURE = 2; // 0x2
|
||||||
|
field public static final int CONTROL_CAPTURE_INTENT_VIDEO_RECORD = 3; // 0x3
|
||||||
|
field public static final int CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT = 4; // 0x4
|
||||||
|
field public static final int CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG = 5; // 0x5
|
||||||
|
field public static final int CONTROL_EFFECT_MODE_AQUA = 8; // 0x8
|
||||||
|
field public static final int CONTROL_EFFECT_MODE_BLACKBOARD = 7; // 0x7
|
||||||
|
field public static final int CONTROL_EFFECT_MODE_MONO = 1; // 0x1
|
||||||
|
field public static final int CONTROL_EFFECT_MODE_NEGATIVE = 2; // 0x2
|
||||||
|
field public static final int CONTROL_EFFECT_MODE_OFF = 0; // 0x0
|
||||||
|
field public static final int CONTROL_EFFECT_MODE_POSTERIZE = 5; // 0x5
|
||||||
|
field public static final int CONTROL_EFFECT_MODE_SEPIA = 4; // 0x4
|
||||||
|
field public static final int CONTROL_EFFECT_MODE_SOLARIZE = 3; // 0x3
|
||||||
|
field public static final int CONTROL_EFFECT_MODE_WHITEBOARD = 6; // 0x6
|
||||||
|
field public static final int CONTROL_MODE_AUTO = 1; // 0x1
|
||||||
|
field public static final int CONTROL_MODE_OFF = 0; // 0x0
|
||||||
|
field public static final int CONTROL_MODE_USE_SCENE_MODE = 2; // 0x2
|
||||||
|
field public static final int CONTROL_SCENE_MODE_ACTION = 2; // 0x2
|
||||||
|
field public static final int CONTROL_SCENE_MODE_BARCODE = 16; // 0x10
|
||||||
|
field public static final int CONTROL_SCENE_MODE_BEACH = 8; // 0x8
|
||||||
|
field public static final int CONTROL_SCENE_MODE_CANDLELIGHT = 15; // 0xf
|
||||||
|
field public static final int CONTROL_SCENE_MODE_FACE_PRIORITY = 1; // 0x1
|
||||||
|
field public static final int CONTROL_SCENE_MODE_FIREWORKS = 12; // 0xc
|
||||||
|
field public static final int CONTROL_SCENE_MODE_LANDSCAPE = 4; // 0x4
|
||||||
|
field public static final int CONTROL_SCENE_MODE_NIGHT = 5; // 0x5
|
||||||
|
field public static final int CONTROL_SCENE_MODE_NIGHT_PORTRAIT = 6; // 0x6
|
||||||
|
field public static final int CONTROL_SCENE_MODE_PARTY = 14; // 0xe
|
||||||
|
field public static final int CONTROL_SCENE_MODE_PORTRAIT = 3; // 0x3
|
||||||
|
field public static final int CONTROL_SCENE_MODE_SNOW = 9; // 0x9
|
||||||
|
field public static final int CONTROL_SCENE_MODE_SPORTS = 13; // 0xd
|
||||||
|
field public static final int CONTROL_SCENE_MODE_STEADYPHOTO = 11; // 0xb
|
||||||
|
field public static final int CONTROL_SCENE_MODE_SUNSET = 10; // 0xa
|
||||||
|
field public static final int CONTROL_SCENE_MODE_THEATRE = 7; // 0x7
|
||||||
|
field public static final int CONTROL_SCENE_MODE_UNSUPPORTED = 0; // 0x0
|
||||||
field public static final android.os.Parcelable.Creator CREATOR;
|
field public static final android.os.Parcelable.Creator CREATOR;
|
||||||
|
field public static final int EDGE_MODE_FAST = 1; // 0x1
|
||||||
|
field public static final int EDGE_MODE_HIGH_QUALITY = 2; // 0x2
|
||||||
|
field public static final int EDGE_MODE_OFF = 0; // 0x0
|
||||||
|
field public static final int FLASH_MODE_OFF = 0; // 0x0
|
||||||
|
field public static final int FLASH_MODE_SINGLE = 1; // 0x1
|
||||||
|
field public static final int FLASH_MODE_TORCH = 2; // 0x2
|
||||||
|
field public static final int FLASH_STATE_CHARGING = 1; // 0x1
|
||||||
|
field public static final int FLASH_STATE_FIRED = 3; // 0x3
|
||||||
|
field public static final int FLASH_STATE_READY = 2; // 0x2
|
||||||
|
field public static final int FLASH_STATE_UNAVAILABLE = 0; // 0x0
|
||||||
|
field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_FULL = 1; // 0x1
|
||||||
|
field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED = 0; // 0x0
|
||||||
|
field public static final int LENS_FACING_BACK = 1; // 0x1
|
||||||
|
field public static final int LENS_FACING_FRONT = 0; // 0x0
|
||||||
|
field public static final int LENS_OPTICAL_STABILIZATION_MODE_OFF = 0; // 0x0
|
||||||
|
field public static final int LENS_OPTICAL_STABILIZATION_MODE_ON = 1; // 0x1
|
||||||
|
field public static final int LENS_STATE_STATIONARY = 0; // 0x0
|
||||||
|
field public static final int NOISE_REDUCTION_MODE_FAST = 1; // 0x1
|
||||||
|
field public static final int NOISE_REDUCTION_MODE_HIGH_QUALITY = 2; // 0x2
|
||||||
|
field public static final int NOISE_REDUCTION_MODE_OFF = 0; // 0x0
|
||||||
|
field public static final int STATISTICS_FACE_DETECT_MODE_FULL = 2; // 0x2
|
||||||
|
field public static final int STATISTICS_FACE_DETECT_MODE_OFF = 0; // 0x0
|
||||||
|
field public static final int STATISTICS_FACE_DETECT_MODE_SIMPLE = 1; // 0x1
|
||||||
|
field public static final int STATISTICS_SCENE_FLICKER_50HZ = 1; // 0x1
|
||||||
|
field public static final int STATISTICS_SCENE_FLICKER_60HZ = 2; // 0x2
|
||||||
|
field public static final int STATISTICS_SCENE_FLICKER_NONE = 0; // 0x0
|
||||||
|
field public static final int TONEMAP_MODE_CONTRAST_CURVE = 0; // 0x0
|
||||||
|
field public static final int TONEMAP_MODE_FAST = 1; // 0x1
|
||||||
|
field public static final int TONEMAP_MODE_HIGH_QUALITY = 2; // 0x2
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class CameraMetadata.Key {
|
public static class CameraMetadata.Key {
|
||||||
@@ -10769,38 +10881,149 @@ package android.hardware.camera2 {
|
|||||||
|
|
||||||
public final class CameraProperties extends android.hardware.camera2.CameraMetadata {
|
public final class CameraProperties extends android.hardware.camera2.CameraMetadata {
|
||||||
ctor public CameraProperties();
|
ctor public CameraProperties();
|
||||||
field public static final android.hardware.camera2.CameraMetadata.Key INFO_IDENTIFIER;
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_AVAILABLE_ANTIBANDING_MODES;
|
||||||
field public static final android.hardware.camera2.CameraMetadata.Key INFO_MODEL;
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES;
|
||||||
field public static final android.hardware.camera2.CameraMetadata.Key INFO_REMOVABLE;
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_COMPENSATION_RANGE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_COMPENSATION_STEP;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AF_AVAILABLE_MODES;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AVAILABLE_EFFECTS;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AVAILABLE_SCENE_MODES;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AWB_AVAILABLE_MODES;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_MAX_REGIONS;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key FLASH_INFO_AVAILABLE;
|
||||||
field public static final android.hardware.camera2.CameraMetadata.Key INFO_SUPPORTED_HARDWARE_LEVEL;
|
field public static final android.hardware.camera2.CameraMetadata.Key INFO_SUPPORTED_HARDWARE_LEVEL;
|
||||||
field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_FULL = 1; // 0x1
|
field public static final android.hardware.camera2.CameraMetadata.Key JPEG_AVAILABLE_THUMBNAIL_SIZES;
|
||||||
field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED = 0; // 0x0
|
field public static final android.hardware.camera2.CameraMetadata.Key LENS_FACING;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key LENS_INFO_AVAILABLE_APERTURES;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key LENS_INFO_AVAILABLE_FILTER_DENSITIES;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key LENS_INFO_AVAILABLE_FOCAL_LENGTHS;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key LENS_INFO_HYPERFOCAL_DISTANCE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key LENS_INFO_MINIMUM_FOCUS_DISTANCE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key LENS_INFO_SHADING_MAP_SIZE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key REQUEST_MAX_NUM_OUTPUT_STREAMS;
|
||||||
field public static final android.hardware.camera2.CameraMetadata.Key SCALER_AVAILABLE_FORMATS;
|
field public static final android.hardware.camera2.CameraMetadata.Key SCALER_AVAILABLE_FORMATS;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key SCALER_AVAILABLE_JPEG_MIN_DURATIONS;
|
||||||
field public static final android.hardware.camera2.CameraMetadata.Key SCALER_AVAILABLE_JPEG_SIZES;
|
field public static final android.hardware.camera2.CameraMetadata.Key SCALER_AVAILABLE_JPEG_SIZES;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key SCALER_AVAILABLE_MAX_DIGITAL_ZOOM;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS;
|
||||||
field public static final android.hardware.camera2.CameraMetadata.Key SCALER_AVAILABLE_PROCESSED_SIZES;
|
field public static final android.hardware.camera2.CameraMetadata.Key SCALER_AVAILABLE_PROCESSED_SIZES;
|
||||||
field public static final android.hardware.camera2.CameraMetadata.Key SCALER_AVAILABLE_RAW_SIZES;
|
field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_BASE_GAIN_FACTOR;
|
||||||
field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_ACTIVE_ARRAY_SIZE;
|
field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_INFO_ACTIVE_ARRAY_SIZE;
|
||||||
field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_PIXEL_ARRAY_SIZE;
|
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;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_INFO_SENSITIVITY_RANGE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_MAX_ANALOG_SENSITIVITY;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_ORIENTATION;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key STATISTICS_INFO_MAX_FACE_COUNT;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key TONEMAP_MAX_CURVE_POINTS;
|
||||||
}
|
}
|
||||||
|
|
||||||
public final class CaptureRequest extends android.hardware.camera2.CameraMetadata implements android.os.Parcelable {
|
public final class CaptureRequest extends android.hardware.camera2.CameraMetadata implements android.os.Parcelable {
|
||||||
method public void addTarget(android.view.Surface);
|
method public void addTarget(android.view.Surface);
|
||||||
method public void removeTarget(android.view.Surface);
|
method public void removeTarget(android.view.Surface);
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key BLACK_LEVEL_LOCK;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key COLOR_CORRECTION_GAINS;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key COLOR_CORRECTION_MODE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key COLOR_CORRECTION_TRANSFORM;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_ANTIBANDING_MODE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_EXPOSURE_COMPENSATION;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_LOCK;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_MODE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_PRECAPTURE_TRIGGER;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_REGIONS;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_TARGET_FPS_RANGE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AF_MODE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AF_REGIONS;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AF_TRIGGER;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AWB_LOCK;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AWB_MODE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AWB_REGIONS;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_CAPTURE_INTENT;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_EFFECT_MODE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_MODE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_SCENE_MODE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_VIDEO_STABILIZATION_MODE;
|
||||||
field public static final android.os.Parcelable.Creator CREATOR;
|
field public static final android.os.Parcelable.Creator CREATOR;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key EDGE_MODE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key FLASH_MODE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key JPEG_GPS_COORDINATES;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key JPEG_GPS_PROCESSING_METHOD;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key JPEG_GPS_TIMESTAMP;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key JPEG_ORIENTATION;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key JPEG_QUALITY;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key JPEG_THUMBNAIL_QUALITY;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key JPEG_THUMBNAIL_SIZE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key LENS_APERTURE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key LENS_FILTER_DENSITY;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key LENS_FOCAL_LENGTH;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key LENS_FOCUS_DISTANCE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key LENS_OPTICAL_STABILIZATION_MODE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key NOISE_REDUCTION_MODE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key SCALER_CROP_REGION;
|
||||||
field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_EXPOSURE_TIME;
|
field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_EXPOSURE_TIME;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_FRAME_DURATION;
|
||||||
field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_SENSITIVITY;
|
field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_SENSITIVITY;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key STATISTICS_FACE_DETECT_MODE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key TONEMAP_CURVE_BLUE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key TONEMAP_CURVE_GREEN;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key TONEMAP_CURVE_RED;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key TONEMAP_MODE;
|
||||||
}
|
}
|
||||||
|
|
||||||
public final class CaptureResult extends android.hardware.camera2.CameraMetadata {
|
public final class CaptureResult extends android.hardware.camera2.CameraMetadata {
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key BLACK_LEVEL_LOCK;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key COLOR_CORRECTION_GAINS;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key COLOR_CORRECTION_TRANSFORM;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_REGIONS;
|
||||||
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_STATE;
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_STATE;
|
||||||
field public static final int CONTROL_AE_STATE_CONVERGED = 2; // 0x2
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AF_MODE;
|
||||||
field public static final int CONTROL_AE_STATE_FLASH_REQUIRED = 4; // 0x4
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AF_REGIONS;
|
||||||
field public static final int CONTROL_AE_STATE_INACTIVE = 0; // 0x0
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AF_STATE;
|
||||||
field public static final int CONTROL_AE_STATE_LOCKED = 3; // 0x3
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AWB_MODE;
|
||||||
field public static final int CONTROL_AE_STATE_PRECAPTURE = 5; // 0x5
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AWB_REGIONS;
|
||||||
field public static final int CONTROL_AE_STATE_SEARCHING = 1; // 0x1
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AWB_STATE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_MODE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key EDGE_MODE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key FLASH_MODE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key FLASH_STATE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key JPEG_GPS_COORDINATES;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key JPEG_GPS_PROCESSING_METHOD;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key JPEG_GPS_TIMESTAMP;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key JPEG_ORIENTATION;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key JPEG_QUALITY;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key JPEG_THUMBNAIL_QUALITY;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key JPEG_THUMBNAIL_SIZE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key LENS_APERTURE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key LENS_FILTER_DENSITY;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key LENS_FOCAL_LENGTH;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key LENS_FOCUS_DISTANCE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key LENS_FOCUS_RANGE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key LENS_OPTICAL_STABILIZATION_MODE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key LENS_STATE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key NOISE_REDUCTION_MODE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key REQUEST_FRAME_COUNT;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key SCALER_CROP_REGION;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_EXPOSURE_TIME;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_FRAME_DURATION;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_SENSITIVITY;
|
||||||
field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_TIMESTAMP;
|
field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_TIMESTAMP;
|
||||||
field public static final android.hardware.camera2.CameraMetadata.Key STATISTICS_DETECTED_FACES;
|
field public static final android.hardware.camera2.CameraMetadata.Key STATISTICS_FACE_DETECT_MODE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key STATISTICS_FACE_IDS;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key STATISTICS_FACE_LANDMARKS;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key STATISTICS_FACE_RECTANGLES;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key STATISTICS_FACE_SCORES;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key STATISTICS_LENS_SHADING_MAP;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key STATISTICS_PREDICTED_COLOR_GAINS;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key STATISTICS_PREDICTED_COLOR_TRANSFORM;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key STATISTICS_SCENE_FLICKER;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key TONEMAP_CURVE_BLUE;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key TONEMAP_CURVE_GREEN;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key TONEMAP_CURVE_RED;
|
||||||
|
field public static final android.hardware.camera2.CameraMetadata.Key TONEMAP_MODE;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class CaptureResult.Face {
|
public static class CaptureResult.Face {
|
||||||
|
|||||||
@@ -157,14 +157,13 @@ public interface CameraDevice extends AutoCloseable {
|
|||||||
* obtain the Surface with
|
* obtain the Surface with
|
||||||
* {@link android.renderscript.Allocation#getSurface}.</li>
|
* {@link android.renderscript.Allocation#getSurface}.</li>
|
||||||
*
|
*
|
||||||
* <li>For access to uncompressed, JPEG, or raw sensor data in the
|
* <li>For access to uncompressed or JPEG data in the application: Create a
|
||||||
* application: Create a {@link android.media.ImageReader} object with the
|
* {@link android.media.ImageReader} object with the desired
|
||||||
* desired {@link CameraProperties#SCALER_AVAILABLE_FORMATS image format},
|
* {@link CameraProperties#SCALER_AVAILABLE_FORMATS image format}, and a
|
||||||
* and a size from the matching
|
* size from the matching
|
||||||
* {@link CameraProperties#SCALER_AVAILABLE_PROCESSED_SIZES processed},
|
* {@link CameraProperties#SCALER_AVAILABLE_PROCESSED_SIZES processed},
|
||||||
* {@link CameraProperties#SCALER_AVAILABLE_JPEG_SIZES jpeg}, or
|
* {@link CameraProperties#SCALER_AVAILABLE_JPEG_SIZES jpeg}. Then obtain
|
||||||
* {@link CameraProperties#SCALER_AVAILABLE_RAW_SIZES raw} sizes. Then
|
* a Surface from it.</li>
|
||||||
* obtain a Surface from it.</li>
|
|
||||||
*
|
*
|
||||||
* </ul>
|
* </ul>
|
||||||
*
|
*
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -32,216 +32,466 @@ import java.util.List;
|
|||||||
* @see CameraManager
|
* @see CameraManager
|
||||||
*/
|
*/
|
||||||
public final class CameraProperties extends CameraMetadata {
|
public final class CameraProperties extends CameraMetadata {
|
||||||
/**
|
|
||||||
* The model name of the camera. For fixed (non-removable) cameras, this is
|
/*@O~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~
|
||||||
* the manufacturer's name. For removable cameras, this is a string that
|
* The key entries below this point are generated from metadata
|
||||||
* uniquely identifies the camera model and manufacturer. The
|
* definitions in /system/media/camera/docs. Do not modify by hand or
|
||||||
* {@link #INFO_IDENTIFIER} can be used to distinguish between multiple
|
* modify the comment blocks at the start or end.
|
||||||
* removable cameras of the same model.
|
*~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~*/
|
||||||
*/
|
|
||||||
public static final Key<String> INFO_MODEL =
|
|
||||||
new Key<String>("android.info.model", String.class);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A unique identifier for this camera. For removable cameras, every
|
* <p>
|
||||||
* camera will have a unique identifier, including two cameras of the
|
* Which set of antibanding modes are
|
||||||
* same model and manufacturer. For non-removable cameras, the
|
* supported
|
||||||
* identifier is equal to the the device's id.
|
* </p>
|
||||||
*/
|
*/
|
||||||
public static final Key<String> INFO_IDENTIFIER =
|
public static final Key<byte[]> CONTROL_AE_AVAILABLE_ANTIBANDING_MODES =
|
||||||
new Key<String>("android.info.identifier", String.class);
|
new Key<byte[]>("android.control.aeAvailableAntibandingModes", byte[].class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>Whether this camera is removable or not.</p>
|
* <p>
|
||||||
*
|
* List of frame rate ranges supported by the
|
||||||
* <p>Applications using a removable camera must be prepared for the camera
|
* AE algorithm/hardware
|
||||||
* to be disconnected during use. Use the {@link #INFO_IDENTIFIER} field to
|
* </p>
|
||||||
* determine if this camera is a match for a camera device seen earlier.</p>
|
|
||||||
*/
|
*/
|
||||||
public static final Key<Boolean> INFO_REMOVABLE =
|
public static final Key<int[]> CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES =
|
||||||
new Key<Boolean>("android.info.isRemovable", Boolean.TYPE);
|
new Key<int[]>("android.control.aeAvailableTargetFpsRanges", int[].class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>The hardware operational model of this device. One of the
|
* <p>
|
||||||
* INFO_SUPPORTED_HARDWARE_LEVEL_* constants.</p>
|
* Maximum and minimum exposure compensation
|
||||||
*
|
* setting, in counts of
|
||||||
* <p>Limited-capability devices have a number of limitations relative to
|
* android.control.aeCompensationStepSize
|
||||||
* full-capability cameras. Roughly, they have capabilities comparable to
|
* </p>
|
||||||
* those provided by the deprecated {@link android.hardware.Camera}
|
|
||||||
* class.</p>
|
|
||||||
*
|
|
||||||
* <p>Specifically, limited-mode devices:</p>
|
|
||||||
*
|
|
||||||
* <ol>
|
|
||||||
*
|
|
||||||
* <li>Do not provide per-frame result metadata for repeating
|
|
||||||
* captures. This means that a CaptureListener will not be called for
|
|
||||||
* captures done through {@link CameraDevice#setRepeatingRequest
|
|
||||||
* setRepeatingRequest} or {@link CameraDevice#setRepeatingBurst
|
|
||||||
* setRepeatingBurst}.</li>
|
|
||||||
*
|
|
||||||
* <li>Do not support complete result metadata. Only a few fields are
|
|
||||||
* provided, such as the timestamp (TODO).</li>
|
|
||||||
*
|
|
||||||
* <li>Do not support manual capture controls. Only the (TODO)
|
|
||||||
* ANDROID_CONTROL_* fields and TODO controls are used, and the various
|
|
||||||
* AE/AF/AWB_OFF control values cannot be used.</li>
|
|
||||||
*
|
|
||||||
* <li>Do not support high frame rate captures. To obtain high frame rate,
|
|
||||||
* the {@link CameraDevice#setRepeatingRequest setRepeatingRequest} method
|
|
||||||
* must be used. The {@link CameraDevice#capture capture},
|
|
||||||
* {@link CameraDevice#captureBurst captureBurst}, and
|
|
||||||
* {@link CameraDevice#setRepeatingBurst setRepeatingBurst} methods will
|
|
||||||
* result in slow frame captures.</li>
|
|
||||||
*
|
|
||||||
* </ol>
|
|
||||||
*
|
|
||||||
* @see #INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED
|
|
||||||
* @see #INFO_SUPPORTED_HARDWARE_LEVEL_FULL
|
|
||||||
*/
|
*/
|
||||||
public static final Key<Integer> INFO_SUPPORTED_HARDWARE_LEVEL =
|
public static final Key<int[]> CONTROL_AE_COMPENSATION_RANGE =
|
||||||
new Key<Integer>("android.info.supportedHardwareLevel", Integer.TYPE);
|
new Key<int[]>("android.control.aeCompensationRange", int[].class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>The type reported by limited-capability camera devices.</p>
|
* <p>
|
||||||
*
|
* Smallest step by which exposure compensation
|
||||||
* <p>Limited-capability devices have a number of limitations relative to
|
* can be changed
|
||||||
* full-capability cameras. Roughly, they have capabilities comparable to
|
* </p>
|
||||||
* those provided by the deprecated {@link android.hardware.Camera}
|
|
||||||
* class.</p>
|
|
||||||
*
|
|
||||||
* <p>Specifically, limited-mode devices:</p>
|
|
||||||
*
|
|
||||||
* <ol>
|
|
||||||
*
|
|
||||||
* <li>Do not provide per-frame result metadata for repeating
|
|
||||||
* captures. This means that a CaptureListener will not be called for
|
|
||||||
* captures done through {@link CameraDevice#setRepeatingRequest
|
|
||||||
* setRepeatingRequest} or {@link CameraDevice#setRepeatingBurst
|
|
||||||
* setRepeatingBurst}.</li>
|
|
||||||
*
|
|
||||||
* <li>Do not support complete result metadata. Only a few fields are
|
|
||||||
* provided, such as the timestamp (TODO).</li>
|
|
||||||
*
|
|
||||||
* <li>Do not support manual capture controls. Only the (TODO)
|
|
||||||
* ANDROID_CONTROL_* fields and TODO controls are used, and the various
|
|
||||||
* AE/AF/AWB_OFF control values cannot be used.</li>
|
|
||||||
*
|
|
||||||
* <li>Do not support high frame rate captures. To obtain high frame rate,
|
|
||||||
* the {@link CameraDevice#setRepeatingRequest setRepeatingRequest} method
|
|
||||||
* must be used. The {@link CameraDevice#capture capture},
|
|
||||||
* {@link CameraDevice#captureBurst captureBurst}, and
|
|
||||||
* {@link CameraDevice#setRepeatingBurst setRepeatingBurst} methods will
|
|
||||||
* result in slow frame captures.</li>
|
|
||||||
*
|
|
||||||
* </ol>
|
|
||||||
*
|
|
||||||
* @see #INFO_SUPPORTED_HARDWARE_LEVEL
|
|
||||||
*/
|
*/
|
||||||
public static final int INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED = 0;
|
public static final Key<Rational> CONTROL_AE_COMPENSATION_STEP =
|
||||||
|
new Key<Rational>("android.control.aeCompensationStep", Rational.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>The type reported by full-capability camera devices</p>
|
* <p>
|
||||||
*
|
* List of AF modes that can be
|
||||||
* <p>Full-capability devices allow for per-frame control of capture
|
* selected
|
||||||
* hardware and post-processing parameters at high frame rates. They also
|
* </p>
|
||||||
* provide output data at high resolution in uncompressed formats, in
|
|
||||||
* addition to compressed JPEG output.</p>
|
|
||||||
*
|
|
||||||
* @see #INFO_SUPPORTED_HARDWARE_LEVEL
|
|
||||||
*/
|
*/
|
||||||
public static final int INFO_SUPPORTED_HARDWARE_LEVEL_FULL = 1;
|
public static final Key<byte[]> CONTROL_AF_AVAILABLE_MODES =
|
||||||
|
new Key<byte[]>("android.control.afAvailableModes", byte[].class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>The available output formats from this camera device. When using a
|
* <p>
|
||||||
* {@link android.media.ImageReader} as an output target, the
|
* what subset of the full color effect enum
|
||||||
* ImageReader must be configured to use one of these formats.</p>
|
* list is supported
|
||||||
*
|
* </p>
|
||||||
* <p>The list is a subset of the formats defined in
|
*/
|
||||||
* {@link android.graphics.ImageFormat}.</p>
|
public static final Key<byte[]> CONTROL_AVAILABLE_EFFECTS =
|
||||||
*
|
new Key<byte[]>("android.control.availableEffects", byte[].class);
|
||||||
* <p>The image formats {@link android.graphics.ImageFormat#JPEG},
|
|
||||||
* {@link android.graphics.ImageFormat#YUV_420_888} are guaranteed to be
|
/**
|
||||||
* supported.</p>
|
* <p>
|
||||||
|
* what subset of the scene mode enum list is
|
||||||
|
* supported.
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<byte[]> CONTROL_AVAILABLE_SCENE_MODES =
|
||||||
|
new Key<byte[]>("android.control.availableSceneModes", byte[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* List of video stabilization modes that can
|
||||||
|
* be supported
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<byte[]> CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES =
|
||||||
|
new Key<byte[]>("android.control.availableVideoStabilizationModes", byte[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
*/
|
||||||
|
public static final Key<byte[]> CONTROL_AWB_AVAILABLE_MODES =
|
||||||
|
new Key<byte[]>("android.control.awbAvailableModes", byte[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* For AE, AWB, and AF, how many individual
|
||||||
|
* regions can be listed for metering?
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> CONTROL_MAX_REGIONS =
|
||||||
|
new Key<Integer>("android.control.maxRegions", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Whether this camera has a
|
||||||
|
* flash
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* If no flash, none of the flash controls do
|
||||||
|
* anything. All other metadata should return 0
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Byte> FLASH_INFO_AVAILABLE =
|
||||||
|
new Key<Byte>("android.flash.info.available", byte.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Supported resolutions for the JPEG
|
||||||
|
* thumbnail
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<android.hardware.camera2.Size[]> JPEG_AVAILABLE_THUMBNAIL_SIZES =
|
||||||
|
new Key<android.hardware.camera2.Size[]>("android.jpeg.availableThumbnailSizes", android.hardware.camera2.Size[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* List of supported aperture
|
||||||
|
* values
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* If variable aperture not available, only setting
|
||||||
|
* should be for the fixed aperture
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<float[]> LENS_INFO_AVAILABLE_APERTURES =
|
||||||
|
new Key<float[]>("android.lens.info.availableApertures", float[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* List of supported ND filter
|
||||||
|
* values
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* If not available, only setting is 0. Otherwise,
|
||||||
|
* lists the available exposure index values for dimming
|
||||||
|
* (2 would mean the filter is set to reduce incoming
|
||||||
|
* light by two stops)
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<float[]> LENS_INFO_AVAILABLE_FILTER_DENSITIES =
|
||||||
|
new Key<float[]>("android.lens.info.availableFilterDensities", float[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* If fitted with optical zoom, what focal
|
||||||
|
* lengths are available. If not, the static focal
|
||||||
|
* length
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* If optical zoom not supported, only one value
|
||||||
|
* should be reported
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<float[]> LENS_INFO_AVAILABLE_FOCAL_LENGTHS =
|
||||||
|
new Key<float[]>("android.lens.info.availableFocalLengths", float[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* List of supported optical image
|
||||||
|
* stabilization modes
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<byte[]> LENS_INFO_AVAILABLE_OPTICAL_STABILIZATION =
|
||||||
|
new Key<byte[]>("android.lens.info.availableOpticalStabilization", byte[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Hyperfocal distance for this lens; set to
|
||||||
|
* 0 if fixed focus
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* The hyperfocal distance is used for the old
|
||||||
|
* API's 'fixed' setting
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Float> LENS_INFO_HYPERFOCAL_DISTANCE =
|
||||||
|
new Key<Float>("android.lens.info.hyperfocalDistance", float.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Shortest distance from frontmost surface
|
||||||
|
* of the lens that can be focused correctly
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* If the lens is fixed-focus, this should be
|
||||||
|
* 0
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Float> LENS_INFO_MINIMUM_FOCUS_DISTANCE =
|
||||||
|
new Key<Float>("android.lens.info.minimumFocusDistance", float.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Dimensions of lens shading
|
||||||
|
* map
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<android.hardware.camera2.Size> LENS_INFO_SHADING_MAP_SIZE =
|
||||||
|
new Key<android.hardware.camera2.Size>("android.lens.info.shadingMapSize", android.hardware.camera2.Size.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Direction the camera faces relative to
|
||||||
|
* device screen
|
||||||
|
* </p>
|
||||||
|
* @see #LENS_FACING_FRONT
|
||||||
|
* @see #LENS_FACING_BACK
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> LENS_FACING =
|
||||||
|
new Key<Integer>("android.lens.facing", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* How many output streams can be allocated at
|
||||||
|
* the same time for each type of stream
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Video snapshot with preview callbacks requires 3
|
||||||
|
* processed streams (preview, record, app callbacks) and
|
||||||
|
* one JPEG stream (snapshot)
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<int[]> REQUEST_MAX_NUM_OUTPUT_STREAMS =
|
||||||
|
new Key<int[]>("android.request.maxNumOutputStreams", int[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* List of app-visible formats
|
||||||
|
* </p>
|
||||||
*/
|
*/
|
||||||
public static final Key<int[]> SCALER_AVAILABLE_FORMATS =
|
public static final Key<int[]> SCALER_AVAILABLE_FORMATS =
|
||||||
new Key<int[]>("android.scaler.availableFormats", int[].class);
|
new Key<int[]>("android.scaler.availableFormats", int[].class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>The available output sizes for JPEG buffers from this camera
|
* <p>
|
||||||
* device. When using a {@link android.media.ImageReader} as an output
|
* The minimum frame duration that is supported
|
||||||
* target, the ImageReader must be configured to use one of these sizes
|
* for each resolution in availableJpegSizes. Should
|
||||||
* when using format {@link android.graphics.ImageFormat#JPEG}.</p>
|
* correspond to the frame duration when only that JPEG
|
||||||
|
* stream is active and captured in a burst, with all
|
||||||
|
* processing set to FAST
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* When multiple streams are configured, the minimum
|
||||||
|
* frame duration will be >= max(individual stream min
|
||||||
|
* durations)
|
||||||
|
* </p>
|
||||||
*/
|
*/
|
||||||
public static final Key<Size[]> SCALER_AVAILABLE_JPEG_SIZES =
|
public static final Key<long[]> SCALER_AVAILABLE_JPEG_MIN_DURATIONS =
|
||||||
new Key<Size[]>("android.scaler.availableJpegSizes", Size[].class);
|
new Key<long[]>("android.scaler.availableJpegMinDurations", long[].class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>The available sizes for output buffers from this camera device, when
|
* <p>
|
||||||
* the buffers are neither of the {@link android.graphics.ImageFormat#JPEG}
|
* The resolutions available for output from
|
||||||
* or of the {@link android.graphics.ImageFormat#RAW_SENSOR} type.</p>
|
* the JPEG block. Listed as width x height
|
||||||
*
|
* </p>
|
||||||
* <p>When using a {@link android.view.SurfaceView},
|
|
||||||
* {@link android.graphics.SurfaceTexture},
|
|
||||||
* {@link android.media.MediaRecorder}, {@link android.media.MediaCodec}, or
|
|
||||||
* {@link android.renderscript.Allocation} as an output target, that target
|
|
||||||
* must be configured to one of these sizes. See
|
|
||||||
* {@link CameraDevice#configureOutputs} for details.
|
|
||||||
*
|
|
||||||
* <p>When using a {@link android.media.ImageReader} as an output
|
|
||||||
* target, the ImageReader must be configured to use one of these sizes
|
|
||||||
* when using format {@link android.graphics.ImageFormat#YUV_420_888}.</p>
|
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public static final Key<Size[]> SCALER_AVAILABLE_PROCESSED_SIZES =
|
public static final Key<android.hardware.camera2.Size[]> SCALER_AVAILABLE_JPEG_SIZES =
|
||||||
new Key<Size[]>("android.scaler.availableProcessedSizes", Size[].class);
|
new Key<android.hardware.camera2.Size[]>("android.scaler.availableJpegSizes", android.hardware.camera2.Size[].class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>The available sizes for output buffers from this camera device, when
|
* <p>
|
||||||
* the buffers are of the {@link android.graphics.ImageFormat#RAW_SENSOR} type. This type of output may not be
|
* The maximum ratio between active area width
|
||||||
* supported by the device; check {@link #SCALER_AVAILABLE_FORMATS} to
|
* and crop region width, or between active area height and
|
||||||
* check. In that case, this list will not exist.</p>
|
* crop region height, if the crop region height is larger
|
||||||
*
|
* than width
|
||||||
* <p>When using a {@link android.media.ImageReader} as an output
|
* </p>
|
||||||
* target, the ImageReader must be configured to use one of these sizes
|
|
||||||
* when using image format {@link android.graphics.ImageFormat#RAW_SENSOR}.</p>
|
|
||||||
*/
|
*/
|
||||||
public static final Key<Size[]> SCALER_AVAILABLE_RAW_SIZES =
|
public static final Key<Float> SCALER_AVAILABLE_MAX_DIGITAL_ZOOM =
|
||||||
new Key<Size[]>("android.scaler.availableRawSizes", Size[].class);
|
new Key<Float>("android.scaler.availableMaxDigitalZoom", float.class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>The coordinates of the sensor's active pixel array, relative to its
|
* <p>
|
||||||
* total pixel array. These are the pixels that are actually used for image
|
* The minimum frame duration that is supported
|
||||||
* capture. The active pixel region may be smaller than the total number of
|
* for each resolution in availableProcessedSizes. Should
|
||||||
* pixels, if some pixels are used for other tasks such as calibrating the
|
* correspond to the frame duration when only that processed
|
||||||
* sensor's black level. If all pixels available for readout are used for
|
* stream is active, with all processing set to
|
||||||
* imaging, then this rectangle will be
|
* FAST
|
||||||
* {@code (0,0) - (SENSOR_PIXEL_ARRAY_SIZE.width,
|
* </p>
|
||||||
* SENSOR_PIXEL_ARRAY_SIZE.height)}.</p>
|
* <p>
|
||||||
*
|
* When multiple streams are configured, the minimum
|
||||||
* <p>If raw sensor capture is supported by this device, the width and
|
* frame duration will be >= max(individual stream min
|
||||||
* height of the active pixel array match up to one of the supported raw
|
* durations)
|
||||||
* capture sizes, and using that size will capture just the active pixel
|
* </p>
|
||||||
* array region.</p>
|
|
||||||
*
|
|
||||||
* <p>Most other coordinates used by the camera device (for example, for
|
|
||||||
* metering and crop region selection, or for reporting detected faces) use
|
|
||||||
* a coordinate system based on the active array dimensions, with (0,0)
|
|
||||||
* being the top-left corner of the active array.</p>
|
|
||||||
*/
|
*/
|
||||||
public static final Key<Rect> SENSOR_ACTIVE_ARRAY_SIZE =
|
public static final Key<long[]> SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS =
|
||||||
new Key<Rect>("android.sensor.activeArraySize", Rect.class);
|
new Key<long[]>("android.scaler.availableProcessedMinDurations", long[].class);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>The size of the sensor's total pixel array available for readout. Some
|
* <p>
|
||||||
* of these pixels may not be used for image capture, in which case
|
* The resolutions available for use with
|
||||||
* {@link #SENSOR_ACTIVE_ARRAY_SIZE} will describe a rectangle smaller than
|
* processed output streams, such as YV12, NV12, and
|
||||||
* this. If raw sensor capture is supported by this device, this is one of
|
* platform opaque YUV/RGB streams to the GPU or video
|
||||||
* the supported capture sizes.</p>
|
* encoders. Listed as width, height
|
||||||
|
* </p>
|
||||||
*/
|
*/
|
||||||
public static final Key<Size> SENSOR_PIXEL_ARRAY_SIZE =
|
public static final Key<android.hardware.camera2.Size[]> SCALER_AVAILABLE_PROCESSED_SIZES =
|
||||||
new Key<Size>("android.sensor.activeArraySize", Size.class);
|
new Key<android.hardware.camera2.Size[]>("android.scaler.availableProcessedSizes", android.hardware.camera2.Size[].class);
|
||||||
|
|
||||||
// TODO: Many more of these.
|
/**
|
||||||
|
* <p>
|
||||||
|
* Area of raw data which corresponds to only
|
||||||
|
* active pixels; smaller or equal to
|
||||||
|
* pixelArraySize.
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<android.graphics.Rect> SENSOR_INFO_ACTIVE_ARRAY_SIZE =
|
||||||
|
new Key<android.graphics.Rect>("android.sensor.info.activeArraySize", android.graphics.Rect.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Range of valid sensitivities
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<int[]> SENSOR_INFO_SENSITIVITY_RANGE =
|
||||||
|
new Key<int[]>("android.sensor.info.sensitivityRange", int[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Range of valid exposure
|
||||||
|
* times
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<long[]> SENSOR_INFO_EXPOSURE_TIME_RANGE =
|
||||||
|
new Key<long[]>("android.sensor.info.exposureTimeRange", long[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Maximum possible frame duration (minimum frame
|
||||||
|
* rate)
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Minimum duration is a function of resolution,
|
||||||
|
* processing settings. See
|
||||||
|
* android.scaler.availableProcessedMinDurations
|
||||||
|
* android.scaler.availableJpegMinDurations
|
||||||
|
* android.scaler.availableRawMinDurations
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Long> SENSOR_INFO_MAX_FRAME_DURATION =
|
||||||
|
new Key<Long>("android.sensor.info.maxFrameDuration", long.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* The physical dimensions of the full pixel
|
||||||
|
* array
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* 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);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Gain factor from electrons to raw units when
|
||||||
|
* ISO=100
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Rational> SENSOR_BASE_GAIN_FACTOR =
|
||||||
|
new Key<Rational>("android.sensor.baseGainFactor", Rational.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Maximum sensitivity that is implemented
|
||||||
|
* purely through analog gain
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* For android.sensor.sensitivity values less than or
|
||||||
|
* equal to this, all applied gain must be analog. For
|
||||||
|
* values above this, it can be a mix of analog and
|
||||||
|
* digital
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> SENSOR_MAX_ANALOG_SENSITIVITY =
|
||||||
|
new Key<Integer>("android.sensor.maxAnalogSensitivity", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Clockwise angle through which the output
|
||||||
|
* image needs to be rotated to be upright on the device
|
||||||
|
* screen in its native orientation. Also defines the
|
||||||
|
* direction of rolling shutter readout, which is from top
|
||||||
|
* to bottom in the sensor's coordinate system
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> SENSOR_ORIENTATION =
|
||||||
|
new Key<Integer>("android.sensor.orientation", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Which face detection modes are available,
|
||||||
|
* if any
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* OFF means face detection is disabled, it must
|
||||||
|
* be included in the list.
|
||||||
|
* </p><p>
|
||||||
|
* SIMPLE means the device supports the
|
||||||
|
* android.statistics.faceRectangles and
|
||||||
|
* android.statistics.faceScores outputs.
|
||||||
|
* </p><p>
|
||||||
|
* FULL means the device additionally supports the
|
||||||
|
* android.statistics.faceIds and
|
||||||
|
* android.statistics.faceLandmarks outputs.
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<byte[]> STATISTICS_INFO_AVAILABLE_FACE_DETECT_MODES =
|
||||||
|
new Key<byte[]>("android.statistics.info.availableFaceDetectModes", byte[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Maximum number of simultaneously detectable
|
||||||
|
* faces
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> STATISTICS_INFO_MAX_FACE_COUNT =
|
||||||
|
new Key<Integer>("android.statistics.info.maxFaceCount", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Maximum number of supported points in the
|
||||||
|
* tonemap curve
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> TONEMAP_MAX_CURVE_POINTS =
|
||||||
|
new Key<Integer>("android.tonemap.maxCurvePoints", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* A list of camera LEDs that are available on this system.
|
||||||
|
* </p>
|
||||||
|
* @see #LED_AVAILABLE_LEDS_TRANSMIT
|
||||||
|
*
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
public static final Key<int[]> LED_AVAILABLE_LEDS =
|
||||||
|
new Key<int[]>("android.led.availableLeds", int[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* The camera 3 HAL device can implement one of two possible
|
||||||
|
* operational modes; limited and full. Full support is
|
||||||
|
* expected from new higher-end devices. Limited mode has
|
||||||
|
* hardware requirements roughly in line with those for a
|
||||||
|
* camera HAL device v1 implementation, and is expected from
|
||||||
|
* older or inexpensive devices. Full is a strict superset of
|
||||||
|
* limited, and they share the same essential operational flow.
|
||||||
|
* </p><p>
|
||||||
|
* For full details refer to "S3. Operational Modes" in camera3.h
|
||||||
|
* </p>
|
||||||
|
* @see #INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED
|
||||||
|
* @see #INFO_SUPPORTED_HARDWARE_LEVEL_FULL
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> INFO_SUPPORTED_HARDWARE_LEVEL =
|
||||||
|
new Key<Integer>("android.info.supportedHardwareLevel", int.class);
|
||||||
|
|
||||||
|
/*~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~
|
||||||
|
* End generated code
|
||||||
|
*~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~O@*/
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -54,21 +54,6 @@ public final class CaptureRequest extends CameraMetadata implements Parcelable {
|
|||||||
private final Object mLock = new Object();
|
private final Object mLock = new Object();
|
||||||
private final HashSet<Surface> mSurfaceSet = new HashSet<Surface>();
|
private final HashSet<Surface> mSurfaceSet = new HashSet<Surface>();
|
||||||
|
|
||||||
/**
|
|
||||||
* The exposure time for this capture, in nanoseconds.
|
|
||||||
*/
|
|
||||||
public static final Key<Long> SENSOR_EXPOSURE_TIME =
|
|
||||||
new Key<Long>("android.sensor.exposureTime", Long.TYPE);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The sensor sensitivity (gain) setting for this camera.
|
|
||||||
* This is represented as an ISO sensitivity value
|
|
||||||
*/
|
|
||||||
public static final Key<Integer> SENSOR_SENSITIVITY =
|
|
||||||
new Key<Integer>("android.sensor.sensitivity", Integer.TYPE);
|
|
||||||
|
|
||||||
// Many more settings
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
@@ -152,4 +137,751 @@ public final class CaptureRequest extends CameraMetadata implements Parcelable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*@O~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~
|
||||||
|
* The key entries below this point are generated from metadata
|
||||||
|
* definitions in /system/media/camera/docs. Do not modify by hand or
|
||||||
|
* modify the comment blocks at the start or end.
|
||||||
|
*~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see #COLOR_CORRECTION_MODE_TRANSFORM_MATRIX
|
||||||
|
* @see #COLOR_CORRECTION_MODE_FAST
|
||||||
|
* @see #COLOR_CORRECTION_MODE_HIGH_QUALITY
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> COLOR_CORRECTION_MODE =
|
||||||
|
new Key<Integer>("android.colorCorrection.mode", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* A color transform matrix to use to transform
|
||||||
|
* from sensor RGB color space to output linear sRGB color space
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* 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.
|
||||||
|
* 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.
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Rational[]> COLOR_CORRECTION_TRANSFORM =
|
||||||
|
new Key<Rational[]>("android.colorCorrection.transform", Rational[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Gains applying to Bayer color channels for
|
||||||
|
* white-balance
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* The 4-channel white-balance gains are defined in
|
||||||
|
* the order of [R G_even G_odd B], where G_even is the gain
|
||||||
|
* for green pixels on even rows of the output, and G_odd
|
||||||
|
* is the gain for greenpixels on the odd rows. if a HAL
|
||||||
|
* does not support a separate gain for even/odd green channels,
|
||||||
|
* it should use the G_even value,and write G_odd equal to
|
||||||
|
* G_even in the output result metadata.
|
||||||
|
* </p><p>
|
||||||
|
* The ouput should be the gains actually applied by the HAL to
|
||||||
|
* the current frame.
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<float[]> COLOR_CORRECTION_GAINS =
|
||||||
|
new Key<float[]>("android.colorCorrection.gains", float[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Enum for controlling
|
||||||
|
* antibanding
|
||||||
|
* </p>
|
||||||
|
* @see #CONTROL_AE_ANTIBANDING_MODE_OFF
|
||||||
|
* @see #CONTROL_AE_ANTIBANDING_MODE_50HZ
|
||||||
|
* @see #CONTROL_AE_ANTIBANDING_MODE_60HZ
|
||||||
|
* @see #CONTROL_AE_ANTIBANDING_MODE_AUTO
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> CONTROL_AE_ANTIBANDING_MODE =
|
||||||
|
new Key<Integer>("android.control.aeAntibandingMode", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Adjustment to AE target image
|
||||||
|
* brightness
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* For example, if EV step is 0.333, '6' will mean an
|
||||||
|
* exposure compensation of +2 EV; -3 will mean an exposure
|
||||||
|
* compensation of -1
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> CONTROL_AE_EXPOSURE_COMPENSATION =
|
||||||
|
new Key<Integer>("android.control.aeExposureCompensation", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Whether AE is currently locked to its latest
|
||||||
|
* calculated values
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Note that even when AE is locked, the flash may be
|
||||||
|
* fired if the AE mode is ON_AUTO_FLASH / ON_ALWAYS_FLASH /
|
||||||
|
* ON_AUTO_FLASH_REDEYE.
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Boolean> CONTROL_AE_LOCK =
|
||||||
|
new Key<Boolean>("android.control.aeLock", boolean.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Whether AE is currently updating the sensor
|
||||||
|
* exposure and sensitivity fields
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Only effective if android.control.mode =
|
||||||
|
* AUTO
|
||||||
|
* </p>
|
||||||
|
* @see #CONTROL_AE_MODE_OFF
|
||||||
|
* @see #CONTROL_AE_MODE_ON
|
||||||
|
* @see #CONTROL_AE_MODE_ON_AUTO_FLASH
|
||||||
|
* @see #CONTROL_AE_MODE_ON_ALWAYS_FLASH
|
||||||
|
* @see #CONTROL_AE_MODE_ON_AUTO_FLASH_REDEYE
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> CONTROL_AE_MODE =
|
||||||
|
new Key<Integer>("android.control.aeMode", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* List of areas to use for
|
||||||
|
* metering
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Each area is a rectangle plus weight: xmin, ymin,
|
||||||
|
* xmax, ymax, weight.
|
||||||
|
* </p><p>
|
||||||
|
* The coordinate system is based on the active pixel array,
|
||||||
|
* with (0,0) being the top-left of the active pixel array, and
|
||||||
|
* (android.sensor.info.activeArraySize.width,
|
||||||
|
* android.sensor.info.activeArraySize.height) being the
|
||||||
|
* bottom-right point of the active pixel array. The weight
|
||||||
|
* should be nonnegative.
|
||||||
|
* </p><p>
|
||||||
|
* If all regions have 0 weight, then no specific metering area
|
||||||
|
* needs to be used by the HAL. If the metering region is
|
||||||
|
* outside the current android.scaler.cropRegion, the HAL
|
||||||
|
* should ignore the sections outside the region and output the
|
||||||
|
* used sections in the frame metadata
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<int[]> CONTROL_AE_REGIONS =
|
||||||
|
new Key<int[]>("android.control.aeRegions", int[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Range over which fps can be adjusted to
|
||||||
|
* maintain exposure
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Only constrains AE algorithm, not manual control
|
||||||
|
* of android.sensor.exposureTime
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<int[]> CONTROL_AE_TARGET_FPS_RANGE =
|
||||||
|
new Key<int[]>("android.control.aeTargetFpsRange", int[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Whether the HAL must trigger precapture
|
||||||
|
* metering.
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* This entry is normally set to IDLE, or is not
|
||||||
|
* included at all in the request settings. When included and
|
||||||
|
* set to START, the HAL must trigger the autoexposure
|
||||||
|
* precapture metering sequence.
|
||||||
|
* </p><p>
|
||||||
|
* The effect of AE precapture trigger depends on the current
|
||||||
|
* AE mode and state; see the camera HAL device v3 header for
|
||||||
|
* details.
|
||||||
|
* </p>
|
||||||
|
* @see #CONTROL_AE_PRECAPTURE_TRIGGER_IDLE
|
||||||
|
* @see #CONTROL_AE_PRECAPTURE_TRIGGER_START
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> CONTROL_AE_PRECAPTURE_TRIGGER =
|
||||||
|
new Key<Integer>("android.control.aePrecaptureTrigger", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Whether AF is currently enabled, and what
|
||||||
|
* mode it is set to
|
||||||
|
* </p>
|
||||||
|
* @see #CONTROL_AF_MODE_OFF
|
||||||
|
* @see #CONTROL_AF_MODE_AUTO
|
||||||
|
* @see #CONTROL_AF_MODE_MACRO
|
||||||
|
* @see #CONTROL_AF_MODE_CONTINUOUS_VIDEO
|
||||||
|
* @see #CONTROL_AF_MODE_CONTINUOUS_PICTURE
|
||||||
|
* @see #CONTROL_AF_MODE_EDOF
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> CONTROL_AF_MODE =
|
||||||
|
new Key<Integer>("android.control.afMode", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* List of areas to use for focus
|
||||||
|
* estimation
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Each area is a rectangle plus weight: xmin, ymin,
|
||||||
|
* xmax, ymax, weight.
|
||||||
|
* </p><p>
|
||||||
|
* The coordinate system is based on the active pixel array,
|
||||||
|
* with (0,0) being the top-left of the active pixel array, and
|
||||||
|
* (android.sensor.info.activeArraySize.width,
|
||||||
|
* android.sensor.info.activeArraySize.height) being the
|
||||||
|
* bottom-right point of the active pixel array. The weight
|
||||||
|
* should be nonnegative.
|
||||||
|
* </p><p>
|
||||||
|
* If all regions have 0 weight, then no specific focus area
|
||||||
|
* needs to be used by the HAL. If the focusing region is
|
||||||
|
* outside the current android.scaler.cropRegion, the HAL
|
||||||
|
* should ignore the sections outside the region and output the
|
||||||
|
* used sections in the frame metadata
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<int[]> CONTROL_AF_REGIONS =
|
||||||
|
new Key<int[]>("android.control.afRegions", int[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Whether the HAL must trigger autofocus.
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* This entry is normally set to IDLE, or is not
|
||||||
|
* included at all in the request settings.
|
||||||
|
* </p><p>
|
||||||
|
* When included and set to START, the HAL must trigger the
|
||||||
|
* autofocus algorithm. The effect of AF trigger depends on the
|
||||||
|
* current AF mode and state; see the camera HAL device v3
|
||||||
|
* header for details. When set to CANCEL, the HAL must cancel
|
||||||
|
* any active trigger, and return to initial AF state.
|
||||||
|
* </p>
|
||||||
|
* @see #CONTROL_AF_TRIGGER_IDLE
|
||||||
|
* @see #CONTROL_AF_TRIGGER_START
|
||||||
|
* @see #CONTROL_AF_TRIGGER_CANCEL
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> CONTROL_AF_TRIGGER =
|
||||||
|
new Key<Integer>("android.control.afTrigger", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Whether AWB is currently locked to its
|
||||||
|
* latest calculated values
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Note that AWB lock is only meaningful for AUTO
|
||||||
|
* mode; in other modes, AWB is already fixed to a specific
|
||||||
|
* setting
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Boolean> CONTROL_AWB_LOCK =
|
||||||
|
new Key<Boolean>("android.control.awbLock", boolean.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Whether AWB is currently setting the color
|
||||||
|
* transform fields, and what its illumination target
|
||||||
|
* is
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* [BC - AWB lock,AWB modes]
|
||||||
|
* </p>
|
||||||
|
* @see #CONTROL_AWB_MODE_OFF
|
||||||
|
* @see #CONTROL_AWB_MODE_AUTO
|
||||||
|
* @see #CONTROL_AWB_MODE_INCANDESCENT
|
||||||
|
* @see #CONTROL_AWB_MODE_FLUORESCENT
|
||||||
|
* @see #CONTROL_AWB_MODE_WARM_FLUORESCENT
|
||||||
|
* @see #CONTROL_AWB_MODE_DAYLIGHT
|
||||||
|
* @see #CONTROL_AWB_MODE_CLOUDY_DAYLIGHT
|
||||||
|
* @see #CONTROL_AWB_MODE_TWILIGHT
|
||||||
|
* @see #CONTROL_AWB_MODE_SHADE
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> CONTROL_AWB_MODE =
|
||||||
|
new Key<Integer>("android.control.awbMode", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* List of areas to use for illuminant
|
||||||
|
* estimation
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Only used in AUTO mode.
|
||||||
|
* </p><p>
|
||||||
|
* Each area is a rectangle plus weight: xmin, ymin, xmax,
|
||||||
|
* ymax, weight. The coordinate system is based on the active
|
||||||
|
* pixel array, with (0,0) being the top-left of the active
|
||||||
|
* pixel array, and (android.sensor.info.activeArraySize.width,
|
||||||
|
* android.sensor.info.activeArraySize.height) being the
|
||||||
|
* bottom-right point of the active pixel array. The weight
|
||||||
|
* should be nonnegative.
|
||||||
|
* </p><p>
|
||||||
|
* If all regions have 0 weight, then no specific metering area
|
||||||
|
* needs to be used by the HAL. If the metering region is
|
||||||
|
* outside the current android.scaler.cropRegion, the HAL
|
||||||
|
* should ignore the sections outside the region and output the
|
||||||
|
* used sections in the frame metadata
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<int[]> CONTROL_AWB_REGIONS =
|
||||||
|
new Key<int[]>("android.control.awbRegions", int[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Information to 3A routines about the purpose
|
||||||
|
* of this capture, to help decide optimal 3A
|
||||||
|
* strategy
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Only used if android.control.mode != OFF.
|
||||||
|
* </p>
|
||||||
|
* @see #CONTROL_CAPTURE_INTENT_CUSTOM
|
||||||
|
* @see #CONTROL_CAPTURE_INTENT_PREVIEW
|
||||||
|
* @see #CONTROL_CAPTURE_INTENT_STILL_CAPTURE
|
||||||
|
* @see #CONTROL_CAPTURE_INTENT_VIDEO_RECORD
|
||||||
|
* @see #CONTROL_CAPTURE_INTENT_VIDEO_SNAPSHOT
|
||||||
|
* @see #CONTROL_CAPTURE_INTENT_ZERO_SHUTTER_LAG
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> CONTROL_CAPTURE_INTENT =
|
||||||
|
new Key<Integer>("android.control.captureIntent", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Whether any special color effect is in use.
|
||||||
|
* Only used if android.control.mode != OFF
|
||||||
|
* </p>
|
||||||
|
* @see #CONTROL_EFFECT_MODE_OFF
|
||||||
|
* @see #CONTROL_EFFECT_MODE_MONO
|
||||||
|
* @see #CONTROL_EFFECT_MODE_NEGATIVE
|
||||||
|
* @see #CONTROL_EFFECT_MODE_SOLARIZE
|
||||||
|
* @see #CONTROL_EFFECT_MODE_SEPIA
|
||||||
|
* @see #CONTROL_EFFECT_MODE_POSTERIZE
|
||||||
|
* @see #CONTROL_EFFECT_MODE_WHITEBOARD
|
||||||
|
* @see #CONTROL_EFFECT_MODE_BLACKBOARD
|
||||||
|
* @see #CONTROL_EFFECT_MODE_AQUA
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> CONTROL_EFFECT_MODE =
|
||||||
|
new Key<Integer>("android.control.effectMode", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Overall mode of 3A control
|
||||||
|
* routines
|
||||||
|
* </p>
|
||||||
|
* @see #CONTROL_MODE_OFF
|
||||||
|
* @see #CONTROL_MODE_AUTO
|
||||||
|
* @see #CONTROL_MODE_USE_SCENE_MODE
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> CONTROL_MODE =
|
||||||
|
new Key<Integer>("android.control.mode", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Which scene mode is active when
|
||||||
|
* android.control.mode = SCENE_MODE
|
||||||
|
* </p>
|
||||||
|
* @see #CONTROL_SCENE_MODE_UNSUPPORTED
|
||||||
|
* @see #CONTROL_SCENE_MODE_FACE_PRIORITY
|
||||||
|
* @see #CONTROL_SCENE_MODE_ACTION
|
||||||
|
* @see #CONTROL_SCENE_MODE_PORTRAIT
|
||||||
|
* @see #CONTROL_SCENE_MODE_LANDSCAPE
|
||||||
|
* @see #CONTROL_SCENE_MODE_NIGHT
|
||||||
|
* @see #CONTROL_SCENE_MODE_NIGHT_PORTRAIT
|
||||||
|
* @see #CONTROL_SCENE_MODE_THEATRE
|
||||||
|
* @see #CONTROL_SCENE_MODE_BEACH
|
||||||
|
* @see #CONTROL_SCENE_MODE_SNOW
|
||||||
|
* @see #CONTROL_SCENE_MODE_SUNSET
|
||||||
|
* @see #CONTROL_SCENE_MODE_STEADYPHOTO
|
||||||
|
* @see #CONTROL_SCENE_MODE_FIREWORKS
|
||||||
|
* @see #CONTROL_SCENE_MODE_SPORTS
|
||||||
|
* @see #CONTROL_SCENE_MODE_PARTY
|
||||||
|
* @see #CONTROL_SCENE_MODE_CANDLELIGHT
|
||||||
|
* @see #CONTROL_SCENE_MODE_BARCODE
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> CONTROL_SCENE_MODE =
|
||||||
|
new Key<Integer>("android.control.sceneMode", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Whether video stabilization is
|
||||||
|
* active
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* If enabled, video stabilization can modify the
|
||||||
|
* android.scaler.cropRegion to keep the video stream
|
||||||
|
* stabilized
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Boolean> CONTROL_VIDEO_STABILIZATION_MODE =
|
||||||
|
new Key<Boolean>("android.control.videoStabilizationMode", boolean.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Operation mode for edge
|
||||||
|
* enhancement
|
||||||
|
* </p>
|
||||||
|
* @see #EDGE_MODE_OFF
|
||||||
|
* @see #EDGE_MODE_FAST
|
||||||
|
* @see #EDGE_MODE_HIGH_QUALITY
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> EDGE_MODE =
|
||||||
|
new Key<Integer>("android.edge.mode", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Select flash operation mode
|
||||||
|
* </p>
|
||||||
|
* @see #FLASH_MODE_OFF
|
||||||
|
* @see #FLASH_MODE_SINGLE
|
||||||
|
* @see #FLASH_MODE_TORCH
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> FLASH_MODE =
|
||||||
|
new Key<Integer>("android.flash.mode", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* GPS coordinates to include in output JPEG
|
||||||
|
* EXIF
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<double[]> JPEG_GPS_COORDINATES =
|
||||||
|
new Key<double[]>("android.jpeg.gpsCoordinates", double[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 32 characters describing GPS algorithm to
|
||||||
|
* include in EXIF
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<String> JPEG_GPS_PROCESSING_METHOD =
|
||||||
|
new Key<String>("android.jpeg.gpsProcessingMethod", String.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Time GPS fix was made to include in
|
||||||
|
* EXIF
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Long> JPEG_GPS_TIMESTAMP =
|
||||||
|
new Key<Long>("android.jpeg.gpsTimestamp", long.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Orientation of JPEG image to
|
||||||
|
* write
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> JPEG_ORIENTATION =
|
||||||
|
new Key<Integer>("android.jpeg.orientation", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Compression quality of the final JPEG
|
||||||
|
* image
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* 85-95 is typical usage range
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Byte> JPEG_QUALITY =
|
||||||
|
new Key<Byte>("android.jpeg.quality", byte.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Compression quality of JPEG
|
||||||
|
* thumbnail
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Byte> JPEG_THUMBNAIL_QUALITY =
|
||||||
|
new Key<Byte>("android.jpeg.thumbnailQuality", byte.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Resolution of embedded JPEG
|
||||||
|
* thumbnail
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<android.hardware.camera2.Size> JPEG_THUMBNAIL_SIZE =
|
||||||
|
new Key<android.hardware.camera2.Size>("android.jpeg.thumbnailSize", android.hardware.camera2.Size.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Size of the lens aperture
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Will not be supported on most devices. Can only
|
||||||
|
* pick from supported list
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Float> LENS_APERTURE =
|
||||||
|
new Key<Float>("android.lens.aperture", float.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* State of lens neutral density
|
||||||
|
* filter(s)
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Will not be supported on most devices. Can only
|
||||||
|
* pick from supported list
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Float> LENS_FILTER_DENSITY =
|
||||||
|
new Key<Float>("android.lens.filterDensity", float.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Lens optical zoom setting
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Will not be supported on most devices.
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Float> LENS_FOCAL_LENGTH =
|
||||||
|
new Key<Float>("android.lens.focalLength", float.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Distance to plane of sharpest focus,
|
||||||
|
* measured from frontmost surface of the lens
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* 0 = infinity focus. Used value should be clamped
|
||||||
|
* to (0,minimum focus distance)
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Float> LENS_FOCUS_DISTANCE =
|
||||||
|
new Key<Float>("android.lens.focusDistance", float.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Whether optical image stabilization is
|
||||||
|
* enabled.
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Will not be supported on most devices.
|
||||||
|
* </p>
|
||||||
|
* @see #LENS_OPTICAL_STABILIZATION_MODE_OFF
|
||||||
|
* @see #LENS_OPTICAL_STABILIZATION_MODE_ON
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> LENS_OPTICAL_STABILIZATION_MODE =
|
||||||
|
new Key<Integer>("android.lens.opticalStabilizationMode", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mode of operation for the noise reduction
|
||||||
|
* algorithm
|
||||||
|
* </p>
|
||||||
|
* @see #NOISE_REDUCTION_MODE_OFF
|
||||||
|
* @see #NOISE_REDUCTION_MODE_FAST
|
||||||
|
* @see #NOISE_REDUCTION_MODE_HIGH_QUALITY
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> NOISE_REDUCTION_MODE =
|
||||||
|
new Key<Integer>("android.noiseReduction.mode", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* An application-specified ID for the current
|
||||||
|
* request. Must be maintained unchanged in output
|
||||||
|
* frame
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> REQUEST_ID =
|
||||||
|
new Key<Integer>("android.request.id", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* (x, y, width, height).
|
||||||
|
* </p><p>
|
||||||
|
* A rectangle with the top-level corner of (x,y) and size
|
||||||
|
* (width, height). The region of the sensor that is used for
|
||||||
|
* output. Each stream must use this rectangle to produce its
|
||||||
|
* output, cropping to a smaller region if necessary to
|
||||||
|
* maintain the stream's aspect ratio.
|
||||||
|
* </p><p>
|
||||||
|
* HAL2.x uses only (x, y, width)
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Any additional per-stream cropping must be done to
|
||||||
|
* maximize the final pixel area of the stream.
|
||||||
|
* </p><p>
|
||||||
|
* For example, if the crop region is set to a 4:3 aspect
|
||||||
|
* ratio, then 4:3 streams should use the exact crop
|
||||||
|
* region. 16:9 streams should further crop vertically
|
||||||
|
* (letterbox).
|
||||||
|
* </p><p>
|
||||||
|
* Conversely, if the crop region is set to a 16:9, then 4:3
|
||||||
|
* outputs should crop horizontally (pillarbox), and 16:9
|
||||||
|
* streams should match exactly. These additional crops must
|
||||||
|
* be centered within the crop region.
|
||||||
|
* </p><p>
|
||||||
|
* The output streams must maintain square pixels at all
|
||||||
|
* times, no matter what the relative aspect ratios of the
|
||||||
|
* crop region and the stream are. Negative values for
|
||||||
|
* corner are allowed for raw output if full pixel array is
|
||||||
|
* larger than active pixel array. Width and height may be
|
||||||
|
* rounded to nearest larger supportable width, especially
|
||||||
|
* for raw output, where only a few fixed scales may be
|
||||||
|
* possible. The width and height of the crop region cannot
|
||||||
|
* be set to be smaller than floor( activeArraySize.width /
|
||||||
|
* android.scaler.maxDigitalZoom ) and floor(
|
||||||
|
* activeArraySize.height / android.scaler.maxDigitalZoom),
|
||||||
|
* respectively.
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<android.graphics.Rect> SCALER_CROP_REGION =
|
||||||
|
new Key<android.graphics.Rect>("android.scaler.cropRegion", android.graphics.Rect.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Duration each pixel is exposed to
|
||||||
|
* light
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* 1/10000 - 30 sec range. No bulb mode
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Long> SENSOR_EXPOSURE_TIME =
|
||||||
|
new Key<Long>("android.sensor.exposureTime", long.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Duration from start of frame exposure to
|
||||||
|
* start of next frame exposure
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Exposure time has priority, so duration is set to
|
||||||
|
* max(duration, exposure time + overhead)
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Long> SENSOR_FRAME_DURATION =
|
||||||
|
new Key<Long>("android.sensor.frameDuration", long.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Gain applied to image data. Must be
|
||||||
|
* implemented through analog gain only if set to values
|
||||||
|
* below 'maximum analog sensitivity'.
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* ISO 12232:2006 REI method
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> SENSOR_SENSITIVITY =
|
||||||
|
new Key<Integer>("android.sensor.sensitivity", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* State of the face detector
|
||||||
|
* unit
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Whether face detection is enabled, and whether it
|
||||||
|
* should output just the basic fields or the full set of
|
||||||
|
* fields. Value must be one of the
|
||||||
|
* android.statistics.info.availableFaceDetectModes.
|
||||||
|
* </p>
|
||||||
|
* @see #STATISTICS_FACE_DETECT_MODE_OFF
|
||||||
|
* @see #STATISTICS_FACE_DETECT_MODE_SIMPLE
|
||||||
|
* @see #STATISTICS_FACE_DETECT_MODE_FULL
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> STATISTICS_FACE_DETECT_MODE =
|
||||||
|
new Key<Integer>("android.statistics.faceDetectMode", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Table mapping blue input values to output
|
||||||
|
* values
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
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>
|
||||||
|
*/
|
||||||
|
public static final Key<Float> TONEMAP_CURVE_GREEN =
|
||||||
|
new Key<Float>("android.tonemap.curveGreen", float.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Table mapping red input values to output
|
||||||
|
* 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,
|
||||||
|
* 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
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<float[]> TONEMAP_CURVE_RED =
|
||||||
|
new Key<float[]>("android.tonemap.curveRed", float[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see #TONEMAP_MODE_CONTRAST_CURVE
|
||||||
|
* @see #TONEMAP_MODE_FAST
|
||||||
|
* @see #TONEMAP_MODE_HIGH_QUALITY
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> TONEMAP_MODE =
|
||||||
|
new Key<Integer>("android.tonemap.mode", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* This LED is nominally used to indicate to the user
|
||||||
|
* that the camera is powered on and may be streaming images back to the
|
||||||
|
* Application Processor. In certain rare circumstances, the OS may
|
||||||
|
* disable this when video is processed locally and not transmitted to
|
||||||
|
* any untrusted applications.
|
||||||
|
* </p><p>
|
||||||
|
* In particular, the LED *must* always be on when the data could be
|
||||||
|
* transmitted off the device. The LED *should* always be on whenever
|
||||||
|
* data is stored locally on the device.
|
||||||
|
* </p><p>
|
||||||
|
* The LED *may* be off if a trusted application is using the data that
|
||||||
|
* doesn't violate the above rules.
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
public static final Key<Boolean> LED_TRANSMIT =
|
||||||
|
new Key<Boolean>("android.led.transmit", boolean.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Whether black-level compensation is locked
|
||||||
|
* to its current values, or is free to vary
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* When set to ON, the values used for black-level
|
||||||
|
* compensation must not change until the lock is set to
|
||||||
|
* OFF
|
||||||
|
* </p><p>
|
||||||
|
* Since changes to certain capture parameters (such as
|
||||||
|
* exposure time) may require resetting of black level
|
||||||
|
* compensation, the HAL must report whether setting the
|
||||||
|
* black level lock was successful in the output result
|
||||||
|
* metadata.
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Boolean> BLACK_LEVEL_LOCK =
|
||||||
|
new Key<Boolean>("android.blackLevel.lock", boolean.class);
|
||||||
|
|
||||||
|
/*~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~
|
||||||
|
* End generated code
|
||||||
|
*~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~O@*/
|
||||||
}
|
}
|
||||||
@@ -34,73 +34,6 @@ import android.graphics.Rect;
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public final class CaptureResult extends CameraMetadata {
|
public final class CaptureResult extends CameraMetadata {
|
||||||
|
|
||||||
/**
|
|
||||||
* The timestamp representing the start of image capture, in nanoseconds.
|
|
||||||
* This corresponds to the timestamp available through
|
|
||||||
* {@link android.graphics.SurfaceTexture#getTimestamp SurfaceTexture.getTimestamp()}
|
|
||||||
* or {@link android.media.Image#getTimestamp Image.getTimestamp()} for this
|
|
||||||
* capture's image data.
|
|
||||||
*/
|
|
||||||
public static final Key<Long> SENSOR_TIMESTAMP =
|
|
||||||
new Key<Long>("android.sensor.timestamp", Long.TYPE);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The state of the camera device's auto-exposure algorithm. One of the
|
|
||||||
* CONTROL_AE_STATE_* enumerations.
|
|
||||||
*/
|
|
||||||
public static final Key<Integer> CONTROL_AE_STATE =
|
|
||||||
new Key<Integer>("android.control.aeState", Integer.TYPE);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The auto-exposure algorithm is inactive.
|
|
||||||
* @see CONTROL_AE_STATE
|
|
||||||
*/
|
|
||||||
public static final int CONTROL_AE_STATE_INACTIVE = 0;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The auto-exposure algorithm is currently searching for proper exposure.
|
|
||||||
* @see CONTROL_AE_STATE
|
|
||||||
*/
|
|
||||||
public static final int CONTROL_AE_STATE_SEARCHING = 1;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The auto-exposure algorithm has reached proper exposure values for the
|
|
||||||
* current scene.
|
|
||||||
* @see CONTROL_AE_STATE
|
|
||||||
*/
|
|
||||||
public static final int CONTROL_AE_STATE_CONVERGED = 2;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The auto-exposure algorithm has been locked to its current values.
|
|
||||||
* @see CONTROL_AE_STATE
|
|
||||||
*/
|
|
||||||
public static final int CONTROL_AE_STATE_LOCKED = 3;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The auto-exposure algorithm has reached proper exposure values as with
|
|
||||||
* CONTROL_AE_STATE_CONVERGED, but the scene is too dark to take a good
|
|
||||||
* quality image without firing the camera flash.
|
|
||||||
* @see CONTROL_AE_STATE
|
|
||||||
*/
|
|
||||||
public static final int CONTROL_AE_STATE_FLASH_REQUIRED = 4;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The precapture sequence of the auto-exposure algorithm has been triggered,
|
|
||||||
* and is underway.
|
|
||||||
* @see CONTROL_AE_STATE
|
|
||||||
*/
|
|
||||||
public static final int CONTROL_AE_STATE_PRECAPTURE =5;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* The list of faces detected in this capture. Available if face detection
|
|
||||||
* was enabled for this capture
|
|
||||||
*/
|
|
||||||
public static final Key<Face[]> STATISTICS_DETECTED_FACES =
|
|
||||||
new Key<Face[]>("android.statistics.faces", Face[].class);
|
|
||||||
|
|
||||||
// TODO: Many many more
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
@@ -114,7 +47,7 @@ public final class CaptureResult extends CameraMetadata {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>Bounds of the face. A rectangle relative to the sensor's
|
* <p>Bounds of the face. A rectangle relative to the sensor's
|
||||||
* {@link CameraProperties#SENSOR_ACTIVE_ARRAY_SIZE}, with (0,0)
|
* {@link CameraProperties#SENSOR_INFO_ACTIVE_ARRAY_SIZE}, with (0,0)
|
||||||
* representing the top-left corner of the active array rectangle.</p>
|
* representing the top-left corner of the active array rectangle.</p>
|
||||||
*/
|
*/
|
||||||
public Rect getBounds() {
|
public Rect getBounds() {
|
||||||
@@ -189,4 +122,807 @@ public final class CaptureResult extends CameraMetadata {
|
|||||||
private Point mRightEye;
|
private Point mRightEye;
|
||||||
private Point mMouth;
|
private Point mMouth;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*@O~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~
|
||||||
|
* The key entries below this point are generated from metadata
|
||||||
|
* definitions in /system/media/camera/docs. Do not modify by hand or
|
||||||
|
* modify the comment blocks at the start or end.
|
||||||
|
*~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* A color transform matrix to use to transform
|
||||||
|
* from sensor RGB color space to output linear sRGB color space
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* 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.
|
||||||
|
* 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.
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Rational[]> COLOR_CORRECTION_TRANSFORM =
|
||||||
|
new Key<Rational[]>("android.colorCorrection.transform", Rational[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Gains applying to Bayer color channels for
|
||||||
|
* white-balance
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* The 4-channel white-balance gains are defined in
|
||||||
|
* the order of [R G_even G_odd B], where G_even is the gain
|
||||||
|
* for green pixels on even rows of the output, and G_odd
|
||||||
|
* is the gain for greenpixels on the odd rows. if a HAL
|
||||||
|
* does not support a separate gain for even/odd green channels,
|
||||||
|
* it should use the G_even value,and write G_odd equal to
|
||||||
|
* G_even in the output result metadata.
|
||||||
|
* </p><p>
|
||||||
|
* The ouput should be the gains actually applied by the HAL to
|
||||||
|
* the current frame.
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<float[]> COLOR_CORRECTION_GAINS =
|
||||||
|
new Key<float[]>("android.colorCorrection.gains", float[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* The ID sent with the latest
|
||||||
|
* CAMERA2_TRIGGER_PRECAPTURE_METERING call
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Must be 0 if no
|
||||||
|
* CAMERA2_TRIGGER_PRECAPTURE_METERING trigger received yet
|
||||||
|
* by HAL. Always updated even if AE algorithm ignores the
|
||||||
|
* trigger
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> CONTROL_AE_PRECAPTURE_ID =
|
||||||
|
new Key<Integer>("android.control.aePrecaptureId", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* List of areas to use for
|
||||||
|
* metering
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Each area is a rectangle plus weight: xmin, ymin,
|
||||||
|
* xmax, ymax, weight.
|
||||||
|
* </p><p>
|
||||||
|
* The coordinate system is based on the active pixel array,
|
||||||
|
* with (0,0) being the top-left of the active pixel array, and
|
||||||
|
* (android.sensor.info.activeArraySize.width,
|
||||||
|
* android.sensor.info.activeArraySize.height) being the
|
||||||
|
* bottom-right point of the active pixel array. The weight
|
||||||
|
* should be nonnegative.
|
||||||
|
* </p><p>
|
||||||
|
* If all regions have 0 weight, then no specific metering area
|
||||||
|
* needs to be used by the HAL. If the metering region is
|
||||||
|
* outside the current android.scaler.cropRegion, the HAL
|
||||||
|
* should ignore the sections outside the region and output the
|
||||||
|
* used sections in the frame metadata
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<int[]> CONTROL_AE_REGIONS =
|
||||||
|
new Key<int[]>("android.control.aeRegions", int[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Current state of AE algorithm
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Whenever the AE algorithm state changes, a
|
||||||
|
* MSG_AUTOEXPOSURE notification must be send if a
|
||||||
|
* notification callback is registered.
|
||||||
|
* </p>
|
||||||
|
* @see #CONTROL_AE_STATE_INACTIVE
|
||||||
|
* @see #CONTROL_AE_STATE_SEARCHING
|
||||||
|
* @see #CONTROL_AE_STATE_CONVERGED
|
||||||
|
* @see #CONTROL_AE_STATE_LOCKED
|
||||||
|
* @see #CONTROL_AE_STATE_FLASH_REQUIRED
|
||||||
|
* @see #CONTROL_AE_STATE_PRECAPTURE
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> CONTROL_AE_STATE =
|
||||||
|
new Key<Integer>("android.control.aeState", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Whether AF is currently enabled, and what
|
||||||
|
* mode it is set to
|
||||||
|
* </p>
|
||||||
|
* @see #CONTROL_AF_MODE_OFF
|
||||||
|
* @see #CONTROL_AF_MODE_AUTO
|
||||||
|
* @see #CONTROL_AF_MODE_MACRO
|
||||||
|
* @see #CONTROL_AF_MODE_CONTINUOUS_VIDEO
|
||||||
|
* @see #CONTROL_AF_MODE_CONTINUOUS_PICTURE
|
||||||
|
* @see #CONTROL_AF_MODE_EDOF
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> CONTROL_AF_MODE =
|
||||||
|
new Key<Integer>("android.control.afMode", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* List of areas to use for focus
|
||||||
|
* estimation
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Each area is a rectangle plus weight: xmin, ymin,
|
||||||
|
* xmax, ymax, weight.
|
||||||
|
* </p><p>
|
||||||
|
* The coordinate system is based on the active pixel array,
|
||||||
|
* with (0,0) being the top-left of the active pixel array, and
|
||||||
|
* (android.sensor.info.activeArraySize.width,
|
||||||
|
* android.sensor.info.activeArraySize.height) being the
|
||||||
|
* bottom-right point of the active pixel array. The weight
|
||||||
|
* should be nonnegative.
|
||||||
|
* </p><p>
|
||||||
|
* If all regions have 0 weight, then no specific focus area
|
||||||
|
* needs to be used by the HAL. If the focusing region is
|
||||||
|
* outside the current android.scaler.cropRegion, the HAL
|
||||||
|
* should ignore the sections outside the region and output the
|
||||||
|
* used sections in the frame metadata
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<int[]> CONTROL_AF_REGIONS =
|
||||||
|
new Key<int[]>("android.control.afRegions", int[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Current state of AF algorithm
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Whenever the AF algorithm state changes, a
|
||||||
|
* MSG_AUTOFOCUS notification must be send if a notification
|
||||||
|
* callback is registered.
|
||||||
|
* </p>
|
||||||
|
* @see #CONTROL_AF_STATE_INACTIVE
|
||||||
|
* @see #CONTROL_AF_STATE_PASSIVE_SCAN
|
||||||
|
* @see #CONTROL_AF_STATE_PASSIVE_FOCUSED
|
||||||
|
* @see #CONTROL_AF_STATE_ACTIVE_SCAN
|
||||||
|
* @see #CONTROL_AF_STATE_FOCUSED_LOCKED
|
||||||
|
* @see #CONTROL_AF_STATE_NOT_FOCUSED_LOCKED
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> CONTROL_AF_STATE =
|
||||||
|
new Key<Integer>("android.control.afState", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* The ID sent with the latest
|
||||||
|
* CAMERA2_TRIGGER_AUTOFOCUS call
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Must be 0 if no CAMERA2_TRIGGER_AUTOFOCUS trigger
|
||||||
|
* received yet by HAL. Always updated even if AF algorithm
|
||||||
|
* ignores the trigger
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> CONTROL_AF_TRIGGER_ID =
|
||||||
|
new Key<Integer>("android.control.afTriggerId", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Whether AWB is currently setting the color
|
||||||
|
* transform fields, and what its illumination target
|
||||||
|
* is
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* [BC - AWB lock,AWB modes]
|
||||||
|
* </p>
|
||||||
|
* @see #CONTROL_AWB_MODE_OFF
|
||||||
|
* @see #CONTROL_AWB_MODE_AUTO
|
||||||
|
* @see #CONTROL_AWB_MODE_INCANDESCENT
|
||||||
|
* @see #CONTROL_AWB_MODE_FLUORESCENT
|
||||||
|
* @see #CONTROL_AWB_MODE_WARM_FLUORESCENT
|
||||||
|
* @see #CONTROL_AWB_MODE_DAYLIGHT
|
||||||
|
* @see #CONTROL_AWB_MODE_CLOUDY_DAYLIGHT
|
||||||
|
* @see #CONTROL_AWB_MODE_TWILIGHT
|
||||||
|
* @see #CONTROL_AWB_MODE_SHADE
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> CONTROL_AWB_MODE =
|
||||||
|
new Key<Integer>("android.control.awbMode", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* List of areas to use for illuminant
|
||||||
|
* estimation
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Only used in AUTO mode.
|
||||||
|
* </p><p>
|
||||||
|
* Each area is a rectangle plus weight: xmin, ymin, xmax,
|
||||||
|
* ymax, weight. The coordinate system is based on the active
|
||||||
|
* pixel array, with (0,0) being the top-left of the active
|
||||||
|
* pixel array, and (android.sensor.info.activeArraySize.width,
|
||||||
|
* android.sensor.info.activeArraySize.height) being the
|
||||||
|
* bottom-right point of the active pixel array. The weight
|
||||||
|
* should be nonnegative.
|
||||||
|
* </p><p>
|
||||||
|
* If all regions have 0 weight, then no specific metering area
|
||||||
|
* needs to be used by the HAL. If the metering region is
|
||||||
|
* outside the current android.scaler.cropRegion, the HAL
|
||||||
|
* should ignore the sections outside the region and output the
|
||||||
|
* used sections in the frame metadata
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<int[]> CONTROL_AWB_REGIONS =
|
||||||
|
new Key<int[]>("android.control.awbRegions", int[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Current state of AWB algorithm
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Whenever the AWB algorithm state changes, a
|
||||||
|
* MSG_AUTOWHITEBALANCE notification must be send if a
|
||||||
|
* notification callback is registered.
|
||||||
|
* </p>
|
||||||
|
* @see #CONTROL_AWB_STATE_INACTIVE
|
||||||
|
* @see #CONTROL_AWB_STATE_SEARCHING
|
||||||
|
* @see #CONTROL_AWB_STATE_CONVERGED
|
||||||
|
* @see #CONTROL_AWB_STATE_LOCKED
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> CONTROL_AWB_STATE =
|
||||||
|
new Key<Integer>("android.control.awbState", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Overall mode of 3A control
|
||||||
|
* routines
|
||||||
|
* </p>
|
||||||
|
* @see #CONTROL_MODE_OFF
|
||||||
|
* @see #CONTROL_MODE_AUTO
|
||||||
|
* @see #CONTROL_MODE_USE_SCENE_MODE
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> CONTROL_MODE =
|
||||||
|
new Key<Integer>("android.control.mode", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Operation mode for edge
|
||||||
|
* enhancement
|
||||||
|
* </p>
|
||||||
|
* @see #EDGE_MODE_OFF
|
||||||
|
* @see #EDGE_MODE_FAST
|
||||||
|
* @see #EDGE_MODE_HIGH_QUALITY
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> EDGE_MODE =
|
||||||
|
new Key<Integer>("android.edge.mode", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Select flash operation mode
|
||||||
|
* </p>
|
||||||
|
* @see #FLASH_MODE_OFF
|
||||||
|
* @see #FLASH_MODE_SINGLE
|
||||||
|
* @see #FLASH_MODE_TORCH
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> FLASH_MODE =
|
||||||
|
new Key<Integer>("android.flash.mode", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Current state of the flash
|
||||||
|
* unit
|
||||||
|
* </p>
|
||||||
|
* @see #FLASH_STATE_UNAVAILABLE
|
||||||
|
* @see #FLASH_STATE_CHARGING
|
||||||
|
* @see #FLASH_STATE_READY
|
||||||
|
* @see #FLASH_STATE_FIRED
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> FLASH_STATE =
|
||||||
|
new Key<Integer>("android.flash.state", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* GPS coordinates to include in output JPEG
|
||||||
|
* EXIF
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<double[]> JPEG_GPS_COORDINATES =
|
||||||
|
new Key<double[]>("android.jpeg.gpsCoordinates", double[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* 32 characters describing GPS algorithm to
|
||||||
|
* include in EXIF
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<String> JPEG_GPS_PROCESSING_METHOD =
|
||||||
|
new Key<String>("android.jpeg.gpsProcessingMethod", String.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Time GPS fix was made to include in
|
||||||
|
* EXIF
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Long> JPEG_GPS_TIMESTAMP =
|
||||||
|
new Key<Long>("android.jpeg.gpsTimestamp", long.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Orientation of JPEG image to
|
||||||
|
* write
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> JPEG_ORIENTATION =
|
||||||
|
new Key<Integer>("android.jpeg.orientation", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Compression quality of the final JPEG
|
||||||
|
* image
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* 85-95 is typical usage range
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Byte> JPEG_QUALITY =
|
||||||
|
new Key<Byte>("android.jpeg.quality", byte.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Compression quality of JPEG
|
||||||
|
* thumbnail
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Byte> JPEG_THUMBNAIL_QUALITY =
|
||||||
|
new Key<Byte>("android.jpeg.thumbnailQuality", byte.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Resolution of embedded JPEG
|
||||||
|
* thumbnail
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<android.hardware.camera2.Size> JPEG_THUMBNAIL_SIZE =
|
||||||
|
new Key<android.hardware.camera2.Size>("android.jpeg.thumbnailSize", android.hardware.camera2.Size.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Size of the lens aperture
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Will not be supported on most devices. Can only
|
||||||
|
* pick from supported list
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Float> LENS_APERTURE =
|
||||||
|
new Key<Float>("android.lens.aperture", float.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* State of lens neutral density
|
||||||
|
* filter(s)
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Will not be supported on most devices. Can only
|
||||||
|
* pick from supported list
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Float> LENS_FILTER_DENSITY =
|
||||||
|
new Key<Float>("android.lens.filterDensity", float.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Lens optical zoom setting
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Will not be supported on most devices.
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Float> LENS_FOCAL_LENGTH =
|
||||||
|
new Key<Float>("android.lens.focalLength", float.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Distance to plane of sharpest focus,
|
||||||
|
* measured from frontmost surface of the lens
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Should be zero for fixed-focus cameras
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Float> LENS_FOCUS_DISTANCE =
|
||||||
|
new Key<Float>("android.lens.focusDistance", float.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* The range of scene distances that are in
|
||||||
|
* sharp focus (depth of field)
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* If variable focus not supported, can still report
|
||||||
|
* fixed depth of field range
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Float> LENS_FOCUS_RANGE =
|
||||||
|
new Key<Float>("android.lens.focusRange", float.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Whether optical image stabilization is
|
||||||
|
* enabled.
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Will not be supported on most devices.
|
||||||
|
* </p>
|
||||||
|
* @see #LENS_OPTICAL_STABILIZATION_MODE_OFF
|
||||||
|
* @see #LENS_OPTICAL_STABILIZATION_MODE_ON
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> LENS_OPTICAL_STABILIZATION_MODE =
|
||||||
|
new Key<Integer>("android.lens.opticalStabilizationMode", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Current lens status
|
||||||
|
* </p>
|
||||||
|
* @see #LENS_STATE_STATIONARY
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> LENS_STATE =
|
||||||
|
new Key<Integer>("android.lens.state", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Mode of operation for the noise reduction
|
||||||
|
* algorithm
|
||||||
|
* </p>
|
||||||
|
* @see #NOISE_REDUCTION_MODE_OFF
|
||||||
|
* @see #NOISE_REDUCTION_MODE_FAST
|
||||||
|
* @see #NOISE_REDUCTION_MODE_HIGH_QUALITY
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> NOISE_REDUCTION_MODE =
|
||||||
|
new Key<Integer>("android.noiseReduction.mode", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Number of frames captured since
|
||||||
|
* open()
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Reset on release()
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> REQUEST_FRAME_COUNT =
|
||||||
|
new Key<Integer>("android.request.frameCount", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* An application-specified ID for the current
|
||||||
|
* request. Must be maintained unchanged in output
|
||||||
|
* frame
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> REQUEST_ID =
|
||||||
|
new Key<Integer>("android.request.id", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* (x, y, width, height).
|
||||||
|
* </p><p>
|
||||||
|
* A rectangle with the top-level corner of (x,y) and size
|
||||||
|
* (width, height). The region of the sensor that is used for
|
||||||
|
* output. Each stream must use this rectangle to produce its
|
||||||
|
* output, cropping to a smaller region if necessary to
|
||||||
|
* maintain the stream's aspect ratio.
|
||||||
|
* </p><p>
|
||||||
|
* HAL2.x uses only (x, y, width)
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Any additional per-stream cropping must be done to
|
||||||
|
* maximize the final pixel area of the stream.
|
||||||
|
* </p><p>
|
||||||
|
* For example, if the crop region is set to a 4:3 aspect
|
||||||
|
* ratio, then 4:3 streams should use the exact crop
|
||||||
|
* region. 16:9 streams should further crop vertically
|
||||||
|
* (letterbox).
|
||||||
|
* </p><p>
|
||||||
|
* Conversely, if the crop region is set to a 16:9, then 4:3
|
||||||
|
* outputs should crop horizontally (pillarbox), and 16:9
|
||||||
|
* streams should match exactly. These additional crops must
|
||||||
|
* be centered within the crop region.
|
||||||
|
* </p><p>
|
||||||
|
* The output streams must maintain square pixels at all
|
||||||
|
* times, no matter what the relative aspect ratios of the
|
||||||
|
* crop region and the stream are. Negative values for
|
||||||
|
* corner are allowed for raw output if full pixel array is
|
||||||
|
* larger than active pixel array. Width and height may be
|
||||||
|
* rounded to nearest larger supportable width, especially
|
||||||
|
* for raw output, where only a few fixed scales may be
|
||||||
|
* possible. The width and height of the crop region cannot
|
||||||
|
* be set to be smaller than floor( activeArraySize.width /
|
||||||
|
* android.scaler.maxDigitalZoom ) and floor(
|
||||||
|
* activeArraySize.height / android.scaler.maxDigitalZoom),
|
||||||
|
* respectively.
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<android.graphics.Rect> SCALER_CROP_REGION =
|
||||||
|
new Key<android.graphics.Rect>("android.scaler.cropRegion", android.graphics.Rect.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Duration each pixel is exposed to
|
||||||
|
* light
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* 1/10000 - 30 sec range. No bulb mode
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Long> SENSOR_EXPOSURE_TIME =
|
||||||
|
new Key<Long>("android.sensor.exposureTime", long.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Duration from start of frame exposure to
|
||||||
|
* start of next frame exposure
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Exposure time has priority, so duration is set to
|
||||||
|
* max(duration, exposure time + overhead)
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Long> SENSOR_FRAME_DURATION =
|
||||||
|
new Key<Long>("android.sensor.frameDuration", long.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Gain applied to image data. Must be
|
||||||
|
* implemented through analog gain only if set to values
|
||||||
|
* below 'maximum analog sensitivity'.
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* ISO 12232:2006 REI method
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> SENSOR_SENSITIVITY =
|
||||||
|
new Key<Integer>("android.sensor.sensitivity", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Time at start of exposure of first
|
||||||
|
* row
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Monotonic, should be synced to other timestamps in
|
||||||
|
* system
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Long> SENSOR_TIMESTAMP =
|
||||||
|
new Key<Long>("android.sensor.timestamp", long.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* State of the face detector
|
||||||
|
* unit
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Whether face detection is enabled, and whether it
|
||||||
|
* should output just the basic fields or the full set of
|
||||||
|
* fields. Value must be one of the
|
||||||
|
* android.statistics.info.availableFaceDetectModes.
|
||||||
|
* </p>
|
||||||
|
* @see #STATISTICS_FACE_DETECT_MODE_OFF
|
||||||
|
* @see #STATISTICS_FACE_DETECT_MODE_SIMPLE
|
||||||
|
* @see #STATISTICS_FACE_DETECT_MODE_FULL
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> STATISTICS_FACE_DETECT_MODE =
|
||||||
|
new Key<Integer>("android.statistics.faceDetectMode", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* List of unique IDs for detected
|
||||||
|
* faces
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Only available if faceDetectMode == FULL
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<int[]> STATISTICS_FACE_IDS =
|
||||||
|
new Key<int[]>("android.statistics.faceIds", int[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* List of landmarks for detected
|
||||||
|
* faces
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Only available if faceDetectMode == FULL
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<int[]> STATISTICS_FACE_LANDMARKS =
|
||||||
|
new Key<int[]>("android.statistics.faceLandmarks", int[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* List of the bounding rectangles for detected
|
||||||
|
* faces
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Only available if faceDetectMode != OFF
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<android.graphics.Rect[]> STATISTICS_FACE_RECTANGLES =
|
||||||
|
new Key<android.graphics.Rect[]>("android.statistics.faceRectangles", android.graphics.Rect[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* List of the face confidence scores for
|
||||||
|
* detected faces
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Only available if faceDetectMode != OFF
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<byte[]> STATISTICS_FACE_SCORES =
|
||||||
|
new Key<byte[]>("android.statistics.faceScores", byte[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* A low-resolution map of lens shading, per
|
||||||
|
* color channel
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Assume bilinear interpolation of map. The least
|
||||||
|
* shaded section of the image should have a gain factor
|
||||||
|
* 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>
|
||||||
|
*/
|
||||||
|
public static final Key<float[]> STATISTICS_LENS_SHADING_MAP =
|
||||||
|
new Key<float[]>("android.statistics.lensShadingMap", float[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* The best-fit color channel gains calculated
|
||||||
|
* by the HAL's statistics units for the current output frame
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* This may be different than the gains used for this frame,
|
||||||
|
* since statistics processing on data from a new frame
|
||||||
|
* typically completes after the transform has already been
|
||||||
|
* applied to that frame.
|
||||||
|
* </p><p>
|
||||||
|
* The 4 channel gains are defined in Bayer domain,
|
||||||
|
* see android.colorCorrection.gains for details.
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<float[]> STATISTICS_PREDICTED_COLOR_GAINS =
|
||||||
|
new Key<float[]>("android.statistics.predictedColorGains", float[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* The best-fit color transform matrix estimate
|
||||||
|
* calculated by the HAL's statistics units for the current
|
||||||
|
* output frame
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* The HAL must provide the estimate from its
|
||||||
|
* statistics unit on the white balance transforms to use
|
||||||
|
* for the next frame. These are the values the HAL believes
|
||||||
|
* are the best fit for the current output frame. This may
|
||||||
|
* be different than the transform used for this frame, since
|
||||||
|
* statistics processing on data from a new frame typically
|
||||||
|
* completes after the transform has already been applied to
|
||||||
|
* that frame.
|
||||||
|
* </p><p>
|
||||||
|
* These estimates must be provided for all frames, even if
|
||||||
|
* capture settings and color transforms are set by the application.
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Rational[]> STATISTICS_PREDICTED_COLOR_TRANSFORM =
|
||||||
|
new Key<Rational[]>("android.statistics.predictedColorTransform", Rational[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* The HAL estimated scene illumination lighting
|
||||||
|
* frequency
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* Report NONE if there doesn't appear to be flickering
|
||||||
|
* illumination
|
||||||
|
* </p>
|
||||||
|
* @see #STATISTICS_SCENE_FLICKER_NONE
|
||||||
|
* @see #STATISTICS_SCENE_FLICKER_50HZ
|
||||||
|
* @see #STATISTICS_SCENE_FLICKER_60HZ
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> STATISTICS_SCENE_FLICKER =
|
||||||
|
new Key<Integer>("android.statistics.sceneFlicker", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Table mapping blue input values to output
|
||||||
|
* values
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
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>
|
||||||
|
*/
|
||||||
|
public static final Key<Float> TONEMAP_CURVE_GREEN =
|
||||||
|
new Key<Float>("android.tonemap.curveGreen", float.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Table mapping red input values to output
|
||||||
|
* 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,
|
||||||
|
* 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
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<float[]> TONEMAP_CURVE_RED =
|
||||||
|
new Key<float[]>("android.tonemap.curveRed", float[].class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see #TONEMAP_MODE_CONTRAST_CURVE
|
||||||
|
* @see #TONEMAP_MODE_FAST
|
||||||
|
* @see #TONEMAP_MODE_HIGH_QUALITY
|
||||||
|
*/
|
||||||
|
public static final Key<Integer> TONEMAP_MODE =
|
||||||
|
new Key<Integer>("android.tonemap.mode", int.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* This LED is nominally used to indicate to the user
|
||||||
|
* that the camera is powered on and may be streaming images back to the
|
||||||
|
* Application Processor. In certain rare circumstances, the OS may
|
||||||
|
* disable this when video is processed locally and not transmitted to
|
||||||
|
* any untrusted applications.
|
||||||
|
* </p><p>
|
||||||
|
* In particular, the LED *must* always be on when the data could be
|
||||||
|
* transmitted off the device. The LED *should* always be on whenever
|
||||||
|
* data is stored locally on the device.
|
||||||
|
* </p><p>
|
||||||
|
* The LED *may* be off if a trusted application is using the data that
|
||||||
|
* doesn't violate the above rules.
|
||||||
|
* </p>
|
||||||
|
*
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
public static final Key<Boolean> LED_TRANSMIT =
|
||||||
|
new Key<Boolean>("android.led.transmit", boolean.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <p>
|
||||||
|
* Whether black-level compensation is locked
|
||||||
|
* to its current values, or is free to vary
|
||||||
|
* </p>
|
||||||
|
* <p>
|
||||||
|
* When set to ON, the values used for black-level
|
||||||
|
* compensation must not change until the lock is set to
|
||||||
|
* OFF
|
||||||
|
* </p><p>
|
||||||
|
* Since changes to certain capture parameters (such as
|
||||||
|
* exposure time) may require resetting of black level
|
||||||
|
* compensation, the HAL must report whether setting the
|
||||||
|
* black level lock was successful in the output result
|
||||||
|
* metadata.
|
||||||
|
* </p>
|
||||||
|
*/
|
||||||
|
public static final Key<Boolean> BLACK_LEVEL_LOCK =
|
||||||
|
new Key<Boolean>("android.blackLevel.lock", boolean.class);
|
||||||
|
|
||||||
|
/*~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~
|
||||||
|
* End generated code
|
||||||
|
*~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~O@*/
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user