am 66a83ae6: Merge "Camera2: Add metadata keys and enum values" into klp-dev
* commit '66a83ae6500d735b5abb6a97c86addcb1c958d68': Camera2: Add metadata keys and enum values
This commit is contained in:
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 set(android.hardware.camera2.CameraMetadata.Key<T>, T);
|
||||
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 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 {
|
||||
@@ -10769,38 +10881,149 @@ package android.hardware.camera2 {
|
||||
|
||||
public final class CameraProperties extends android.hardware.camera2.CameraMetadata {
|
||||
ctor public CameraProperties();
|
||||
field public static final android.hardware.camera2.CameraMetadata.Key INFO_IDENTIFIER;
|
||||
field public static final android.hardware.camera2.CameraMetadata.Key INFO_MODEL;
|
||||
field public static final android.hardware.camera2.CameraMetadata.Key INFO_REMOVABLE;
|
||||
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_AVAILABLE_ANTIBANDING_MODES;
|
||||
field public static final android.hardware.camera2.CameraMetadata.Key CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES;
|
||||
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 int INFO_SUPPORTED_HARDWARE_LEVEL_FULL = 1; // 0x1
|
||||
field public static final int INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED = 0; // 0x0
|
||||
field public static final android.hardware.camera2.CameraMetadata.Key JPEG_AVAILABLE_THUMBNAIL_SIZES;
|
||||
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_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_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_RAW_SIZES;
|
||||
field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_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_BASE_GAIN_FACTOR;
|
||||
field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_INFO_ACTIVE_ARRAY_SIZE;
|
||||
field public static final android.hardware.camera2.CameraMetadata.Key SENSOR_INFO_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 {
|
||||
method public void addTarget(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.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_FRAME_DURATION;
|
||||
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 {
|
||||
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 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 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_STATE;
|
||||
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_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 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 {
|
||||
|
||||
@@ -157,14 +157,13 @@ public interface CameraDevice extends AutoCloseable {
|
||||
* obtain the Surface with
|
||||
* {@link android.renderscript.Allocation#getSurface}.</li>
|
||||
*
|
||||
* <li>For access to uncompressed, JPEG, or raw sensor data in the
|
||||
* application: Create a {@link android.media.ImageReader} object with the
|
||||
* desired {@link CameraProperties#SCALER_AVAILABLE_FORMATS image format},
|
||||
* and a size from the matching
|
||||
* <li>For access to uncompressed or JPEG data in the application: Create a
|
||||
* {@link android.media.ImageReader} object with the desired
|
||||
* {@link CameraProperties#SCALER_AVAILABLE_FORMATS image format}, and a
|
||||
* size from the matching
|
||||
* {@link CameraProperties#SCALER_AVAILABLE_PROCESSED_SIZES processed},
|
||||
* {@link CameraProperties#SCALER_AVAILABLE_JPEG_SIZES jpeg}, or
|
||||
* {@link CameraProperties#SCALER_AVAILABLE_RAW_SIZES raw} sizes. Then
|
||||
* obtain a Surface from it.</li>
|
||||
* {@link CameraProperties#SCALER_AVAILABLE_JPEG_SIZES jpeg}. Then obtain
|
||||
* a Surface from it.</li>
|
||||
*
|
||||
* </ul>
|
||||
*
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -32,216 +32,466 @@ import java.util.List;
|
||||
* @see CameraManager
|
||||
*/
|
||||
public final class CameraProperties extends CameraMetadata {
|
||||
/**
|
||||
* The model name of the camera. For fixed (non-removable) cameras, this is
|
||||
* the manufacturer's name. For removable cameras, this is a string that
|
||||
* uniquely identifies the camera model and manufacturer. The
|
||||
* {@link #INFO_IDENTIFIER} can be used to distinguish between multiple
|
||||
* removable cameras of the same model.
|
||||
*/
|
||||
public static final Key<String> INFO_MODEL =
|
||||
new Key<String>("android.info.model", String.class);
|
||||
|
||||
/*@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.
|
||||
*~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~@~*/
|
||||
|
||||
/**
|
||||
* A unique identifier for this camera. For removable cameras, every
|
||||
* camera will have a unique identifier, including two cameras of the
|
||||
* same model and manufacturer. For non-removable cameras, the
|
||||
* identifier is equal to the the device's id.
|
||||
* <p>
|
||||
* Which set of antibanding modes are
|
||||
* supported
|
||||
* </p>
|
||||
*/
|
||||
public static final Key<String> INFO_IDENTIFIER =
|
||||
new Key<String>("android.info.identifier", String.class);
|
||||
public static final Key<byte[]> CONTROL_AE_AVAILABLE_ANTIBANDING_MODES =
|
||||
new Key<byte[]>("android.control.aeAvailableAntibandingModes", byte[].class);
|
||||
|
||||
/**
|
||||
* <p>Whether this camera is removable or not.</p>
|
||||
*
|
||||
* <p>Applications using a removable camera must be prepared for the camera
|
||||
* to be disconnected during use. Use the {@link #INFO_IDENTIFIER} field to
|
||||
* determine if this camera is a match for a camera device seen earlier.</p>
|
||||
* <p>
|
||||
* List of frame rate ranges supported by the
|
||||
* AE algorithm/hardware
|
||||
* </p>
|
||||
*/
|
||||
public static final Key<Boolean> INFO_REMOVABLE =
|
||||
new Key<Boolean>("android.info.isRemovable", Boolean.TYPE);
|
||||
public static final Key<int[]> CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES =
|
||||
new Key<int[]>("android.control.aeAvailableTargetFpsRanges", int[].class);
|
||||
|
||||
/**
|
||||
* <p>The hardware operational model of this device. One of the
|
||||
* INFO_SUPPORTED_HARDWARE_LEVEL_* constants.</p>
|
||||
*
|
||||
* <p>Limited-capability devices have a number of limitations relative to
|
||||
* full-capability cameras. Roughly, they have capabilities comparable to
|
||||
* 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
|
||||
* <p>
|
||||
* Maximum and minimum exposure compensation
|
||||
* setting, in counts of
|
||||
* android.control.aeCompensationStepSize
|
||||
* </p>
|
||||
*/
|
||||
public static final Key<Integer> INFO_SUPPORTED_HARDWARE_LEVEL =
|
||||
new Key<Integer>("android.info.supportedHardwareLevel", Integer.TYPE);
|
||||
public static final Key<int[]> CONTROL_AE_COMPENSATION_RANGE =
|
||||
new Key<int[]>("android.control.aeCompensationRange", int[].class);
|
||||
|
||||
/**
|
||||
* <p>The type reported by limited-capability camera devices.</p>
|
||||
*
|
||||
* <p>Limited-capability devices have a number of limitations relative to
|
||||
* full-capability cameras. Roughly, they have capabilities comparable to
|
||||
* 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
|
||||
* <p>
|
||||
* Smallest step by which exposure compensation
|
||||
* can be changed
|
||||
* </p>
|
||||
*/
|
||||
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>Full-capability devices allow for per-frame control of capture
|
||||
* hardware and post-processing parameters at high frame rates. They also
|
||||
* provide output data at high resolution in uncompressed formats, in
|
||||
* addition to compressed JPEG output.</p>
|
||||
*
|
||||
* @see #INFO_SUPPORTED_HARDWARE_LEVEL
|
||||
* <p>
|
||||
* List of AF modes that can be
|
||||
* selected
|
||||
* </p>
|
||||
*/
|
||||
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
|
||||
* {@link android.media.ImageReader} as an output target, the
|
||||
* ImageReader must be configured to use one of these formats.</p>
|
||||
*
|
||||
* <p>The list is a subset of the formats defined in
|
||||
* {@link android.graphics.ImageFormat}.</p>
|
||||
*
|
||||
* <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 full color effect enum
|
||||
* list is supported
|
||||
* </p>
|
||||
*/
|
||||
public static final Key<byte[]> CONTROL_AVAILABLE_EFFECTS =
|
||||
new Key<byte[]>("android.control.availableEffects", byte[].class);
|
||||
|
||||
/**
|
||||
* <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 =
|
||||
new Key<int[]>("android.scaler.availableFormats", int[].class);
|
||||
|
||||
/**
|
||||
* <p>The available output sizes for JPEG buffers from this camera
|
||||
* device. 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#JPEG}.</p>
|
||||
* <p>
|
||||
* The minimum frame duration that is supported
|
||||
* for each resolution in availableJpegSizes. Should
|
||||
* 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 =
|
||||
new Key<Size[]>("android.scaler.availableJpegSizes", Size[].class);
|
||||
public static final Key<long[]> SCALER_AVAILABLE_JPEG_MIN_DURATIONS =
|
||||
new Key<long[]>("android.scaler.availableJpegMinDurations", long[].class);
|
||||
|
||||
/**
|
||||
* <p>The available sizes for output buffers from this camera device, when
|
||||
* the buffers are neither of the {@link android.graphics.ImageFormat#JPEG}
|
||||
* or of the {@link android.graphics.ImageFormat#RAW_SENSOR} type.</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>
|
||||
*
|
||||
* <p>
|
||||
* The resolutions available for output from
|
||||
* the JPEG block. Listed as width x height
|
||||
* </p>
|
||||
*/
|
||||
public static final Key<Size[]> SCALER_AVAILABLE_PROCESSED_SIZES =
|
||||
new Key<Size[]>("android.scaler.availableProcessedSizes", Size[].class);
|
||||
public static final Key<android.hardware.camera2.Size[]> SCALER_AVAILABLE_JPEG_SIZES =
|
||||
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
|
||||
* the buffers are of the {@link android.graphics.ImageFormat#RAW_SENSOR} type. This type of output may not be
|
||||
* supported by the device; check {@link #SCALER_AVAILABLE_FORMATS} to
|
||||
* check. In that case, this list will not exist.</p>
|
||||
*
|
||||
* <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 image format {@link android.graphics.ImageFormat#RAW_SENSOR}.</p>
|
||||
* <p>
|
||||
* The maximum ratio between active area width
|
||||
* and crop region width, or between active area height and
|
||||
* crop region height, if the crop region height is larger
|
||||
* than width
|
||||
* </p>
|
||||
*/
|
||||
public static final Key<Size[]> SCALER_AVAILABLE_RAW_SIZES =
|
||||
new Key<Size[]>("android.scaler.availableRawSizes", Size[].class);
|
||||
public static final Key<Float> SCALER_AVAILABLE_MAX_DIGITAL_ZOOM =
|
||||
new Key<Float>("android.scaler.availableMaxDigitalZoom", float.class);
|
||||
|
||||
/**
|
||||
* <p>The coordinates of the sensor's active pixel array, relative to its
|
||||
* total pixel array. These are the pixels that are actually used for image
|
||||
* capture. The active pixel region may be smaller than the total number of
|
||||
* pixels, if some pixels are used for other tasks such as calibrating the
|
||||
* sensor's black level. If all pixels available for readout are used for
|
||||
* imaging, then this rectangle will be
|
||||
* {@code (0,0) - (SENSOR_PIXEL_ARRAY_SIZE.width,
|
||||
* SENSOR_PIXEL_ARRAY_SIZE.height)}.</p>
|
||||
*
|
||||
* <p>If raw sensor capture is supported by this device, the width and
|
||||
* height of the active pixel array match up to one of the supported raw
|
||||
* capture sizes, and using that size will capture just the active pixel
|
||||
* 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>
|
||||
* <p>
|
||||
* The minimum frame duration that is supported
|
||||
* for each resolution in availableProcessedSizes. Should
|
||||
* correspond to the frame duration when only that processed
|
||||
* stream is active, 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<Rect> SENSOR_ACTIVE_ARRAY_SIZE =
|
||||
new Key<Rect>("android.sensor.activeArraySize", Rect.class);
|
||||
public static final Key<long[]> SCALER_AVAILABLE_PROCESSED_MIN_DURATIONS =
|
||||
new Key<long[]>("android.scaler.availableProcessedMinDurations", long[].class);
|
||||
|
||||
/**
|
||||
* <p>The size of the sensor's total pixel array available for readout. Some
|
||||
* of these pixels may not be used for image capture, in which case
|
||||
* {@link #SENSOR_ACTIVE_ARRAY_SIZE} will describe a rectangle smaller than
|
||||
* this. If raw sensor capture is supported by this device, this is one of
|
||||
* the supported capture sizes.</p>
|
||||
* <p>
|
||||
* The resolutions available for use with
|
||||
* processed output streams, such as YV12, NV12, and
|
||||
* platform opaque YUV/RGB streams to the GPU or video
|
||||
* encoders. Listed as width, height
|
||||
* </p>
|
||||
*/
|
||||
public static final Key<Size> SENSOR_PIXEL_ARRAY_SIZE =
|
||||
new Key<Size>("android.sensor.activeArraySize", Size.class);
|
||||
public static final Key<android.hardware.camera2.Size[]> SCALER_AVAILABLE_PROCESSED_SIZES =
|
||||
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 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
|
||||
*/
|
||||
@@ -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 {
|
||||
|
||||
/**
|
||||
* 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
|
||||
*/
|
||||
@@ -114,7 +47,7 @@ public final class CaptureResult extends CameraMetadata {
|
||||
|
||||
/**
|
||||
* <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>
|
||||
*/
|
||||
public Rect getBounds() {
|
||||
@@ -189,4 +122,807 @@ public final class CaptureResult extends CameraMetadata {
|
||||
private Point mRightEye;
|
||||
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