aboutsummaryrefslogtreecommitdiff
path: root/en/devices/camera/camera3.html
diff options
context:
space:
mode:
authorGina Dimino <gdimino@google.com>2021-07-15 23:27:11 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2021-07-15 23:27:11 +0000
commit72e0ae8d8207042452f75874221103f4f6b3014a (patch)
tree7fa97b880b85be7de5b713d233cdc407c20b88cd /en/devices/camera/camera3.html
parente55b3193405187e091a4ac7730ef04360ec04504 (diff)
parentfc5fc0e74df003b0ee454d3418b88cd722282c49 (diff)
downloadsource.android.com-master.tar.gz
Merge "Remove obsolete sync directories for SAC"HEADmastermain
Diffstat (limited to 'en/devices/camera/camera3.html')
-rw-r--r--en/devices/camera/camera3.html125
1 files changed, 0 insertions, 125 deletions
diff --git a/en/devices/camera/camera3.html b/en/devices/camera/camera3.html
deleted file mode 100644
index 71e90a34..00000000
--- a/en/devices/camera/camera3.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<html devsite>
- <head>
- <title>Camera HAL3</title>
- <meta name="project_path" value="/_project.yaml" />
- <meta name="book_path" value="/_book.yaml" />
- </head>
- <body>
- <!--
- Copyright 2017 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
-
-
-<p>
-Android's camera Hardware Abstraction Layer (HAL) connects the higher level
-camera framework APIs in
-<a href="https://developer.android.com/reference/android/hardware/camera2/package-summary">android.hardware.camera2</a>
-to your underlying camera driver and hardware. Android 8.0 introduced
-<a href="/devices/architecture/treble">Treble</a>, switching the CameraHal API
-to a stable interface defined by the HAL Interface Description Language (HIDL).
-If you have previously developed a camera
-HAL module and driver for Android 7.0 and lower, be aware of significant
-changes in the camera pipeline.</p>
-
-<h2 id="v3-enhance">Camera HAL3 features</h2>
-
-<p>The aim of the Android Camera API redesign is to substantially increase the
-ability of applications to control the camera subsystem on Android devices while
-reorganizing the API to make it more efficient and maintainable. The additional
-control makes it easier to build high-quality camera applications on Android
-devices that can operate reliably across multiple products while still using
-device-specific algorithms whenever possible to maximize quality and
-performance.</p>
-
-<p>Version 3 of the camera subsystem structures the operation modes into a
-single unified view, which can be used to implement any of the previous modes
-and several others, such as burst mode. This results in better user control for
-focus and exposure and more post-processing, such as noise reduction, contrast
-and sharpening. Further, this simplified view makes it easier for application
-developers to use the camera's various functions.</p>
-<p>The API models the camera subsystem as a pipeline that converts incoming
-requests for frame captures into frames, on a 1:1 basis. The requests
-encapsulate all configuration information about the capture and processing of a
-frame. This includes resolution and pixel format; manual sensor, lens and flash
-control; 3A operating modes; RAW->YUV processing control; statistics generation;
-and so on.</p>
-
-<p>In simple terms, the application framework requests a frame from the camera
-subsystem, and the camera subsystem returns results to an output stream. In
-addition, metadata that contains information such as color spaces and lens
-shading is generated for each set of results. You can think of camera version 3
-as a pipeline to camera version 1's one-way stream. It converts each capture
-request into one image captured by the sensor, which is processed into:</p>
-
-<ul>
-<li>A Result object with metadata about the capture.</li>
-<li>One to N buffers of image data, each into its own destination Surface.</li>
-</ul>
-
-<p>The set of possible output Surfaces is preconfigured:</p>
-
-<ul>
-<li>Each Surface is a destination for a stream of image buffers of a fixed
-resolution.</li>
-<li>Only a small number of Surfaces can be configured as outputs at once (~3).
-</li>
-</ul>
-
-<p>A request contains all desired capture settings and the list of output
-Surfaces to push image buffers into for this request (out of the total
-configured set). A request can be one-shot (with <code>capture()</code>), or it
-may be repeated indefinitely (with <code>setRepeatingRequest()</code>). Captures
-have priority over repeating requests.</p>
-
-<img src="images/camera_simple_model.png" alt="Camera data model" id="figure2" />
-<p class="img-caption"><strong>Figure 1.</strong> Camera core operation model</p>
-
-<h2 id="overview">Camera HAL1 overview</h2>
-
-<aside class="note"><strong>Note:</strong> As Camera HAL1 has been deprecated,
- Camera HAL3 is recommended for devices launching on Android 9 or higher.</aside>
-
-<p>Version 1 of the camera subsystem was designed as a black box with high-level
-controls and the following three operating modes:</p>
-
-<ul>
-<li>Preview</li>
-<li>Video Record</li>
-<li>Still Capture</li>
-</ul>
-
-<p>Each mode has slightly different and overlapping capabilities. This made it
-hard to implement new features such as burst mode, which falls between two of
-the operating modes.</p>
-
-<img src="images/camera_block.png" alt="Camera block diagram" id="figure1" />
-<p class="img-caption"><strong>Figure 2.</strong> Camera components</p>
-
-<p>Android 7.0 continues to support camera HAL1 as many devices still rely on
-it. In addition, the Android camera service supports implementing both HALs (1
-and 3), which is useful when you want to support a less-capable front-facing
-camera with camera HAL1 and a more advanced back-facing camera with camera
-HAL3.</p>
-
-<p>There is a single camera HAL <em>module</em> (with its own
-<a href="/devices/camera/versioning.html#module_version">version
-number</a>), which lists multiple independent camera devices that each have
-their own version number. Camera module 2 or newer is required to support
-devices 2 or newer, and such camera modules can have a mix of camera device
-versions (this is what we mean when we say Android supports implementing both
-HALs).</p>
-
- </body>
-</html>