am 239ac054: Merge "Camera2: Update spec for thumbnail cropping behavior" into lmp-preview-dev
* commit '239ac0541bf7e0fc8b301d077b40e3e52cf32161': Camera2: Update spec for thumbnail cropping behavior
This commit is contained in:
@@ -12451,6 +12451,7 @@ package android.hardware.camera2 {
|
||||
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 REQUEST_AVAILABLE_CAPABILITIES_DNG = 5; // 0x5
|
||||
field public static final int REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING = 3; // 0x3
|
||||
field public static final int REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR = 2; // 0x2
|
||||
field public static final int REQUEST_AVAILABLE_CAPABILITIES_ZSL = 4; // 0x4
|
||||
field public static final int SCALER_CROPPING_TYPE_CENTER_ONLY = 0; // 0x0
|
||||
|
||||
@@ -810,7 +810,6 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
|
||||
* {@link CameraCharacteristics#INFO_SUPPORTED_HARDWARE_LEVEL android.info.supportedHardwareLevel} <code>==</code> FULL devices:</p>
|
||||
* <ul>
|
||||
* <li>MANUAL_SENSOR</li>
|
||||
* <li>ZSL</li>
|
||||
* </ul>
|
||||
* <p>Other capabilities may be available on either FULL or LIMITED
|
||||
* devices, but the app. should query this field to be sure.</p>
|
||||
@@ -819,7 +818,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
|
||||
* @see #REQUEST_AVAILABLE_CAPABILITIES_BACKWARD_COMPATIBLE
|
||||
* @see #REQUEST_AVAILABLE_CAPABILITIES_OPTIONAL
|
||||
* @see #REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR
|
||||
* @see #REQUEST_AVAILABLE_CAPABILITIES_GCAM
|
||||
* @see #REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING
|
||||
* @see #REQUEST_AVAILABLE_CAPABILITIES_ZSL
|
||||
* @see #REQUEST_AVAILABLE_CAPABILITIES_DNG
|
||||
*/
|
||||
@@ -1725,15 +1724,16 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
|
||||
* <p>A FULL device has the most support possible and will enable the
|
||||
* widest range of use cases such as:</p>
|
||||
* <ul>
|
||||
* <li>30 FPS at maximum resolution (== sensor resolution)</li>
|
||||
* <li>Per frame control</li>
|
||||
* <li>Manual sensor control</li>
|
||||
* <li>Zero Shutter Lag (ZSL)</li>
|
||||
* <li>30fps at maximum resolution (== sensor resolution) is preferred, more than 20fps is required.</li>
|
||||
* <li>Per frame control ({@link CameraCharacteristics#SYNC_MAX_LATENCY android.sync.maxLatency} <code>==</code> PER_FRAME_CONTROL)</li>
|
||||
* <li>Manual sensor control ({@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} contains MANUAL_SENSOR)</li>
|
||||
* <li>Manual post-processing control ({@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities} contains MANUAL_POST_PROCESSING)</li>
|
||||
* </ul>
|
||||
* <p>A LIMITED device may have some or none of the above characteristics.
|
||||
* To find out more refer to {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES android.request.availableCapabilities}.</p>
|
||||
*
|
||||
* @see CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES
|
||||
* @see CameraCharacteristics#SYNC_MAX_LATENCY
|
||||
* @see #INFO_SUPPORTED_HARDWARE_LEVEL_LIMITED
|
||||
* @see #INFO_SUPPORTED_HARDWARE_LEVEL_FULL
|
||||
*/
|
||||
|
||||
@@ -236,9 +236,17 @@ public abstract class CameraMetadata<TKey> {
|
||||
|
||||
/**
|
||||
* <p>The camera device can be manually controlled (3A algorithms such
|
||||
* as auto exposure, and auto focus can be
|
||||
* bypassed), this includes but is not limited to:</p>
|
||||
* as auto exposure, and auto focus can be bypassed).
|
||||
* The camera device supports basic manual control of the sensor image
|
||||
* acquisition related stages. This means the following controls are
|
||||
* guaranteed to be supported:</p>
|
||||
* <ul>
|
||||
* <li>Manual frame duration control<ul>
|
||||
* <li>{@link CaptureRequest#SENSOR_FRAME_DURATION android.sensor.frameDuration}</li>
|
||||
* <li>{@link CameraCharacteristics#SENSOR_INFO_MAX_FRAME_DURATION android.sensor.info.maxFrameDuration}</li>
|
||||
* <li>{@link CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP android.scaler.streamConfigurationMap}</li>
|
||||
* </ul>
|
||||
* </li>
|
||||
* <li>Manual exposure control<ul>
|
||||
* <li>{@link CaptureRequest#SENSOR_EXPOSURE_TIME android.sensor.exposureTime}</li>
|
||||
* <li>{@link CameraCharacteristics#SENSOR_INFO_EXPOSURE_TIME_RANGE android.sensor.info.exposureTimeRange}</li>
|
||||
@@ -265,10 +273,15 @@ public abstract class CameraMetadata<TKey> {
|
||||
* <p>If any of the above 3A algorithms are enabled, then the camera
|
||||
* device will accurately report the values applied by 3A in the
|
||||
* result.</p>
|
||||
* <p>A given camera device may also support additional manual sensor controls,
|
||||
* but this capability only covers the above list of controls.</p>
|
||||
*
|
||||
* @see CaptureRequest#BLACK_LEVEL_LOCK
|
||||
* @see CameraCharacteristics#SCALER_STREAM_CONFIGURATION_MAP
|
||||
* @see CaptureRequest#SENSOR_EXPOSURE_TIME
|
||||
* @see CaptureRequest#SENSOR_FRAME_DURATION
|
||||
* @see CameraCharacteristics#SENSOR_INFO_EXPOSURE_TIME_RANGE
|
||||
* @see CameraCharacteristics#SENSOR_INFO_MAX_FRAME_DURATION
|
||||
* @see CameraCharacteristics#SENSOR_INFO_SENSITIVITY_RANGE
|
||||
* @see CaptureRequest#SENSOR_SENSITIVITY
|
||||
* @see CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES
|
||||
@@ -276,7 +289,9 @@ public abstract class CameraMetadata<TKey> {
|
||||
public static final int REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR = 2;
|
||||
|
||||
/**
|
||||
* <p>TODO: This should be @hide</p>
|
||||
* <p>The camera device post-processing stages can be manually controlled.
|
||||
* The camera device supports basic manual control of the image post-processing
|
||||
* stages. This means the following controls are guaranteed to be supported:</p>
|
||||
* <ul>
|
||||
* <li>Manual tonemap control<ul>
|
||||
* <li>{@link CaptureRequest#TONEMAP_CURVE android.tonemap.curve}</li>
|
||||
@@ -299,6 +314,8 @@ public abstract class CameraMetadata<TKey> {
|
||||
* will accurately report the values applied by AWB in the result.</p>
|
||||
* <p>The camera device will also support everything in MANUAL_SENSOR
|
||||
* except manual lens control and manual flash control.</p>
|
||||
* <p>A given camera device may also support additional post-processing
|
||||
* controls, but this capability only covers the above list of controls.</p>
|
||||
*
|
||||
* @see CaptureRequest#COLOR_CORRECTION_GAINS
|
||||
* @see CaptureRequest#COLOR_CORRECTION_TRANSFORM
|
||||
@@ -307,7 +324,7 @@ public abstract class CameraMetadata<TKey> {
|
||||
* @see CaptureRequest#TONEMAP_MODE
|
||||
* @see CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES
|
||||
*/
|
||||
public static final int REQUEST_AVAILABLE_CAPABILITIES_GCAM = 3;
|
||||
public static final int REQUEST_AVAILABLE_CAPABILITIES_MANUAL_POST_PROCESSING = 3;
|
||||
|
||||
/**
|
||||
* <p>The camera device supports the Zero Shutter Lag use case.</p>
|
||||
|
||||
@@ -1109,6 +1109,12 @@ public final class CaptureRequest extends CameraMetadata<CaptureRequest.Key<?>>
|
||||
* but the captured JPEG will still be a valid image.</p>
|
||||
* <p>When a jpeg image capture is issued, the thumbnail size selected should have
|
||||
* the same aspect ratio as the jpeg image.</p>
|
||||
* <p>If the thumbnail image aspect ratio differs from the JPEG primary image aspect
|
||||
* ratio, the camera device creates the thumbnail by cropping it from the primary image.
|
||||
* For example, if the primary image has 4:3 aspect ratio, the thumbnail image has
|
||||
* 16:9 aspect ratio, the primary image will be cropped vertically (letterbox) to
|
||||
* generate the thumbnail image. The thumbnail image will always have a smaller Field
|
||||
* Of View (FOV) than the primary image when aspect ratios differ.</p>
|
||||
*/
|
||||
public static final Key<android.util.Size> JPEG_THUMBNAIL_SIZE =
|
||||
new Key<android.util.Size>("android.jpeg.thumbnailSize", android.util.Size.class);
|
||||
|
||||
@@ -1697,6 +1697,12 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> {
|
||||
* but the captured JPEG will still be a valid image.</p>
|
||||
* <p>When a jpeg image capture is issued, the thumbnail size selected should have
|
||||
* the same aspect ratio as the jpeg image.</p>
|
||||
* <p>If the thumbnail image aspect ratio differs from the JPEG primary image aspect
|
||||
* ratio, the camera device creates the thumbnail by cropping it from the primary image.
|
||||
* For example, if the primary image has 4:3 aspect ratio, the thumbnail image has
|
||||
* 16:9 aspect ratio, the primary image will be cropped vertically (letterbox) to
|
||||
* generate the thumbnail image. The thumbnail image will always have a smaller Field
|
||||
* Of View (FOV) than the primary image when aspect ratios differ.</p>
|
||||
*/
|
||||
public static final Key<android.util.Size> JPEG_THUMBNAIL_SIZE =
|
||||
new Key<android.util.Size>("android.jpeg.thumbnailSize", android.util.Size.class);
|
||||
|
||||
Reference in New Issue
Block a user