X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=camera%2Fdocs%2Fmetadata_definitions.xml;h=11304114524b0b180b51f6b45e3e6ba0a4ec49d3;hb=6916b4fbf7c2941ad28204eef9557421a578e6ec;hp=f00c7fabfcee0a73d0dabf17505dbfb36258653a;hpb=b52eadfc00f58f73263e081343cf573f1588d1f3;p=android-x86%2Fsystem-media.git diff --git a/camera/docs/metadata_definitions.xml b/camera/docs/metadata_definitions.xml index f00c7fab..11304114 100644 --- a/camera/docs/metadata_definitions.xml +++ b/camera/docs/metadata_definitions.xml @@ -2897,7 +2897,7 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata - + NOT_DETECTED Scene change is not detected within the AF region(s). @@ -2912,9 +2912,6 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata result. Otherwise the value will be NOT_DETECTED. The threshold for detection is similar to what would trigger a new passive focus scan to begin in CONTINUOUS autofocus modes. - afSceneChange may be DETECTED only if afMode is AF_MODE_CONTINUOUS_VIDEO or - AF_MODE_CONTINUOUS_PICTURE. In other AF modes, afSceneChange must be NOT_DETECTED. - This key will be available if the camera device advertises this key via {@link android.hardware.camera2.CameraCharacteristics#getAvailableCaptureResultKeys|ACAMERA_REQUEST_AVAILABLE_RESULT_KEYS}. @@ -4116,14 +4113,12 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata The value of android.lens.poseTranslation is relative to the optical center of the largest camera device facing the same direction as this camera. - This default value for API levels before Android P. + This is the default value for API levels before Android P. GYROSCOPE The value of android.lens.poseTranslation is relative to the position of the primary gyroscope of this Android device. - - This is the value reported by all devices that support the MOTION_TRACKING capability. @@ -4133,10 +4128,6 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata
Different calibration methods and use cases can produce better or worse results depending on the selected coordinate origin. - - For devices designed to support the MOTION_TRACKING capability, the GYROSCOPE origin - makes device calibration and later usage by applications combining camera and gyroscope - information together simpler.
@@ -5106,38 +5097,11 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata MOTION_TRACKING - The device supports controls and metadata required for accurate motion tracking for - use cases such as augmented reality, electronic image stabilization, and so on. - - This means this camera device has accurate optical calibration and timestamps relative - to the inertial sensors. + The camera device supports the MOTION_TRACKING value for + android.control.captureIntent, which limits maximum exposure time to 20 ms. - This capability requires the camera device to support the following: - - * Capture request templates {@link - android.hardware.camera2.CameraDevice#TEMPLATE_MOTION_TRACKING_PREVIEW} and {@link - android.hardware.camera2.CameraDevice#TEMPLATE_MOTION_TRACKING_BEST} are defined. - * The stream configurations listed in {@link - android.hardware.camera2.CameraDevice#createCaptureSession} for MOTION_TRACKING are - supported, either at 30 or 60fps maximum frame rate. - * The following camera characteristics and capture result metadata are provided: - - android.lens.intrinsicCalibration - - android.lens.radialDistortion - - android.lens.poseRotation - - android.lens.poseTranslation - - android.lens.poseReference with value GYROSCOPE - * The android.sensor.info.timestampSource field has value `REALTIME`. When compared to - timestamps from the device's gyroscopes, the clock difference for events occuring at - the same actual time instant will be less than 1 ms. - * The value of the android.sensor.rollingShutterSkew field is accurate to within 1 ms. - * The value of android.sensor.exposureTime is guaranteed to be available in the - capture result. - * The android.control.captureIntent control supports MOTION_TRACKING to limit maximum - exposure to 20 milliseconds. - * The stream configurations required for MOTION_TRACKING (listed at {@link - android.hardware.camera2.CameraDevice#createCaptureSession}) can operate at least at - 30fps; optionally, they can operate at 60fps, and '[60, 60]' is listed in - android.control.aeAvailableTargetFpsRanges. + This limits the motion blur of capture images, resulting in better image tracking + results for use cases such as image stabilization or augmented reality. LOGICAL_MULTI_CAMERA @@ -5158,6 +5122,8 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata - android.lens.poseTranslation - android.lens.intrinsicCalibration - android.lens.radialDistortion + * The SENSOR_INFO_TIMESTAMP_SOURCE of the logical device and physical devices must be + the same. * The logical camera device must be LIMITED or higher device. Both the logical camera device and its underlying physical devices support the @@ -5165,13 +5131,16 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata Additionally, for each guaranteed stream combination, the logical camera supports: - * Replacing one logical {@link android.graphics.ImageFormat#YUV_420_888|AIMAGE_FORMAT_YUV_420_888 YUV_420_888} + * For each guaranteed stream combination, the logical camera supports replacing one + logical {@link android.graphics.ImageFormat#YUV_420_888|AIMAGE_FORMAT_YUV_420_888 YUV_420_888} or raw stream with two physical streams of the same size and format, each from a separate physical camera, given that the size and format are supported by both physical cameras. - * Adding two raw streams, each from one physical camera, if the logical camera doesn't - advertise RAW capability, but the underlying physical cameras do. This is usually - the case when the physical cameras have different sensor sizes. + * If the logical camera doesn't advertise RAW capability, but the underlying physical + cameras do, the logical camera will support guaranteed stream combinations for RAW + capability, except that the RAW streams will be physical streams, each from a separate + physical camera. This is usually the case when the physical cameras have different + sensor sizes. Using physical streams in place of a logical stream of the same size and format will not slow down the frame rate of the capture, as long as the minimum frame duration @@ -5433,10 +5402,6 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata {@link CaptureRequest.Builder#getPhysicalCameraKey}. Capture requests that contain individual physical device requests must be built via {@link android.hardware.camera2.CameraDevice#createCaptureRequest(int, Set)}. - Such extended capture requests can be passed only to - {@link CameraCaptureSession#capture} or {@link CameraCaptureSession#captureBurst} and - not to {@link CameraCaptureSession#setRepeatingRequest} or - {@link CameraCaptureSession#setRepeatingBurst}. Vendor tags can be listed here. Vendor tag metadata should also @@ -5450,6 +5415,10 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata The HAL must not consume any request tags in the session parameters that are not listed either here or in the vendor tag list. + There should be no overlap between this set of keys and the available session keys + {@link android.hardware.camera2.CameraCharacteristics#getAvailableSessionKeys} along + with any other controls that can have impact on the dual-camera sync. + The public camera2 API will always make the vendor tags visible via {@link android.hardware.camera2.CameraCharacteristics#getAvailablePhysicalCameraRequestKeys}. @@ -7887,6 +7856,21 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata LEGACY mode devices will always only support OFF.
+ + + n + + + List of OIS data output modes for android.statistics.oisDataMode that + are supported by this camera device. + + Any value listed in android.statistics.oisDataMode +
+ If no OIS data output is available for this camera device, this key will + contain only OFF. +
+
@@ -8317,6 +8301,76 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata + + + + OFF + Do not include OIS data in the capture result. + ON + Include OIS data in the capture result. + + A control for selecting whether OIS position information is included in output + result metadata. + android.Statistics.info.availableOisDataModes +
When set to ON, + android.statistics.oisTimestamps, android.statistics.oisShiftPixelX, + and android.statistics.oisShiftPixelY provide OIS data in the output result metadata. +
+
+
+ + + + + + n + + + An array of timestamps of OIS samples, in nanoseconds. + + nanoseconds +
+ The array contains the timestamps of OIS samples. The timestamps are in the same + timebase as and comparable to android.sensor.timestamp. +
+
+ + + n + + + An array of shifts of OIS samples, in x direction. + + Pixels in active array. +
+ The array contains the amount of shifts in x direction, in pixels, based on OIS samples. + A positive value is a shift from left to right in active array coordinate system. For + example, if the optical center is (1000, 500) in active array coordinates, an shift of + (3, 0) puts the new optical center at (1003, 500). + + The number of shifts must match the number of timestamps in + android.statistics.oisTimestamps. +
+
+ + + n + + + An array of shifts of OIS samples, in y direction. + + Pixels in active array. +
+ The array contains the amount of shifts in y direction, in pixels, based on OIS samples. + A positive value is a shift from top to bottom in active array coordinate system. For + example, if the optical center is (1000, 500) in active array coordinates, an shift of + (0, 5) puts the new optical center at (1000, 505). + + The number of shifts must match the number of timestamps in + android.statistics.oisTimestamps. +
+
+
@@ -8820,6 +8874,27 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata `RAW`) + + EXTERNAL + + This camera device is backed by an external camera connected to this Android device. + + The device has capability identical to a LIMITED level device, with the following + exceptions: + + * The device may not report lens/sensor related information such as + - android.lens.focalLength + - android.lens.info.hyperfocalDistance + - android.sensor.info.physicalSize + - android.sensor.info.whiteLevel + - android.sensor.blackLevelPattern + - android.sensor.info.colorFilterArrangement + - android.sensor.rollingShutterSkew + * The device will report 0 for android.sensor.orientation + * The device has less guarantee on stable framerate, as the framerate partly depends + on the external camera being used. + + Generally classifies the overall set of the camera device functionality. @@ -8887,6 +8962,10 @@ xsi:schemaLocation="http://schemas.android.com/service/camera/metadata/ metadata Camera HAL3+ must not implement LEGACY mode. It is there for backwards compatibility in the `android.hardware.camera2` user-facing API only on legacy HALv1 devices, and is implemented by the camera framework code. + + EXTERNAL level devices have lower peformance bar in CTS since the peformance might depend + on the external camera being used and is not fully controlled by the device manufacturer. + The ITS test suite is exempted for the same reason.