Merge "Camera: cosmetic, fix typos" into udc-dev
This commit is contained in:
@@ -661,7 +661,7 @@ public abstract class CameraCaptureSession implements AutoCloseable {
|
||||
*
|
||||
* <p>Repeating burst requests are a simple way for an application to
|
||||
* maintain a preview or other continuous stream of frames where each
|
||||
* request is different in a predicatable way, without having to continually
|
||||
* request is different in a predictable way, without having to continually
|
||||
* submit requests through {@link #captureBurst}.</p>
|
||||
*
|
||||
* <p>To stop the repeating capture, call {@link #stopRepeating}. Any
|
||||
@@ -902,7 +902,7 @@ public abstract class CameraCaptureSession implements AutoCloseable {
|
||||
* {@link CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_OFFLINE_PROCESSING OFFLINE_PROCESSING}
|
||||
* capability in {@link CameraCharacteristics#REQUEST_AVAILABLE_CAPABILITIES}. When this method
|
||||
* is supported, applications can use it to improve the latency of closing camera or recreating
|
||||
* capture session without losing the in progresss capture request outputs.</p>
|
||||
* capture session without losing the in progress capture request outputs.</p>
|
||||
*
|
||||
* <p>Offline processing mode and the corresponding {@link CameraOfflineSession} differ from
|
||||
* a regular online camera capture session in several ways. Successful offline switches will
|
||||
@@ -1001,7 +1001,7 @@ public abstract class CameraCaptureSession implements AutoCloseable {
|
||||
*
|
||||
* <p>Note that for common usage scenarios like creating a new session or closing the camera
|
||||
* device, it is faster to call respective APIs directly (see below for more details) without
|
||||
* calling into this method. This API is only useful when application wants to uncofigure the
|
||||
* calling into this method. This API is only useful when application wants to unconfigure the
|
||||
* camera but keep the device open for later use.</p>
|
||||
*
|
||||
* <p>Creating a new capture session with {@link CameraDevice#createCaptureSession}
|
||||
|
||||
@@ -651,7 +651,7 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri
|
||||
* @param metadataClass The subclass of CameraMetadata that you want to get the keys for.
|
||||
* @param keyClass The class of the metadata key, e.g. CaptureRequest.Key.class
|
||||
* @param filterTags An array of tags to be used for filtering
|
||||
* @param includeSynthetic Include public syntethic tag by default.
|
||||
* @param includeSynthetic Include public synthetic tag by default.
|
||||
*
|
||||
* @return List of keys supported by this CameraDevice for metadataClass.
|
||||
*
|
||||
|
||||
@@ -141,7 +141,7 @@ public abstract class CameraDevice implements AutoCloseable {
|
||||
* parameters. All automatic control is disabled (auto-exposure, auto-white
|
||||
* balance, auto-focus), and post-processing parameters are set to preview
|
||||
* quality. The manual capture parameters (exposure, sensitivity, and so on)
|
||||
* are set to reasonable defaults, but should be overriden by the
|
||||
* are set to reasonable defaults, but should be overridden by the
|
||||
* application depending on the intended use case.
|
||||
* This template is guaranteed to be supported on camera devices that support the
|
||||
* {@link CameraMetadata#REQUEST_AVAILABLE_CAPABILITIES_MANUAL_SENSOR MANUAL_SENSOR}
|
||||
@@ -680,7 +680,7 @@ public abstract class CameraDevice implements AutoCloseable {
|
||||
* <tr><th>Type</th><th id="rb">Max size</th><th>Type</th><th id="rb">Max size</th><th>Type</th><th id="rb">Max size</th> </tr>
|
||||
* <tr> <td>{@code PRIV}</td><td id="rb">{@code PREVIEW}</td> <td>{@code PRIV}</td><td id="rb">{@code MAXIMUM}</td> <td colspan="2" id="rb"></td> <td>Maximum-resolution GPU processing with preview.</td> </tr>
|
||||
* <tr> <td>{@code PRIV}</td><td id="rb">{@code PREVIEW}</td> <td>{@code YUV }</td><td id="rb">{@code MAXIMUM}</td> <td colspan="2" id="rb"></td> <td>Maximum-resolution in-app processing with preview.</td> </tr>
|
||||
* <tr> <td>{@code YUV }</td><td id="rb">{@code PREVIEW}</td> <td>{@code YUV }</td><td id="rb">{@code MAXIMUM}</td> <td colspan="2" id="rb"></td> <td>Maximum-resolution two-input in-app processsing.</td> </tr>
|
||||
* <tr> <td>{@code YUV }</td><td id="rb">{@code PREVIEW}</td> <td>{@code YUV }</td><td id="rb">{@code MAXIMUM}</td> <td colspan="2" id="rb"></td> <td>Maximum-resolution two-input in-app processing.</td> </tr>
|
||||
* <tr> <td>{@code PRIV}</td><td id="rb">{@code PREVIEW}</td> <td>{@code PRIV}</td><td id="rb">{@code PREVIEW}</td> <td>{@code JPEG}</td><td id="rb">{@code MAXIMUM}</td> <td>Video recording with maximum-size video snapshot</td> </tr>
|
||||
* <tr> <td>{@code YUV }</td><td id="rb">{@code 640x480}</td> <td>{@code PRIV}</td><td id="rb">{@code PREVIEW}</td> <td>{@code YUV }</td><td id="rb">{@code MAXIMUM}</td> <td>Standard video recording plus maximum-resolution in-app processing.</td> </tr>
|
||||
* <tr> <td>{@code YUV }</td><td id="rb">{@code 640x480}</td> <td>{@code YUV }</td><td id="rb">{@code PREVIEW}</td> <td>{@code YUV }</td><td id="rb">{@code MAXIMUM}</td> <td>Preview plus two-input maximum-resolution in-app processing.</td> </tr>
|
||||
@@ -722,7 +722,7 @@ public abstract class CameraDevice implements AutoCloseable {
|
||||
* <tr><th>Type</th><th id="rb">Max size</th><th>Type</th><th id="rb">Max size</th> </tr>
|
||||
* <tr> <td>{@code PRIV}</td><td id="rb">{@code PREVIEW}</td> <td>{@code PRIV}</td><td id="rb">{@code MAXIMUM}</td> <td>Maximum-resolution GPU processing with preview.</td> </tr>
|
||||
* <tr> <td>{@code PRIV}</td><td id="rb">{@code PREVIEW}</td> <td>{@code YUV }</td><td id="rb">{@code MAXIMUM}</td> <td>Maximum-resolution in-app processing with preview.</td> </tr>
|
||||
* <tr> <td>{@code YUV }</td><td id="rb">{@code PREVIEW}</td> <td>{@code YUV }</td><td id="rb">{@code MAXIMUM}</td> <td>Maximum-resolution two-input in-app processsing.</td> </tr>
|
||||
* <tr> <td>{@code YUV }</td><td id="rb">{@code PREVIEW}</td> <td>{@code YUV }</td><td id="rb">{@code MAXIMUM}</td> <td>Maximum-resolution two-input in-app processing.</td> </tr>
|
||||
* </table><br>
|
||||
* </p>
|
||||
*
|
||||
@@ -1137,7 +1137,7 @@ public abstract class CameraDevice implements AutoCloseable {
|
||||
* <tr><th colspan="13">Additional guaranteed combinations for ULTRA_HIGH_RESOLUTION sensors (YUV / PRIV inputs are guaranteed only if YUV / PRIVATE reprocessing are supported)</th></tr>
|
||||
* <tr> <th colspan="3" id="rb">Input</th> <th colspan="3" id="rb">Target 1</th> <th colspan="3" id="rb">Target 2</th> <th colspan="3" id="rb">Target 3</th> <th rowspan="2">Sample use case(s)</th> </tr>
|
||||
* <tr> <th>Type</th><th id="rb"> SC Map</th><th id="rb">Max size</th><th>Type</th><th id="rb"> SC Map</th><th id="rb">Max size</th> <th>Type</th><th id="rb"> SC Map</th><th id="rb">Max size</th> <th>Type</th><th id="rb"> SC Map</th><th id="rb">Max size</th></tr>
|
||||
* <tr> <td>{@code RAW}</td><td id="rb">{@code MAX_RES}</td><td id="rb">{@code MAX}</td><td>{@code RAW}</td><td id="rb">{@code MAX_RES}</td><td id="rb">{@code MAX}</td><td id="rb">{@code PRIV / YUV}</td><td id="rb">{@code DEFAULT}</td><td id="rb">{@code PREVIEW}</td><td colspan="3" id="rb"></td> <td>RAW remosaic reprocessing with seperate preview</td> </tr>
|
||||
* <tr> <td>{@code RAW}</td><td id="rb">{@code MAX_RES}</td><td id="rb">{@code MAX}</td><td>{@code RAW}</td><td id="rb">{@code MAX_RES}</td><td id="rb">{@code MAX}</td><td id="rb">{@code PRIV / YUV}</td><td id="rb">{@code DEFAULT}</td><td id="rb">{@code PREVIEW}</td><td colspan="3" id="rb"></td> <td>RAW remosaic reprocessing with separate preview</td> </tr>
|
||||
* <tr> <td>{@code RAW}</td><td id="rb">{@code MAX_RES}</td><td id="rb">{@code MAX}</td><td>{@code RAW}</td><td id="rb">{@code MAX_RES}</td><td id="rb">{@code MAX}</td><td id="rb">{@code PRIV / YUV}</td><td id="rb">{@code DEFAULT}</td><td id="rb">{@code PREVIEW}</td><td id="rb">{@code JPEG / YUV}</td><td id="rb">{@code MAX_RES}</td><td id="rb">{@code MAX}</td> <td>Ultra high res RAW -> JPEG / YUV with seperate preview</td> </tr>
|
||||
* <tr> <td>{@code YUV / PRIV}</td><td id="rb">{@code MAX_RES}</td><td id="rb">{@code MAX}</td> <td>{@code YUV / PRIV}</td><td id="rb">{@code MAX_RES}</td><td id="rb">{@code MAX}</td><td id="rb">{@code YUV / PRIV}</td><td id="rb">{@code DEFAULT}</td><td id="rb">{@code PREVIEW}</td><td id="rb">{@code JPEG }</td><td id="rb">{@code MAX_RES}</td><td id="rb">{@code MAX}</td> <td> Ultra high res PRIV / YUV -> YUV / JPEG reprocessing with seperate preview</td> </tr>
|
||||
* </table><br>
|
||||
@@ -1260,7 +1260,7 @@ public abstract class CameraDevice implements AutoCloseable {
|
||||
* settings by calling {@link CaptureRequest.Builder#setPhysicalCameraKey}.</p>
|
||||
*
|
||||
* <p>Individual physical camera settings will only be honored for camera session
|
||||
* that was initialiazed with corresponding physical camera id output configuration
|
||||
* that was initialized with corresponding physical camera id output configuration
|
||||
* {@link OutputConfiguration#setPhysicalCameraId} and the same output targets are
|
||||
* also attached in the request by {@link CaptureRequest.Builder#addTarget}.</p>
|
||||
*
|
||||
|
||||
@@ -256,7 +256,7 @@ public final class CameraManager {
|
||||
|
||||
/**
|
||||
* Similar to getCameraIdList(). However, getCamerIdListNoLazy() necessarily communicates with
|
||||
* cameraserver in order to get the list of camera ids. This is to faciliate testing since some
|
||||
* cameraserver in order to get the list of camera ids. This is to facilitate testing since some
|
||||
* camera ids may go 'offline' without callbacks from cameraserver because of changes in
|
||||
* SYSTEM_CAMERA permissions (though this is not a changeable permission, tests may call
|
||||
* adopt(drop)ShellPermissionIdentity() and effectively change their permissions). This call
|
||||
@@ -560,7 +560,7 @@ public final class CameraManager {
|
||||
}
|
||||
|
||||
// Query the characteristics of all physical sub-cameras, and combine the multi-resolution
|
||||
// stream configurations. Alternatively, for ultra-high resolution camera, direclty use
|
||||
// stream configurations. Alternatively, for ultra-high resolution camera, directly use
|
||||
// its multi-resolution stream configurations. Note that framework derived formats such as
|
||||
// HEIC and DEPTH_JPEG aren't supported as multi-resolution input or output formats.
|
||||
Set<String> physicalCameraIds = info.getPhysicalCameraIds();
|
||||
@@ -835,7 +835,7 @@ public final class CameraManager {
|
||||
* Opening the same camera ID twice in the same application will similarly cause the
|
||||
* {@link android.hardware.camera2.CameraDevice.StateCallback#onDisconnected} callback
|
||||
* being fired for the {@link CameraDevice} from the first open call and all ongoing tasks
|
||||
* being droppped.</p>
|
||||
* being dropped.</p>
|
||||
*
|
||||
* <p>Once the camera is successfully opened, {@link CameraDevice.StateCallback#onOpened} will
|
||||
* be invoked with the newly opened {@link CameraDevice}. The camera device can then be set up
|
||||
@@ -1759,7 +1759,7 @@ public final class CameraManager {
|
||||
private final Set<Set<String>> mConcurrentCameraIdCombinations =
|
||||
new ArraySet<Set<String>>();
|
||||
|
||||
// Registered availablility callbacks and their executors
|
||||
// Registered availability callbacks and their executors
|
||||
private final ArrayMap<AvailabilityCallback, Executor> mCallbackMap =
|
||||
new ArrayMap<AvailabilityCallback, Executor>();
|
||||
|
||||
@@ -2846,7 +2846,7 @@ public final class CameraManager {
|
||||
// Tell listeners that the cameras and torch modes are unavailable and schedule a
|
||||
// reconnection to camera service. When camera service is reconnected, the camera
|
||||
// and torch statuses will be updated.
|
||||
// Iterate from the end to the beginning befcause onStatusChangedLocked removes
|
||||
// Iterate from the end to the beginning because onStatusChangedLocked removes
|
||||
// entries from the ArrayMap.
|
||||
for (int i = mDeviceStatus.size() - 1; i >= 0; i--) {
|
||||
String cameraId = mDeviceStatus.keyAt(i);
|
||||
|
||||
@@ -159,7 +159,7 @@ public abstract class CameraMetadata<TKey> {
|
||||
* Optionally, if {@code filterTags} is not {@code null}, then filter out any keys
|
||||
* whose native {@code tag} is not in {@code filterTags}. The {@code filterTags} array will be
|
||||
* sorted as a side effect.
|
||||
* {@code includeSynthetic} Includes public syntenthic fields by default.
|
||||
* {@code includeSynthetic} Includes public synthetic fields by default.
|
||||
* </p>
|
||||
*/
|
||||
/*package*/ @SuppressWarnings("unchecked")
|
||||
@@ -2308,7 +2308,7 @@ public abstract class CameraMetadata<TKey> {
|
||||
/**
|
||||
* <p>An external flash has been turned on.</p>
|
||||
* <p>It informs the camera device that an external flash has been turned on, and that
|
||||
* metering (and continuous focus if active) should be quickly recaculated to account
|
||||
* metering (and continuous focus if active) should be quickly recalculated to account
|
||||
* for the external flash. Otherwise, this mode acts like ON.</p>
|
||||
* <p>When the external flash is turned off, AE mode should be changed to one of the
|
||||
* other available AE modes.</p>
|
||||
|
||||
@@ -152,7 +152,7 @@ public abstract class CameraOfflineSession extends CameraCaptureSession {
|
||||
*
|
||||
* <p>Closing a session is idempotent; closing more than once has no effect.</p>
|
||||
*
|
||||
* @throws IllegalStateException if the offline sesion is not ready.
|
||||
* @throws IllegalStateException if the offline session is not ready.
|
||||
*/
|
||||
@Override
|
||||
public abstract void close();
|
||||
|
||||
@@ -482,7 +482,7 @@ public final class DngCreator implements AutoCloseable {
|
||||
}
|
||||
|
||||
private static final int DEFAULT_PIXEL_STRIDE = 2; // bytes per sample
|
||||
private static final int BYTES_PER_RGB_PIX = 3; // byts per pixel
|
||||
private static final int BYTES_PER_RGB_PIX = 3; // bytes per pixel
|
||||
|
||||
// TIFF tag values needed to map between public API and TIFF spec
|
||||
private static final int TAG_ORIENTATION_UNKNOWN = 9;
|
||||
|
||||
@@ -607,7 +607,7 @@ public final class MandatoryStreamCombination {
|
||||
new StreamCombinationTemplate(new StreamTemplate [] {
|
||||
new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.MAXIMUM),
|
||||
new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.MAXIMUM) },
|
||||
"Maximum-resolution two-input in-app processsing"),
|
||||
"Maximum-resolution two-input in-app processing"),
|
||||
new StreamCombinationTemplate(new StreamTemplate [] {
|
||||
new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.PREVIEW),
|
||||
new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.PREVIEW),
|
||||
@@ -891,7 +891,7 @@ public final class MandatoryStreamCombination {
|
||||
new StreamCombinationTemplate(new StreamTemplate [] {
|
||||
new StreamTemplate(ImageFormat.PRIVATE, SizeThreshold.s720p),
|
||||
new StreamTemplate(ImageFormat.JPEG, SizeThreshold.s1440p)},
|
||||
"Standard stil image capture"),
|
||||
"Standard still image capture"),
|
||||
new StreamCombinationTemplate(new StreamTemplate [] {
|
||||
new StreamTemplate(ImageFormat.YUV_420_888, SizeThreshold.s720p),
|
||||
new StreamTemplate(ImageFormat.JPEG, SizeThreshold.s1440p)},
|
||||
|
||||
@@ -165,7 +165,7 @@ public final class OutputConfiguration implements Parcelable {
|
||||
* device runs in fixed frame rate. The timestamp is roughly in the same time base as
|
||||
* {@link android.os.SystemClock#uptimeMillis}.</li>
|
||||
* <li> For an output surface of MediaRecorder, MediaCodec, or ImageReader with {@link
|
||||
* android.hardware.HardwareBuffer#USAGE_VIDEO_ENCODE} usge flag, the timestamp base is
|
||||
* android.hardware.HardwareBuffer#USAGE_VIDEO_ENCODE} usage flag, the timestamp base is
|
||||
* {@link #TIMESTAMP_BASE_MONOTONIC}, which is roughly the same time base as
|
||||
* {@link android.os.SystemClock#uptimeMillis}.</li>
|
||||
* <li> For all other cases, the timestamp base is {@link #TIMESTAMP_BASE_SENSOR}, the same
|
||||
@@ -654,7 +654,7 @@ public final class OutputConfiguration implements Parcelable {
|
||||
mSurfaceType = SURFACE_TYPE_SURFACE_TEXTURE;
|
||||
} else {
|
||||
mSurfaceType = SURFACE_TYPE_UNKNOWN;
|
||||
throw new IllegalArgumentException("Unknow surface source class type");
|
||||
throw new IllegalArgumentException("Unknown surface source class type");
|
||||
}
|
||||
|
||||
if (surfaceSize.getWidth() == 0 || surfaceSize.getHeight() == 0) {
|
||||
@@ -715,7 +715,7 @@ public final class OutputConfiguration implements Parcelable {
|
||||
* The supported surfaces for sharing must be of type SurfaceTexture, SurfaceView,
|
||||
* MediaRecorder, MediaCodec, or implementation defined ImageReader.</p>
|
||||
*
|
||||
* <p>This function must not be called from OuptutConfigurations created by {@link
|
||||
* <p>This function must not be called from OutputConfigurations created by {@link
|
||||
* #createInstancesForMultiResolutionOutput}.</p>
|
||||
*
|
||||
* @throws IllegalStateException If this OutputConfiguration is created via {@link
|
||||
@@ -934,7 +934,7 @@ public final class OutputConfiguration implements Parcelable {
|
||||
*
|
||||
* <p> Surfaces added via calls to {@link #addSurface} can also be removed from the
|
||||
* OutputConfiguration. The only notable exception is the surface associated with
|
||||
* the OutputConfigration see {@link #getSurface} which was passed as part of the constructor
|
||||
* the OutputConfiguration see {@link #getSurface} which was passed as part of the constructor
|
||||
* or was added first in the deferred case
|
||||
* {@link OutputConfiguration#OutputConfiguration(Size, Class)}.</p>
|
||||
*
|
||||
@@ -962,7 +962,7 @@ public final class OutputConfiguration implements Parcelable {
|
||||
* for scenarios where the immediate consumer target isn't sufficient to indicate the stream's
|
||||
* usage.</p>
|
||||
*
|
||||
* <p>The main difference beteween stream use case and capture intent is that the former
|
||||
* <p>The main difference between stream use case and capture intent is that the former
|
||||
* enables the camera device to optimize camera hardware and software pipelines based on user
|
||||
* scenarios for each stream, whereas the latter is mainly a hint to camera to decide
|
||||
* optimal 3A strategy that's applicable to the whole session. The camera device carries out
|
||||
@@ -1123,7 +1123,7 @@ public final class OutputConfiguration implements Parcelable {
|
||||
* CameraCharacteristics#SENSOR_READOUT_TIMESTAMP} is
|
||||
* {@link CameraMetadata#SENSOR_READOUT_TIMESTAMP_HARDWARE}.</p>
|
||||
*
|
||||
* <p>As long as readout timestamp is supported, if the timestamp base isi
|
||||
* <p>As long as readout timestamp is supported, if the timestamp base is
|
||||
* {@link #TIMESTAMP_BASE_CHOREOGRAPHER_SYNCED}, or if the timestamp base is DEFAULT for a
|
||||
* SurfaceView output, the image timestamps for the output are always readout time regardless
|
||||
* of whether this function is called.</p>
|
||||
@@ -1420,9 +1420,9 @@ public final class OutputConfiguration implements Parcelable {
|
||||
*/
|
||||
@Override
|
||||
public int hashCode() {
|
||||
// Need ensure that the hashcode remains unchanged after adding a deferred surface. Otherwise
|
||||
// the deferred output configuration will be lost in the camera streammap after the deferred
|
||||
// surface is set.
|
||||
// Need ensure that the hashcode remains unchanged after adding a deferred surface.
|
||||
// Otherwise the deferred output configuration will be lost in the camera stream map
|
||||
// after the deferred surface is set.
|
||||
if (mIsDeferredConfig) {
|
||||
return HashCodeHelpers.hashCode(
|
||||
mRotation, mConfiguredSize.hashCode(), mConfiguredFormat, mConfiguredDataspace,
|
||||
@@ -1446,7 +1446,7 @@ public final class OutputConfiguration implements Parcelable {
|
||||
private static final String TAG = "OutputConfiguration";
|
||||
|
||||
// A surfaceGroupId counter used for MultiResolutionImageReader. Its value is
|
||||
// incremented everytime {@link createInstancesForMultiResolutionOutput} is called.
|
||||
// incremented every time {@link createInstancesForMultiResolutionOutput} is called.
|
||||
private static int MULTI_RESOLUTION_GROUP_ID_COUNTER = 0;
|
||||
|
||||
private ArrayList<Surface> mSurfaces;
|
||||
|
||||
@@ -1790,7 +1790,7 @@ public final class StreamConfigurationMap {
|
||||
*
|
||||
* <p>{@code ValidOutputFormatsForInput([in:%s(%d), out:%s(%d), ... %s(%d)],
|
||||
* ... [in:%s(%d), out:%s(%d), ... %s(%d)])}, where {@code [in:%s(%d), out:%s(%d), ... %s(%d)]}
|
||||
* represents an input fomat and its valid output formats.</p>
|
||||
* represents an input format and its valid output formats.</p>
|
||||
*
|
||||
* <p>{@code HighSpeedVideoConfigurations([w:%d, h:%d, min_fps:%d, max_fps:%d],
|
||||
* ... [w:%d, h:%d, min_fps:%d, max_fps:%d])}, where
|
||||
|
||||
Reference in New Issue
Block a user