Merge "Camera: Fix typos and bad format in docs" into tm-dev

This commit is contained in:
Shuzhen Wang
2022-05-05 00:01:18 +00:00
committed by Android (Google) Code Review
5 changed files with 116 additions and 98 deletions

View File

@@ -1058,7 +1058,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
* must select one unique size from this metadata to use (e.g., preview and recording streams * must select one unique size from this metadata to use (e.g., preview and recording streams
* must have the same size). Otherwise, the high speed capture session creation will fail.</p> * must have the same size). Otherwise, the high speed capture session creation will fail.</p>
* <p>The min and max fps will be multiple times of 30fps.</p> * <p>The min and max fps will be multiple times of 30fps.</p>
* <p>High speed video streaming extends significant performance pressue to camera hardware, * <p>High speed video streaming extends significant performance pressure to camera hardware,
* to achieve efficient high speed streaming, the camera device may have to aggregate * to achieve efficient high speed streaming, the camera device may have to aggregate
* multiple frames together and send to camera device for processing where the request * multiple frames together and send to camera device for processing where the request
* controls are same for all the frames in this batch. Max batch size indicates * controls are same for all the frames in this batch. Max batch size indicates
@@ -1143,7 +1143,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
* <p>Range of boosts for {@link CaptureRequest#CONTROL_POST_RAW_SENSITIVITY_BOOST android.control.postRawSensitivityBoost} supported * <p>Range of boosts for {@link CaptureRequest#CONTROL_POST_RAW_SENSITIVITY_BOOST android.control.postRawSensitivityBoost} supported
* by this camera device.</p> * by this camera device.</p>
* <p>Devices support post RAW sensitivity boost will advertise * <p>Devices support post RAW sensitivity boost will advertise
* {@link CaptureRequest#CONTROL_POST_RAW_SENSITIVITY_BOOST android.control.postRawSensitivityBoost} key for controling * {@link CaptureRequest#CONTROL_POST_RAW_SENSITIVITY_BOOST android.control.postRawSensitivityBoost} key for controlling
* post RAW sensitivity boost.</p> * post RAW sensitivity boost.</p>
* <p>This key will be <code>null</code> for devices that do not support any RAW format * <p>This key will be <code>null</code> for devices that do not support any RAW format
* outputs. For devices that do support RAW format outputs, this key will always * outputs. For devices that do support RAW format outputs, this key will always
@@ -1323,7 +1323,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
* <p>Maximum flashlight brightness level.</p> * <p>Maximum flashlight brightness level.</p>
* <p>If this value is greater than 1, then the device supports controlling the * <p>If this value is greater than 1, then the device supports controlling the
* flashlight brightness level via * flashlight brightness level via
* {android.hardware.camera2.CameraManager#turnOnTorchWithStrengthLevel}. * {@link android.hardware.camera2.CameraManager#turnOnTorchWithStrengthLevel }.
* If this value is equal to 1, flashlight brightness control is not supported. * If this value is equal to 1, flashlight brightness control is not supported.
* The value for this key will be null for devices with no flash unit.</p> * The value for this key will be null for devices with no flash unit.</p>
* <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p> * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
@@ -1335,7 +1335,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
/** /**
* <p>Default flashlight brightness level to be set via * <p>Default flashlight brightness level to be set via
* {android.hardware.camera2.CameraManager#turnOnTorchWithStrengthLevel}.</p> * {@link android.hardware.camera2.CameraManager#turnOnTorchWithStrengthLevel }.</p>
* <p>If flash unit is available this will be greater than or equal to 1 and less * <p>If flash unit is available this will be greater than or equal to 1 and less
* or equal to <code>{@link CameraCharacteristics#FLASH_INFO_STRENGTH_MAXIMUM_LEVEL android.flash.info.strengthMaximumLevel}</code>.</p> * or equal to <code>{@link CameraCharacteristics#FLASH_INFO_STRENGTH_MAXIMUM_LEVEL android.flash.info.strengthMaximumLevel}</code>.</p>
* <p>Setting flashlight brightness above the default level * <p>Setting flashlight brightness above the default level
@@ -1376,7 +1376,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
* camera device.</p> * camera device.</p>
* <p>This list will include at least one non-zero resolution, plus <code>(0,0)</code> for indicating no * <p>This list will include at least one non-zero resolution, plus <code>(0,0)</code> for indicating no
* thumbnail should be generated.</p> * thumbnail should be generated.</p>
* <p>Below condiditions will be satisfied for this size list:</p> * <p>Below conditions will be satisfied for this size list:</p>
* <ul> * <ul>
* <li>The sizes will be sorted by increasing pixel area (width x height). * <li>The sizes will be sorted by increasing pixel area (width x height).
* If several resolutions have the same area, they will be sorted by increasing width.</li> * If several resolutions have the same area, they will be sorted by increasing width.</li>
@@ -1982,7 +1982,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
* the camera device. Using more streams simultaneously may require more hardware and * the camera device. Using more streams simultaneously may require more hardware and
* CPU resources that will consume more power. The image format for an output stream can * CPU resources that will consume more power. The image format for an output stream can
* be any supported format provided by android.scaler.availableStreamConfigurations. * be any supported format provided by android.scaler.availableStreamConfigurations.
* The formats defined in android.scaler.availableStreamConfigurations can be catergorized * The formats defined in android.scaler.availableStreamConfigurations can be categorized
* into the 3 stream types as below:</p> * into the 3 stream types as below:</p>
* <ul> * <ul>
* <li>Processed (but stalling): any non-RAW format with a stallDurations &gt; 0. * <li>Processed (but stalling): any non-RAW format with a stallDurations &gt; 0.
@@ -2324,7 +2324,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
* but clients should be aware and expect delays during their application. * but clients should be aware and expect delays during their application.
* An example usage scenario could look like this:</p> * An example usage scenario could look like this:</p>
* <ul> * <ul>
* <li>The camera client starts by quering the session parameter key list via * <li>The camera client starts by querying the session parameter key list via
* {@link android.hardware.camera2.CameraCharacteristics#getAvailableSessionKeys }.</li> * {@link android.hardware.camera2.CameraCharacteristics#getAvailableSessionKeys }.</li>
* <li>Before triggering the capture session create sequence, a capture request * <li>Before triggering the capture session create sequence, a capture request
* must be built via * must be built via
@@ -2379,7 +2379,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
* {@link android.hardware.camera2.CameraCharacteristics#getKeys } that require camera clients * {@link android.hardware.camera2.CameraCharacteristics#getKeys } that require camera clients
* to acquire the {@link android.Manifest.permission#CAMERA } permission before calling * to acquire the {@link android.Manifest.permission#CAMERA } permission before calling
* {@link android.hardware.camera2.CameraManager#getCameraCharacteristics }. If the * {@link android.hardware.camera2.CameraManager#getCameraCharacteristics }. If the
* permission is not held by the camera client, then the values of the repsective properties * permission is not held by the camera client, then the values of the respective properties
* will not be present in {@link android.hardware.camera2.CameraCharacteristics }.</p> * will not be present in {@link android.hardware.camera2.CameraCharacteristics }.</p>
* <p>This key is available on all devices.</p> * <p>This key is available on all devices.</p>
* @hide * @hide
@@ -2759,7 +2759,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
* </table> * </table>
* <p>For applications targeting SDK version 31 or newer, if the mobile device declares to be * <p>For applications targeting SDK version 31 or newer, if the mobile device declares to be
* media performance class 12 or higher by setting * media performance class 12 or higher by setting
* {@link android.os.Build.VERSION_CDOES.MEDIA_PERFORMANCE_CLASS } to be 31 or larger, * {@link android.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS } to be 31 or larger,
* the primary camera devices (first rear/front camera in the camera ID list) will not * the primary camera devices (first rear/front camera in the camera ID list) will not
* support JPEG sizes smaller than 1080p. If the application configures a JPEG stream * support JPEG sizes smaller than 1080p. If the application configures a JPEG stream
* smaller than 1080p, the camera device will round up the JPEG image size to at least * smaller than 1080p, the camera device will round up the JPEG image size to at least
@@ -2833,7 +2833,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
* </table> * </table>
* <p>For applications targeting SDK version 31 or newer, if the mobile device doesn't declare * <p>For applications targeting SDK version 31 or newer, if the mobile device doesn't declare
* to be media performance class 12 or better by setting * to be media performance class 12 or better by setting
* {@link android.os.Build.VERSION_CDOES.MEDIA_PERFORMANCE_CLASS } to be 31 or larger, * {@link android.os.Build.VERSION_CODES.MEDIA_PERFORMANCE_CLASS } to be 31 or larger,
* or if the camera device isn't a primary rear/front camera, the minimum required output * or if the camera device isn't a primary rear/front camera, the minimum required output
* stream configurations are the same as for applications targeting SDK version older than * stream configurations are the same as for applications targeting SDK version older than
* 31.</p> * 31.</p>
@@ -3485,14 +3485,16 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
* to output different resolution images depending on the current active physical camera or * to output different resolution images depending on the current active physical camera or
* pixel mode. With multi-resolution input streams, the camera device can reprocess images * pixel mode. With multi-resolution input streams, the camera device can reprocess images
* of different resolutions from different physical cameras or sensor pixel modes.</p> * of different resolutions from different physical cameras or sensor pixel modes.</p>
* <p>When set to TRUE: * <p>When set to TRUE:</p>
* * For a logical multi-camera, the camera framework derives * <ul>
* <li>For a logical multi-camera, the camera framework derives
* {@link CameraCharacteristics#SCALER_MULTI_RESOLUTION_STREAM_CONFIGURATION_MAP android.scaler.multiResolutionStreamConfigurationMap} by combining the * {@link CameraCharacteristics#SCALER_MULTI_RESOLUTION_STREAM_CONFIGURATION_MAP android.scaler.multiResolutionStreamConfigurationMap} by combining the
* android.scaler.physicalCameraMultiResolutionStreamConfigurations from its physical * android.scaler.physicalCameraMultiResolutionStreamConfigurations from its physical
* cameras. * cameras.</li>
* * For an ultra-high resolution sensor camera, the camera framework directly copies * <li>For an ultra-high resolution sensor camera, the camera framework directly copies
* the value of android.scaler.physicalCameraMultiResolutionStreamConfigurations to * the value of android.scaler.physicalCameraMultiResolutionStreamConfigurations to
* {@link CameraCharacteristics#SCALER_MULTI_RESOLUTION_STREAM_CONFIGURATION_MAP android.scaler.multiResolutionStreamConfigurationMap}.</p> * {@link CameraCharacteristics#SCALER_MULTI_RESOLUTION_STREAM_CONFIGURATION_MAP android.scaler.multiResolutionStreamConfigurationMap}.</li>
* </ul>
* <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p> * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
* <p><b>Limited capability</b> - * <p><b>Limited capability</b> -
* Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the * Present on all camera devices that report being at least {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED HARDWARE_LEVEL_LIMITED} devices in the
@@ -3513,7 +3515,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
* capture, video record for encoding the camera output for the purpose of future playback, * capture, video record for encoding the camera output for the purpose of future playback,
* and video call for live realtime video conferencing.</p> * and video call for live realtime video conferencing.</p>
* <p>With this flag, the camera device can optimize the image processing pipeline * <p>With this flag, the camera device can optimize the image processing pipeline
* parameters, such as tuning, sensor mode, and ISP settings, indepedent of * parameters, such as tuning, sensor mode, and ISP settings, independent of
* the properties of the immediate camera output surface. For example, if the output * the properties of the immediate camera output surface. For example, if the output
* surface is a SurfaceTexture, the stream use case flag can be used to indicate whether * surface is a SurfaceTexture, the stream use case flag can be used to indicate whether
* the camera frames eventually go to display, video encoder, * the camera frames eventually go to display, video encoder,
@@ -3535,7 +3537,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
* {@link android.hardware.camera2.CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE } * {@link android.hardware.camera2.CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE }
* capability is documented in the camera device * capability is documented in the camera device
* {@link android.hardware.camera2.CameraDevice#createCaptureSession guideline}. The * {@link android.hardware.camera2.CameraDevice#createCaptureSession guideline}. The
* application is strongly recommended to use one of the guaranteed stream combintations. * application is strongly recommended to use one of the guaranteed stream combinations.
* If the application creates a session with a stream combination not in the guaranteed * If the application creates a session with a stream combination not in the guaranteed
* list, or with mixed DEFAULT and non-DEFAULT use cases within the same session, * list, or with mixed DEFAULT and non-DEFAULT use cases within the same session,
* the camera device may ignore some stream use cases due to hardware constraints * the camera device may ignore some stream use cases due to hardware constraints
@@ -5209,7 +5211,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
* EXTERIOR_* value.</p> * EXTERIOR_* value.</p>
* <p>If a camera has INTERIOR_OTHER or EXTERIOR_OTHER, or more than one camera is at the * <p>If a camera has INTERIOR_OTHER or EXTERIOR_OTHER, or more than one camera is at the
* same location and facing the same direction, their static metadata will list the * same location and facing the same direction, their static metadata will list the
* following entries, so that applications can determain their lenses' exact facing * following entries, so that applications can determine their lenses' exact facing
* directions:</p> * directions:</p>
* <ul> * <ul>
* <li>{@link CameraCharacteristics#LENS_POSE_REFERENCE android.lens.poseReference}</li> * <li>{@link CameraCharacteristics#LENS_POSE_REFERENCE android.lens.poseReference}</li>

View File

@@ -409,7 +409,7 @@ public abstract class CameraMetadata<TKey> {
/** /**
* <p>The value of {@link CameraCharacteristics#LENS_POSE_TRANSLATION android.lens.poseTranslation} is relative to the origin of the * <p>The value of {@link CameraCharacteristics#LENS_POSE_TRANSLATION android.lens.poseTranslation} is relative to the origin of the
* automotive sensor coodinate system, which is at the center of the rear axle.</p> * automotive sensor coordinate system, which is at the center of the rear axle.</p>
* *
* @see CameraCharacteristics#LENS_POSE_TRANSLATION * @see CameraCharacteristics#LENS_POSE_TRANSLATION
* @see CameraCharacteristics#LENS_POSE_REFERENCE * @see CameraCharacteristics#LENS_POSE_REFERENCE
@@ -683,7 +683,7 @@ public abstract class CameraMetadata<TKey> {
* captured at the same rate as the maximum-size YUV_420_888 resolution is.</p> * captured at the same rate as the maximum-size YUV_420_888 resolution is.</p>
* <p>If the device supports the PRIVATE_REPROCESSING capability, then the same guarantees * <p>If the device supports the PRIVATE_REPROCESSING capability, then the same guarantees
* as for the YUV_420_888 format also apply to the {@link android.graphics.ImageFormat#PRIVATE } format.</p> * as for the YUV_420_888 format also apply to the {@link android.graphics.ImageFormat#PRIVATE } format.</p>
* <p>In addition, the {@link CameraCharacteristics#SYNC_MAX_LATENCY android.sync.maxLatency} field is guaranted to have a value between 0 * <p>In addition, the {@link CameraCharacteristics#SYNC_MAX_LATENCY android.sync.maxLatency} field is guaranteed to have a value between 0
* and 4, inclusive. {@link CameraCharacteristics#CONTROL_AE_LOCK_AVAILABLE android.control.aeLockAvailable} and {@link CameraCharacteristics#CONTROL_AWB_LOCK_AVAILABLE android.control.awbLockAvailable} * and 4, inclusive. {@link CameraCharacteristics#CONTROL_AE_LOCK_AVAILABLE android.control.aeLockAvailable} and {@link CameraCharacteristics#CONTROL_AWB_LOCK_AVAILABLE android.control.awbLockAvailable}
* are also guaranteed to be <code>true</code> so burst capture with these two locks ON yields * are also guaranteed to be <code>true</code> so burst capture with these two locks ON yields
* consistent image output.</p> * consistent image output.</p>
@@ -843,7 +843,7 @@ public abstract class CameraMetadata<TKey> {
* {@link android.hardware.camera2.params.StreamConfigurationMap#getHighSpeedVideoSizes }.</li> * {@link android.hardware.camera2.params.StreamConfigurationMap#getHighSpeedVideoSizes }.</li>
* <li>The FPS ranges are selected from {@link android.hardware.camera2.params.StreamConfigurationMap#getHighSpeedVideoFpsRanges }.</li> * <li>The FPS ranges are selected from {@link android.hardware.camera2.params.StreamConfigurationMap#getHighSpeedVideoFpsRanges }.</li>
* </ul> * </ul>
* <p>When above conditions are NOT satistied, * <p>When above conditions are NOT satisfied,
* {@link android.hardware.camera2.CameraDevice#createConstrainedHighSpeedCaptureSession } * {@link android.hardware.camera2.CameraDevice#createConstrainedHighSpeedCaptureSession }
* will fail.</p> * will fail.</p>
* <p>Switching to a FPS range that has different maximum FPS may trigger some camera device * <p>Switching to a FPS range that has different maximum FPS may trigger some camera device
@@ -986,7 +986,7 @@ public abstract class CameraMetadata<TKey> {
* non-active physical cameras. For example, if the logical camera has a wide-ultrawide * non-active physical cameras. For example, if the logical camera has a wide-ultrawide
* configuration where the wide lens is the default, when the crop region is set to the * configuration where the wide lens is the default, when the crop region is set to the
* logical camera's active array size, (and the zoom ratio set to 1.0 starting from * logical camera's active array size, (and the zoom ratio set to 1.0 starting from
* Android 11), a physical stream for the ultrawide camera may prefer outputing images * Android 11), a physical stream for the ultrawide camera may prefer outputting images
* with larger field-of-view than that of the wide camera for better stereo matching * with larger field-of-view than that of the wide camera for better stereo matching
* margin or more robust motion tracking. At the same time, the physical non-RAW streams' * margin or more robust motion tracking. At the same time, the physical non-RAW streams'
* field of view must not be smaller than the requested crop region and zoom ratio, as * field of view must not be smaller than the requested crop region and zoom ratio, as
@@ -1175,21 +1175,23 @@ public abstract class CameraMetadata<TKey> {
* when {@link CaptureRequest#SENSOR_PIXEL_MODE android.sensor.pixelMode} is set to * when {@link CaptureRequest#SENSOR_PIXEL_MODE android.sensor.pixelMode} is set to
* {@link android.hardware.camera2.CameraMetadata#SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION }), * {@link android.hardware.camera2.CameraMetadata#SENSOR_PIXEL_MODE_MAXIMUM_RESOLUTION }),
* the <code>RAW_SENSOR</code> stream will have a regular bayer pattern.</p> * the <code>RAW_SENSOR</code> stream will have a regular bayer pattern.</p>
* <p>This capability requires the camera device to support the following : * <p>This capability requires the camera device to support the following :</p>
* * The {@link android.hardware.camera2.params.StreamConfigurationMap } mentioned below * <ul>
* <li>The {@link android.hardware.camera2.params.StreamConfigurationMap } mentioned below
* refers to the one, described by * refers to the one, described by
* <code>{@link CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP_MAXIMUM_RESOLUTION android.scaler.streamConfigurationMapMaximumResolution}</code>. * <code>{@link CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP_MAXIMUM_RESOLUTION android.scaler.streamConfigurationMapMaximumResolution}</code>.</li>
* * One input stream is supported, that is, <code>{@link CameraCharacteristics#REQUEST_MAX_NUM_INPUT_STREAMS android.request.maxNumInputStreams} == 1</code>. * <li>One input stream is supported, that is, <code>{@link CameraCharacteristics#REQUEST_MAX_NUM_INPUT_STREAMS android.request.maxNumInputStreams} == 1</code>.</li>
* * {@link android.graphics.ImageFormat#RAW_SENSOR } is supported as an output/input * <li>{@link android.graphics.ImageFormat#RAW_SENSOR } is supported as an output/input
* format, that is, {@link android.graphics.ImageFormat#RAW_SENSOR } is included in the * format, that is, {@link android.graphics.ImageFormat#RAW_SENSOR } is included in the
* lists of formats returned by {@link android.hardware.camera2.params.StreamConfigurationMap#getInputFormats } and {@link android.hardware.camera2.params.StreamConfigurationMap#getOutputFormats }. * lists of formats returned by {@link android.hardware.camera2.params.StreamConfigurationMap#getInputFormats } and {@link android.hardware.camera2.params.StreamConfigurationMap#getOutputFormats }.</li>
* * {@link android.hardware.camera2.params.StreamConfigurationMap#getValidOutputFormatsForInput } * <li>{@link android.hardware.camera2.params.StreamConfigurationMap#getValidOutputFormatsForInput }
* returns non-empty int[] for each supported input format returned by {@link android.hardware.camera2.params.StreamConfigurationMap#getInputFormats }. * returns non-empty int[] for each supported input format returned by {@link android.hardware.camera2.params.StreamConfigurationMap#getInputFormats }.</li>
* * Each size returned by {@link android.hardware.camera2.params.StreamConfigurationMap#getInputSizes getInputSizes(ImageFormat.RAW_SENSOR)} is also included in {@link android.hardware.camera2.params.StreamConfigurationMap#getOutputSizes getOutputSizes(ImageFormat.RAW_SENSOR)} * <li>Each size returned by {@link android.hardware.camera2.params.StreamConfigurationMap#getInputSizes getInputSizes(ImageFormat.RAW_SENSOR)} is also included in {@link android.hardware.camera2.params.StreamConfigurationMap#getOutputSizes getOutputSizes(ImageFormat.RAW_SENSOR)}</li>
* * Using {@link android.graphics.ImageFormat#RAW_SENSOR } does not cause a frame rate * <li>Using {@link android.graphics.ImageFormat#RAW_SENSOR } does not cause a frame rate
* drop relative to the sensor's maximum capture rate (at that resolution). * drop relative to the sensor's maximum capture rate (at that resolution).</li>
* * No CaptureRequest controls will be applicable when a request has an input target * <li>No CaptureRequest controls will be applicable when a request has an input target
* with {@link android.graphics.ImageFormat#RAW_SENSOR } format.</p> * with {@link android.graphics.ImageFormat#RAW_SENSOR } format.</li>
* </ul>
* *
* @see CameraCharacteristics#REQUEST_MAX_NUM_INPUT_STREAMS * @see CameraCharacteristics#REQUEST_MAX_NUM_INPUT_STREAMS
* @see CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP_MAXIMUM_RESOLUTION * @see CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP_MAXIMUM_RESOLUTION
@@ -1205,16 +1207,18 @@ public abstract class CameraMetadata<TKey> {
* {@link android.hardware.camera2.params.DynamicRangeProfiles#getSupportedProfiles }. * {@link android.hardware.camera2.params.DynamicRangeProfiles#getSupportedProfiles }.
* They can be configured as part of the capture session initialization via * They can be configured as part of the capture session initialization via
* {@link android.hardware.camera2.params.OutputConfiguration#setDynamicRangeProfile }. * {@link android.hardware.camera2.params.OutputConfiguration#setDynamicRangeProfile }.
* Cameras that enable this capability must also support the following: * Cameras that enable this capability must also support the following:</p>
* * Profile {@link android.hardware.camera2.params.DynamicRangeProfiles#HLG10 } * <ul>
* * All mandatory stream combinations for this specific capability as per * <li>Profile {@link android.hardware.camera2.params.DynamicRangeProfiles#HLG10 }</li>
* documentation {@link android.hardware.camera2.CameraDevice#createCaptureSession } * <li>All mandatory stream combinations for this specific capability as per
* * In case the device is not able to capture some combination of supported * documentation {@link android.hardware.camera2.CameraDevice#createCaptureSession }</li>
* <li>In case the device is not able to capture some combination of supported
* standard 8-bit and/or 10-bit dynamic range profiles within the same capture request, * standard 8-bit and/or 10-bit dynamic range profiles within the same capture request,
* then those constraints must be listed in * then those constraints must be listed in
* {@link android.hardware.camera2.params.DynamicRangeProfiles#getProfileCaptureRequestConstraints } * {@link android.hardware.camera2.params.DynamicRangeProfiles#getProfileCaptureRequestConstraints }</li>
* * Recommended dynamic range profile listed in * <li>Recommended dynamic range profile listed in
* {@link android.hardware.camera2.CameraCharacteristics#REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE }.</p> * {@link android.hardware.camera2.CameraCharacteristics#REQUEST_RECOMMENDED_TEN_BIT_DYNAMIC_RANGE_PROFILE }.</li>
* </ul>
* @see CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES * @see CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES
*/ */
public static final int REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT = 18; public static final int REQUEST_AVAILABLE_CAPABILITIES_DYNAMIC_RANGE_TEN_BIT = 18;
@@ -1224,22 +1228,26 @@ public abstract class CameraMetadata<TKey> {
* {@link android.hardware.camera2.params.OutputConfiguration#setStreamUseCase } * {@link android.hardware.camera2.params.OutputConfiguration#setStreamUseCase }
* so that the device can optimize camera pipeline parameters such as tuning, sensor * so that the device can optimize camera pipeline parameters such as tuning, sensor
* mode, or ISP settings for a specific user scenario. * mode, or ISP settings for a specific user scenario.
* Some sample usages of this capability are: * Some sample usages of this capability are:</p>
* * Distinguish high quality YUV captures from a regular YUV stream where * <ul>
* the image quality may not be as good as the JPEG stream, or * <li>Distinguish high quality YUV captures from a regular YUV stream where
* * Use one stream to serve multiple purposes: viewfinder, video recording and * the image quality may not be as good as the JPEG stream, or</li>
* <li>Use one stream to serve multiple purposes: viewfinder, video recording and
* still capture. This is common with applications that wish to apply edits equally * still capture. This is common with applications that wish to apply edits equally
* to preview, saved images, and saved videos.</p> * to preview, saved images, and saved videos.</li>
* </ul>
* <p>This capability requires the camera device to support the following * <p>This capability requires the camera device to support the following
* stream use cases: * stream use cases:</p>
* * DEFAULT for backward compatibility where the application doesn't set * <ul>
* a stream use case * <li>DEFAULT for backward compatibility where the application doesn't set
* * PREVIEW for live viewfinder and in-app image analysis * a stream use case</li>
* * STILL_CAPTURE for still photo capture * <li>PREVIEW for live viewfinder and in-app image analysis</li>
* * VIDEO_RECORD for recording video clips * <li>STILL_CAPTURE for still photo capture</li>
* * PREVIEW_VIDEO_STILL for one single stream used for viewfinder, video * <li>VIDEO_RECORD for recording video clips</li>
* recording, and still capture. * <li>PREVIEW_VIDEO_STILL for one single stream used for viewfinder, video
* * VIDEO_CALL for long running video calls</p> * recording, and still capture.</li>
* <li>VIDEO_CALL for long running video calls</li>
* </ul>
* <p>{@link android.hardware.camera2.CameraCharacteristics#SCALER_AVAILABLE_STREAM_USE_CASES } * <p>{@link android.hardware.camera2.CameraCharacteristics#SCALER_AVAILABLE_STREAM_USE_CASES }
* lists all of the supported stream use cases.</p> * lists all of the supported stream use cases.</p>
* <p>Refer to {@link android.hardware.camera2.CameraDevice#createCaptureSession } for the * <p>Refer to {@link android.hardware.camera2.CameraDevice#createCaptureSession } for the
@@ -1391,10 +1399,10 @@ public abstract class CameraMetadata<TKey> {
* <p>Live stream shown to the user.</p> * <p>Live stream shown to the user.</p>
* <p>Optimized for performance and usability as a viewfinder, but not necessarily for * <p>Optimized for performance and usability as a viewfinder, but not necessarily for
* image quality. The output is not meant to be persisted as saved images or video.</p> * image quality. The output is not meant to be persisted as saved images or video.</p>
* <p>No stall if android.control.<em> are set to FAST; may have stall if android.control.</em> * <p>No stall if android.control.* are set to FAST. There may be stall if
* are set to HIGH_QUALITY. This use case has the same behavior as the default * they are set to HIGH_QUALITY. This use case has the same behavior as the
* SurfaceView and SurfaceTexture targets. Additionally, this use case can be used for * default SurfaceView and SurfaceTexture targets. Additionally, this use case can be
* in-app image analysis.</p> * used for in-app image analysis.</p>
* @see CameraCharacteristics#SCALER_AVAILABLE_STREAM_USE_CASES * @see CameraCharacteristics#SCALER_AVAILABLE_STREAM_USE_CASES
*/ */
public static final int SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW = 0x1; public static final int SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW = 0x1;
@@ -1441,7 +1449,7 @@ public abstract class CameraMetadata<TKey> {
public static final int SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW_VIDEO_STILL = 0x4; public static final int SCALER_AVAILABLE_STREAM_USE_CASES_PREVIEW_VIDEO_STILL = 0x4;
/** /**
* <p>Long-running video call optimized for both power efficienty and video quality.</p> * <p>Long-running video call optimized for both power efficiency and video quality.</p>
* <p>The camera sensor may run in a lower-resolution mode to reduce power consumption * <p>The camera sensor may run in a lower-resolution mode to reduce power consumption
* at the cost of some image and digital zoom quality. Unlike VIDEO_RECORD, VIDEO_CALL * at the cost of some image and digital zoom quality. Unlike VIDEO_RECORD, VIDEO_CALL
* outputs are expected to work in dark conditions, so are usually accompanied with * outputs are expected to work in dark conditions, so are usually accompanied with
@@ -2946,10 +2954,10 @@ public abstract class CameraMetadata<TKey> {
* android.control.availableHighSpeedVideoConfigurations.</li> * android.control.availableHighSpeedVideoConfigurations.</li>
* <li>No processed non-stalling or raw streams are configured.</li> * <li>No processed non-stalling or raw streams are configured.</li>
* </ul> * </ul>
* <p>When above conditions are NOT satistied, the controls of this mode and * <p>When above conditions are NOT satisfied, the controls of this mode and
* {@link CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE android.control.aeTargetFpsRange} will be ignored by the camera device, * {@link CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE android.control.aeTargetFpsRange} will be ignored by the camera device,
* the camera device will fall back to {@link CaptureRequest#CONTROL_MODE android.control.mode} <code>==</code> AUTO, * the camera device will fall back to {@link CaptureRequest#CONTROL_MODE android.control.mode} <code>==</code> AUTO,
* and the returned capture result metadata will give the fps range choosen * and the returned capture result metadata will give the fps range chosen
* by the camera device.</p> * by the camera device.</p>
* <p>Switching into or out of this mode may trigger some camera ISP/sensor * <p>Switching into or out of this mode may trigger some camera ISP/sensor
* reconfigurations, which may introduce extra latency. It is recommended that * reconfigurations, which may introduce extra latency. It is recommended that
@@ -3034,7 +3042,7 @@ public abstract class CameraMetadata<TKey> {
* if the {@link CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE android.sensor.info.sensitivityRange} gives range of [100, 1600], * if the {@link CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE android.sensor.info.sensitivityRange} gives range of [100, 1600],
* the camera device auto-exposure routine tuning process may limit the actual * the camera device auto-exposure routine tuning process may limit the actual
* exposure sensitivity range to [100, 1200] to ensure that the noise level isn't * exposure sensitivity range to [100, 1200] to ensure that the noise level isn't
* exessive in order to preserve the image quality. Under this situation, the image under * excessive in order to preserve the image quality. Under this situation, the image under
* low light may be under-exposed when the sensor max exposure time (bounded by the * low light may be under-exposed when the sensor max exposure time (bounded by the
* {@link CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE android.control.aeTargetFpsRange} when {@link CaptureRequest#CONTROL_AE_MODE android.control.aeMode} is one of the * {@link CaptureRequest#CONTROL_AE_TARGET_FPS_RANGE android.control.aeTargetFpsRange} when {@link CaptureRequest#CONTROL_AE_MODE android.control.aeMode} is one of the
* ON_* modes) and effective max sensitivity are reached. This scene mode allows the * ON_* modes) and effective max sensitivity are reached. This scene mode allows the
@@ -3631,7 +3639,7 @@ public abstract class CameraMetadata<TKey> {
public static final int TONEMAP_MODE_HIGH_QUALITY = 2; public static final int TONEMAP_MODE_HIGH_QUALITY = 2;
/** /**
* <p>Use the gamma value specified in {@link CaptureRequest#TONEMAP_GAMMA android.tonemap.gamma} to peform * <p>Use the gamma value specified in {@link CaptureRequest#TONEMAP_GAMMA android.tonemap.gamma} to perform
* tonemapping.</p> * tonemapping.</p>
* <p>All color enhancement and tonemapping must be disabled, except * <p>All color enhancement and tonemapping must be disabled, except
* for applying the tonemapping curve specified by {@link CaptureRequest#TONEMAP_GAMMA android.tonemap.gamma}.</p> * for applying the tonemapping curve specified by {@link CaptureRequest#TONEMAP_GAMMA android.tonemap.gamma}.</p>
@@ -3644,7 +3652,7 @@ public abstract class CameraMetadata<TKey> {
/** /**
* <p>Use the preset tonemapping curve specified in * <p>Use the preset tonemapping curve specified in
* {@link CaptureRequest#TONEMAP_PRESET_CURVE android.tonemap.presetCurve} to peform tonemapping.</p> * {@link CaptureRequest#TONEMAP_PRESET_CURVE android.tonemap.presetCurve} to perform tonemapping.</p>
* <p>All color enhancement and tonemapping must be disabled, except * <p>All color enhancement and tonemapping must be disabled, except
* for applying the tonemapping curve specified by * for applying the tonemapping curve specified by
* {@link CaptureRequest#TONEMAP_PRESET_CURVE android.tonemap.presetCurve}.</p> * {@link CaptureRequest#TONEMAP_PRESET_CURVE android.tonemap.presetCurve}.</p>

View File

@@ -1767,7 +1767,7 @@ public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>>
* routine is enabled, overriding the application's selected * routine is enabled, overriding the application's selected
* {@link CaptureRequest#COLOR_CORRECTION_TRANSFORM android.colorCorrection.transform}, {@link CaptureRequest#COLOR_CORRECTION_GAINS android.colorCorrection.gains} and * {@link CaptureRequest#COLOR_CORRECTION_TRANSFORM android.colorCorrection.transform}, {@link CaptureRequest#COLOR_CORRECTION_GAINS android.colorCorrection.gains} and
* {@link CaptureRequest#COLOR_CORRECTION_MODE android.colorCorrection.mode}. Note that when {@link CaptureRequest#CONTROL_AE_MODE android.control.aeMode} * {@link CaptureRequest#COLOR_CORRECTION_MODE android.colorCorrection.mode}. Note that when {@link CaptureRequest#CONTROL_AE_MODE android.control.aeMode}
* is OFF, the behavior of AWB is device dependent. It is recommened to * is OFF, the behavior of AWB is device dependent. It is recommended to
* also set AWB mode to OFF or lock AWB by using {@link CaptureRequest#CONTROL_AWB_LOCK android.control.awbLock} before * also set AWB mode to OFF or lock AWB by using {@link CaptureRequest#CONTROL_AWB_LOCK android.control.awbLock} before
* setting AE mode to OFF.</p> * setting AE mode to OFF.</p>
* <p>When set to the OFF mode, the camera device's auto-white balance * <p>When set to the OFF mode, the camera device's auto-white balance
@@ -1917,13 +1917,15 @@ public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>>
* strategy.</p> * strategy.</p>
* <p>This control (except for MANUAL) is only effective if * <p>This control (except for MANUAL) is only effective if
* <code>{@link CaptureRequest#CONTROL_MODE android.control.mode} != OFF</code> and any 3A routine is active.</p> * <code>{@link CaptureRequest#CONTROL_MODE android.control.mode} != OFF</code> and any 3A routine is active.</p>
* <p>All intents are supported by all devices, except that: * <p>All intents are supported by all devices, except that:</p>
* * ZERO_SHUTTER_LAG will be supported if {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} contains * <ul>
* PRIVATE_REPROCESSING or YUV_REPROCESSING. * <li>ZERO_SHUTTER_LAG will be supported if {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} contains
* * MANUAL will be supported if {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} contains * PRIVATE_REPROCESSING or YUV_REPROCESSING.</li>
* MANUAL_SENSOR. * <li>MANUAL will be supported if {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} contains
* * MOTION_TRACKING will be supported if {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} contains * MANUAL_SENSOR.</li>
* MOTION_TRACKING.</p> * <li>MOTION_TRACKING will be supported if {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} contains
* MOTION_TRACKING.</li>
* </ul>
* <p><b>Possible values:</b></p> * <p><b>Possible values:</b></p>
* <ul> * <ul>
* <li>{@link #CONTROL_CAPTURE_INTENT_CUSTOM CUSTOM}</li> * <li>{@link #CONTROL_CAPTURE_INTENT_CUSTOM CUSTOM}</li>
@@ -2680,7 +2682,7 @@ public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>>
* and keep jpeg and thumbnail image data unrotated.</li> * and keep jpeg and thumbnail image data unrotated.</li>
* <li>Rotate the jpeg and thumbnail image data and not set * <li>Rotate the jpeg and thumbnail image data and not set
* {@link android.media.ExifInterface#TAG_ORIENTATION EXIF orientation flag}. In this * {@link android.media.ExifInterface#TAG_ORIENTATION EXIF orientation flag}. In this
* case, LIMITED or FULL hardware level devices will report rotated thumnail size in * case, LIMITED or FULL hardware level devices will report rotated thumbnail size in
* capture result, so the width and height will be interchanged if 90 or 270 degree * capture result, so the width and height will be interchanged if 90 or 270 degree
* orientation is requested. LEGACY device will always report unrotated thumbnail * orientation is requested. LEGACY device will always report unrotated thumbnail
* size.</li> * size.</li>
@@ -3806,9 +3808,11 @@ public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>>
/** /**
* <p>Tonemapping curve to use when {@link CaptureRequest#TONEMAP_MODE android.tonemap.mode} is * <p>Tonemapping curve to use when {@link CaptureRequest#TONEMAP_MODE android.tonemap.mode} is
* GAMMA_VALUE</p> * GAMMA_VALUE</p>
* <p>The tonemap curve will be defined the following formula: * <p>The tonemap curve will be defined the following formula:</p>
* * OUT = pow(IN, 1.0 / gamma) * <ul>
* where IN and OUT is the input pixel value scaled to range [0.0, 1.0], * <li>OUT = pow(IN, 1.0 / gamma)</li>
* </ul>
* <p>where IN and OUT is the input pixel value scaled to range [0.0, 1.0],
* pow is the power function and gamma is the gamma value specified by this * pow is the power function and gamma is the gamma value specified by this
* key.</p> * key.</p>
* <p>The same curve will be applied to all color channels. The camera device * <p>The same curve will be applied to all color channels. The camera device

View File

@@ -1173,7 +1173,7 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
* <td align="center">Any state (excluding LOCKED)</td> * <td align="center">Any state (excluding LOCKED)</td>
* <td align="center">{@link CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGER android.control.aePrecaptureTrigger} is CANCEL, converged</td> * <td align="center">{@link CaptureRequest#CONTROL_AE_PRECAPTURE_TRIGGER android.control.aePrecaptureTrigger} is CANCEL, converged</td>
* <td align="center">CONVERGED</td> * <td align="center">CONVERGED</td>
* <td align="center">Converged after a precapture sequenceis canceled, transient states are skipped by camera device.</td> * <td align="center">Converged after a precapture sequences canceled, transient states are skipped by camera device.</td>
* </tr> * </tr>
* <tr> * <tr>
* <td align="center">CONVERGED</td> * <td align="center">CONVERGED</td>
@@ -1847,7 +1847,7 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
* routine is enabled, overriding the application's selected * routine is enabled, overriding the application's selected
* {@link CaptureRequest#COLOR_CORRECTION_TRANSFORM android.colorCorrection.transform}, {@link CaptureRequest#COLOR_CORRECTION_GAINS android.colorCorrection.gains} and * {@link CaptureRequest#COLOR_CORRECTION_TRANSFORM android.colorCorrection.transform}, {@link CaptureRequest#COLOR_CORRECTION_GAINS android.colorCorrection.gains} and
* {@link CaptureRequest#COLOR_CORRECTION_MODE android.colorCorrection.mode}. Note that when {@link CaptureRequest#CONTROL_AE_MODE android.control.aeMode} * {@link CaptureRequest#COLOR_CORRECTION_MODE android.colorCorrection.mode}. Note that when {@link CaptureRequest#CONTROL_AE_MODE android.control.aeMode}
* is OFF, the behavior of AWB is device dependent. It is recommened to * is OFF, the behavior of AWB is device dependent. It is recommended to
* also set AWB mode to OFF or lock AWB by using {@link CaptureRequest#CONTROL_AWB_LOCK android.control.awbLock} before * also set AWB mode to OFF or lock AWB by using {@link CaptureRequest#CONTROL_AWB_LOCK android.control.awbLock} before
* setting AE mode to OFF.</p> * setting AE mode to OFF.</p>
* <p>When set to the OFF mode, the camera device's auto-white balance * <p>When set to the OFF mode, the camera device's auto-white balance
@@ -1997,13 +1997,15 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
* strategy.</p> * strategy.</p>
* <p>This control (except for MANUAL) is only effective if * <p>This control (except for MANUAL) is only effective if
* <code>{@link CaptureRequest#CONTROL_MODE android.control.mode} != OFF</code> and any 3A routine is active.</p> * <code>{@link CaptureRequest#CONTROL_MODE android.control.mode} != OFF</code> and any 3A routine is active.</p>
* <p>All intents are supported by all devices, except that: * <p>All intents are supported by all devices, except that:</p>
* * ZERO_SHUTTER_LAG will be supported if {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} contains * <ul>
* PRIVATE_REPROCESSING or YUV_REPROCESSING. * <li>ZERO_SHUTTER_LAG will be supported if {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} contains
* * MANUAL will be supported if {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} contains * PRIVATE_REPROCESSING or YUV_REPROCESSING.</li>
* MANUAL_SENSOR. * <li>MANUAL will be supported if {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} contains
* * MOTION_TRACKING will be supported if {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} contains * MANUAL_SENSOR.</li>
* MOTION_TRACKING.</p> * <li>MOTION_TRACKING will be supported if {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} contains
* MOTION_TRACKING.</li>
* </ul>
* <p><b>Possible values:</b></p> * <p><b>Possible values:</b></p>
* <ul> * <ul>
* <li>{@link #CONTROL_CAPTURE_INTENT_CUSTOM CUSTOM}</li> * <li>{@link #CONTROL_CAPTURE_INTENT_CUSTOM CUSTOM}</li>
@@ -2929,7 +2931,7 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
* and keep jpeg and thumbnail image data unrotated.</li> * and keep jpeg and thumbnail image data unrotated.</li>
* <li>Rotate the jpeg and thumbnail image data and not set * <li>Rotate the jpeg and thumbnail image data and not set
* {@link android.media.ExifInterface#TAG_ORIENTATION EXIF orientation flag}. In this * {@link android.media.ExifInterface#TAG_ORIENTATION EXIF orientation flag}. In this
* case, LIMITED or FULL hardware level devices will report rotated thumnail size in * case, LIMITED or FULL hardware level devices will report rotated thumbnail size in
* capture result, so the width and height will be interchanged if 90 or 270 degree * capture result, so the width and height will be interchanged if 90 or 270 degree
* orientation is requested. LEGACY device will always report unrotated thumbnail * orientation is requested. LEGACY device will always report unrotated thumbnail
* size.</li> * size.</li>
@@ -3149,7 +3151,7 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
* <p>When the state is STATIONARY, the lens parameters are not changing. This could be * <p>When the state is STATIONARY, the lens parameters are not changing. This could be
* either because the parameters are all fixed, or because the lens has had enough * either because the parameters are all fixed, or because the lens has had enough
* time to reach the most recently-requested values. * time to reach the most recently-requested values.
* If all these lens parameters are not changable for a camera device, as listed below:</p> * If all these lens parameters are not changeable for a camera device, as listed below:</p>
* <ul> * <ul>
* <li>Fixed focus (<code>{@link CameraCharacteristics#LENS_INFO_MINIMUM_FOCUS_DISTANCE android.lens.info.minimumFocusDistance} == 0</code>), which means * <li>Fixed focus (<code>{@link CameraCharacteristics#LENS_INFO_MINIMUM_FOCUS_DISTANCE android.lens.info.minimumFocusDistance} == 0</code>), which means
* {@link CaptureRequest#LENS_FOCUS_DISTANCE android.lens.focusDistance} parameter will always be 0.</li> * {@link CaptureRequest#LENS_FOCUS_DISTANCE android.lens.focusDistance} parameter will always be 0.</li>
@@ -4009,7 +4011,7 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
* noise model used here is:</p> * noise model used here is:</p>
* <p>N(x) = sqrt(Sx + O)</p> * <p>N(x) = sqrt(Sx + O)</p>
* <p>Where x represents the recorded signal of a CFA channel normalized to * <p>Where x represents the recorded signal of a CFA channel normalized to
* the range [0, 1], and S and O are the noise model coeffiecients for * the range [0, 1], and S and O are the noise model coefficients for
* that channel.</p> * that channel.</p>
* <p>A more detailed description of the noise model can be found in the * <p>A more detailed description of the noise model can be found in the
* Adobe DNG specification for the NoiseProfile tag.</p> * Adobe DNG specification for the NoiseProfile tag.</p>
@@ -4054,7 +4056,7 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
* <li>1.20 &lt;= R &gt;= 1.03 will require some software * <li>1.20 &lt;= R &gt;= 1.03 will require some software
* correction to avoid demosaic errors (3-20% divergence).</li> * correction to avoid demosaic errors (3-20% divergence).</li>
* <li>R &gt; 1.20 will require strong software correction to produce * <li>R &gt; 1.20 will require strong software correction to produce
* a usuable image (&gt;20% divergence).</li> * a usable image (&gt;20% divergence).</li>
* </ul> * </ul>
* <p>Starting from Android Q, this key will not be present for a MONOCHROME camera, even if * <p>Starting from Android Q, this key will not be present for a MONOCHROME camera, even if
* the camera device has RAW capability.</p> * the camera device has RAW capability.</p>
@@ -4274,7 +4276,7 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
/** /**
* <p>Whether <code>RAW</code> images requested have their bayer pattern as described by * <p>Whether <code>RAW</code> images requested have their bayer pattern as described by
* {@link CameraCharacteristics#SENSOR_INFO_BINNING_FACTOR android.sensor.info.binningFactor}.</p> * {@link CameraCharacteristics#SENSOR_INFO_BINNING_FACTOR android.sensor.info.binningFactor}.</p>
* <p>This key will only be present in devices advertisting the * <p>This key will only be present in devices advertising the
* {@link android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR } * {@link android.hardware.camera2.CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_ULTRA_HIGH_RESOLUTION_SENSOR }
* capability which also advertise <code>REMOSAIC_REPROCESSING</code> capability. On all other devices * capability which also advertise <code>REMOSAIC_REPROCESSING</code> capability. On all other devices
* RAW targets will have a regular bayer pattern.</p> * RAW targets will have a regular bayer pattern.</p>
@@ -5128,9 +5130,11 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
/** /**
* <p>Tonemapping curve to use when {@link CaptureRequest#TONEMAP_MODE android.tonemap.mode} is * <p>Tonemapping curve to use when {@link CaptureRequest#TONEMAP_MODE android.tonemap.mode} is
* GAMMA_VALUE</p> * GAMMA_VALUE</p>
* <p>The tonemap curve will be defined the following formula: * <p>The tonemap curve will be defined the following formula:</p>
* * OUT = pow(IN, 1.0 / gamma) * <ul>
* where IN and OUT is the input pixel value scaled to range [0.0, 1.0], * <li>OUT = pow(IN, 1.0 / gamma)</li>
* </ul>
* <p>where IN and OUT is the input pixel value scaled to range [0.0, 1.0],
* pow is the power function and gamma is the gamma value specified by this * pow is the power function and gamma is the gamma value specified by this
* key.</p> * key.</p>
* <p>The same curve will be applied to all color channels. The camera device * <p>The same curve will be applied to all color channels. The camera device

View File

@@ -277,7 +277,7 @@ public final class DynamicRangeProfiles {
* profile.</p> * profile.</p>
* *
* @return non-modifiable set of dynamic range profiles * @return non-modifiable set of dynamic range profiles
* @throws IllegalArgumentException - If the profile argument is not * @throws IllegalArgumentException If the profile argument is not
* within the list returned by * within the list returned by
* getSupportedProfiles() * getSupportedProfiles()
* *
@@ -303,7 +303,7 @@ public final class DynamicRangeProfiles {
* *
* @return true if the given profile is not suitable for latency sensitive use cases, false * @return true if the given profile is not suitable for latency sensitive use cases, false
* otherwise * otherwise
* @throws IllegalArgumentException - If the profile argument is not * @throws IllegalArgumentException If the profile argument is not
* within the list returned by * within the list returned by
* getSupportedProfiles() * getSupportedProfiles()
* *