• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html>
2<html>
3<!-- Copyright (C) 2012 The Android Open Source Project
4
5     Licensed under the Apache License, Version 2.0 (the "License");
6     you may not use this file except in compliance with the License.
7     You may obtain a copy of the License at
8
9          http://www.apache.org/licenses/LICENSE-2.0
10
11     Unless required by applicable law or agreed to in writing, software
12     distributed under the License is distributed on an "AS IS" BASIS,
13     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14     See the License for the specific language governing permissions and
15     limitations under the License.
16-->
17<head>
18  <!-- automatically generated from html.mako. do NOT edit directly -->
19  <meta charset="utf-8" />
20  <title>Android Camera HAL2.0 Properties</title>
21  <style type="text/css">
22    .section { font-size: 1.5em; font-weight: bold; background-color: beige; padding: 0.5em 0em 0.5em 0.1em }
23    .kind { font-size: 1.2em; font-weight: bold; padding-left: 0.5em; background-color: gray }
24    .entry { background-color: burlywood }
25
26    /* table column sizes */
27    table { table-layout: fixed; width: 100%; word-wrap: break-word }
28    td,th { border: 1px solid;  }
29    .th_name { width: 20% }
30    .th_units { width: 10% }
31    .th_tags { width: 5% }
32    .th_notes { width: 30% }
33    .th_type { width: 20% }
34    td { font-size: 0.9em; }
35
36    /* hide the first thead, we need it there only to enforce column sizes */
37    .thead_dummy { visibility: hidden; }
38
39    /* Entry flair */
40    .entry_name { font-family: monospace; font-style: italic; }
41
42    /* Entry type flair */
43    .entry_type_name { color: darkgreen; font-weight: bold; }
44    .entry_type_name_enum:after { color: darkgreen; font-weight: bold; content:" (enum)" }
45    .entry_type_enum_name { font-family: monospace; font-weight: bolder; }
46    .entry_type_enum_notes:before { content:" - " }
47    .entry_type_enum_value:before { content:" = " }
48    .entry_type_enum_value { font-family: monospace; }
49    .entry ul { margin: 0 0 0 0; list-style-position: inside; padding-left: 0.5em; }
50    .entry ul li { padding: 0 0 0 0; margin: 0 0 0 0;}
51
52    /* Entry tags flair */
53    .entry_tags ul { list-style-type: none; }
54
55
56    /* TODO: generate abbr element for each tag link? */
57    /* TODO for each x.y.z try to link it to the entry */
58
59  </style>
60
61  <style>
62
63    {
64      /* broken...
65         supposedly there is a bug in chrome that it lays out tables before
66         it knows its being printed, so the page-break-* styles are ignored
67         */
68        tr { page-break-after: always; page-break-inside: avoid; }
69    }
70
71  </style>
72</head>
73
74
75
76
77<body>
78  <h1>Android Camera HAL2.0 Properties</h1>
79
80  <h2>Table of Contents</h2>
81  <ul class="toc">
82    <li><a href="#tag_index">Tags</a></li>
83
84
85    <li><p class="toc_section"><a href="#section_colorCorrection">colorCorrection</a></p>
86    <ul class="toc_section">
87        <li><a href="#controls_android.colorCorrection.mode">android.colorCorrection.mode</a> (controls)</li>
88        <li><a href="#controls_android.colorCorrection.transform">android.colorCorrection.transform</a> (controls)</li>
89        <li><a href="#dynamic_android.colorCorrection.mode">android.colorCorrection.mode</a> (dynamic)</li>
90    </ul>
91    </li> <!-- toc_section -->
92    <li><p class="toc_section"><a href="#section_control">control</a></p>
93    <ul class="toc_section">
94        <li><a href="#controls_android.control.aeAntibandingMode">android.control.aeAntibandingMode</a> (controls)</li>
95        <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li>
96        <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li>
97        <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li>
98        <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li>
99        <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li>
100        <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li>
101        <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li>
102        <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li>
103        <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li>
104        <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li>
105        <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
106        <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li>
107        <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li>
108        <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li>
109        <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
110        <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
111        <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
112        <li><a href="#static_android.control.aeAvailableAntibandingModes">android.control.aeAvailableAntibandingModes</a> (static)</li>
113        <li><a href="#static_android.control.aeAvailableModes">android.control.aeAvailableModes</a> (static)</li>
114        <li><a href="#static_android.control.aeAvailableTargetFpsRanges">android.control.aeAvailableTargetFpsRanges</a> (static)</li>
115        <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
116        <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
117        <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>
118        <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li>
119        <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li>
120        <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li>
121        <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li>
122        <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li>
123        <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li>
124        <li><a href="#dynamic_android.control.aePrecaptureId">android.control.aePrecaptureId</a> (dynamic)</li>
125        <li><a href="#dynamic_android.control.aeRegions">android.control.aeRegions</a> (dynamic)</li>
126        <li><a href="#dynamic_android.control.aeState">android.control.aeState</a> (dynamic)</li>
127        <li><a href="#dynamic_android.control.afMode">android.control.afMode</a> (dynamic)</li>
128        <li><a href="#dynamic_android.control.afRegions">android.control.afRegions</a> (dynamic)</li>
129        <li><a href="#dynamic_android.control.afState">android.control.afState</a> (dynamic)</li>
130        <li><a href="#dynamic_android.control.afTriggerId">android.control.afTriggerId</a> (dynamic)</li>
131        <li><a href="#dynamic_android.control.awbMode">android.control.awbMode</a> (dynamic)</li>
132        <li><a href="#dynamic_android.control.awbRegions">android.control.awbRegions</a> (dynamic)</li>
133        <li><a href="#dynamic_android.control.awbState">android.control.awbState</a> (dynamic)</li>
134        <li><a href="#dynamic_android.control.mode">android.control.mode</a> (dynamic)</li>
135    </ul>
136    </li> <!-- toc_section -->
137    <li><p class="toc_section"><a href="#section_demosaic">demosaic</a></p>
138    <ul class="toc_section">
139        <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li>
140    </ul>
141    </li> <!-- toc_section -->
142    <li><p class="toc_section"><a href="#section_edge">edge</a></p>
143    <ul class="toc_section">
144        <li><a href="#controls_android.edge.mode">android.edge.mode</a> (controls)</li>
145        <li><a href="#controls_android.edge.strength">android.edge.strength</a> (controls)</li>
146        <li><a href="#dynamic_android.edge.mode">android.edge.mode</a> (dynamic)</li>
147    </ul>
148    </li> <!-- toc_section -->
149    <li><p class="toc_section"><a href="#section_flash">flash</a></p>
150    <ul class="toc_section">
151        <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li>
152        <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li>
153        <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li>
154        <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li>
155        <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li>
156        <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li>
157        <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li>
158        <li><a href="#dynamic_android.flash.firingPower">android.flash.firingPower</a> (dynamic)</li>
159        <li><a href="#dynamic_android.flash.firingTime">android.flash.firingTime</a> (dynamic)</li>
160        <li><a href="#dynamic_android.flash.mode">android.flash.mode</a> (dynamic)</li>
161        <li><a href="#dynamic_android.flash.state">android.flash.state</a> (dynamic)</li>
162    </ul>
163    </li> <!-- toc_section -->
164    <li><p class="toc_section"><a href="#section_geometric">geometric</a></p>
165    <ul class="toc_section">
166        <li><a href="#controls_android.geometric.mode">android.geometric.mode</a> (controls)</li>
167        <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li>
168    </ul>
169    </li> <!-- toc_section -->
170    <li><p class="toc_section"><a href="#section_hotPixel">hotPixel</a></p>
171    <ul class="toc_section">
172        <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li>
173        <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li>
174        <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li>
175    </ul>
176    </li> <!-- toc_section -->
177    <li><p class="toc_section"><a href="#section_jpeg">jpeg</a></p>
178    <ul class="toc_section">
179        <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li>
180        <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li>
181        <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li>
182        <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li>
183        <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li>
184        <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li>
185        <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li>
186        <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li>
187        <li><a href="#static_android.jpeg.maxSize">android.jpeg.maxSize</a> (static)</li>
188        <li><a href="#dynamic_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (dynamic)</li>
189        <li><a href="#dynamic_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (dynamic)</li>
190        <li><a href="#dynamic_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (dynamic)</li>
191        <li><a href="#dynamic_android.jpeg.orientation">android.jpeg.orientation</a> (dynamic)</li>
192        <li><a href="#dynamic_android.jpeg.quality">android.jpeg.quality</a> (dynamic)</li>
193        <li><a href="#dynamic_android.jpeg.size">android.jpeg.size</a> (dynamic)</li>
194        <li><a href="#dynamic_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (dynamic)</li>
195        <li><a href="#dynamic_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (dynamic)</li>
196    </ul>
197    </li> <!-- toc_section -->
198    <li><p class="toc_section"><a href="#section_lens">lens</a></p>
199    <ul class="toc_section">
200        <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li>
201        <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li>
202        <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li>
203        <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
204        <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li>
205        <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li>
206        <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li>
207        <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
208        <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li>
209        <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li>
210        <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li>
211        <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li>
212        <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li>
213        <li><a href="#static_android.lens.info.shadingMap">android.lens.info.shadingMap</a> (static)</li>
214        <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li>
215        <li><a href="#static_android.lens.facing">android.lens.facing</a> (static)</li>
216        <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li>
217        <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li>
218        <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li>
219        <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li>
220        <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li>
221        <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li>
222        <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li>
223        <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li>
224        <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li>
225    </ul>
226    </li> <!-- toc_section -->
227    <li><p class="toc_section"><a href="#section_noiseReduction">noiseReduction</a></p>
228    <ul class="toc_section">
229        <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li>
230        <li><a href="#controls_android.noiseReduction.strength">android.noiseReduction.strength</a> (controls)</li>
231        <li><a href="#dynamic_android.noiseReduction.mode">android.noiseReduction.mode</a> (dynamic)</li>
232    </ul>
233    </li> <!-- toc_section -->
234    <li><p class="toc_section"><a href="#section_quirks">quirks</a></p>
235    <ul class="toc_section">
236        <li><a href="#static_android.quirks.meteringCropRegion">android.quirks.meteringCropRegion</a> (static)</li>
237        <li><a href="#static_android.quirks.triggerAfWithAuto">android.quirks.triggerAfWithAuto</a> (static)</li>
238        <li><a href="#static_android.quirks.useZslFormat">android.quirks.useZslFormat</a> (static)</li>
239    </ul>
240    </li> <!-- toc_section -->
241    <li><p class="toc_section"><a href="#section_request">request</a></p>
242    <ul class="toc_section">
243        <li><a href="#controls_android.request.frameCount">android.request.frameCount</a> (controls)</li>
244        <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li>
245        <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a> (controls)</li>
246        <li><a href="#controls_android.request.metadataMode">android.request.metadataMode</a> (controls)</li>
247        <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a> (controls)</li>
248        <li><a href="#controls_android.request.type">android.request.type</a> (controls)</li>
249        <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li>
250        <li><a href="#static_android.request.maxNumReprocessStreams">android.request.maxNumReprocessStreams</a> (static)</li>
251        <li><a href="#dynamic_android.request.frameCount">android.request.frameCount</a> (dynamic)</li>
252        <li><a href="#dynamic_android.request.id">android.request.id</a> (dynamic)</li>
253        <li><a href="#dynamic_android.request.metadataMode">android.request.metadataMode</a> (dynamic)</li>
254        <li><a href="#dynamic_android.request.outputStreams">android.request.outputStreams</a> (dynamic)</li>
255    </ul>
256    </li> <!-- toc_section -->
257    <li><p class="toc_section"><a href="#section_scaler">scaler</a></p>
258    <ul class="toc_section">
259        <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li>
260        <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li>
261        <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li>
262        <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li>
263        <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a> (static)</li>
264        <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li>
265        <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li>
266        <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li>
267        <li><a href="#static_android.scaler.availableRawSizes">android.scaler.availableRawSizes</a> (static)</li>
268        <li><a href="#dynamic_android.scaler.cropRegion">android.scaler.cropRegion</a> (dynamic)</li>
269    </ul>
270    </li> <!-- toc_section -->
271    <li><p class="toc_section"><a href="#section_sensor">sensor</a></p>
272    <ul class="toc_section">
273        <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
274        <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
275        <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
276        <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
277        <li><a href="#static_android.sensor.info.availableSensitivities">android.sensor.info.availableSensitivities</a> (static)</li>
278        <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
279        <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
280        <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
281        <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
282        <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
283        <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
284        <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
285        <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
286        <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
287        <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
288        <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
289        <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
290        <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
291        <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
292        <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
293        <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
294        <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
295        <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
296        <li><a href="#static_android.sensor.referenceIlluminant2">android.sensor.referenceIlluminant2</a> (static)</li>
297        <li><a href="#dynamic_android.sensor.exposureTime">android.sensor.exposureTime</a> (dynamic)</li>
298        <li><a href="#dynamic_android.sensor.frameDuration">android.sensor.frameDuration</a> (dynamic)</li>
299        <li><a href="#dynamic_android.sensor.sensitivity">android.sensor.sensitivity</a> (dynamic)</li>
300        <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
301    </ul>
302    </li> <!-- toc_section -->
303    <li><p class="toc_section"><a href="#section_shading">shading</a></p>
304    <ul class="toc_section">
305        <li><a href="#controls_android.shading.mode">android.shading.mode</a> (controls)</li>
306        <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
307        <li><a href="#dynamic_android.shading.mode">android.shading.mode</a> (dynamic)</li>
308    </ul>
309    </li> <!-- toc_section -->
310    <li><p class="toc_section"><a href="#section_statistics">statistics</a></p>
311    <ul class="toc_section">
312        <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
313        <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
314        <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
315        <li><a href="#static_android.statistics.info.availableFaceDetectModes">android.statistics.info.availableFaceDetectModes</a> (static)</li>
316        <li><a href="#static_android.statistics.info.histogramBucketCount">android.statistics.info.histogramBucketCount</a> (static)</li>
317        <li><a href="#static_android.statistics.info.maxFaceCount">android.statistics.info.maxFaceCount</a> (static)</li>
318        <li><a href="#static_android.statistics.info.maxHistogramCount">android.statistics.info.maxHistogramCount</a> (static)</li>
319        <li><a href="#static_android.statistics.info.maxSharpnessMapValue">android.statistics.info.maxSharpnessMapValue</a> (static)</li>
320        <li><a href="#static_android.statistics.info.sharpnessMapSize">android.statistics.info.sharpnessMapSize</a> (static)</li>
321        <li><a href="#dynamic_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (dynamic)</li>
322        <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
323        <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
324        <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
325        <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
326        <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
327        <li><a href="#dynamic_android.statistics.histogramMode">android.statistics.histogramMode</a> (dynamic)</li>
328        <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
329        <li><a href="#dynamic_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (dynamic)</li>
330    </ul>
331    </li> <!-- toc_section -->
332    <li><p class="toc_section"><a href="#section_tonemap">tonemap</a></p>
333    <ul class="toc_section">
334        <li><a href="#controls_android.tonemap.curveBlue">android.tonemap.curveBlue</a> (controls)</li>
335        <li><a href="#controls_android.tonemap.curveGreen">android.tonemap.curveGreen</a> (controls)</li>
336        <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
337        <li><a href="#controls_android.tonemap.mode">android.tonemap.mode</a> (controls)</li>
338        <li><a href="#static_android.tonemap.maxCurvePoints">android.tonemap.maxCurvePoints</a> (static)</li>
339        <li><a href="#dynamic_android.tonemap.curveBlue">android.tonemap.curveBlue</a> (dynamic)</li>
340        <li><a href="#dynamic_android.tonemap.curveGreen">android.tonemap.curveGreen</a> (dynamic)</li>
341        <li><a href="#dynamic_android.tonemap.curveRed">android.tonemap.curveRed</a> (dynamic)</li>
342        <li><a href="#dynamic_android.tonemap.mode">android.tonemap.mode</a> (dynamic)</li>
343    </ul>
344    </li> <!-- toc_section -->
345    <li><p class="toc_section"><a href="#section_led">led</a></p>
346    <ul class="toc_section">
347        <li><a href="#controls_android.led.transmit">android.led.transmit</a> (controls)</li>
348        <li><a href="#dynamic_android.led.transmit">android.led.transmit</a> (dynamic)</li>
349        <li><a href="#static_android.led.availableLeds">android.led.availableLeds</a> (static)</li>
350    </ul>
351    </li> <!-- toc_section -->
352    <li><p class="toc_section"><a href="#section_info">info</a></p>
353    <ul class="toc_section">
354        <li><a href="#static_android.info.supportedHardwareLevel">android.info.supportedHardwareLevel</a> (static)</li>
355    </ul>
356    </li> <!-- toc_section -->
357  </ul>
358
359  <h1>Properties</h1>
360  <table class="properties">
361
362    <thead class="thead_dummy">
363      <tr>
364        <th class="th_name">Property Name</th>
365        <th class="th_type">Type</th>
366        <th class="th_description">Description</th>
367        <th class="th_units">Units</th>
368        <th class="th_range">Range</th>
369        <th class="th_notes">Notes</th>
370        <th class="th_tags">Tags</th>
371      </tr>
372    </thead> <!-- so that the first occurrence of thead is not
373                         above the first occurrence of tr -->
374<!-- <namespace name="android"> -->
375  <tr><td colspan="7" id="section_colorCorrection" class="section">colorCorrection</td></tr>
376
377
378      <tr><td colspan="7" class="kind">controls</td></tr>
379
380      <thead>
381        <tr>
382          <th class="th_name">Property Name</th>
383          <th class="th_type">Type</th>
384          <th class="th_description">Description</th>
385          <th class="th_units">Units</th>
386          <th class="th_range">Range</th>
387          <th class="th_notes">Notes</th>
388          <th class="th_tags">Tags</th>
389        </tr>
390      </thead>
391
392      <tbody>
393
394
395
396
397
398
399
400
401
402
403          <tr class="entry" id="controls_android.colorCorrection.mode">
404            <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>mode</td>
405            <td class="entry_type">
406                <span class="entry_type_name entry_type_name_enum">byte</span>
407
408
409
410                <ul class="entry_type_enum">
411                  <li>
412                    <span class="entry_type_enum_name">TRANSFORM_MATRIX</span>
413                    <span class="entry_type_enum_notes">Use the android.<wbr>color<wbr>Correction.<wbr>transform matrix
414              to do color conversion</span>
415                  </li>
416                  <li>
417                    <span class="entry_type_enum_name">FAST</span>
418                    <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
419              bayer output</span>
420                  </li>
421                  <li>
422                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
423                    <span class="entry_type_enum_notes">Frame rate may be reduced by high
424              quality</span>
425                  </li>
426                </ul>
427
428            </td> <!-- entry_type -->
429
430            <td class="entry_description">
431            </td>
432
433            <td class="entry_units">
434            </td>
435
436            <td class="entry_range">
437            </td>
438
439            <td class="entry_notes">
440            </td>
441
442            <td class="entry_tags">
443            </td>
444
445          </tr> <!-- end of entry -->
446
447
448          <tr class="entry" id="controls_android.colorCorrection.transform">
449            <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>transform</td>
450            <td class="entry_type">
451                <span class="entry_type_name">float</span>
452                <span class="entry_type_container">x</span>
453
454                <span class="entry_type_array">
455                  3 x 3
456                </span>
457
458                <div class="entry_type_notes">3x3 float matrix in row-major order</div>
459
460
461            </td> <!-- entry_type -->
462
463            <td class="entry_description">
464              A transform matrix to chromatically adapt
465          pixels in the CIE XYZ (1931) color space from the scene
466          illuminant to the sRGB-standard
467          D65-illuminant
468            </td>
469
470            <td class="entry_units">
471            </td>
472
473            <td class="entry_range">
474              Output values are expected to be in the range
475          (0,<wbr>1)
476            </td>
477
478            <td class="entry_notes">
479              Values outside (0,<wbr>1) should be clamped.<wbr> Need to
480          provide utilities to go from CCT (+hue?),<wbr> or (x,<wbr>y) white
481          point,<wbr> (or AWB mode) to matrix; use linear Bradford
482          algorithm.<wbr>
483            </td>
484
485            <td class="entry_tags">
486            </td>
487
488          </tr> <!-- end of entry -->
489
490
491
492      <!-- end of kind -->
493      </tbody>
494      <tr><td colspan="7" class="kind">dynamic</td></tr>
495
496      <thead>
497        <tr>
498          <th class="th_name">Property Name</th>
499          <th class="th_type">Type</th>
500          <th class="th_description">Description</th>
501          <th class="th_units">Units</th>
502          <th class="th_range">Range</th>
503          <th class="th_notes">Notes</th>
504          <th class="th_tags">Tags</th>
505        </tr>
506      </thead>
507
508      <tbody>
509
510
511
512
513
514
515
516
517
518
519          <tr class="entry" id="dynamic_android.colorCorrection.mode">
520            <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>mode</td>
521            <td class="entry_type">
522                <span class="entry_type_name entry_type_name_enum">byte</span>
523
524
525
526                <ul class="entry_type_enum">
527                  <li>
528                    <span class="entry_type_enum_name">TRANSFORM_MATRIX</span>
529                    <span class="entry_type_enum_notes">Use the android.<wbr>color<wbr>Correction.<wbr>transform matrix
530              to do color conversion</span>
531                  </li>
532                  <li>
533                    <span class="entry_type_enum_name">FAST</span>
534                    <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
535              bayer output</span>
536                  </li>
537                  <li>
538                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
539                    <span class="entry_type_enum_notes">Frame rate may be reduced by high
540              quality</span>
541                  </li>
542                </ul>
543
544            </td> <!-- entry_type -->
545
546            <td class="entry_description">
547            </td>
548
549            <td class="entry_units">
550            </td>
551
552            <td class="entry_range">
553            </td>
554
555            <td class="entry_notes">
556            </td>
557
558            <td class="entry_tags">
559            </td>
560
561          </tr> <!-- end of entry -->
562
563
564
565      <!-- end of kind -->
566      </tbody>
567
568  <!-- end of section -->
569  <tr><td colspan="7" id="section_control" class="section">control</td></tr>
570
571
572      <tr><td colspan="7" class="kind">controls</td></tr>
573
574      <thead>
575        <tr>
576          <th class="th_name">Property Name</th>
577          <th class="th_type">Type</th>
578          <th class="th_description">Description</th>
579          <th class="th_units">Units</th>
580          <th class="th_range">Range</th>
581          <th class="th_notes">Notes</th>
582          <th class="th_tags">Tags</th>
583        </tr>
584      </thead>
585
586      <tbody>
587
588
589
590
591
592
593
594
595
596
597          <tr class="entry" id="controls_android.control.aeAntibandingMode">
598            <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Antibanding<wbr>Mode</td>
599            <td class="entry_type">
600                <span class="entry_type_name entry_type_name_enum">byte</span>
601
602
603
604                <ul class="entry_type_enum">
605                  <li>
606                    <span class="entry_type_enum_name">OFF</span>
607                  </li>
608                  <li>
609                    <span class="entry_type_enum_name">50HZ</span>
610                  </li>
611                  <li>
612                    <span class="entry_type_enum_name">60HZ</span>
613                  </li>
614                  <li>
615                    <span class="entry_type_enum_name">AUTO</span>
616                  </li>
617                </ul>
618
619            </td> <!-- entry_type -->
620
621            <td class="entry_description">
622              Enum for controlling
623          antibanding
624            </td>
625
626            <td class="entry_units">
627            </td>
628
629            <td class="entry_range">
630
631          android.<wbr>control.<wbr>ae<wbr>Available<wbr>Antibanding<wbr>Modes
632            </td>
633
634            <td class="entry_notes">
635            </td>
636
637            <td class="entry_tags">
638            </td>
639
640          </tr> <!-- end of entry -->
641
642
643          <tr class="entry" id="controls_android.control.aeExposureCompensation">
644            <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Exposure<wbr>Compensation</td>
645            <td class="entry_type">
646                <span class="entry_type_name">int32</span>
647
648
649
650
651            </td> <!-- entry_type -->
652
653            <td class="entry_description">
654              Adjustment to AE target image
655          brightness
656            </td>
657
658            <td class="entry_units">
659              count of positive/<wbr>negative EV steps
660            </td>
661
662            <td class="entry_range">
663            </td>
664
665            <td class="entry_notes">
666              For example,<wbr> if EV step is 0.<wbr>333,<wbr> '6' will mean an
667          exposure compensation of +2 EV; -3 will mean an exposure
668          compensation of -1
669            </td>
670
671            <td class="entry_tags">
672              <ul class="entry_tags">
673                  <li><a href="#tag_BC">BC</a></li>
674              </ul>
675            </td>
676
677          </tr> <!-- end of entry -->
678
679
680          <tr class="entry" id="controls_android.control.aeLock">
681            <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Lock</td>
682            <td class="entry_type">
683                <span class="entry_type_name entry_type_name_enum">byte</span>
684
685
686
687                <ul class="entry_type_enum">
688                  <li>
689                    <span class="entry_type_enum_name">OFF</span>
690                    <span class="entry_type_enum_notes">Autoexposure lock is disabled; the AE algorithm
691            is free to update its parameters.<wbr></span>
692                  </li>
693                  <li>
694                    <span class="entry_type_enum_name">ON</span>
695                    <span class="entry_type_enum_notes">Autoexposure lock is enabled; the AE algorithm
696            must not update the exposure and sensitivity parameters
697            while the lock is active</span>
698                  </li>
699                </ul>
700
701            </td> <!-- entry_type -->
702
703            <td class="entry_description">
704              Whether AE is currently locked to its latest
705          calculated values
706            </td>
707
708            <td class="entry_units">
709            </td>
710
711            <td class="entry_range">
712            </td>
713
714            <td class="entry_notes">
715              Note that even when AE is locked,<wbr> the flash may be
716          fired if the AE mode is ON_<wbr>AUTO_<wbr>FLASH /<wbr> ON_<wbr>ALWAYS_<wbr>FLASH /<wbr>
717          ON_<wbr>AUTO_<wbr>FLASH_<wbr>REDEYE.<wbr>
718            </td>
719
720            <td class="entry_tags">
721              <ul class="entry_tags">
722                  <li><a href="#tag_BC">BC</a></li>
723              </ul>
724            </td>
725
726          </tr> <!-- end of entry -->
727
728
729          <tr class="entry" id="controls_android.control.aeMode">
730            <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Mode</td>
731            <td class="entry_type">
732                <span class="entry_type_name entry_type_name_enum">byte</span>
733
734
735
736                <ul class="entry_type_enum">
737                  <li>
738                    <span class="entry_type_enum_name">OFF</span>
739                    <span class="entry_type_enum_notes">Autoexposure is disabled; sensor.<wbr>exposureTime
740              and sensor.<wbr>sensitivity are used</span>
741                  </li>
742                  <li>
743                    <span class="entry_type_enum_name">ON</span>
744                    <span class="entry_type_enum_notes">Autoexposure is active,<wbr> no flash
745              control</span>
746                  </li>
747                  <li>
748                    <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
749                    <span class="entry_type_enum_notes">if flash exists Autoexposure is active,<wbr> auto
750            flash control; flash may be fired when precapture
751            trigger is activated,<wbr> and for captures for which
752            captureIntent = STILL_<wbr>CAPTURE</span>
753                  </li>
754                  <li>
755                    <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
756                    <span class="entry_type_enum_notes">if flash exists Autoexposure is active,<wbr> auto
757            flash control for precapture trigger and always flash
758            when captureIntent = STILL_<wbr>CAPTURE</span>
759                  </li>
760                  <li>
761                    <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
762                    <span class="entry_type_enum_notes">optional Automatic red eye reduction with flash.<wbr>
763            If deemed necessary,<wbr> red eye reduction sequence should
764            fire when precapture trigger is activated,<wbr> and final
765            flash should fire when captureIntent =
766            STILL_<wbr>CAPTURE</span>
767                  </li>
768                </ul>
769
770            </td> <!-- entry_type -->
771
772            <td class="entry_description">
773              Whether AE is currently updating the sensor
774          exposure and sensitivity fields
775            </td>
776
777            <td class="entry_units">
778            </td>
779
780            <td class="entry_range">
781              android.<wbr>control.<wbr>ae<wbr>Available<wbr>Modes
782            </td>
783
784            <td class="entry_notes">
785              Only effective if android.<wbr>control.<wbr>mode =
786          AUTO
787            </td>
788
789            <td class="entry_tags">
790              <ul class="entry_tags">
791                  <li><a href="#tag_BC">BC</a></li>
792              </ul>
793            </td>
794
795          </tr> <!-- end of entry -->
796
797
798          <tr class="entry" id="controls_android.control.aeRegions">
799            <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Regions</td>
800            <td class="entry_type">
801                <span class="entry_type_name">int32</span>
802                <span class="entry_type_container">x</span>
803
804                <span class="entry_type_array">
805                  5 x area_count
806                </span>
807
808
809
810            </td> <!-- entry_type -->
811
812            <td class="entry_description">
813              List of areas to use for
814          metering
815            </td>
816
817            <td class="entry_units">
818            </td>
819
820            <td class="entry_range">
821            </td>
822
823            <td class="entry_notes">
824              Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
825          xmax,<wbr> ymax,<wbr> weight.<wbr> The coordinate system is based on the
826          active pixel array,<wbr> with (0,<wbr>0) being the top-left of the
827          active pixel array,<wbr> and
828          (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
829          android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
830          bottom-right point of the active pixel array.<wbr> The weight
831          should be nonnegative.<wbr> If all regions have 0 weight,<wbr> then
832          no specific metering area needs to be used by the HAL.<wbr> If
833          the metering region is outside the current
834          android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL should ignore the
835          sections outside the region and output the used sections
836          in the frame metadata
837            </td>
838
839            <td class="entry_tags">
840              <ul class="entry_tags">
841                  <li><a href="#tag_BC">BC</a></li>
842              </ul>
843            </td>
844
845          </tr> <!-- end of entry -->
846
847
848          <tr class="entry" id="controls_android.control.aeTargetFpsRange">
849            <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Target<wbr>Fps<wbr>Range</td>
850            <td class="entry_type">
851                <span class="entry_type_name">int32</span>
852                <span class="entry_type_container">x</span>
853
854                <span class="entry_type_array">
855                  2
856                </span>
857
858
859
860            </td> <!-- entry_type -->
861
862            <td class="entry_description">
863              Range over which fps can be adjusted to
864          maintain exposure
865            </td>
866
867            <td class="entry_units">
868            </td>
869
870            <td class="entry_range">
871              android.<wbr>control.<wbr>ae<wbr>Available<wbr>Target<wbr>Fps<wbr>Ranges
872            </td>
873
874            <td class="entry_notes">
875              Only constrains AE algorithm,<wbr> not manual control
876          of android.<wbr>sensor.<wbr>exposure<wbr>Time
877            </td>
878
879            <td class="entry_tags">
880              <ul class="entry_tags">
881                  <li><a href="#tag_BC">BC</a></li>
882              </ul>
883            </td>
884
885          </tr> <!-- end of entry -->
886
887
888          <tr class="entry" id="controls_android.control.aePrecaptureTrigger">
889            <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Precapture<wbr>Trigger</td>
890            <td class="entry_type">
891                <span class="entry_type_name entry_type_name_enum">byte</span>
892
893
894
895                <ul class="entry_type_enum">
896                  <li>
897                    <span class="entry_type_enum_name">IDLE</span>
898                    <span class="entry_type_enum_notes">The trigger is idle.<wbr></span>
899                  </li>
900                  <li>
901                    <span class="entry_type_enum_name">START</span>
902                    <span class="entry_type_enum_notes">The precapture metering sequence
903              must be started.<wbr> The exact effect of the precapture
904              trigger depends on the current AE mode and
905              state.<wbr></span>
906                  </li>
907                </ul>
908
909            </td> <!-- entry_type -->
910
911            <td class="entry_description">
912              Whether the HAL must trigger precapture
913          metering.<wbr>
914            </td>
915
916            <td class="entry_units">
917            </td>
918
919            <td class="entry_range">
920            </td>
921
922            <td class="entry_notes">
923              This entry is normally set to IDLE,<wbr> or is not
924          included at all in the request settings.<wbr> When included and
925          set to START,<wbr> the HAL must trigger the autoexposure
926          precapture metering sequence.<wbr> The effect of AE precapture
927          trigger depends on the current AE mode and state; see the
928          camera HAL device v3 header for details.<wbr>
929            </td>
930
931            <td class="entry_tags">
932              <ul class="entry_tags">
933                  <li><a href="#tag_BC">BC</a></li>
934              </ul>
935            </td>
936
937          </tr> <!-- end of entry -->
938
939
940          <tr class="entry" id="controls_android.control.afMode">
941            <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Mode</td>
942            <td class="entry_type">
943                <span class="entry_type_name entry_type_name_enum">byte</span>
944
945
946
947                <ul class="entry_type_enum">
948                  <li>
949                    <span class="entry_type_enum_name">OFF</span>
950                    <span class="entry_type_enum_notes">The 3A routines do not control the lens;
951            android.<wbr>lens.<wbr>focus<wbr>Position is controlled by the
952            application</span>
953                  </li>
954                  <li>
955                    <span class="entry_type_enum_name">AUTO</span>
956                    <span class="entry_type_enum_notes">if lens is not fixed focus.<wbr> Use
957            android.<wbr>lens.<wbr>minimum<wbr>Focus<wbr>Distance to determine if lens
958            is fixed focus In this mode,<wbr> the lens does not move
959            unless the autofocus trigger action is called.<wbr> When
960            that trigger is activated,<wbr> AF must transition to
961            ACTIVE_<wbr>SCAN,<wbr> then to the outcome of the scan (FOCUSED
962            or NOT_<wbr>FOCUSED).<wbr> Triggering cancel AF resets the lens
963            position to default,<wbr> and sets the AF state to
964            INACTIVE.<wbr></span>
965                  </li>
966                  <li>
967                    <span class="entry_type_enum_name">MACRO</span>
968                    <span class="entry_type_enum_notes">In this mode,<wbr> the lens does not move unless the
969            autofocus trigger action is called.<wbr> When that trigger
970            is activated,<wbr> AF must transition to ACTIVE_<wbr>SCAN,<wbr> then
971            to the outcome of the scan (FOCUSED or NOT_<wbr>FOCUSED).<wbr>
972            Triggering cancel AF resets the lens position to
973            default,<wbr> and sets the AF state to
974            INACTIVE.<wbr></span>
975                  </li>
976                  <li>
977                    <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
978                    <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
979            position continually to attempt to provide a
980            constantly-in-focus image stream.<wbr> The focusing behavior
981            should be suitable for good quality video recording;
982            typically this means slower focus movement and no
983            overshoots.<wbr> When the AF trigger is not involved,<wbr> the AF
984            algorithm should start in INACTIVE state,<wbr> and then
985            transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states
986            as appropriate.<wbr> When the AF trigger is activated,<wbr> the
987            algorithm should immediately transition into AF_<wbr>FOCUSED
988            or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the lens
989            position until a cancel AF trigger is received.<wbr> Once
990            cancel is received,<wbr> the algorithm should transition
991            back to INACTIVE and resume passive scan.<wbr> Note that
992            this behavior is not identical to CONTINUOUS_<wbr>PICTURE,<wbr>
993            since an ongoing PASSIVE_<wbr>SCAN must immediately be
994            canceled.<wbr></span>
995                  </li>
996                  <li>
997                    <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
998                    <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
999            position continually to attempt to provide a
1000            constantly-in-focus image stream.<wbr> The focusing behavior
1001            should be suitable for still image capture; typically
1002            this means focusing as fast as possible.<wbr> When the AF
1003            trigger is not involved,<wbr> the AF algorithm should start
1004            in INACTIVE state,<wbr> and then transition into
1005            PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states as appropriate
1006            as it attempts to maintain focus.<wbr> When the AF trigger
1007            is activated,<wbr> the algorithm should finish its
1008            PASSIVE_<wbr>SCAN if active,<wbr> and then transition into
1009            AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock
1010            the lens position until a cancel AF trigger is
1011            received.<wbr> When the AF cancel trigger is activated,<wbr> the
1012            algorithm should transition back to INACTIVE and then
1013            act as if it has just been started.<wbr></span>
1014                  </li>
1015                  <li>
1016                    <span class="entry_type_enum_name">EDOF</span>
1017                    <span class="entry_type_enum_notes">Extended depth of field (digital focus).<wbr> AF
1018            trigger is ignored,<wbr> AF state should always be
1019            INACTIVE.<wbr></span>
1020                  </li>
1021                </ul>
1022
1023            </td> <!-- entry_type -->
1024
1025            <td class="entry_description">
1026              Whether AF is currently enabled,<wbr> and what
1027          mode it is set to
1028            </td>
1029
1030            <td class="entry_units">
1031            </td>
1032
1033            <td class="entry_range">
1034            </td>
1035
1036            <td class="entry_notes">
1037            </td>
1038
1039            <td class="entry_tags">
1040              <ul class="entry_tags">
1041                  <li><a href="#tag_BC">BC</a></li>
1042              </ul>
1043            </td>
1044
1045          </tr> <!-- end of entry -->
1046
1047
1048          <tr class="entry" id="controls_android.control.afRegions">
1049            <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Regions</td>
1050            <td class="entry_type">
1051                <span class="entry_type_name">int32</span>
1052                <span class="entry_type_container">x</span>
1053
1054                <span class="entry_type_array">
1055                  5 x area_count
1056                </span>
1057
1058
1059
1060            </td> <!-- entry_type -->
1061
1062            <td class="entry_description">
1063              List of areas to use for focus
1064          estimation
1065            </td>
1066
1067            <td class="entry_units">
1068            </td>
1069
1070            <td class="entry_range">
1071            </td>
1072
1073            <td class="entry_notes">
1074              Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
1075          xmax,<wbr> ymax,<wbr> weight.<wbr> The coordinate system is based on the
1076          active pixel array,<wbr> with (0,<wbr>0) being the top-left of the
1077          active pixel array,<wbr> and
1078          (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
1079          android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
1080          bottom-right point of the active pixel array.<wbr> The weight
1081          should be nonnegative.<wbr> If all regions have 0 weight,<wbr> then
1082          no specific focus area needs to be used by the HAL.<wbr> If
1083          the focusing region is outside the current
1084          android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL should ignore the
1085          sections outside the region and output the used sections
1086          in the frame metadata
1087            </td>
1088
1089            <td class="entry_tags">
1090              <ul class="entry_tags">
1091                  <li><a href="#tag_BC">BC</a></li>
1092              </ul>
1093            </td>
1094
1095          </tr> <!-- end of entry -->
1096
1097
1098          <tr class="entry" id="controls_android.control.afTrigger">
1099            <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Trigger</td>
1100            <td class="entry_type">
1101                <span class="entry_type_name entry_type_name_enum">byte</span>
1102
1103
1104
1105                <ul class="entry_type_enum">
1106                  <li>
1107                    <span class="entry_type_enum_name">IDLE</span>
1108                    <span class="entry_type_enum_notes">The trigger is idle.<wbr></span>
1109                  </li>
1110                  <li>
1111                    <span class="entry_type_enum_name">START</span>
1112                    <span class="entry_type_enum_notes">Autofocus must trigger now.<wbr></span>
1113                  </li>
1114                  <li>
1115                    <span class="entry_type_enum_name">CANCEL</span>
1116                    <span class="entry_type_enum_notes">Autofocus must return to initial
1117              state,<wbr> and cancel any active trigger.<wbr></span>
1118                  </li>
1119                </ul>
1120
1121            </td> <!-- entry_type -->
1122
1123            <td class="entry_description">
1124              Whether the HAL must trigger autofocus.<wbr>
1125            </td>
1126
1127            <td class="entry_units">
1128            </td>
1129
1130            <td class="entry_range">
1131            </td>
1132
1133            <td class="entry_notes">
1134              This entry is normally set to IDLE,<wbr> or is not
1135          included at all in the request settings.<wbr> When included and
1136          set to START,<wbr> the HAL must trigger the autofocus
1137          algorithm.<wbr> The effect of AF trigger depends on the current
1138          AF mode and state; see the camera HAL device v3 header for
1139          details.<wbr> When set to CANCEL,<wbr> the HAL must cancel any active
1140          trigger,<wbr> and return to initial AF state.<wbr>
1141            </td>
1142
1143            <td class="entry_tags">
1144              <ul class="entry_tags">
1145                  <li><a href="#tag_BC">BC</a></li>
1146              </ul>
1147            </td>
1148
1149          </tr> <!-- end of entry -->
1150
1151
1152          <tr class="entry" id="controls_android.control.awbLock">
1153            <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Lock</td>
1154            <td class="entry_type">
1155                <span class="entry_type_name entry_type_name_enum">byte</span>
1156
1157
1158
1159                <ul class="entry_type_enum">
1160                  <li>
1161                    <span class="entry_type_enum_name">OFF</span>
1162                    <span class="entry_type_enum_notes">Auto-whitebalance lock is disabled; the AWB
1163            algorithm is free to update its parameters if in AUTO
1164            mode.<wbr></span>
1165                  </li>
1166                  <li>
1167                    <span class="entry_type_enum_name">ON</span>
1168                    <span class="entry_type_enum_notes">Auto-whitebalance lock is enabled; the AWB
1169            algorithm must not update the exposure and sensitivity
1170            parameters while the lock is active</span>
1171                  </li>
1172                </ul>
1173
1174            </td> <!-- entry_type -->
1175
1176            <td class="entry_description">
1177              Whether AWB is currently locked to its
1178          latest calculated values
1179            </td>
1180
1181            <td class="entry_units">
1182            </td>
1183
1184            <td class="entry_range">
1185            </td>
1186
1187            <td class="entry_notes">
1188              Note that AWB lock is only meaningful for AUTO
1189          mode; in other modes,<wbr> AWB is already fixed to a specific
1190          setting
1191            </td>
1192
1193            <td class="entry_tags">
1194              <ul class="entry_tags">
1195                  <li><a href="#tag_BC">BC</a></li>
1196              </ul>
1197            </td>
1198
1199          </tr> <!-- end of entry -->
1200
1201
1202          <tr class="entry" id="controls_android.control.awbMode">
1203            <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Mode</td>
1204            <td class="entry_type">
1205                <span class="entry_type_name entry_type_name_enum">byte</span>
1206
1207
1208
1209                <ul class="entry_type_enum">
1210                  <li>
1211                    <span class="entry_type_enum_name">OFF</span>
1212                  </li>
1213                  <li>
1214                    <span class="entry_type_enum_name">AUTO</span>
1215                  </li>
1216                  <li>
1217                    <span class="entry_type_enum_name">INCANDESCENT</span>
1218                  </li>
1219                  <li>
1220                    <span class="entry_type_enum_name">FLUORESCENT</span>
1221                  </li>
1222                  <li>
1223                    <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
1224                  </li>
1225                  <li>
1226                    <span class="entry_type_enum_name">DAYLIGHT</span>
1227                  </li>
1228                  <li>
1229                    <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
1230                  </li>
1231                  <li>
1232                    <span class="entry_type_enum_name">TWILIGHT</span>
1233                  </li>
1234                  <li>
1235                    <span class="entry_type_enum_name">SHADE</span>
1236                  </li>
1237                </ul>
1238
1239            </td> <!-- entry_type -->
1240
1241            <td class="entry_description">
1242              Whether AWB is currently setting the color
1243          transform fields,<wbr> and what its illumination target
1244          is
1245            </td>
1246
1247            <td class="entry_units">
1248            </td>
1249
1250            <td class="entry_range">
1251            </td>
1252
1253            <td class="entry_notes">
1254              [BC - AWB lock,<wbr>AWB modes]
1255            </td>
1256
1257            <td class="entry_tags">
1258              <ul class="entry_tags">
1259                  <li><a href="#tag_BC">BC</a></li>
1260                  <li><a href="#tag_AWB">AWB</a></li>
1261              </ul>
1262            </td>
1263
1264          </tr> <!-- end of entry -->
1265
1266
1267          <tr class="entry" id="controls_android.control.awbRegions">
1268            <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Regions</td>
1269            <td class="entry_type">
1270                <span class="entry_type_name">int32</span>
1271                <span class="entry_type_container">x</span>
1272
1273                <span class="entry_type_array">
1274                  5 x area_count
1275                </span>
1276
1277
1278
1279            </td> <!-- entry_type -->
1280
1281            <td class="entry_description">
1282              List of areas to use for illuminant
1283          estimation
1284            </td>
1285
1286            <td class="entry_units">
1287            </td>
1288
1289            <td class="entry_range">
1290            </td>
1291
1292            <td class="entry_notes">
1293              Only used in AUTO mode.<wbr> Each area is a rectangle
1294          plus weight: xmin,<wbr> ymin,<wbr> xmax,<wbr> ymax,<wbr> weight.<wbr> The
1295          coordinate system is based on the active pixel array,<wbr>
1296          with (0,<wbr>0) being the top-left of the active pixel array,<wbr>
1297          and (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
1298          android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
1299          bottom-right point of the active pixel array.<wbr> The weight
1300          should be nonnegative.<wbr> If all regions have 0 weight,<wbr> then
1301          no specific metering area needs to be used by the HAL.<wbr> If
1302          the metering region is outside the current
1303          android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL should ignore the
1304          sections outside the region and output the used sections
1305          in the frame metadata
1306            </td>
1307
1308            <td class="entry_tags">
1309              <ul class="entry_tags">
1310                  <li><a href="#tag_BC">BC</a></li>
1311              </ul>
1312            </td>
1313
1314          </tr> <!-- end of entry -->
1315
1316
1317          <tr class="entry" id="controls_android.control.captureIntent">
1318            <td class="entry_name">android.<wbr>control.<wbr>capture<wbr>Intent</td>
1319            <td class="entry_type">
1320                <span class="entry_type_name entry_type_name_enum">byte</span>
1321
1322
1323
1324                <ul class="entry_type_enum">
1325                  <li>
1326                    <span class="entry_type_enum_name">CUSTOM</span>
1327                    <span class="entry_type_enum_notes">This request doesn't fall into the other
1328            categories.<wbr> Default to preview-like
1329            behavior.<wbr></span>
1330                  </li>
1331                  <li>
1332                    <span class="entry_type_enum_name">PREVIEW</span>
1333                    <span class="entry_type_enum_notes">This request is for a preview-like usecase.<wbr> The
1334            precapture trigger may be used to start off a metering
1335            w/<wbr>flash sequence</span>
1336                  </li>
1337                  <li>
1338                    <span class="entry_type_enum_name">STILL_CAPTURE</span>
1339                    <span class="entry_type_enum_notes">This request is for a still capture-type
1340            usecase.<wbr></span>
1341                  </li>
1342                  <li>
1343                    <span class="entry_type_enum_name">VIDEO_RECORD</span>
1344                    <span class="entry_type_enum_notes">This request is for a video recording
1345            usecase.<wbr></span>
1346                  </li>
1347                  <li>
1348                    <span class="entry_type_enum_name">VIDEO_SNAPSHOT</span>
1349                    <span class="entry_type_enum_notes">This request is for a video snapshot (still
1350            image while recording video) usecase</span>
1351                  </li>
1352                  <li>
1353                    <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
1354                    <span class="entry_type_enum_notes">This request is for a ZSL usecase; the
1355            application will stream full-resolution images and
1356            reprocess one or several later for a final
1357            capture</span>
1358                  </li>
1359                </ul>
1360
1361            </td> <!-- entry_type -->
1362
1363            <td class="entry_description">
1364              Information to 3A routines about the purpose
1365          of this capture,<wbr> to help decide optimal 3A
1366          strategy
1367            </td>
1368
1369            <td class="entry_units">
1370            </td>
1371
1372            <td class="entry_range">
1373              all must be supported
1374            </td>
1375
1376            <td class="entry_notes">
1377              Only used if android.<wbr>control.<wbr>mode != OFF.<wbr>
1378            </td>
1379
1380            <td class="entry_tags">
1381              <ul class="entry_tags">
1382                  <li><a href="#tag_BC">BC</a></li>
1383              </ul>
1384            </td>
1385
1386          </tr> <!-- end of entry -->
1387
1388
1389          <tr class="entry" id="controls_android.control.effectMode">
1390            <td class="entry_name">android.<wbr>control.<wbr>effect<wbr>Mode</td>
1391            <td class="entry_type">
1392                <span class="entry_type_name entry_type_name_enum">byte</span>
1393
1394
1395
1396                <ul class="entry_type_enum">
1397                  <li>
1398                    <span class="entry_type_enum_name">OFF</span>
1399                  </li>
1400                  <li>
1401                    <span class="entry_type_enum_name">MONO</span>
1402                    <span class="entry_type_enum_optional">optional</span>
1403                  </li>
1404                  <li>
1405                    <span class="entry_type_enum_name">NEGATIVE</span>
1406                    <span class="entry_type_enum_optional">optional</span>
1407                  </li>
1408                  <li>
1409                    <span class="entry_type_enum_name">SOLARIZE</span>
1410                    <span class="entry_type_enum_optional">optional</span>
1411                  </li>
1412                  <li>
1413                    <span class="entry_type_enum_name">SEPIA</span>
1414                    <span class="entry_type_enum_optional">optional</span>
1415                  </li>
1416                  <li>
1417                    <span class="entry_type_enum_name">POSTERIZE</span>
1418                    <span class="entry_type_enum_optional">optional</span>
1419                  </li>
1420                  <li>
1421                    <span class="entry_type_enum_name">WHITEBOARD</span>
1422                    <span class="entry_type_enum_optional">optional</span>
1423                  </li>
1424                  <li>
1425                    <span class="entry_type_enum_name">BLACKBOARD</span>
1426                    <span class="entry_type_enum_optional">optional</span>
1427                  </li>
1428                  <li>
1429                    <span class="entry_type_enum_name">AQUA</span>
1430                    <span class="entry_type_enum_optional">optional</span>
1431                  </li>
1432                </ul>
1433
1434            </td> <!-- entry_type -->
1435
1436            <td class="entry_description">
1437              Whether any special color effect is in use.<wbr>
1438          Only used if android.<wbr>control.<wbr>mode != OFF
1439            </td>
1440
1441            <td class="entry_units">
1442            </td>
1443
1444            <td class="entry_range">
1445              android.<wbr>control.<wbr>available<wbr>Effects
1446            </td>
1447
1448            <td class="entry_notes">
1449            </td>
1450
1451            <td class="entry_tags">
1452              <ul class="entry_tags">
1453                  <li><a href="#tag_BC">BC</a></li>
1454              </ul>
1455            </td>
1456
1457          </tr> <!-- end of entry -->
1458
1459
1460          <tr class="entry" id="controls_android.control.mode">
1461            <td class="entry_name">android.<wbr>control.<wbr>mode</td>
1462            <td class="entry_type">
1463                <span class="entry_type_name entry_type_name_enum">byte</span>
1464
1465
1466
1467                <ul class="entry_type_enum">
1468                  <li>
1469                    <span class="entry_type_enum_name">OFF</span>
1470                    <span class="entry_type_enum_notes">Full application control of pipeline.<wbr> All 3A
1471            routines are disabled,<wbr> no other settings in
1472            android.<wbr>control.<wbr>* have any effect</span>
1473                  </li>
1474                  <li>
1475                    <span class="entry_type_enum_name">AUTO</span>
1476                    <span class="entry_type_enum_notes">Use settings for each individual 3A routine.<wbr>
1477            Manual control of capture parameters is disabled.<wbr> All
1478            controls in android.<wbr>control.<wbr>* besides sceneMode take
1479            effect</span>
1480                  </li>
1481                  <li>
1482                    <span class="entry_type_enum_name">USE_SCENE_MODE</span>
1483                    <span class="entry_type_enum_notes">Use specific scene mode.<wbr> Enabling this disables
1484            control.<wbr>aeMode,<wbr> control.<wbr>awbMode and control.<wbr>afMode
1485            controls; the HAL must ignore those settings while
1486            USE_<wbr>SCENE_<wbr>MODE is active (except for FACE_<wbr>PRIORITY
1487            scene mode).<wbr> Other control entries are still active.<wbr>
1488            This setting can only be used if availableSceneModes !=
1489            UNSUPPORTED</span>
1490                  </li>
1491                </ul>
1492
1493            </td> <!-- entry_type -->
1494
1495            <td class="entry_description">
1496              Overall mode of 3A control
1497          routines
1498            </td>
1499
1500            <td class="entry_units">
1501            </td>
1502
1503            <td class="entry_range">
1504              all must be supported
1505            </td>
1506
1507            <td class="entry_notes">
1508            </td>
1509
1510            <td class="entry_tags">
1511              <ul class="entry_tags">
1512                  <li><a href="#tag_BC">BC</a></li>
1513              </ul>
1514            </td>
1515
1516          </tr> <!-- end of entry -->
1517
1518
1519          <tr class="entry" id="controls_android.control.sceneMode">
1520            <td class="entry_name">android.<wbr>control.<wbr>scene<wbr>Mode</td>
1521            <td class="entry_type">
1522                <span class="entry_type_name entry_type_name_enum">byte</span>
1523
1524
1525
1526                <ul class="entry_type_enum">
1527                  <li>
1528                    <span class="entry_type_enum_name">UNSUPPORTED</span>
1529                    <span class="entry_type_enum_value">0</span>
1530                  </li>
1531                  <li>
1532                    <span class="entry_type_enum_name">FACE_PRIORITY</span>
1533                    <span class="entry_type_enum_notes">if face detection support exists Use face
1534            detection data to drive 3A routines.<wbr> If face detection
1535            statistics are disabled,<wbr> should still operate correctly
1536            (but not return face detection statistics to the
1537            framework).<wbr> Unlike the other scene modes,<wbr> aeMode,<wbr>
1538            awbMode,<wbr> and afMode remain active when FACE_<wbr>PRIORITY is
1539            set.<wbr> This is due to compatibility concerns with the old
1540            camera API</span>
1541                  </li>
1542                  <li>
1543                    <span class="entry_type_enum_name">ACTION</span>
1544                    <span class="entry_type_enum_optional">optional</span>
1545                  </li>
1546                  <li>
1547                    <span class="entry_type_enum_name">PORTRAIT</span>
1548                    <span class="entry_type_enum_optional">optional</span>
1549                  </li>
1550                  <li>
1551                    <span class="entry_type_enum_name">LANDSCAPE</span>
1552                    <span class="entry_type_enum_optional">optional</span>
1553                  </li>
1554                  <li>
1555                    <span class="entry_type_enum_name">NIGHT</span>
1556                    <span class="entry_type_enum_optional">optional</span>
1557                  </li>
1558                  <li>
1559                    <span class="entry_type_enum_name">NIGHT_PORTRAIT</span>
1560                    <span class="entry_type_enum_optional">optional</span>
1561                  </li>
1562                  <li>
1563                    <span class="entry_type_enum_name">THEATRE</span>
1564                    <span class="entry_type_enum_optional">optional</span>
1565                  </li>
1566                  <li>
1567                    <span class="entry_type_enum_name">BEACH</span>
1568                    <span class="entry_type_enum_optional">optional</span>
1569                  </li>
1570                  <li>
1571                    <span class="entry_type_enum_name">SNOW</span>
1572                    <span class="entry_type_enum_optional">optional</span>
1573                  </li>
1574                  <li>
1575                    <span class="entry_type_enum_name">SUNSET</span>
1576                    <span class="entry_type_enum_optional">optional</span>
1577                  </li>
1578                  <li>
1579                    <span class="entry_type_enum_name">STEADYPHOTO</span>
1580                    <span class="entry_type_enum_optional">optional</span>
1581                  </li>
1582                  <li>
1583                    <span class="entry_type_enum_name">FIREWORKS</span>
1584                    <span class="entry_type_enum_optional">optional</span>
1585                  </li>
1586                  <li>
1587                    <span class="entry_type_enum_name">SPORTS</span>
1588                    <span class="entry_type_enum_optional">optional</span>
1589                  </li>
1590                  <li>
1591                    <span class="entry_type_enum_name">PARTY</span>
1592                    <span class="entry_type_enum_optional">optional</span>
1593                  </li>
1594                  <li>
1595                    <span class="entry_type_enum_name">CANDLELIGHT</span>
1596                    <span class="entry_type_enum_optional">optional</span>
1597                  </li>
1598                  <li>
1599                    <span class="entry_type_enum_name">BARCODE</span>
1600                    <span class="entry_type_enum_optional">optional</span>
1601                  </li>
1602                </ul>
1603
1604            </td> <!-- entry_type -->
1605
1606            <td class="entry_description">
1607              Which scene mode is active when
1608          android.<wbr>control.<wbr>mode = SCENE_<wbr>MODE
1609            </td>
1610
1611            <td class="entry_units">
1612            </td>
1613
1614            <td class="entry_range">
1615              android.<wbr>control.<wbr>available<wbr>Scene<wbr>Modes
1616            </td>
1617
1618            <td class="entry_notes">
1619            </td>
1620
1621            <td class="entry_tags">
1622              <ul class="entry_tags">
1623                  <li><a href="#tag_BC">BC</a></li>
1624              </ul>
1625            </td>
1626
1627          </tr> <!-- end of entry -->
1628
1629
1630          <tr class="entry" id="controls_android.control.videoStabilizationMode">
1631            <td class="entry_name">android.<wbr>control.<wbr>video<wbr>Stabilization<wbr>Mode</td>
1632            <td class="entry_type">
1633                <span class="entry_type_name entry_type_name_enum">byte</span>
1634
1635
1636
1637                <ul class="entry_type_enum">
1638                  <li>
1639                    <span class="entry_type_enum_name">OFF</span>
1640                  </li>
1641                  <li>
1642                    <span class="entry_type_enum_name">ON</span>
1643                  </li>
1644                </ul>
1645
1646            </td> <!-- entry_type -->
1647
1648            <td class="entry_description">
1649              Whether video stabilization is
1650          active
1651            </td>
1652
1653            <td class="entry_units">
1654            </td>
1655
1656            <td class="entry_range">
1657            </td>
1658
1659            <td class="entry_notes">
1660              If enabled,<wbr> video stabilization can modify the
1661          android.<wbr>scaler.<wbr>crop<wbr>Region to keep the video stream
1662          stabilized
1663            </td>
1664
1665            <td class="entry_tags">
1666              <ul class="entry_tags">
1667                  <li><a href="#tag_BC">BC</a></li>
1668              </ul>
1669            </td>
1670
1671          </tr> <!-- end of entry -->
1672
1673
1674
1675      <!-- end of kind -->
1676      </tbody>
1677      <tr><td colspan="7" class="kind">static</td></tr>
1678
1679      <thead>
1680        <tr>
1681          <th class="th_name">Property Name</th>
1682          <th class="th_type">Type</th>
1683          <th class="th_description">Description</th>
1684          <th class="th_units">Units</th>
1685          <th class="th_range">Range</th>
1686          <th class="th_notes">Notes</th>
1687          <th class="th_tags">Tags</th>
1688        </tr>
1689      </thead>
1690
1691      <tbody>
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702          <tr class="entry" id="static_android.control.aeAvailableAntibandingModes">
1703            <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Antibanding<wbr>Modes</td>
1704            <td class="entry_type">
1705                <span class="entry_type_name">byte</span>
1706                <span class="entry_type_container">x</span>
1707
1708                <span class="entry_type_array">
1709                  n
1710                </span>
1711
1712                <div class="entry_type_notes">list of enums</div>
1713
1714
1715            </td> <!-- entry_type -->
1716
1717            <td class="entry_description">
1718              Which set of antibanding modes are
1719          supported
1720            </td>
1721
1722            <td class="entry_units">
1723            </td>
1724
1725            <td class="entry_range">
1726            </td>
1727
1728            <td class="entry_notes">
1729            </td>
1730
1731            <td class="entry_tags">
1732            </td>
1733
1734          </tr> <!-- end of entry -->
1735
1736
1737          <tr class="entry" id="static_android.control.aeAvailableModes">
1738            <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Modes</td>
1739            <td class="entry_type">
1740                <span class="entry_type_name">byte</span>
1741                <span class="entry_type_container">x</span>
1742
1743                <span class="entry_type_array">
1744                  n
1745                </span>
1746
1747                <div class="entry_type_notes">list of enums</div>
1748
1749
1750            </td> <!-- entry_type -->
1751
1752            <td class="entry_description">
1753              Which subset of AE modes is
1754          supported
1755            </td>
1756
1757            <td class="entry_units">
1758            </td>
1759
1760            <td class="entry_range">
1761              OFF,<wbr> ON must be supported.<wbr>
1762          ON_<wbr>AUTO_<wbr>FLASH/<wbr>ON_<wbr>ALWAYS_<wbr>FLASH must be supported if flash
1763          unit is available
1764            </td>
1765
1766            <td class="entry_notes">
1767            </td>
1768
1769            <td class="entry_tags">
1770            </td>
1771
1772          </tr> <!-- end of entry -->
1773
1774
1775          <tr class="entry" id="static_android.control.aeAvailableTargetFpsRanges">
1776            <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Target<wbr>Fps<wbr>Ranges</td>
1777            <td class="entry_type">
1778                <span class="entry_type_name">int32</span>
1779                <span class="entry_type_container">x</span>
1780
1781                <span class="entry_type_array">
1782                  2 x n
1783                </span>
1784
1785                <div class="entry_type_notes">list of pairs of frame rates</div>
1786
1787
1788            </td> <!-- entry_type -->
1789
1790            <td class="entry_description">
1791              List of frame rate ranges supported by the
1792          AE algorithm/<wbr>hardware
1793            </td>
1794
1795            <td class="entry_units">
1796            </td>
1797
1798            <td class="entry_range">
1799            </td>
1800
1801            <td class="entry_notes">
1802            </td>
1803
1804            <td class="entry_tags">
1805            </td>
1806
1807          </tr> <!-- end of entry -->
1808
1809
1810          <tr class="entry" id="static_android.control.aeCompensationRange">
1811            <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Range</td>
1812            <td class="entry_type">
1813                <span class="entry_type_name">int32</span>
1814                <span class="entry_type_container">x</span>
1815
1816                <span class="entry_type_array">
1817                  2
1818                </span>
1819
1820
1821
1822            </td> <!-- entry_type -->
1823
1824            <td class="entry_description">
1825              Maximum and minimum exposure compensation
1826          setting,<wbr> in counts of
1827          android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Step<wbr>Size
1828            </td>
1829
1830            <td class="entry_units">
1831            </td>
1832
1833            <td class="entry_range">
1834              At least (-2,<wbr>2)/<wbr>(exp compensation step
1835          size)
1836            </td>
1837
1838            <td class="entry_notes">
1839            </td>
1840
1841            <td class="entry_tags">
1842              <ul class="entry_tags">
1843                  <li><a href="#tag_BC">BC</a></li>
1844              </ul>
1845            </td>
1846
1847          </tr> <!-- end of entry -->
1848
1849
1850          <tr class="entry" id="static_android.control.aeCompensationStep">
1851            <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Step</td>
1852            <td class="entry_type">
1853                <span class="entry_type_name">rational</span>
1854
1855
1856
1857
1858            </td> <!-- entry_type -->
1859
1860            <td class="entry_description">
1861              Smallest step by which exposure compensation
1862          can be changed
1863            </td>
1864
1865            <td class="entry_units">
1866            </td>
1867
1868            <td class="entry_range">
1869              <= 1/<wbr>2
1870            </td>
1871
1872            <td class="entry_notes">
1873            </td>
1874
1875            <td class="entry_tags">
1876              <ul class="entry_tags">
1877                  <li><a href="#tag_BC">BC</a></li>
1878              </ul>
1879            </td>
1880
1881          </tr> <!-- end of entry -->
1882
1883
1884          <tr class="entry" id="static_android.control.afAvailableModes">
1885            <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Available<wbr>Modes</td>
1886            <td class="entry_type">
1887                <span class="entry_type_name">byte</span>
1888                <span class="entry_type_container">x</span>
1889
1890                <span class="entry_type_array">
1891                  n
1892                </span>
1893
1894                <div class="entry_type_notes">List of enums</div>
1895
1896
1897            </td> <!-- entry_type -->
1898
1899            <td class="entry_description">
1900              List of AF modes that can be
1901          selected
1902            </td>
1903
1904            <td class="entry_units">
1905            </td>
1906
1907            <td class="entry_range">
1908              OFF must be included.<wbr> AUTO must be supported if
1909          lens allows for changing focus
1910            </td>
1911
1912            <td class="entry_notes">
1913            </td>
1914
1915            <td class="entry_tags">
1916              <ul class="entry_tags">
1917                  <li><a href="#tag_BC">BC</a></li>
1918              </ul>
1919            </td>
1920
1921          </tr> <!-- end of entry -->
1922
1923
1924          <tr class="entry" id="static_android.control.availableEffects">
1925            <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Effects</td>
1926            <td class="entry_type">
1927                <span class="entry_type_name">byte</span>
1928                <span class="entry_type_container">x</span>
1929
1930                <span class="entry_type_array">
1931                  n
1932                </span>
1933
1934                <div class="entry_type_notes">list of enums</div>
1935
1936
1937            </td> <!-- entry_type -->
1938
1939            <td class="entry_description">
1940              what subset of the full color effect enum
1941          list is supported
1942            </td>
1943
1944            <td class="entry_units">
1945            </td>
1946
1947            <td class="entry_range">
1948              OFF must be listed
1949            </td>
1950
1951            <td class="entry_notes">
1952            </td>
1953
1954            <td class="entry_tags">
1955              <ul class="entry_tags">
1956                  <li><a href="#tag_BC">BC</a></li>
1957              </ul>
1958            </td>
1959
1960          </tr> <!-- end of entry -->
1961
1962
1963          <tr class="entry" id="static_android.control.availableSceneModes">
1964            <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Scene<wbr>Modes</td>
1965            <td class="entry_type">
1966                <span class="entry_type_name">byte</span>
1967                <span class="entry_type_container">x</span>
1968
1969                <span class="entry_type_array">
1970                  n
1971                </span>
1972
1973                <div class="entry_type_notes">list of enums from android.<wbr>control.<wbr>scene<wbr>Mode,<wbr> plus UNSUPPORTED to indicate no scene modes are supported</div>
1974
1975
1976            </td> <!-- entry_type -->
1977
1978            <td class="entry_description">
1979              what subset of the scene mode enum list is
1980          supported.<wbr>
1981            </td>
1982
1983            <td class="entry_units">
1984            </td>
1985
1986            <td class="entry_range">
1987              SCENE_<wbr>MODE_<wbr>FACE_<wbr>PRIORITY must be supported if face
1988          detection is supported
1989            </td>
1990
1991            <td class="entry_notes">
1992            </td>
1993
1994            <td class="entry_tags">
1995              <ul class="entry_tags">
1996                  <li><a href="#tag_BC">BC</a></li>
1997              </ul>
1998            </td>
1999
2000          </tr> <!-- end of entry -->
2001
2002
2003          <tr class="entry" id="static_android.control.availableVideoStabilizationModes">
2004            <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Video<wbr>Stabilization<wbr>Modes</td>
2005            <td class="entry_type">
2006                <span class="entry_type_name">byte</span>
2007                <span class="entry_type_container">x</span>
2008
2009                <span class="entry_type_array">
2010                  n
2011                </span>
2012
2013                <div class="entry_type_notes">List of enums.<wbr></div>
2014
2015
2016            </td> <!-- entry_type -->
2017
2018            <td class="entry_description">
2019              List of video stabilization modes that can
2020          be supported
2021            </td>
2022
2023            <td class="entry_units">
2024            </td>
2025
2026            <td class="entry_range">
2027              OFF must be included
2028            </td>
2029
2030            <td class="entry_notes">
2031            </td>
2032
2033            <td class="entry_tags">
2034              <ul class="entry_tags">
2035                  <li><a href="#tag_BC">BC</a></li>
2036              </ul>
2037            </td>
2038
2039          </tr> <!-- end of entry -->
2040
2041
2042          <tr class="entry" id="static_android.control.awbAvailableModes">
2043            <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Available<wbr>Modes</td>
2044            <td class="entry_type">
2045                <span class="entry_type_name">byte</span>
2046                <span class="entry_type_container">x</span>
2047
2048                <span class="entry_type_array">
2049                  n
2050                </span>
2051
2052                <div class="entry_type_notes">List of enums (android.<wbr>control.<wbr>awb<wbr>Mode)</div>
2053
2054
2055            </td> <!-- entry_type -->
2056
2057            <td class="entry_description">
2058            </td>
2059
2060            <td class="entry_units">
2061            </td>
2062
2063            <td class="entry_range">
2064              OFF,<wbr> AUTO must be included
2065            </td>
2066
2067            <td class="entry_notes">
2068            </td>
2069
2070            <td class="entry_tags">
2071              <ul class="entry_tags">
2072                  <li><a href="#tag_BC">BC</a></li>
2073              </ul>
2074            </td>
2075
2076          </tr> <!-- end of entry -->
2077
2078
2079          <tr class="entry" id="static_android.control.maxRegions">
2080            <td class="entry_name">android.<wbr>control.<wbr>max<wbr>Regions</td>
2081            <td class="entry_type">
2082                <span class="entry_type_name">int32</span>
2083
2084
2085
2086
2087            </td> <!-- entry_type -->
2088
2089            <td class="entry_description">
2090              For AE,<wbr> AWB,<wbr> and AF,<wbr> how many individual
2091          regions can be listed for metering?
2092            </td>
2093
2094            <td class="entry_units">
2095            </td>
2096
2097            <td class="entry_range">
2098              >= 1
2099            </td>
2100
2101            <td class="entry_notes">
2102            </td>
2103
2104            <td class="entry_tags">
2105              <ul class="entry_tags">
2106                  <li><a href="#tag_BC">BC</a></li>
2107              </ul>
2108            </td>
2109
2110          </tr> <!-- end of entry -->
2111
2112
2113          <tr class="entry" id="static_android.control.sceneModeOverrides">
2114            <td class="entry_name">android.<wbr>control.<wbr>scene<wbr>Mode<wbr>Overrides</td>
2115            <td class="entry_type">
2116                <span class="entry_type_name">byte</span>
2117                <span class="entry_type_container">x</span>
2118
2119                <span class="entry_type_array">
2120                  3 x lengthavailablescenemodes
2121                </span>
2122
2123
2124
2125            </td> <!-- entry_type -->
2126
2127            <td class="entry_description">
2128              List of AE,<wbr> AWB,<wbr> and AF modes to use for
2129          each available scene mode
2130            </td>
2131
2132            <td class="entry_units">
2133            </td>
2134
2135            <td class="entry_range">
2136              For each listed scene mode,<wbr> lists the aeMode,<wbr>
2137          awbMode,<wbr> and afMode that the HAL wants to use for that
2138          scene mode.<wbr> For each entry,<wbr> the order is {aeMode,<wbr>
2139          awbMode,<wbr> afMode} in order of increasing index
2140            </td>
2141
2142            <td class="entry_notes">
2143              When a scene mode is enabled,<wbr> the HAL is expected
2144          to override aeMode,<wbr> awbMode,<wbr> and afMode with its
2145          preferred settings for that scene mode.<wbr> To simplify
2146          communication with old camera API applications,<wbr> the
2147          service wants this override list in the static metadata.<wbr>
2148          The order of this list matches that of
2149          availableSceneModes,<wbr> with 3 entires for each scene mode.<wbr>
2150          The overrides listed for SCENE_<wbr>MODE_<wbr>FACE_<wbr>PRIORITY are
2151          ignored,<wbr> since for that mode,<wbr> the application-set aeMode,<wbr>
2152          awbMode,<wbr> and afMode are used instead,<wbr> like they are when
2153          android.<wbr>control.<wbr>mode is AUTO.<wbr> It is recommended that for
2154          FACE_<wbr>PRIORITY,<wbr> the overrides should be set to 0.<wbr> As an
2155          example,<wbr> if availableSceneModes is { FACE_<wbr>PRIORITY,<wbr>
2156          ACTION,<wbr> NIGHT },<wbr> then the service expects this field to
2157          have 9 entries; for example { 0 ,<wbr> 0,<wbr> 0,<wbr> ON_<wbr>AUTO_<wbr>FLASH,<wbr>
2158          AUTO,<wbr> CONTINUOUS_<wbr>PICTURE,<wbr> ON_<wbr>AUTO_<wbr>FLASH,<wbr> INCANDESCENT,<wbr>
2159          AUTO }
2160            </td>
2161
2162            <td class="entry_tags">
2163              <ul class="entry_tags">
2164                  <li><a href="#tag_BC">BC</a></li>
2165              </ul>
2166            </td>
2167
2168          </tr> <!-- end of entry -->
2169
2170
2171
2172      <!-- end of kind -->
2173      </tbody>
2174      <tr><td colspan="7" class="kind">dynamic</td></tr>
2175
2176      <thead>
2177        <tr>
2178          <th class="th_name">Property Name</th>
2179          <th class="th_type">Type</th>
2180          <th class="th_description">Description</th>
2181          <th class="th_units">Units</th>
2182          <th class="th_range">Range</th>
2183          <th class="th_notes">Notes</th>
2184          <th class="th_tags">Tags</th>
2185        </tr>
2186      </thead>
2187
2188      <tbody>
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199          <tr class="entry" id="dynamic_android.control.aePrecaptureId">
2200            <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Precapture<wbr>Id</td>
2201            <td class="entry_type">
2202                <span class="entry_type_name">int32</span>
2203
2204
2205
2206
2207            </td> <!-- entry_type -->
2208
2209            <td class="entry_description">
2210              The ID sent with the latest
2211          CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING call
2212            </td>
2213
2214            <td class="entry_units">
2215            </td>
2216
2217            <td class="entry_range">
2218            </td>
2219
2220            <td class="entry_notes">
2221              Must be 0 if no
2222          CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING trigger received yet
2223          by HAL.<wbr> Always updated even if AE algorithm ignores the
2224          trigger
2225            </td>
2226
2227            <td class="entry_tags">
2228            </td>
2229
2230          </tr> <!-- end of entry -->
2231
2232
2233          <tr class="entry" id="dynamic_android.control.aeRegions">
2234            <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Regions</td>
2235            <td class="entry_type">
2236                <span class="entry_type_name">int32</span>
2237                <span class="entry_type_container">x</span>
2238
2239                <span class="entry_type_array">
2240                  5 x area_count
2241                </span>
2242
2243
2244
2245            </td> <!-- entry_type -->
2246
2247            <td class="entry_description">
2248              List of areas to use for
2249          metering
2250            </td>
2251
2252            <td class="entry_units">
2253            </td>
2254
2255            <td class="entry_range">
2256            </td>
2257
2258            <td class="entry_notes">
2259              Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
2260          xmax,<wbr> ymax,<wbr> weight.<wbr> The coordinate system is based on the
2261          active pixel array,<wbr> with (0,<wbr>0) being the top-left of the
2262          active pixel array,<wbr> and
2263          (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
2264          android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
2265          bottom-right point of the active pixel array.<wbr> The weight
2266          should be nonnegative.<wbr> If all regions have 0 weight,<wbr> then
2267          no specific metering area needs to be used by the HAL.<wbr> If
2268          the metering region is outside the current
2269          android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL should ignore the
2270          sections outside the region and output the used sections
2271          in the frame metadata
2272            </td>
2273
2274            <td class="entry_tags">
2275              <ul class="entry_tags">
2276                  <li><a href="#tag_BC">BC</a></li>
2277              </ul>
2278            </td>
2279
2280          </tr> <!-- end of entry -->
2281
2282
2283          <tr class="entry" id="dynamic_android.control.aeState">
2284            <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>State</td>
2285            <td class="entry_type">
2286                <span class="entry_type_name entry_type_name_enum">byte</span>
2287
2288
2289
2290                <ul class="entry_type_enum">
2291                  <li>
2292                    <span class="entry_type_enum_name">INACTIVE</span>
2293                    <span class="entry_type_enum_notes">AE is off.<wbr>  When a camera device is opened,<wbr> it starts in
2294            this state.<wbr></span>
2295                  </li>
2296                  <li>
2297                    <span class="entry_type_enum_name">SEARCHING</span>
2298                    <span class="entry_type_enum_notes">AE doesn't yet have a good set of control values
2299            for the current scene</span>
2300                  </li>
2301                  <li>
2302                    <span class="entry_type_enum_name">CONVERGED</span>
2303                    <span class="entry_type_enum_notes">AE has a good set of control values for the
2304            current scene</span>
2305                  </li>
2306                  <li>
2307                    <span class="entry_type_enum_name">LOCKED</span>
2308                    <span class="entry_type_enum_notes">AE has been locked (aeMode =
2309            LOCKED)</span>
2310                  </li>
2311                  <li>
2312                    <span class="entry_type_enum_name">FLASH_REQUIRED</span>
2313                    <span class="entry_type_enum_notes">AE has a good set of control values,<wbr> but flash
2314            needs to be fired for good quality still
2315            capture</span>
2316                  </li>
2317                  <li>
2318                    <span class="entry_type_enum_name">PRECAPTURE</span>
2319                    <span class="entry_type_enum_notes">AE has been asked to do a precapture sequence
2320            (through the
2321            trigger_<wbr>action(CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING)
2322            call),<wbr> and is currently executing it.<wbr> Once PRECAPTURE
2323            completes,<wbr> AE will transition to CONVERGED or
2324            FLASH_<wbr>REQUIRED as appropriate</span>
2325                  </li>
2326                </ul>
2327
2328            </td> <!-- entry_type -->
2329
2330            <td class="entry_description">
2331              Current state of AE algorithm
2332            </td>
2333
2334            <td class="entry_units">
2335            </td>
2336
2337            <td class="entry_range">
2338            </td>
2339
2340            <td class="entry_notes">
2341              Whenever the AE algorithm state changes,<wbr> a
2342          MSG_<wbr>AUTOEXPOSURE notification must be send if a
2343          notification callback is registered.<wbr>
2344            </td>
2345
2346            <td class="entry_tags">
2347            </td>
2348
2349          </tr> <!-- end of entry -->
2350
2351
2352          <tr class="entry" id="dynamic_android.control.afMode">
2353            <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Mode</td>
2354            <td class="entry_type">
2355                <span class="entry_type_name entry_type_name_enum">byte</span>
2356
2357
2358
2359                <ul class="entry_type_enum">
2360                  <li>
2361                    <span class="entry_type_enum_name">OFF</span>
2362                    <span class="entry_type_enum_notes">The 3A routines do not control the lens;
2363            android.<wbr>lens.<wbr>focus<wbr>Position is controlled by the
2364            application</span>
2365                  </li>
2366                  <li>
2367                    <span class="entry_type_enum_name">AUTO</span>
2368                    <span class="entry_type_enum_notes">if lens is not fixed focus.<wbr> Use
2369            android.<wbr>lens.<wbr>minimum<wbr>Focus<wbr>Distance to determine if lens
2370            is fixed focus In this mode,<wbr> the lens does not move
2371            unless the autofocus trigger action is called.<wbr> When
2372            that trigger is activated,<wbr> AF must transition to
2373            ACTIVE_<wbr>SCAN,<wbr> then to the outcome of the scan (FOCUSED
2374            or NOT_<wbr>FOCUSED).<wbr> Triggering cancel AF resets the lens
2375            position to default,<wbr> and sets the AF state to
2376            INACTIVE.<wbr></span>
2377                  </li>
2378                  <li>
2379                    <span class="entry_type_enum_name">MACRO</span>
2380                    <span class="entry_type_enum_notes">In this mode,<wbr> the lens does not move unless the
2381            autofocus trigger action is called.<wbr> When that trigger
2382            is activated,<wbr> AF must transition to ACTIVE_<wbr>SCAN,<wbr> then
2383            to the outcome of the scan (FOCUSED or NOT_<wbr>FOCUSED).<wbr>
2384            Triggering cancel AF resets the lens position to
2385            default,<wbr> and sets the AF state to
2386            INACTIVE.<wbr></span>
2387                  </li>
2388                  <li>
2389                    <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
2390                    <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
2391            position continually to attempt to provide a
2392            constantly-in-focus image stream.<wbr> The focusing behavior
2393            should be suitable for good quality video recording;
2394            typically this means slower focus movement and no
2395            overshoots.<wbr> When the AF trigger is not involved,<wbr> the AF
2396            algorithm should start in INACTIVE state,<wbr> and then
2397            transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states
2398            as appropriate.<wbr> When the AF trigger is activated,<wbr> the
2399            algorithm should immediately transition into AF_<wbr>FOCUSED
2400            or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the lens
2401            position until a cancel AF trigger is received.<wbr> Once
2402            cancel is received,<wbr> the algorithm should transition
2403            back to INACTIVE and resume passive scan.<wbr> Note that
2404            this behavior is not identical to CONTINUOUS_<wbr>PICTURE,<wbr>
2405            since an ongoing PASSIVE_<wbr>SCAN must immediately be
2406            canceled.<wbr></span>
2407                  </li>
2408                  <li>
2409                    <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
2410                    <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
2411            position continually to attempt to provide a
2412            constantly-in-focus image stream.<wbr> The focusing behavior
2413            should be suitable for still image capture; typically
2414            this means focusing as fast as possible.<wbr> When the AF
2415            trigger is not involved,<wbr> the AF algorithm should start
2416            in INACTIVE state,<wbr> and then transition into
2417            PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states as appropriate
2418            as it attempts to maintain focus.<wbr> When the AF trigger
2419            is activated,<wbr> the algorithm should finish its
2420            PASSIVE_<wbr>SCAN if active,<wbr> and then transition into
2421            AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock
2422            the lens position until a cancel AF trigger is
2423            received.<wbr> When the AF cancel trigger is activated,<wbr> the
2424            algorithm should transition back to INACTIVE and then
2425            act as if it has just been started.<wbr></span>
2426                  </li>
2427                  <li>
2428                    <span class="entry_type_enum_name">EDOF</span>
2429                    <span class="entry_type_enum_notes">Extended depth of field (digital focus).<wbr> AF
2430            trigger is ignored,<wbr> AF state should always be
2431            INACTIVE.<wbr></span>
2432                  </li>
2433                </ul>
2434
2435            </td> <!-- entry_type -->
2436
2437            <td class="entry_description">
2438              Whether AF is currently enabled,<wbr> and what
2439          mode it is set to
2440            </td>
2441
2442            <td class="entry_units">
2443            </td>
2444
2445            <td class="entry_range">
2446            </td>
2447
2448            <td class="entry_notes">
2449            </td>
2450
2451            <td class="entry_tags">
2452              <ul class="entry_tags">
2453                  <li><a href="#tag_BC">BC</a></li>
2454              </ul>
2455            </td>
2456
2457          </tr> <!-- end of entry -->
2458
2459
2460          <tr class="entry" id="dynamic_android.control.afRegions">
2461            <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Regions</td>
2462            <td class="entry_type">
2463                <span class="entry_type_name">int32</span>
2464                <span class="entry_type_container">x</span>
2465
2466                <span class="entry_type_array">
2467                  5 x area_count
2468                </span>
2469
2470
2471
2472            </td> <!-- entry_type -->
2473
2474            <td class="entry_description">
2475              List of areas to use for focus
2476          estimation
2477            </td>
2478
2479            <td class="entry_units">
2480            </td>
2481
2482            <td class="entry_range">
2483            </td>
2484
2485            <td class="entry_notes">
2486              Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
2487          xmax,<wbr> ymax,<wbr> weight.<wbr> The coordinate system is based on the
2488          active pixel array,<wbr> with (0,<wbr>0) being the top-left of the
2489          active pixel array,<wbr> and
2490          (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
2491          android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
2492          bottom-right point of the active pixel array.<wbr> The weight
2493          should be nonnegative.<wbr> If all regions have 0 weight,<wbr> then
2494          no specific focus area needs to be used by the HAL.<wbr> If
2495          the focusing region is outside the current
2496          android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL should ignore the
2497          sections outside the region and output the used sections
2498          in the frame metadata
2499            </td>
2500
2501            <td class="entry_tags">
2502              <ul class="entry_tags">
2503                  <li><a href="#tag_BC">BC</a></li>
2504              </ul>
2505            </td>
2506
2507          </tr> <!-- end of entry -->
2508
2509
2510          <tr class="entry" id="dynamic_android.control.afState">
2511            <td class="entry_name">android.<wbr>control.<wbr>af<wbr>State</td>
2512            <td class="entry_type">
2513                <span class="entry_type_name entry_type_name_enum">byte</span>
2514
2515
2516
2517                <ul class="entry_type_enum">
2518                  <li>
2519                    <span class="entry_type_enum_name">INACTIVE</span>
2520                    <span class="entry_type_enum_notes">AF off or has not yet tried to scan/<wbr>been asked
2521            to scan.<wbr>  When a camera device is opened,<wbr> it starts in
2522            this state.<wbr></span>
2523                  </li>
2524                  <li>
2525                    <span class="entry_type_enum_name">PASSIVE_SCAN</span>
2526                    <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported AF is
2527            currently doing an AF scan initiated by a continuous
2528            autofocus mode</span>
2529                  </li>
2530                  <li>
2531                    <span class="entry_type_enum_name">PASSIVE_FOCUSED</span>
2532                    <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported AF currently
2533            believes it is in focus,<wbr> but may restart scanning at
2534            any time.<wbr></span>
2535                  </li>
2536                  <li>
2537                    <span class="entry_type_enum_name">ACTIVE_SCAN</span>
2538                    <span class="entry_type_enum_notes">if AUTO or MACRO modes are supported AF is doing
2539            an AF scan because it was triggered by AF
2540            trigger</span>
2541                  </li>
2542                  <li>
2543                    <span class="entry_type_enum_name">FOCUSED_LOCKED</span>
2544                    <span class="entry_type_enum_notes">if any AF mode besides OFF is supported AF
2545            believes it is focused correctly and is
2546            locked</span>
2547                  </li>
2548                  <li>
2549                    <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED</span>
2550                    <span class="entry_type_enum_notes">if any AF mode besides OFF is supported AF has
2551            failed to focus successfully and is
2552            locked</span>
2553                  </li>
2554                </ul>
2555
2556            </td> <!-- entry_type -->
2557
2558            <td class="entry_description">
2559              Current state of AF algorithm
2560            </td>
2561
2562            <td class="entry_units">
2563            </td>
2564
2565            <td class="entry_range">
2566            </td>
2567
2568            <td class="entry_notes">
2569              Whenever the AF algorithm state changes,<wbr> a
2570          MSG_<wbr>AUTOFOCUS notification must be send if a notification
2571          callback is registered.<wbr>
2572            </td>
2573
2574            <td class="entry_tags">
2575            </td>
2576
2577          </tr> <!-- end of entry -->
2578
2579
2580          <tr class="entry" id="dynamic_android.control.afTriggerId">
2581            <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Trigger<wbr>Id</td>
2582            <td class="entry_type">
2583                <span class="entry_type_name">int32</span>
2584
2585
2586
2587
2588            </td> <!-- entry_type -->
2589
2590            <td class="entry_description">
2591              The ID sent with the latest
2592          CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS call
2593            </td>
2594
2595            <td class="entry_units">
2596            </td>
2597
2598            <td class="entry_range">
2599            </td>
2600
2601            <td class="entry_notes">
2602              Must be 0 if no CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS trigger
2603          received yet by HAL.<wbr> Always updated even if AF algorithm
2604          ignores the trigger
2605            </td>
2606
2607            <td class="entry_tags">
2608            </td>
2609
2610          </tr> <!-- end of entry -->
2611
2612
2613          <tr class="entry" id="dynamic_android.control.awbMode">
2614            <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Mode</td>
2615            <td class="entry_type">
2616                <span class="entry_type_name entry_type_name_enum">byte</span>
2617
2618
2619
2620                <ul class="entry_type_enum">
2621                  <li>
2622                    <span class="entry_type_enum_name">OFF</span>
2623                  </li>
2624                  <li>
2625                    <span class="entry_type_enum_name">AUTO</span>
2626                  </li>
2627                  <li>
2628                    <span class="entry_type_enum_name">INCANDESCENT</span>
2629                  </li>
2630                  <li>
2631                    <span class="entry_type_enum_name">FLUORESCENT</span>
2632                  </li>
2633                  <li>
2634                    <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
2635                  </li>
2636                  <li>
2637                    <span class="entry_type_enum_name">DAYLIGHT</span>
2638                  </li>
2639                  <li>
2640                    <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
2641                  </li>
2642                  <li>
2643                    <span class="entry_type_enum_name">TWILIGHT</span>
2644                  </li>
2645                  <li>
2646                    <span class="entry_type_enum_name">SHADE</span>
2647                  </li>
2648                </ul>
2649
2650            </td> <!-- entry_type -->
2651
2652            <td class="entry_description">
2653              Whether AWB is currently setting the color
2654          transform fields,<wbr> and what its illumination target
2655          is
2656            </td>
2657
2658            <td class="entry_units">
2659            </td>
2660
2661            <td class="entry_range">
2662            </td>
2663
2664            <td class="entry_notes">
2665              [BC - AWB lock,<wbr>AWB modes]
2666            </td>
2667
2668            <td class="entry_tags">
2669              <ul class="entry_tags">
2670                  <li><a href="#tag_BC">BC</a></li>
2671                  <li><a href="#tag_AWB">AWB</a></li>
2672              </ul>
2673            </td>
2674
2675          </tr> <!-- end of entry -->
2676
2677
2678          <tr class="entry" id="dynamic_android.control.awbRegions">
2679            <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Regions</td>
2680            <td class="entry_type">
2681                <span class="entry_type_name">int32</span>
2682                <span class="entry_type_container">x</span>
2683
2684                <span class="entry_type_array">
2685                  5 x area_count
2686                </span>
2687
2688
2689
2690            </td> <!-- entry_type -->
2691
2692            <td class="entry_description">
2693              List of areas to use for illuminant
2694          estimation
2695            </td>
2696
2697            <td class="entry_units">
2698            </td>
2699
2700            <td class="entry_range">
2701            </td>
2702
2703            <td class="entry_notes">
2704              Only used in AUTO mode.<wbr> Each area is a rectangle
2705          plus weight: xmin,<wbr> ymin,<wbr> xmax,<wbr> ymax,<wbr> weight.<wbr> The
2706          coordinate system is based on the active pixel array,<wbr>
2707          with (0,<wbr>0) being the top-left of the active pixel array,<wbr>
2708          and (android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width,<wbr>
2709          android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height) being the
2710          bottom-right point of the active pixel array.<wbr> The weight
2711          should be nonnegative.<wbr> If all regions have 0 weight,<wbr> then
2712          no specific metering area needs to be used by the HAL.<wbr> If
2713          the metering region is outside the current
2714          android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL should ignore the
2715          sections outside the region and output the used sections
2716          in the frame metadata
2717            </td>
2718
2719            <td class="entry_tags">
2720              <ul class="entry_tags">
2721                  <li><a href="#tag_BC">BC</a></li>
2722              </ul>
2723            </td>
2724
2725          </tr> <!-- end of entry -->
2726
2727
2728          <tr class="entry" id="dynamic_android.control.awbState">
2729            <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>State</td>
2730            <td class="entry_type">
2731                <span class="entry_type_name entry_type_name_enum">byte</span>
2732
2733
2734
2735                <ul class="entry_type_enum">
2736                  <li>
2737                    <span class="entry_type_enum_name">INACTIVE</span>
2738                    <span class="entry_type_enum_notes">AWB is not in auto mode.<wbr>  When a camera device is opened,<wbr> it
2739            starts in this state.<wbr></span>
2740                  </li>
2741                  <li>
2742                    <span class="entry_type_enum_name">SEARCHING</span>
2743                    <span class="entry_type_enum_notes">AWB doesn't yet have a good set of control
2744            values for the current scene</span>
2745                  </li>
2746                  <li>
2747                    <span class="entry_type_enum_name">CONVERGED</span>
2748                    <span class="entry_type_enum_notes">AWB has a good set of control values for the
2749            current scene</span>
2750                  </li>
2751                  <li>
2752                    <span class="entry_type_enum_name">LOCKED</span>
2753                    <span class="entry_type_enum_notes">AE has been locked (aeMode =
2754            LOCKED)</span>
2755                  </li>
2756                </ul>
2757
2758            </td> <!-- entry_type -->
2759
2760            <td class="entry_description">
2761              Current state of AWB algorithm
2762            </td>
2763
2764            <td class="entry_units">
2765            </td>
2766
2767            <td class="entry_range">
2768            </td>
2769
2770            <td class="entry_notes">
2771              Whenever the AWB algorithm state changes,<wbr> a
2772          MSG_<wbr>AUTOWHITEBALANCE notification must be send if a
2773          notification callback is registered.<wbr>
2774            </td>
2775
2776            <td class="entry_tags">
2777            </td>
2778
2779          </tr> <!-- end of entry -->
2780
2781
2782          <tr class="entry" id="dynamic_android.control.mode">
2783            <td class="entry_name">android.<wbr>control.<wbr>mode</td>
2784            <td class="entry_type">
2785                <span class="entry_type_name entry_type_name_enum">byte</span>
2786
2787
2788
2789                <ul class="entry_type_enum">
2790                  <li>
2791                    <span class="entry_type_enum_name">OFF</span>
2792                    <span class="entry_type_enum_notes">Full application control of pipeline.<wbr> All 3A
2793            routines are disabled,<wbr> no other settings in
2794            android.<wbr>control.<wbr>* have any effect</span>
2795                  </li>
2796                  <li>
2797                    <span class="entry_type_enum_name">AUTO</span>
2798                    <span class="entry_type_enum_notes">Use settings for each individual 3A routine.<wbr>
2799            Manual control of capture parameters is disabled.<wbr> All
2800            controls in android.<wbr>control.<wbr>* besides sceneMode take
2801            effect</span>
2802                  </li>
2803                  <li>
2804                    <span class="entry_type_enum_name">USE_SCENE_MODE</span>
2805                    <span class="entry_type_enum_notes">Use specific scene mode.<wbr> Enabling this disables
2806            control.<wbr>aeMode,<wbr> control.<wbr>awbMode and control.<wbr>afMode
2807            controls; the HAL must ignore those settings while
2808            USE_<wbr>SCENE_<wbr>MODE is active (except for FACE_<wbr>PRIORITY
2809            scene mode).<wbr> Other control entries are still active.<wbr>
2810            This setting can only be used if availableSceneModes !=
2811            UNSUPPORTED</span>
2812                  </li>
2813                </ul>
2814
2815            </td> <!-- entry_type -->
2816
2817            <td class="entry_description">
2818              Overall mode of 3A control
2819          routines
2820            </td>
2821
2822            <td class="entry_units">
2823            </td>
2824
2825            <td class="entry_range">
2826              all must be supported
2827            </td>
2828
2829            <td class="entry_notes">
2830            </td>
2831
2832            <td class="entry_tags">
2833              <ul class="entry_tags">
2834                  <li><a href="#tag_BC">BC</a></li>
2835              </ul>
2836            </td>
2837
2838          </tr> <!-- end of entry -->
2839
2840
2841
2842      <!-- end of kind -->
2843      </tbody>
2844
2845  <!-- end of section -->
2846  <tr><td colspan="7" id="section_demosaic" class="section">demosaic</td></tr>
2847
2848
2849      <tr><td colspan="7" class="kind">controls</td></tr>
2850
2851      <thead>
2852        <tr>
2853          <th class="th_name">Property Name</th>
2854          <th class="th_type">Type</th>
2855          <th class="th_description">Description</th>
2856          <th class="th_units">Units</th>
2857          <th class="th_range">Range</th>
2858          <th class="th_notes">Notes</th>
2859          <th class="th_tags">Tags</th>
2860        </tr>
2861      </thead>
2862
2863      <tbody>
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874          <tr class="entry" id="controls_android.demosaic.mode">
2875            <td class="entry_name">android.<wbr>demosaic.<wbr>mode</td>
2876            <td class="entry_type">
2877                <span class="entry_type_name entry_type_name_enum">byte</span>
2878
2879
2880
2881                <ul class="entry_type_enum">
2882                  <li>
2883                    <span class="entry_type_enum_name">FAST</span>
2884                    <span class="entry_type_enum_notes">Minimal or no slowdown of frame rate compared to
2885            Bayer RAW output</span>
2886                  </li>
2887                  <li>
2888                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
2889                    <span class="entry_type_enum_notes">High-quality may reduce output frame
2890            rate</span>
2891                  </li>
2892                </ul>
2893
2894            </td> <!-- entry_type -->
2895
2896            <td class="entry_description">
2897              Controls the quality of the demosaicing
2898          processing
2899            </td>
2900
2901            <td class="entry_units">
2902            </td>
2903
2904            <td class="entry_range">
2905            </td>
2906
2907            <td class="entry_notes">
2908            </td>
2909
2910            <td class="entry_tags">
2911              <ul class="entry_tags">
2912                  <li><a href="#tag_V1">V1</a></li>
2913              </ul>
2914            </td>
2915
2916          </tr> <!-- end of entry -->
2917
2918
2919
2920      <!-- end of kind -->
2921      </tbody>
2922
2923  <!-- end of section -->
2924  <tr><td colspan="7" id="section_edge" class="section">edge</td></tr>
2925
2926
2927      <tr><td colspan="7" class="kind">controls</td></tr>
2928
2929      <thead>
2930        <tr>
2931          <th class="th_name">Property Name</th>
2932          <th class="th_type">Type</th>
2933          <th class="th_description">Description</th>
2934          <th class="th_units">Units</th>
2935          <th class="th_range">Range</th>
2936          <th class="th_notes">Notes</th>
2937          <th class="th_tags">Tags</th>
2938        </tr>
2939      </thead>
2940
2941      <tbody>
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952          <tr class="entry" id="controls_android.edge.mode">
2953            <td class="entry_name">android.<wbr>edge.<wbr>mode</td>
2954            <td class="entry_type">
2955                <span class="entry_type_name entry_type_name_enum">byte</span>
2956
2957
2958
2959                <ul class="entry_type_enum">
2960                  <li>
2961                    <span class="entry_type_enum_name">OFF</span>
2962                    <span class="entry_type_enum_notes">No edge enhancement is applied</span>
2963                  </li>
2964                  <li>
2965                    <span class="entry_type_enum_name">FAST</span>
2966                    <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
2967            bayer output</span>
2968                  </li>
2969                  <li>
2970                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
2971                    <span class="entry_type_enum_notes">Frame rate may be reduced by high
2972            quality</span>
2973                  </li>
2974                </ul>
2975
2976            </td> <!-- entry_type -->
2977
2978            <td class="entry_description">
2979              Operation mode for edge
2980          enhancement
2981            </td>
2982
2983            <td class="entry_units">
2984            </td>
2985
2986            <td class="entry_range">
2987            </td>
2988
2989            <td class="entry_notes">
2990            </td>
2991
2992            <td class="entry_tags">
2993            </td>
2994
2995          </tr> <!-- end of entry -->
2996
2997
2998          <tr class="entry" id="controls_android.edge.strength">
2999            <td class="entry_name">android.<wbr>edge.<wbr>strength</td>
3000            <td class="entry_type">
3001                <span class="entry_type_name">byte</span>
3002
3003
3004
3005
3006            </td> <!-- entry_type -->
3007
3008            <td class="entry_description">
3009              Control the amount of edge enhancement
3010          applied to the images
3011            </td>
3012
3013            <td class="entry_units">
3014              1-10; 10 is maximum sharpening
3015            </td>
3016
3017            <td class="entry_range">
3018            </td>
3019
3020            <td class="entry_notes">
3021            </td>
3022
3023            <td class="entry_tags">
3024            </td>
3025
3026          </tr> <!-- end of entry -->
3027
3028
3029
3030      <!-- end of kind -->
3031      </tbody>
3032      <tr><td colspan="7" class="kind">dynamic</td></tr>
3033
3034      <thead>
3035        <tr>
3036          <th class="th_name">Property Name</th>
3037          <th class="th_type">Type</th>
3038          <th class="th_description">Description</th>
3039          <th class="th_units">Units</th>
3040          <th class="th_range">Range</th>
3041          <th class="th_notes">Notes</th>
3042          <th class="th_tags">Tags</th>
3043        </tr>
3044      </thead>
3045
3046      <tbody>
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057          <tr class="entry" id="dynamic_android.edge.mode">
3058            <td class="entry_name">android.<wbr>edge.<wbr>mode</td>
3059            <td class="entry_type">
3060                <span class="entry_type_name entry_type_name_enum">byte</span>
3061
3062
3063
3064                <ul class="entry_type_enum">
3065                  <li>
3066                    <span class="entry_type_enum_name">OFF</span>
3067                    <span class="entry_type_enum_notes">No edge enhancement is applied</span>
3068                  </li>
3069                  <li>
3070                    <span class="entry_type_enum_name">FAST</span>
3071                    <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
3072            bayer output</span>
3073                  </li>
3074                  <li>
3075                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
3076                    <span class="entry_type_enum_notes">Frame rate may be reduced by high
3077            quality</span>
3078                  </li>
3079                </ul>
3080
3081            </td> <!-- entry_type -->
3082
3083            <td class="entry_description">
3084              Operation mode for edge
3085          enhancement
3086            </td>
3087
3088            <td class="entry_units">
3089            </td>
3090
3091            <td class="entry_range">
3092            </td>
3093
3094            <td class="entry_notes">
3095            </td>
3096
3097            <td class="entry_tags">
3098            </td>
3099
3100          </tr> <!-- end of entry -->
3101
3102
3103
3104      <!-- end of kind -->
3105      </tbody>
3106
3107  <!-- end of section -->
3108  <tr><td colspan="7" id="section_flash" class="section">flash</td></tr>
3109
3110
3111      <tr><td colspan="7" class="kind">controls</td></tr>
3112
3113      <thead>
3114        <tr>
3115          <th class="th_name">Property Name</th>
3116          <th class="th_type">Type</th>
3117          <th class="th_description">Description</th>
3118          <th class="th_units">Units</th>
3119          <th class="th_range">Range</th>
3120          <th class="th_notes">Notes</th>
3121          <th class="th_tags">Tags</th>
3122        </tr>
3123      </thead>
3124
3125      <tbody>
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136          <tr class="entry" id="controls_android.flash.firingPower">
3137            <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Power</td>
3138            <td class="entry_type">
3139                <span class="entry_type_name">byte</span>
3140
3141
3142
3143
3144            </td> <!-- entry_type -->
3145
3146            <td class="entry_description">
3147              Power for flash firing/<wbr>torch
3148            </td>
3149
3150            <td class="entry_units">
3151              10 is max power; 0 is no flash.<wbr> Linear
3152            </td>
3153
3154            <td class="entry_range">
3155              0 - 10
3156            </td>
3157
3158            <td class="entry_notes">
3159              Power for snapshot may use a different scale than
3160          for torch mode.<wbr> Only one entry for torch mode will be
3161          used
3162            </td>
3163
3164            <td class="entry_tags">
3165              <ul class="entry_tags">
3166                  <li><a href="#tag_V1">V1</a></li>
3167              </ul>
3168            </td>
3169
3170          </tr> <!-- end of entry -->
3171
3172
3173          <tr class="entry" id="controls_android.flash.firingTime">
3174            <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Time</td>
3175            <td class="entry_type">
3176                <span class="entry_type_name">int64</span>
3177
3178
3179
3180
3181            </td> <!-- entry_type -->
3182
3183            <td class="entry_description">
3184              Firing time of flash relative to start of
3185          exposure
3186            </td>
3187
3188            <td class="entry_units">
3189              nanoseconds
3190            </td>
3191
3192            <td class="entry_range">
3193              0-(exposure time-flash duration)
3194            </td>
3195
3196            <td class="entry_notes">
3197              Clamped to (0,<wbr> exposure time - flash
3198          duration).<wbr>
3199            </td>
3200
3201            <td class="entry_tags">
3202              <ul class="entry_tags">
3203                  <li><a href="#tag_V1">V1</a></li>
3204              </ul>
3205            </td>
3206
3207          </tr> <!-- end of entry -->
3208
3209
3210          <tr class="entry" id="controls_android.flash.mode">
3211            <td class="entry_name">android.<wbr>flash.<wbr>mode</td>
3212            <td class="entry_type">
3213                <span class="entry_type_name entry_type_name_enum">byte</span>
3214
3215
3216
3217                <ul class="entry_type_enum">
3218                  <li>
3219                    <span class="entry_type_enum_name">OFF</span>
3220                    <span class="entry_type_enum_notes">Do not fire the flash for this
3221            capture</span>
3222                  </li>
3223                  <li>
3224                    <span class="entry_type_enum_name">SINGLE</span>
3225                    <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Fire flash
3226            for this capture based on firingPower,<wbr>
3227            firingTime.<wbr></span>
3228                  </li>
3229                  <li>
3230                    <span class="entry_type_enum_name">TORCH</span>
3231                    <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash
3232            continuously on,<wbr> power set by
3233            firingPower</span>
3234                  </li>
3235                </ul>
3236
3237            </td> <!-- entry_type -->
3238
3239            <td class="entry_description">
3240              Select flash operation mode
3241            </td>
3242
3243            <td class="entry_units">
3244            </td>
3245
3246            <td class="entry_range">
3247            </td>
3248
3249            <td class="entry_notes">
3250            </td>
3251
3252            <td class="entry_tags">
3253              <ul class="entry_tags">
3254                  <li><a href="#tag_BC">BC</a></li>
3255              </ul>
3256            </td>
3257
3258          </tr> <!-- end of entry -->
3259
3260
3261
3262      <!-- end of kind -->
3263      </tbody>
3264      <tr><td colspan="7" class="kind">static</td></tr>
3265
3266      <thead>
3267        <tr>
3268          <th class="th_name">Property Name</th>
3269          <th class="th_type">Type</th>
3270          <th class="th_description">Description</th>
3271          <th class="th_units">Units</th>
3272          <th class="th_range">Range</th>
3273          <th class="th_notes">Notes</th>
3274          <th class="th_tags">Tags</th>
3275        </tr>
3276      </thead>
3277
3278      <tbody>
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291          <tr class="entry" id="static_android.flash.info.available">
3292            <td class="entry_name">android.<wbr>flash.<wbr>info.<wbr>available</td>
3293            <td class="entry_type">
3294                <span class="entry_type_name">byte</span>
3295
3296
3297
3298
3299            </td> <!-- entry_type -->
3300
3301            <td class="entry_description">
3302              Whether this camera has a
3303            flash
3304            </td>
3305
3306            <td class="entry_units">
3307              boolean (0 = false,<wbr> otherwise true)
3308            </td>
3309
3310            <td class="entry_range">
3311            </td>
3312
3313            <td class="entry_notes">
3314              If no flash,<wbr> none of the flash controls do
3315            anything.<wbr> All other metadata should return 0
3316            </td>
3317
3318            <td class="entry_tags">
3319              <ul class="entry_tags">
3320                  <li><a href="#tag_BC">BC</a></li>
3321              </ul>
3322            </td>
3323
3324          </tr> <!-- end of entry -->
3325
3326
3327          <tr class="entry" id="static_android.flash.info.chargeDuration">
3328            <td class="entry_name">android.<wbr>flash.<wbr>info.<wbr>charge<wbr>Duration</td>
3329            <td class="entry_type">
3330                <span class="entry_type_name">int64</span>
3331
3332
3333
3334
3335            </td> <!-- entry_type -->
3336
3337            <td class="entry_description">
3338              Time taken before flash can fire
3339            again
3340            </td>
3341
3342            <td class="entry_units">
3343              nanoseconds
3344            </td>
3345
3346            <td class="entry_range">
3347              0-1e9
3348            </td>
3349
3350            <td class="entry_notes">
3351              1 second too long/<wbr>too short for recharge? Should
3352            this be power-dependent?
3353            </td>
3354
3355            <td class="entry_tags">
3356              <ul class="entry_tags">
3357                  <li><a href="#tag_V1">V1</a></li>
3358              </ul>
3359            </td>
3360
3361          </tr> <!-- end of entry -->
3362
3363
3364
3365
3366
3367          <tr class="entry" id="static_android.flash.colorTemperature">
3368            <td class="entry_name">android.<wbr>flash.<wbr>color<wbr>Temperature</td>
3369            <td class="entry_type">
3370                <span class="entry_type_name">byte</span>
3371
3372
3373
3374
3375            </td> <!-- entry_type -->
3376
3377            <td class="entry_description">
3378              The x,<wbr>y whitepoint of the
3379          flash
3380            </td>
3381
3382            <td class="entry_units">
3383              pair of floats
3384            </td>
3385
3386            <td class="entry_range">
3387              0-1 for both
3388            </td>
3389
3390            <td class="entry_notes">
3391            </td>
3392
3393            <td class="entry_tags">
3394              <ul class="entry_tags">
3395                  <li><a href="#tag_ADV">ADV</a></li>
3396              </ul>
3397            </td>
3398
3399          </tr> <!-- end of entry -->
3400
3401
3402          <tr class="entry" id="static_android.flash.maxEnergy">
3403            <td class="entry_name">android.<wbr>flash.<wbr>max<wbr>Energy</td>
3404            <td class="entry_type">
3405                <span class="entry_type_name">byte</span>
3406
3407
3408
3409
3410            </td> <!-- entry_type -->
3411
3412            <td class="entry_description">
3413              Max energy output of the flash for a full
3414          power single flash
3415            </td>
3416
3417            <td class="entry_units">
3418              lumen-seconds
3419            </td>
3420
3421            <td class="entry_range">
3422              >= 0
3423            </td>
3424
3425            <td class="entry_notes">
3426            </td>
3427
3428            <td class="entry_tags">
3429              <ul class="entry_tags">
3430                  <li><a href="#tag_ADV">ADV</a></li>
3431              </ul>
3432            </td>
3433
3434          </tr> <!-- end of entry -->
3435
3436
3437
3438      <!-- end of kind -->
3439      </tbody>
3440      <tr><td colspan="7" class="kind">dynamic</td></tr>
3441
3442      <thead>
3443        <tr>
3444          <th class="th_name">Property Name</th>
3445          <th class="th_type">Type</th>
3446          <th class="th_description">Description</th>
3447          <th class="th_units">Units</th>
3448          <th class="th_range">Range</th>
3449          <th class="th_notes">Notes</th>
3450          <th class="th_tags">Tags</th>
3451        </tr>
3452      </thead>
3453
3454      <tbody>
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465          <tr class="entry" id="dynamic_android.flash.firingPower">
3466            <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Power</td>
3467            <td class="entry_type">
3468                <span class="entry_type_name">byte</span>
3469
3470
3471
3472
3473            </td> <!-- entry_type -->
3474
3475            <td class="entry_description">
3476              Power for flash firing/<wbr>torch
3477            </td>
3478
3479            <td class="entry_units">
3480              10 is max power; 0 is no flash.<wbr> Linear
3481            </td>
3482
3483            <td class="entry_range">
3484              0 - 10
3485            </td>
3486
3487            <td class="entry_notes">
3488              Power for snapshot may use a different scale than
3489          for torch mode.<wbr> Only one entry for torch mode will be
3490          used
3491            </td>
3492
3493            <td class="entry_tags">
3494              <ul class="entry_tags">
3495                  <li><a href="#tag_V1">V1</a></li>
3496              </ul>
3497            </td>
3498
3499          </tr> <!-- end of entry -->
3500
3501
3502          <tr class="entry" id="dynamic_android.flash.firingTime">
3503            <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Time</td>
3504            <td class="entry_type">
3505                <span class="entry_type_name">int64</span>
3506
3507
3508
3509
3510            </td> <!-- entry_type -->
3511
3512            <td class="entry_description">
3513              Firing time of flash relative to start of
3514          exposure
3515            </td>
3516
3517            <td class="entry_units">
3518              nanoseconds
3519            </td>
3520
3521            <td class="entry_range">
3522              0-(exposure time-flash duration)
3523            </td>
3524
3525            <td class="entry_notes">
3526              Clamped to (0,<wbr> exposure time - flash
3527          duration).<wbr>
3528            </td>
3529
3530            <td class="entry_tags">
3531              <ul class="entry_tags">
3532                  <li><a href="#tag_V1">V1</a></li>
3533              </ul>
3534            </td>
3535
3536          </tr> <!-- end of entry -->
3537
3538
3539          <tr class="entry" id="dynamic_android.flash.mode">
3540            <td class="entry_name">android.<wbr>flash.<wbr>mode</td>
3541            <td class="entry_type">
3542                <span class="entry_type_name entry_type_name_enum">byte</span>
3543
3544
3545
3546                <ul class="entry_type_enum">
3547                  <li>
3548                    <span class="entry_type_enum_name">OFF</span>
3549                    <span class="entry_type_enum_notes">Do not fire the flash for this
3550            capture</span>
3551                  </li>
3552                  <li>
3553                    <span class="entry_type_enum_name">SINGLE</span>
3554                    <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Fire flash
3555            for this capture based on firingPower,<wbr>
3556            firingTime.<wbr></span>
3557                  </li>
3558                  <li>
3559                    <span class="entry_type_enum_name">TORCH</span>
3560                    <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash
3561            continuously on,<wbr> power set by
3562            firingPower</span>
3563                  </li>
3564                </ul>
3565
3566            </td> <!-- entry_type -->
3567
3568            <td class="entry_description">
3569              Select flash operation mode
3570            </td>
3571
3572            <td class="entry_units">
3573            </td>
3574
3575            <td class="entry_range">
3576            </td>
3577
3578            <td class="entry_notes">
3579            </td>
3580
3581            <td class="entry_tags">
3582              <ul class="entry_tags">
3583                  <li><a href="#tag_BC">BC</a></li>
3584              </ul>
3585            </td>
3586
3587          </tr> <!-- end of entry -->
3588
3589
3590          <tr class="entry" id="dynamic_android.flash.state">
3591            <td class="entry_name">android.<wbr>flash.<wbr>state</td>
3592            <td class="entry_type">
3593                <span class="entry_type_name entry_type_name_enum">byte</span>
3594
3595
3596
3597                <ul class="entry_type_enum">
3598                  <li>
3599                    <span class="entry_type_enum_name">UNAVAILABLE</span>
3600                    <span class="entry_type_enum_notes">No flash on camera</span>
3601                  </li>
3602                  <li>
3603                    <span class="entry_type_enum_name">CHARGING</span>
3604                    <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash is
3605            charging and cannot be fired</span>
3606                  </li>
3607                  <li>
3608                    <span class="entry_type_enum_name">READY</span>
3609                    <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash is
3610            ready to fire</span>
3611                  </li>
3612                  <li>
3613                    <span class="entry_type_enum_name">FIRED</span>
3614                    <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash fired
3615            for this capture</span>
3616                  </li>
3617                </ul>
3618
3619            </td> <!-- entry_type -->
3620
3621            <td class="entry_description">
3622              Current state of the flash
3623          unit
3624            </td>
3625
3626            <td class="entry_units">
3627            </td>
3628
3629            <td class="entry_range">
3630            </td>
3631
3632            <td class="entry_notes">
3633            </td>
3634
3635            <td class="entry_tags">
3636            </td>
3637
3638          </tr> <!-- end of entry -->
3639
3640
3641
3642      <!-- end of kind -->
3643      </tbody>
3644
3645  <!-- end of section -->
3646  <tr><td colspan="7" id="section_geometric" class="section">geometric</td></tr>
3647
3648
3649      <tr><td colspan="7" class="kind">controls</td></tr>
3650
3651      <thead>
3652        <tr>
3653          <th class="th_name">Property Name</th>
3654          <th class="th_type">Type</th>
3655          <th class="th_description">Description</th>
3656          <th class="th_units">Units</th>
3657          <th class="th_range">Range</th>
3658          <th class="th_notes">Notes</th>
3659          <th class="th_tags">Tags</th>
3660        </tr>
3661      </thead>
3662
3663      <tbody>
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674          <tr class="entry" id="controls_android.geometric.mode">
3675            <td class="entry_name">android.<wbr>geometric.<wbr>mode</td>
3676            <td class="entry_type">
3677                <span class="entry_type_name entry_type_name_enum">byte</span>
3678
3679
3680
3681                <ul class="entry_type_enum">
3682                  <li>
3683                    <span class="entry_type_enum_name">OFF</span>
3684                    <span class="entry_type_enum_notes">No geometric correction is
3685            applied</span>
3686                  </li>
3687                  <li>
3688                    <span class="entry_type_enum_name">FAST</span>
3689                    <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
3690            bayer output</span>
3691                  </li>
3692                  <li>
3693                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
3694                    <span class="entry_type_enum_notes">Frame rate may be reduced by high
3695            quality</span>
3696                  </li>
3697                </ul>
3698
3699            </td> <!-- entry_type -->
3700
3701            <td class="entry_description">
3702              Operating mode of geometric
3703          correction
3704            </td>
3705
3706            <td class="entry_units">
3707            </td>
3708
3709            <td class="entry_range">
3710            </td>
3711
3712            <td class="entry_notes">
3713            </td>
3714
3715            <td class="entry_tags">
3716            </td>
3717
3718          </tr> <!-- end of entry -->
3719
3720
3721          <tr class="entry" id="controls_android.geometric.strength">
3722            <td class="entry_name">android.<wbr>geometric.<wbr>strength</td>
3723            <td class="entry_type">
3724                <span class="entry_type_name">byte</span>
3725
3726
3727
3728
3729            </td> <!-- entry_type -->
3730
3731            <td class="entry_description">
3732              Control the amount of shading correction
3733          applied to the images
3734            </td>
3735
3736            <td class="entry_units">
3737              unitless: 1-10; 10 is full shading
3738          compensation
3739            </td>
3740
3741            <td class="entry_range">
3742            </td>
3743
3744            <td class="entry_notes">
3745            </td>
3746
3747            <td class="entry_tags">
3748              <ul class="entry_tags">
3749                  <li><a href="#tag_ADV">ADV</a></li>
3750              </ul>
3751            </td>
3752
3753          </tr> <!-- end of entry -->
3754
3755
3756
3757      <!-- end of kind -->
3758      </tbody>
3759
3760  <!-- end of section -->
3761  <tr><td colspan="7" id="section_hotPixel" class="section">hotPixel</td></tr>
3762
3763
3764      <tr><td colspan="7" class="kind">controls</td></tr>
3765
3766      <thead>
3767        <tr>
3768          <th class="th_name">Property Name</th>
3769          <th class="th_type">Type</th>
3770          <th class="th_description">Description</th>
3771          <th class="th_units">Units</th>
3772          <th class="th_range">Range</th>
3773          <th class="th_notes">Notes</th>
3774          <th class="th_tags">Tags</th>
3775        </tr>
3776      </thead>
3777
3778      <tbody>
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789          <tr class="entry" id="controls_android.hotPixel.mode">
3790            <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>mode</td>
3791            <td class="entry_type">
3792                <span class="entry_type_name entry_type_name_enum">byte</span>
3793
3794
3795
3796                <ul class="entry_type_enum">
3797                  <li>
3798                    <span class="entry_type_enum_name">OFF</span>
3799                    <span class="entry_type_enum_notes">No hot pixel correction can be
3800            applied</span>
3801                  </li>
3802                  <li>
3803                    <span class="entry_type_enum_name">FAST</span>
3804                    <span class="entry_type_enum_notes">Frame rate must not be reduced compared to raw
3805            Bayer output</span>
3806                  </li>
3807                  <li>
3808                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
3809                    <span class="entry_type_enum_notes">Frame rate may be reduced by high
3810            quality</span>
3811                  </li>
3812                </ul>
3813
3814            </td> <!-- entry_type -->
3815
3816            <td class="entry_description">
3817              Set operational mode for hot pixel
3818          correction
3819            </td>
3820
3821            <td class="entry_units">
3822            </td>
3823
3824            <td class="entry_range">
3825            </td>
3826
3827            <td class="entry_notes">
3828            </td>
3829
3830            <td class="entry_tags">
3831              <ul class="entry_tags">
3832                  <li><a href="#tag_V1">V1</a></li>
3833              </ul>
3834            </td>
3835
3836          </tr> <!-- end of entry -->
3837
3838
3839
3840      <!-- end of kind -->
3841      </tbody>
3842      <tr><td colspan="7" class="kind">static</td></tr>
3843
3844      <thead>
3845        <tr>
3846          <th class="th_name">Property Name</th>
3847          <th class="th_type">Type</th>
3848          <th class="th_description">Description</th>
3849          <th class="th_units">Units</th>
3850          <th class="th_range">Range</th>
3851          <th class="th_notes">Notes</th>
3852          <th class="th_tags">Tags</th>
3853        </tr>
3854      </thead>
3855
3856      <tbody>
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869          <tr class="entry" id="static_android.hotPixel.info.map">
3870            <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>info.<wbr>map</td>
3871            <td class="entry_type">
3872                <span class="entry_type_name">int32</span>
3873                <span class="entry_type_container">x</span>
3874
3875                <span class="entry_type_array">
3876                  2 x n
3877                </span>
3878
3879                <div class="entry_type_notes">list of coordinates based on android.<wbr>sensor.<wbr>pixel<wbr>Array<wbr>Size</div>
3880
3881
3882            </td> <!-- entry_type -->
3883
3884            <td class="entry_description">
3885              Location of hot/<wbr>defective pixels on
3886            sensor
3887            </td>
3888
3889            <td class="entry_units">
3890            </td>
3891
3892            <td class="entry_range">
3893            </td>
3894
3895            <td class="entry_notes">
3896            </td>
3897
3898            <td class="entry_tags">
3899              <ul class="entry_tags">
3900                  <li><a href="#tag_ADV">ADV</a></li>
3901              </ul>
3902            </td>
3903
3904          </tr> <!-- end of entry -->
3905
3906
3907
3908
3909
3910
3911      <!-- end of kind -->
3912      </tbody>
3913      <tr><td colspan="7" class="kind">dynamic</td></tr>
3914
3915      <thead>
3916        <tr>
3917          <th class="th_name">Property Name</th>
3918          <th class="th_type">Type</th>
3919          <th class="th_description">Description</th>
3920          <th class="th_units">Units</th>
3921          <th class="th_range">Range</th>
3922          <th class="th_notes">Notes</th>
3923          <th class="th_tags">Tags</th>
3924        </tr>
3925      </thead>
3926
3927      <tbody>
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938          <tr class="entry" id="dynamic_android.hotPixel.mode">
3939            <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>mode</td>
3940            <td class="entry_type">
3941                <span class="entry_type_name entry_type_name_enum">byte</span>
3942
3943
3944
3945                <ul class="entry_type_enum">
3946                  <li>
3947                    <span class="entry_type_enum_name">OFF</span>
3948                    <span class="entry_type_enum_notes">No hot pixel correction can be
3949            applied</span>
3950                  </li>
3951                  <li>
3952                    <span class="entry_type_enum_name">FAST</span>
3953                    <span class="entry_type_enum_notes">Frame rate must not be reduced compared to raw
3954            Bayer output</span>
3955                  </li>
3956                  <li>
3957                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
3958                    <span class="entry_type_enum_notes">Frame rate may be reduced by high
3959            quality</span>
3960                  </li>
3961                </ul>
3962
3963            </td> <!-- entry_type -->
3964
3965            <td class="entry_description">
3966              Set operational mode for hot pixel
3967          correction
3968            </td>
3969
3970            <td class="entry_units">
3971            </td>
3972
3973            <td class="entry_range">
3974            </td>
3975
3976            <td class="entry_notes">
3977            </td>
3978
3979            <td class="entry_tags">
3980              <ul class="entry_tags">
3981                  <li><a href="#tag_V1">V1</a></li>
3982              </ul>
3983            </td>
3984
3985          </tr> <!-- end of entry -->
3986
3987
3988
3989      <!-- end of kind -->
3990      </tbody>
3991
3992  <!-- end of section -->
3993  <tr><td colspan="7" id="section_jpeg" class="section">jpeg</td></tr>
3994
3995
3996      <tr><td colspan="7" class="kind">controls</td></tr>
3997
3998      <thead>
3999        <tr>
4000          <th class="th_name">Property Name</th>
4001          <th class="th_type">Type</th>
4002          <th class="th_description">Description</th>
4003          <th class="th_units">Units</th>
4004          <th class="th_range">Range</th>
4005          <th class="th_notes">Notes</th>
4006          <th class="th_tags">Tags</th>
4007        </tr>
4008      </thead>
4009
4010      <tbody>
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021          <tr class="entry" id="controls_android.jpeg.gpsCoordinates">
4022            <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Coordinates</td>
4023            <td class="entry_type">
4024                <span class="entry_type_name">double</span>
4025                <span class="entry_type_container">x</span>
4026
4027                <span class="entry_type_array">
4028                  3
4029                </span>
4030
4031                <div class="entry_type_notes">latitude,<wbr> longitude,<wbr> altitude.<wbr> First two in degrees,<wbr> the third in meters</div>
4032
4033
4034            </td> <!-- entry_type -->
4035
4036            <td class="entry_description">
4037              GPS coordinates to include in output JPEG
4038          EXIF
4039            </td>
4040
4041            <td class="entry_units">
4042            </td>
4043
4044            <td class="entry_range">
4045              (-180 - 180],<wbr> [-90,<wbr>90],<wbr> [-inf,<wbr> inf]
4046            </td>
4047
4048            <td class="entry_notes">
4049            </td>
4050
4051            <td class="entry_tags">
4052              <ul class="entry_tags">
4053                  <li><a href="#tag_BC">BC</a></li>
4054              </ul>
4055            </td>
4056
4057          </tr> <!-- end of entry -->
4058
4059
4060          <tr class="entry" id="controls_android.jpeg.gpsProcessingMethod">
4061            <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Processing<wbr>Method</td>
4062            <td class="entry_type">
4063                <span class="entry_type_name">byte</span>
4064
4065
4066
4067
4068            </td> <!-- entry_type -->
4069
4070            <td class="entry_description">
4071              32 characters describing GPS algorithm to
4072          include in EXIF
4073            </td>
4074
4075            <td class="entry_units">
4076              UTF-8 null-terminated string
4077            </td>
4078
4079            <td class="entry_range">
4080            </td>
4081
4082            <td class="entry_notes">
4083            </td>
4084
4085            <td class="entry_tags">
4086              <ul class="entry_tags">
4087                  <li><a href="#tag_BC">BC</a></li>
4088              </ul>
4089            </td>
4090
4091          </tr> <!-- end of entry -->
4092
4093
4094          <tr class="entry" id="controls_android.jpeg.gpsTimestamp">
4095            <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Timestamp</td>
4096            <td class="entry_type">
4097                <span class="entry_type_name">int64</span>
4098
4099
4100
4101
4102            </td> <!-- entry_type -->
4103
4104            <td class="entry_description">
4105              Time GPS fix was made to include in
4106          EXIF
4107            </td>
4108
4109            <td class="entry_units">
4110              UTC in seconds since January 1,<wbr> 1970
4111            </td>
4112
4113            <td class="entry_range">
4114            </td>
4115
4116            <td class="entry_notes">
4117            </td>
4118
4119            <td class="entry_tags">
4120              <ul class="entry_tags">
4121                  <li><a href="#tag_BC">BC</a></li>
4122              </ul>
4123            </td>
4124
4125          </tr> <!-- end of entry -->
4126
4127
4128          <tr class="entry" id="controls_android.jpeg.orientation">
4129            <td class="entry_name">android.<wbr>jpeg.<wbr>orientation</td>
4130            <td class="entry_type">
4131                <span class="entry_type_name">int32</span>
4132
4133
4134
4135
4136            </td> <!-- entry_type -->
4137
4138            <td class="entry_description">
4139              Orientation of JPEG image to
4140          write
4141            </td>
4142
4143            <td class="entry_units">
4144              Degrees in multiples of 90
4145            </td>
4146
4147            <td class="entry_range">
4148              0,<wbr> 90,<wbr> 180,<wbr> 270
4149            </td>
4150
4151            <td class="entry_notes">
4152            </td>
4153
4154            <td class="entry_tags">
4155              <ul class="entry_tags">
4156                  <li><a href="#tag_BC">BC</a></li>
4157              </ul>
4158            </td>
4159
4160          </tr> <!-- end of entry -->
4161
4162
4163          <tr class="entry" id="controls_android.jpeg.quality">
4164            <td class="entry_name">android.<wbr>jpeg.<wbr>quality</td>
4165            <td class="entry_type">
4166                <span class="entry_type_name">byte</span>
4167
4168
4169
4170
4171            </td> <!-- entry_type -->
4172
4173            <td class="entry_description">
4174              Compression quality of the final JPEG
4175          image
4176            </td>
4177
4178            <td class="entry_units">
4179            </td>
4180
4181            <td class="entry_range">
4182              1-100; larger is higher quality
4183            </td>
4184
4185            <td class="entry_notes">
4186              85-95 is typical usage range
4187            </td>
4188
4189            <td class="entry_tags">
4190              <ul class="entry_tags">
4191                  <li><a href="#tag_BC">BC</a></li>
4192              </ul>
4193            </td>
4194
4195          </tr> <!-- end of entry -->
4196
4197
4198          <tr class="entry" id="controls_android.jpeg.thumbnailQuality">
4199            <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Quality</td>
4200            <td class="entry_type">
4201                <span class="entry_type_name">byte</span>
4202
4203
4204
4205
4206            </td> <!-- entry_type -->
4207
4208            <td class="entry_description">
4209              Compression quality of JPEG
4210          thumbnail
4211            </td>
4212
4213            <td class="entry_units">
4214            </td>
4215
4216            <td class="entry_range">
4217              1-100; larger is higher quality
4218            </td>
4219
4220            <td class="entry_notes">
4221            </td>
4222
4223            <td class="entry_tags">
4224              <ul class="entry_tags">
4225                  <li><a href="#tag_BC">BC</a></li>
4226              </ul>
4227            </td>
4228
4229          </tr> <!-- end of entry -->
4230
4231
4232          <tr class="entry" id="controls_android.jpeg.thumbnailSize">
4233            <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Size</td>
4234            <td class="entry_type">
4235                <span class="entry_type_name">int32</span>
4236                <span class="entry_type_container">x</span>
4237
4238                <span class="entry_type_array">
4239                  2
4240                </span>
4241
4242
4243
4244            </td> <!-- entry_type -->
4245
4246            <td class="entry_description">
4247              Resolution of embedded JPEG
4248          thumbnail
4249            </td>
4250
4251            <td class="entry_units">
4252            </td>
4253
4254            <td class="entry_range">
4255              from android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes
4256            </td>
4257
4258            <td class="entry_notes">
4259            </td>
4260
4261            <td class="entry_tags">
4262              <ul class="entry_tags">
4263                  <li><a href="#tag_BC">BC</a></li>
4264              </ul>
4265            </td>
4266
4267          </tr> <!-- end of entry -->
4268
4269
4270
4271      <!-- end of kind -->
4272      </tbody>
4273      <tr><td colspan="7" class="kind">static</td></tr>
4274
4275      <thead>
4276        <tr>
4277          <th class="th_name">Property Name</th>
4278          <th class="th_type">Type</th>
4279          <th class="th_description">Description</th>
4280          <th class="th_units">Units</th>
4281          <th class="th_range">Range</th>
4282          <th class="th_notes">Notes</th>
4283          <th class="th_tags">Tags</th>
4284        </tr>
4285      </thead>
4286
4287      <tbody>
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298          <tr class="entry" id="static_android.jpeg.availableThumbnailSizes">
4299            <td class="entry_name">android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes</td>
4300            <td class="entry_type">
4301                <span class="entry_type_name">int32</span>
4302                <span class="entry_type_container">x</span>
4303
4304                <span class="entry_type_array">
4305                  2 x n
4306                </span>
4307
4308                <div class="entry_type_notes">list of resolution pairs</div>
4309
4310
4311            </td> <!-- entry_type -->
4312
4313            <td class="entry_description">
4314              Supported resolutions for the JPEG
4315          thumbnail
4316            </td>
4317
4318            <td class="entry_units">
4319            </td>
4320
4321            <td class="entry_range">
4322              Must include at least one valid resolution,<wbr> plus
4323          (0,<wbr>0) for no thumbnail generation
4324            </td>
4325
4326            <td class="entry_notes">
4327            </td>
4328
4329            <td class="entry_tags">
4330              <ul class="entry_tags">
4331                  <li><a href="#tag_BC">BC</a></li>
4332              </ul>
4333            </td>
4334
4335          </tr> <!-- end of entry -->
4336
4337
4338          <tr class="entry" id="static_android.jpeg.maxSize">
4339            <td class="entry_name">android.<wbr>jpeg.<wbr>max<wbr>Size</td>
4340            <td class="entry_type">
4341                <span class="entry_type_name">int32</span>
4342
4343
4344
4345
4346            </td> <!-- entry_type -->
4347
4348            <td class="entry_description">
4349              Maximum size in bytes for the compressed
4350          JPEG buffer
4351            </td>
4352
4353            <td class="entry_units">
4354            </td>
4355
4356            <td class="entry_range">
4357              Must be large enough to fit any JPEG produced by
4358          the camera
4359            </td>
4360
4361            <td class="entry_notes">
4362              This is used for sizing the gralloc buffers for
4363          JPEG
4364            </td>
4365
4366            <td class="entry_tags">
4367            </td>
4368
4369          </tr> <!-- end of entry -->
4370
4371
4372
4373      <!-- end of kind -->
4374      </tbody>
4375      <tr><td colspan="7" class="kind">dynamic</td></tr>
4376
4377      <thead>
4378        <tr>
4379          <th class="th_name">Property Name</th>
4380          <th class="th_type">Type</th>
4381          <th class="th_description">Description</th>
4382          <th class="th_units">Units</th>
4383          <th class="th_range">Range</th>
4384          <th class="th_notes">Notes</th>
4385          <th class="th_tags">Tags</th>
4386        </tr>
4387      </thead>
4388
4389      <tbody>
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400          <tr class="entry" id="dynamic_android.jpeg.gpsCoordinates">
4401            <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Coordinates</td>
4402            <td class="entry_type">
4403                <span class="entry_type_name">double</span>
4404                <span class="entry_type_container">x</span>
4405
4406                <span class="entry_type_array">
4407                  3
4408                </span>
4409
4410                <div class="entry_type_notes">latitude,<wbr> longitude,<wbr> altitude.<wbr> First two in degrees,<wbr> the third in meters</div>
4411
4412
4413            </td> <!-- entry_type -->
4414
4415            <td class="entry_description">
4416              GPS coordinates to include in output JPEG
4417          EXIF
4418            </td>
4419
4420            <td class="entry_units">
4421            </td>
4422
4423            <td class="entry_range">
4424              (-180 - 180],<wbr> [-90,<wbr>90],<wbr> [-inf,<wbr> inf]
4425            </td>
4426
4427            <td class="entry_notes">
4428            </td>
4429
4430            <td class="entry_tags">
4431              <ul class="entry_tags">
4432                  <li><a href="#tag_BC">BC</a></li>
4433              </ul>
4434            </td>
4435
4436          </tr> <!-- end of entry -->
4437
4438
4439          <tr class="entry" id="dynamic_android.jpeg.gpsProcessingMethod">
4440            <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Processing<wbr>Method</td>
4441            <td class="entry_type">
4442                <span class="entry_type_name">byte</span>
4443
4444
4445
4446
4447            </td> <!-- entry_type -->
4448
4449            <td class="entry_description">
4450              32 characters describing GPS algorithm to
4451          include in EXIF
4452            </td>
4453
4454            <td class="entry_units">
4455              UTF-8 null-terminated string
4456            </td>
4457
4458            <td class="entry_range">
4459            </td>
4460
4461            <td class="entry_notes">
4462            </td>
4463
4464            <td class="entry_tags">
4465              <ul class="entry_tags">
4466                  <li><a href="#tag_BC">BC</a></li>
4467              </ul>
4468            </td>
4469
4470          </tr> <!-- end of entry -->
4471
4472
4473          <tr class="entry" id="dynamic_android.jpeg.gpsTimestamp">
4474            <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Timestamp</td>
4475            <td class="entry_type">
4476                <span class="entry_type_name">int64</span>
4477
4478
4479
4480
4481            </td> <!-- entry_type -->
4482
4483            <td class="entry_description">
4484              Time GPS fix was made to include in
4485          EXIF
4486            </td>
4487
4488            <td class="entry_units">
4489              UTC in seconds since January 1,<wbr> 1970
4490            </td>
4491
4492            <td class="entry_range">
4493            </td>
4494
4495            <td class="entry_notes">
4496            </td>
4497
4498            <td class="entry_tags">
4499              <ul class="entry_tags">
4500                  <li><a href="#tag_BC">BC</a></li>
4501              </ul>
4502            </td>
4503
4504          </tr> <!-- end of entry -->
4505
4506
4507          <tr class="entry" id="dynamic_android.jpeg.orientation">
4508            <td class="entry_name">android.<wbr>jpeg.<wbr>orientation</td>
4509            <td class="entry_type">
4510                <span class="entry_type_name">int32</span>
4511
4512
4513
4514
4515            </td> <!-- entry_type -->
4516
4517            <td class="entry_description">
4518              Orientation of JPEG image to
4519          write
4520            </td>
4521
4522            <td class="entry_units">
4523              Degrees in multiples of 90
4524            </td>
4525
4526            <td class="entry_range">
4527              0,<wbr> 90,<wbr> 180,<wbr> 270
4528            </td>
4529
4530            <td class="entry_notes">
4531            </td>
4532
4533            <td class="entry_tags">
4534              <ul class="entry_tags">
4535                  <li><a href="#tag_BC">BC</a></li>
4536              </ul>
4537            </td>
4538
4539          </tr> <!-- end of entry -->
4540
4541
4542          <tr class="entry" id="dynamic_android.jpeg.quality">
4543            <td class="entry_name">android.<wbr>jpeg.<wbr>quality</td>
4544            <td class="entry_type">
4545                <span class="entry_type_name">byte</span>
4546
4547
4548
4549
4550            </td> <!-- entry_type -->
4551
4552            <td class="entry_description">
4553              Compression quality of the final JPEG
4554          image
4555            </td>
4556
4557            <td class="entry_units">
4558            </td>
4559
4560            <td class="entry_range">
4561              1-100; larger is higher quality
4562            </td>
4563
4564            <td class="entry_notes">
4565              85-95 is typical usage range
4566            </td>
4567
4568            <td class="entry_tags">
4569              <ul class="entry_tags">
4570                  <li><a href="#tag_BC">BC</a></li>
4571              </ul>
4572            </td>
4573
4574          </tr> <!-- end of entry -->
4575
4576
4577          <tr class="entry" id="dynamic_android.jpeg.size">
4578            <td class="entry_name">android.<wbr>jpeg.<wbr>size</td>
4579            <td class="entry_type">
4580                <span class="entry_type_name">int32</span>
4581
4582
4583
4584
4585            </td> <!-- entry_type -->
4586
4587            <td class="entry_description">
4588              The size of the compressed JPEG image,<wbr> in
4589          bytes
4590            </td>
4591
4592            <td class="entry_units">
4593            </td>
4594
4595            <td class="entry_range">
4596              >= 0
4597            </td>
4598
4599            <td class="entry_notes">
4600              If no JPEG output is produced for the request,<wbr>
4601          this must be 0.<wbr> Otherwise,<wbr> this describes the real size
4602          of the compressed JPEG image placed in the output stream.<wbr>
4603          More specifically,<wbr> if android.<wbr>jpeg.<wbr>max<wbr>Size = 1000000,<wbr> and
4604          a specific capture has android.<wbr>jpeg.<wbr>size = 500000,<wbr> then
4605          the output buffer from the JPEG stream will be 1000000
4606          bytes,<wbr> of which the first 500000 make up the real
4607          data.<wbr>
4608            </td>
4609
4610            <td class="entry_tags">
4611            </td>
4612
4613          </tr> <!-- end of entry -->
4614
4615
4616          <tr class="entry" id="dynamic_android.jpeg.thumbnailQuality">
4617            <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Quality</td>
4618            <td class="entry_type">
4619                <span class="entry_type_name">byte</span>
4620
4621
4622
4623
4624            </td> <!-- entry_type -->
4625
4626            <td class="entry_description">
4627              Compression quality of JPEG
4628          thumbnail
4629            </td>
4630
4631            <td class="entry_units">
4632            </td>
4633
4634            <td class="entry_range">
4635              1-100; larger is higher quality
4636            </td>
4637
4638            <td class="entry_notes">
4639            </td>
4640
4641            <td class="entry_tags">
4642              <ul class="entry_tags">
4643                  <li><a href="#tag_BC">BC</a></li>
4644              </ul>
4645            </td>
4646
4647          </tr> <!-- end of entry -->
4648
4649
4650          <tr class="entry" id="dynamic_android.jpeg.thumbnailSize">
4651            <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Size</td>
4652            <td class="entry_type">
4653                <span class="entry_type_name">int32</span>
4654                <span class="entry_type_container">x</span>
4655
4656                <span class="entry_type_array">
4657                  2
4658                </span>
4659
4660
4661
4662            </td> <!-- entry_type -->
4663
4664            <td class="entry_description">
4665              Resolution of embedded JPEG
4666          thumbnail
4667            </td>
4668
4669            <td class="entry_units">
4670            </td>
4671
4672            <td class="entry_range">
4673              from android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes
4674            </td>
4675
4676            <td class="entry_notes">
4677            </td>
4678
4679            <td class="entry_tags">
4680              <ul class="entry_tags">
4681                  <li><a href="#tag_BC">BC</a></li>
4682              </ul>
4683            </td>
4684
4685          </tr> <!-- end of entry -->
4686
4687
4688
4689      <!-- end of kind -->
4690      </tbody>
4691
4692  <!-- end of section -->
4693  <tr><td colspan="7" id="section_lens" class="section">lens</td></tr>
4694
4695
4696      <tr><td colspan="7" class="kind">controls</td></tr>
4697
4698      <thead>
4699        <tr>
4700          <th class="th_name">Property Name</th>
4701          <th class="th_type">Type</th>
4702          <th class="th_description">Description</th>
4703          <th class="th_units">Units</th>
4704          <th class="th_range">Range</th>
4705          <th class="th_notes">Notes</th>
4706          <th class="th_tags">Tags</th>
4707        </tr>
4708      </thead>
4709
4710      <tbody>
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721          <tr class="entry" id="controls_android.lens.aperture">
4722            <td class="entry_name">android.<wbr>lens.<wbr>aperture</td>
4723            <td class="entry_type">
4724                <span class="entry_type_name">float</span>
4725
4726
4727
4728
4729            </td> <!-- entry_type -->
4730
4731            <td class="entry_description">
4732              Size of the lens aperture
4733            </td>
4734
4735            <td class="entry_units">
4736              f-number (f/<wbr>NNN)
4737            </td>
4738
4739            <td class="entry_range">
4740              android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures
4741            </td>
4742
4743            <td class="entry_notes">
4744              Will not be supported on most devices.<wbr> Can only
4745          pick from supported list
4746            </td>
4747
4748            <td class="entry_tags">
4749              <ul class="entry_tags">
4750                  <li><a href="#tag_V1">V1</a></li>
4751              </ul>
4752            </td>
4753
4754          </tr> <!-- end of entry -->
4755
4756
4757          <tr class="entry" id="controls_android.lens.filterDensity">
4758            <td class="entry_name">android.<wbr>lens.<wbr>filter<wbr>Density</td>
4759            <td class="entry_type">
4760                <span class="entry_type_name">float</span>
4761
4762
4763
4764
4765            </td> <!-- entry_type -->
4766
4767            <td class="entry_description">
4768              State of lens neutral density
4769          filter(s)
4770            </td>
4771
4772            <td class="entry_units">
4773              number of stops of filtering
4774            </td>
4775
4776            <td class="entry_range">
4777              android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities
4778            </td>
4779
4780            <td class="entry_notes">
4781              Will not be supported on most devices.<wbr> Can only
4782          pick from supported list
4783            </td>
4784
4785            <td class="entry_tags">
4786              <ul class="entry_tags">
4787                  <li><a href="#tag_V1">V1</a></li>
4788              </ul>
4789            </td>
4790
4791          </tr> <!-- end of entry -->
4792
4793
4794          <tr class="entry" id="controls_android.lens.focalLength">
4795            <td class="entry_name">android.<wbr>lens.<wbr>focal<wbr>Length</td>
4796            <td class="entry_type">
4797                <span class="entry_type_name">float</span>
4798
4799
4800
4801
4802            </td> <!-- entry_type -->
4803
4804            <td class="entry_description">
4805              Lens optical zoom setting
4806            </td>
4807
4808            <td class="entry_units">
4809              focal length in mm
4810            </td>
4811
4812            <td class="entry_range">
4813              > 0
4814            </td>
4815
4816            <td class="entry_notes">
4817              Will not be supported on most devices.<wbr>
4818            </td>
4819
4820            <td class="entry_tags">
4821              <ul class="entry_tags">
4822                  <li><a href="#tag_V1">V1</a></li>
4823              </ul>
4824            </td>
4825
4826          </tr> <!-- end of entry -->
4827
4828
4829          <tr class="entry" id="controls_android.lens.focusDistance">
4830            <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Distance</td>
4831            <td class="entry_type">
4832                <span class="entry_type_name">float</span>
4833
4834
4835
4836
4837            </td> <!-- entry_type -->
4838
4839            <td class="entry_description">
4840              Distance to plane of sharpest focus,<wbr>
4841          measured from frontmost surface of the lens
4842            </td>
4843
4844            <td class="entry_units">
4845              diopters (1/<wbr>m)
4846            </td>
4847
4848            <td class="entry_range">
4849              >= 0
4850            </td>
4851
4852            <td class="entry_notes">
4853              0 = infinity focus.<wbr> Used value should be clamped
4854          to (0,<wbr>minimum focus distance)
4855            </td>
4856
4857            <td class="entry_tags">
4858              <ul class="entry_tags">
4859                  <li><a href="#tag_BC">BC</a></li>
4860                  <li><a href="#tag_V1">V1</a></li>
4861              </ul>
4862            </td>
4863
4864          </tr> <!-- end of entry -->
4865
4866
4867          <tr class="entry" id="controls_android.lens.opticalStabilizationMode">
4868            <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Stabilization<wbr>Mode</td>
4869            <td class="entry_type">
4870                <span class="entry_type_name entry_type_name_enum">byte</span>
4871
4872
4873
4874                <ul class="entry_type_enum">
4875                  <li>
4876                    <span class="entry_type_enum_name">OFF</span>
4877                  </li>
4878                  <li>
4879                    <span class="entry_type_enum_name">ON</span>
4880                    <span class="entry_type_enum_optional">optional</span>
4881                  </li>
4882                </ul>
4883
4884            </td> <!-- entry_type -->
4885
4886            <td class="entry_description">
4887              Whether optical image stabilization is
4888          enabled.<wbr>
4889            </td>
4890
4891            <td class="entry_units">
4892            </td>
4893
4894            <td class="entry_range">
4895              android.<wbr>lens.<wbr>available<wbr>Optical<wbr>Stabilization
4896            </td>
4897
4898            <td class="entry_notes">
4899              Will not be supported on most devices.<wbr>
4900            </td>
4901
4902            <td class="entry_tags">
4903              <ul class="entry_tags">
4904                  <li><a href="#tag_V1">V1</a></li>
4905              </ul>
4906            </td>
4907
4908          </tr> <!-- end of entry -->
4909
4910
4911
4912      <!-- end of kind -->
4913      </tbody>
4914      <tr><td colspan="7" class="kind">static</td></tr>
4915
4916      <thead>
4917        <tr>
4918          <th class="th_name">Property Name</th>
4919          <th class="th_type">Type</th>
4920          <th class="th_description">Description</th>
4921          <th class="th_units">Units</th>
4922          <th class="th_range">Range</th>
4923          <th class="th_notes">Notes</th>
4924          <th class="th_tags">Tags</th>
4925        </tr>
4926      </thead>
4927
4928      <tbody>
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941          <tr class="entry" id="static_android.lens.info.availableApertures">
4942            <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures</td>
4943            <td class="entry_type">
4944                <span class="entry_type_name">float</span>
4945                <span class="entry_type_container">x</span>
4946
4947                <span class="entry_type_array">
4948                  n
4949                </span>
4950
4951
4952
4953            </td> <!-- entry_type -->
4954
4955            <td class="entry_description">
4956              List of supported aperture
4957            values
4958            </td>
4959
4960            <td class="entry_units">
4961            </td>
4962
4963            <td class="entry_range">
4964              one entry required,<wbr> > 0
4965            </td>
4966
4967            <td class="entry_notes">
4968              If variable aperture not available,<wbr> only setting
4969            should be for the fixed aperture
4970            </td>
4971
4972            <td class="entry_tags">
4973              <ul class="entry_tags">
4974                  <li><a href="#tag_V1">V1</a></li>
4975              </ul>
4976            </td>
4977
4978          </tr> <!-- end of entry -->
4979
4980
4981          <tr class="entry" id="static_android.lens.info.availableFilterDensities">
4982            <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities</td>
4983            <td class="entry_type">
4984                <span class="entry_type_name">float</span>
4985                <span class="entry_type_container">x</span>
4986
4987                <span class="entry_type_array">
4988                  n
4989                </span>
4990
4991
4992
4993            </td> <!-- entry_type -->
4994
4995            <td class="entry_description">
4996              List of supported ND filter
4997            values
4998            </td>
4999
5000            <td class="entry_units">
5001            </td>
5002
5003            <td class="entry_range">
5004              one entry required,<wbr> >= 0
5005            </td>
5006
5007            <td class="entry_notes">
5008              If not available,<wbr> only setting is 0.<wbr> Otherwise,<wbr>
5009            lists the available exposure index values for dimming
5010            (2 would mean the filter is set to reduce incoming
5011            light by two stops)
5012            </td>
5013
5014            <td class="entry_tags">
5015              <ul class="entry_tags">
5016                  <li><a href="#tag_V1">V1</a></li>
5017              </ul>
5018            </td>
5019
5020          </tr> <!-- end of entry -->
5021
5022
5023          <tr class="entry" id="static_android.lens.info.availableFocalLengths">
5024            <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Focal<wbr>Lengths</td>
5025            <td class="entry_type">
5026                <span class="entry_type_name">float</span>
5027                <span class="entry_type_container">x</span>
5028
5029                <span class="entry_type_array">
5030                  n
5031                </span>
5032
5033                <div class="entry_type_notes">the list of available focal lengths</div>
5034
5035
5036            </td> <!-- entry_type -->
5037
5038            <td class="entry_description">
5039              If fitted with optical zoom,<wbr> what focal
5040            lengths are available.<wbr> If not,<wbr> the static focal
5041            length
5042            </td>
5043
5044            <td class="entry_units">
5045            </td>
5046
5047            <td class="entry_range">
5048              > 0
5049            </td>
5050
5051            <td class="entry_notes">
5052              If optical zoom not supported,<wbr> only one value
5053            should be reported
5054            </td>
5055
5056            <td class="entry_tags">
5057              <ul class="entry_tags">
5058                  <li><a href="#tag_BC">BC</a></li>
5059                  <li><a href="#tag_V1">V1</a></li>
5060              </ul>
5061            </td>
5062
5063          </tr> <!-- end of entry -->
5064
5065
5066          <tr class="entry" id="static_android.lens.info.availableOpticalStabilization">
5067            <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Optical<wbr>Stabilization</td>
5068            <td class="entry_type">
5069                <span class="entry_type_name">byte</span>
5070                <span class="entry_type_container">x</span>
5071
5072                <span class="entry_type_array">
5073                  n
5074                </span>
5075
5076                <div class="entry_type_notes">list of enums</div>
5077
5078
5079            </td> <!-- entry_type -->
5080
5081            <td class="entry_description">
5082              List of supported optical image
5083            stabilization modes
5084            </td>
5085
5086            <td class="entry_units">
5087            </td>
5088
5089            <td class="entry_range">
5090            </td>
5091
5092            <td class="entry_notes">
5093            </td>
5094
5095            <td class="entry_tags">
5096              <ul class="entry_tags">
5097                  <li><a href="#tag_V1">V1</a></li>
5098              </ul>
5099            </td>
5100
5101          </tr> <!-- end of entry -->
5102
5103
5104          <tr class="entry" id="static_android.lens.info.geometricCorrectionMap">
5105            <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>geometric<wbr>Correction<wbr>Map</td>
5106            <td class="entry_type">
5107                <span class="entry_type_name">float</span>
5108                <span class="entry_type_container">x</span>
5109
5110                <span class="entry_type_array">
5111                  2 x 3 x n x m
5112                </span>
5113
5114                <div class="entry_type_notes">2D array of destination coordinate pairs for uniform grid points in source image,<wbr> per color channel.<wbr> Size in the range of 2x3x40x30</div>
5115
5116
5117            </td> <!-- entry_type -->
5118
5119            <td class="entry_description">
5120              A low-resolution map for correction of
5121            geometric distortions and chromatic aberrations,<wbr> per
5122            color channel
5123            </td>
5124
5125            <td class="entry_units">
5126            </td>
5127
5128            <td class="entry_range">
5129              N,<wbr> M >= 2
5130            </td>
5131
5132            <td class="entry_notes">
5133              [DNG wants a function instead].<wbr> What's easiest
5134            for implementers? With an array size (M,<wbr> N),<wbr> entry (i,<wbr>
5135            j) provides the destination for pixel (i/<wbr>(M-1) * width,<wbr>
5136            j/<wbr>(N-1) * height).<wbr> Data is row-major,<wbr> with each array
5137            entry being ( (X,<wbr> Y)_<wbr>r,<wbr> (X,<wbr> Y)_<wbr>g,<wbr> (X,<wbr> Y)_<wbr>b ) )
5138            </td>
5139
5140            <td class="entry_tags">
5141              <ul class="entry_tags">
5142                  <li><a href="#tag_DNG">DNG</a></li>
5143              </ul>
5144            </td>
5145
5146          </tr> <!-- end of entry -->
5147
5148
5149          <tr class="entry" id="static_android.lens.info.geometricCorrectionMapSize">
5150            <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>geometric<wbr>Correction<wbr>Map<wbr>Size</td>
5151            <td class="entry_type">
5152                <span class="entry_type_name">int32</span>
5153                <span class="entry_type_container">x</span>
5154
5155                <span class="entry_type_array">
5156                  2
5157                </span>
5158
5159                <div class="entry_type_notes">width and height of geometric correction map</div>
5160
5161
5162            </td> <!-- entry_type -->
5163
5164            <td class="entry_description">
5165              Dimensions of geometric correction
5166            map
5167            </td>
5168
5169            <td class="entry_units">
5170            </td>
5171
5172            <td class="entry_range">
5173              Both values >= 2
5174            </td>
5175
5176            <td class="entry_notes">
5177            </td>
5178
5179            <td class="entry_tags">
5180              <ul class="entry_tags">
5181                  <li><a href="#tag_V1">V1</a></li>
5182              </ul>
5183            </td>
5184
5185          </tr> <!-- end of entry -->
5186
5187
5188          <tr class="entry" id="static_android.lens.info.hyperfocalDistance">
5189            <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>hyperfocal<wbr>Distance</td>
5190            <td class="entry_type">
5191                <span class="entry_type_name">float</span>
5192
5193
5194
5195
5196            </td> <!-- entry_type -->
5197
5198            <td class="entry_description">
5199              Hyperfocal distance for this lens; set to
5200            0 if fixed focus
5201            </td>
5202
5203            <td class="entry_units">
5204              diopters
5205            </td>
5206
5207            <td class="entry_range">
5208              >= 0
5209            </td>
5210
5211            <td class="entry_notes">
5212              The hyperfocal distance is used for the old
5213            API's 'fixed' setting
5214            </td>
5215
5216            <td class="entry_tags">
5217              <ul class="entry_tags">
5218                  <li><a href="#tag_BC">BC</a></li>
5219              </ul>
5220            </td>
5221
5222          </tr> <!-- end of entry -->
5223
5224
5225          <tr class="entry" id="static_android.lens.info.minimumFocusDistance">
5226            <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>minimum<wbr>Focus<wbr>Distance</td>
5227            <td class="entry_type">
5228                <span class="entry_type_name">float</span>
5229
5230
5231
5232
5233            </td> <!-- entry_type -->
5234
5235            <td class="entry_description">
5236              Shortest distance from frontmost surface
5237            of the lens that can be focused correctly
5238            </td>
5239
5240            <td class="entry_units">
5241              diopters
5242            </td>
5243
5244            <td class="entry_range">
5245              >= 0
5246            </td>
5247
5248            <td class="entry_notes">
5249              If the lens is fixed-focus,<wbr> this should be
5250            0
5251            </td>
5252
5253            <td class="entry_tags">
5254              <ul class="entry_tags">
5255                  <li><a href="#tag_V1">V1</a></li>
5256              </ul>
5257            </td>
5258
5259          </tr> <!-- end of entry -->
5260
5261
5262          <tr class="entry" id="static_android.lens.info.shadingMap">
5263            <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>shading<wbr>Map</td>
5264            <td class="entry_type">
5265                <span class="entry_type_name">float</span>
5266                <span class="entry_type_container">x</span>
5267
5268                <span class="entry_type_array">
5269                  3 x n x m
5270                </span>
5271
5272                <div class="entry_type_notes">2D array of float gain factors per channel to correct for lens falloff.<wbr> Should be on the order of 3x40x30</div>
5273
5274
5275            </td> <!-- entry_type -->
5276
5277            <td class="entry_description">
5278              A low-resolution map of lens shading,<wbr> per
5279            color channel
5280            </td>
5281
5282            <td class="entry_units">
5283            </td>
5284
5285            <td class="entry_range">
5286              Each gain factor is >= 1
5287            </td>
5288
5289            <td class="entry_notes">
5290              Assume bilinear interpolation of map.<wbr> The least
5291            shaded section of the image should have a gain factor
5292            of 1; all other sections should have gains above
5293            1.<wbr>
5294            </td>
5295
5296            <td class="entry_tags">
5297              <ul class="entry_tags">
5298                  <li><a href="#tag_DNG">DNG</a></li>
5299              </ul>
5300            </td>
5301
5302          </tr> <!-- end of entry -->
5303
5304
5305          <tr class="entry" id="static_android.lens.info.shadingMapSize">
5306            <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>shading<wbr>Map<wbr>Size</td>
5307            <td class="entry_type">
5308                <span class="entry_type_name">int32</span>
5309                <span class="entry_type_container">x</span>
5310
5311                <span class="entry_type_array">
5312                  2
5313                </span>
5314
5315                <div class="entry_type_notes">width and height of lens shading map</div>
5316
5317
5318            </td> <!-- entry_type -->
5319
5320            <td class="entry_description">
5321              Dimensions of lens shading
5322            map
5323            </td>
5324
5325            <td class="entry_units">
5326            </td>
5327
5328            <td class="entry_range">
5329              Both values >= 1
5330            </td>
5331
5332            <td class="entry_notes">
5333            </td>
5334
5335            <td class="entry_tags">
5336              <ul class="entry_tags">
5337                  <li><a href="#tag_V1">V1</a></li>
5338              </ul>
5339            </td>
5340
5341          </tr> <!-- end of entry -->
5342
5343
5344
5345
5346
5347          <tr class="entry" id="static_android.lens.facing">
5348            <td class="entry_name">android.<wbr>lens.<wbr>facing</td>
5349            <td class="entry_type">
5350                <span class="entry_type_name entry_type_name_enum">byte</span>
5351
5352
5353
5354                <ul class="entry_type_enum">
5355                  <li>
5356                    <span class="entry_type_enum_name">FRONT</span>
5357                  </li>
5358                  <li>
5359                    <span class="entry_type_enum_name">BACK</span>
5360                  </li>
5361                </ul>
5362
5363            </td> <!-- entry_type -->
5364
5365            <td class="entry_description">
5366              Direction the camera faces relative to
5367          device screen
5368            </td>
5369
5370            <td class="entry_units">
5371            </td>
5372
5373            <td class="entry_range">
5374            </td>
5375
5376            <td class="entry_notes">
5377            </td>
5378
5379            <td class="entry_tags">
5380            </td>
5381
5382          </tr> <!-- end of entry -->
5383
5384
5385          <tr class="entry" id="static_android.lens.opticalAxisAngle">
5386            <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Axis<wbr>Angle</td>
5387            <td class="entry_type">
5388                <span class="entry_type_name">float</span>
5389                <span class="entry_type_container">x</span>
5390
5391                <span class="entry_type_array">
5392                  2
5393                </span>
5394
5395                <div class="entry_type_notes">degrees.<wbr> First defines the angle of separation between the perpendicular to the screen and the camera optical axis.<wbr> The second then defines the clockwise rotation of the optical axis from native device up.<wbr></div>
5396
5397
5398            </td> <!-- entry_type -->
5399
5400            <td class="entry_description">
5401              Relative angle of camera optical axis to the
5402          perpendicular axis from the display
5403            </td>
5404
5405            <td class="entry_units">
5406            </td>
5407
5408            <td class="entry_range">
5409              [0-90) for first angle,<wbr> [0-360) for second
5410            </td>
5411
5412            <td class="entry_notes">
5413              Examples: (0,<wbr>0) means that the camera optical axis
5414          is perpendicular to the display surface; (45,<wbr>0) means
5415          that the camera points 45 degrees up when device is held
5416          upright; (45,<wbr>90) means the camera points 45 degrees to
5417          the right when the device is held upright.<wbr> Use FACING
5418          field to determine perpendicular outgoing
5419          direction
5420            </td>
5421
5422            <td class="entry_tags">
5423              <ul class="entry_tags">
5424                  <li><a href="#tag_ADV">ADV</a></li>
5425              </ul>
5426            </td>
5427
5428          </tr> <!-- end of entry -->
5429
5430
5431          <tr class="entry" id="static_android.lens.position">
5432            <td class="entry_name">android.<wbr>lens.<wbr>position</td>
5433            <td class="entry_type">
5434                <span class="entry_type_name">float</span>
5435                <span class="entry_type_container">x</span>
5436
5437                <span class="entry_type_array">
5438                  3, location in mm, in the sensor coordinate
5439            system
5440                </span>
5441
5442
5443
5444            </td> <!-- entry_type -->
5445
5446            <td class="entry_description">
5447              Coordinates of camera optical axis on
5448          device
5449            </td>
5450
5451            <td class="entry_units">
5452            </td>
5453
5454            <td class="entry_range">
5455            </td>
5456
5457            <td class="entry_notes">
5458            </td>
5459
5460            <td class="entry_tags">
5461              <ul class="entry_tags">
5462                  <li><a href="#tag_V1">V1</a></li>
5463              </ul>
5464            </td>
5465
5466          </tr> <!-- end of entry -->
5467
5468
5469
5470      <!-- end of kind -->
5471      </tbody>
5472      <tr><td colspan="7" class="kind">dynamic</td></tr>
5473
5474      <thead>
5475        <tr>
5476          <th class="th_name">Property Name</th>
5477          <th class="th_type">Type</th>
5478          <th class="th_description">Description</th>
5479          <th class="th_units">Units</th>
5480          <th class="th_range">Range</th>
5481          <th class="th_notes">Notes</th>
5482          <th class="th_tags">Tags</th>
5483        </tr>
5484      </thead>
5485
5486      <tbody>
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497          <tr class="entry" id="dynamic_android.lens.aperture">
5498            <td class="entry_name">android.<wbr>lens.<wbr>aperture</td>
5499            <td class="entry_type">
5500                <span class="entry_type_name">float</span>
5501
5502
5503
5504
5505            </td> <!-- entry_type -->
5506
5507            <td class="entry_description">
5508              Size of the lens aperture
5509            </td>
5510
5511            <td class="entry_units">
5512              f-number (f/<wbr>NNN)
5513            </td>
5514
5515            <td class="entry_range">
5516              android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures
5517            </td>
5518
5519            <td class="entry_notes">
5520              Will not be supported on most devices.<wbr> Can only
5521          pick from supported list
5522            </td>
5523
5524            <td class="entry_tags">
5525              <ul class="entry_tags">
5526                  <li><a href="#tag_V1">V1</a></li>
5527              </ul>
5528            </td>
5529
5530          </tr> <!-- end of entry -->
5531
5532
5533          <tr class="entry" id="dynamic_android.lens.filterDensity">
5534            <td class="entry_name">android.<wbr>lens.<wbr>filter<wbr>Density</td>
5535            <td class="entry_type">
5536                <span class="entry_type_name">float</span>
5537
5538
5539
5540
5541            </td> <!-- entry_type -->
5542
5543            <td class="entry_description">
5544              State of lens neutral density
5545          filter(s)
5546            </td>
5547
5548            <td class="entry_units">
5549              number of stops of filtering
5550            </td>
5551
5552            <td class="entry_range">
5553              android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities
5554            </td>
5555
5556            <td class="entry_notes">
5557              Will not be supported on most devices.<wbr> Can only
5558          pick from supported list
5559            </td>
5560
5561            <td class="entry_tags">
5562              <ul class="entry_tags">
5563                  <li><a href="#tag_V1">V1</a></li>
5564              </ul>
5565            </td>
5566
5567          </tr> <!-- end of entry -->
5568
5569
5570          <tr class="entry" id="dynamic_android.lens.focalLength">
5571            <td class="entry_name">android.<wbr>lens.<wbr>focal<wbr>Length</td>
5572            <td class="entry_type">
5573                <span class="entry_type_name">float</span>
5574
5575
5576
5577
5578            </td> <!-- entry_type -->
5579
5580            <td class="entry_description">
5581              Lens optical zoom setting
5582            </td>
5583
5584            <td class="entry_units">
5585              focal length in mm
5586            </td>
5587
5588            <td class="entry_range">
5589              > 0
5590            </td>
5591
5592            <td class="entry_notes">
5593              Will not be supported on most devices.<wbr>
5594            </td>
5595
5596            <td class="entry_tags">
5597              <ul class="entry_tags">
5598                  <li><a href="#tag_BC">BC</a></li>
5599              </ul>
5600            </td>
5601
5602          </tr> <!-- end of entry -->
5603
5604
5605          <tr class="entry" id="dynamic_android.lens.focusDistance">
5606            <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Distance</td>
5607            <td class="entry_type">
5608                <span class="entry_type_name">float</span>
5609
5610
5611
5612
5613            </td> <!-- entry_type -->
5614
5615            <td class="entry_description">
5616              Distance to plane of sharpest focus,<wbr>
5617          measured from frontmost surface of the lens
5618            </td>
5619
5620            <td class="entry_units">
5621              diopters (1/<wbr>m)
5622            </td>
5623
5624            <td class="entry_range">
5625              >= 0
5626            </td>
5627
5628            <td class="entry_notes">
5629              Should be zero for fixed-focus cameras
5630            </td>
5631
5632            <td class="entry_tags">
5633              <ul class="entry_tags">
5634                  <li><a href="#tag_BC">BC</a></li>
5635              </ul>
5636            </td>
5637
5638          </tr> <!-- end of entry -->
5639
5640
5641          <tr class="entry" id="dynamic_android.lens.focusRange">
5642            <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Range</td>
5643            <td class="entry_type">
5644                <span class="entry_type_name">float</span>
5645
5646
5647
5648
5649            </td> <!-- entry_type -->
5650
5651            <td class="entry_description">
5652              The range of scene distances that are in
5653          sharp focus (depth of field)
5654            </td>
5655
5656            <td class="entry_units">
5657              pair of focus distances in diopters: (near,<wbr>
5658          far)
5659            </td>
5660
5661            <td class="entry_range">
5662              >=0
5663            </td>
5664
5665            <td class="entry_notes">
5666              If variable focus not supported,<wbr> can still report
5667          fixed depth of field range
5668            </td>
5669
5670            <td class="entry_tags">
5671              <ul class="entry_tags">
5672                  <li><a href="#tag_BC">BC</a></li>
5673              </ul>
5674            </td>
5675
5676          </tr> <!-- end of entry -->
5677
5678
5679          <tr class="entry" id="dynamic_android.lens.opticalStabilizationMode">
5680            <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Stabilization<wbr>Mode</td>
5681            <td class="entry_type">
5682                <span class="entry_type_name entry_type_name_enum">byte</span>
5683
5684
5685
5686                <ul class="entry_type_enum">
5687                  <li>
5688                    <span class="entry_type_enum_name">OFF</span>
5689                  </li>
5690                  <li>
5691                    <span class="entry_type_enum_name">ON</span>
5692                    <span class="entry_type_enum_optional">optional</span>
5693                  </li>
5694                </ul>
5695
5696            </td> <!-- entry_type -->
5697
5698            <td class="entry_description">
5699              Whether optical image stabilization is
5700          enabled.<wbr>
5701            </td>
5702
5703            <td class="entry_units">
5704            </td>
5705
5706            <td class="entry_range">
5707              android.<wbr>lens.<wbr>available<wbr>Optical<wbr>Stabilization
5708            </td>
5709
5710            <td class="entry_notes">
5711              Will not be supported on most devices.<wbr>
5712            </td>
5713
5714            <td class="entry_tags">
5715              <ul class="entry_tags">
5716                  <li><a href="#tag_V1">V1</a></li>
5717              </ul>
5718            </td>
5719
5720          </tr> <!-- end of entry -->
5721
5722
5723          <tr class="entry" id="dynamic_android.lens.state">
5724            <td class="entry_name">android.<wbr>lens.<wbr>state</td>
5725            <td class="entry_type">
5726                <span class="entry_type_name entry_type_name_enum">byte</span>
5727
5728
5729
5730                <ul class="entry_type_enum">
5731                  <li>
5732                    <span class="entry_type_enum_name">STATIONARY</span>
5733                  </li>
5734                </ul>
5735
5736            </td> <!-- entry_type -->
5737
5738            <td class="entry_description">
5739              Current lens status
5740            </td>
5741
5742            <td class="entry_units">
5743            </td>
5744
5745            <td class="entry_range">
5746            </td>
5747
5748            <td class="entry_notes">
5749            </td>
5750
5751            <td class="entry_tags">
5752              <ul class="entry_tags">
5753                  <li><a href="#tag_V1">V1</a></li>
5754              </ul>
5755            </td>
5756
5757          </tr> <!-- end of entry -->
5758
5759
5760
5761      <!-- end of kind -->
5762      </tbody>
5763
5764  <!-- end of section -->
5765  <tr><td colspan="7" id="section_noiseReduction" class="section">noiseReduction</td></tr>
5766
5767
5768      <tr><td colspan="7" class="kind">controls</td></tr>
5769
5770      <thead>
5771        <tr>
5772          <th class="th_name">Property Name</th>
5773          <th class="th_type">Type</th>
5774          <th class="th_description">Description</th>
5775          <th class="th_units">Units</th>
5776          <th class="th_range">Range</th>
5777          <th class="th_notes">Notes</th>
5778          <th class="th_tags">Tags</th>
5779        </tr>
5780      </thead>
5781
5782      <tbody>
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793          <tr class="entry" id="controls_android.noiseReduction.mode">
5794            <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>mode</td>
5795            <td class="entry_type">
5796                <span class="entry_type_name entry_type_name_enum">byte</span>
5797
5798
5799
5800                <ul class="entry_type_enum">
5801                  <li>
5802                    <span class="entry_type_enum_name">OFF</span>
5803                    <span class="entry_type_enum_notes">No noise reduction is applied</span>
5804                  </li>
5805                  <li>
5806                    <span class="entry_type_enum_name">FAST</span>
5807                    <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
5808            bayer output</span>
5809                  </li>
5810                  <li>
5811                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
5812                    <span class="entry_type_enum_notes">May slow down frame rate to provide highest
5813            quality</span>
5814                  </li>
5815                </ul>
5816
5817            </td> <!-- entry_type -->
5818
5819            <td class="entry_description">
5820              Mode of operation for the noise reduction
5821          algorithm
5822            </td>
5823
5824            <td class="entry_units">
5825            </td>
5826
5827            <td class="entry_range">
5828              android.<wbr>noise<wbr>Reduction.<wbr>available<wbr>Modes
5829            </td>
5830
5831            <td class="entry_notes">
5832            </td>
5833
5834            <td class="entry_tags">
5835              <ul class="entry_tags">
5836                  <li><a href="#tag_V1">V1</a></li>
5837              </ul>
5838            </td>
5839
5840          </tr> <!-- end of entry -->
5841
5842
5843          <tr class="entry" id="controls_android.noiseReduction.strength">
5844            <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>strength</td>
5845            <td class="entry_type">
5846                <span class="entry_type_name">byte</span>
5847
5848
5849
5850
5851            </td> <!-- entry_type -->
5852
5853            <td class="entry_description">
5854              Control the amount of noise reduction
5855          applied to the images
5856            </td>
5857
5858            <td class="entry_units">
5859              1-10; 10 is max noise reduction
5860            </td>
5861
5862            <td class="entry_range">
5863              1 - 10
5864            </td>
5865
5866            <td class="entry_notes">
5867            </td>
5868
5869            <td class="entry_tags">
5870            </td>
5871
5872          </tr> <!-- end of entry -->
5873
5874
5875
5876      <!-- end of kind -->
5877      </tbody>
5878      <tr><td colspan="7" class="kind">dynamic</td></tr>
5879
5880      <thead>
5881        <tr>
5882          <th class="th_name">Property Name</th>
5883          <th class="th_type">Type</th>
5884          <th class="th_description">Description</th>
5885          <th class="th_units">Units</th>
5886          <th class="th_range">Range</th>
5887          <th class="th_notes">Notes</th>
5888          <th class="th_tags">Tags</th>
5889        </tr>
5890      </thead>
5891
5892      <tbody>
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903          <tr class="entry" id="dynamic_android.noiseReduction.mode">
5904            <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>mode</td>
5905            <td class="entry_type">
5906                <span class="entry_type_name entry_type_name_enum">byte</span>
5907
5908
5909
5910                <ul class="entry_type_enum">
5911                  <li>
5912                    <span class="entry_type_enum_name">OFF</span>
5913                    <span class="entry_type_enum_notes">No noise reduction is applied</span>
5914                  </li>
5915                  <li>
5916                    <span class="entry_type_enum_name">FAST</span>
5917                    <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
5918            bayer output</span>
5919                  </li>
5920                  <li>
5921                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
5922                    <span class="entry_type_enum_notes">May slow down frame rate to provide highest
5923            quality</span>
5924                  </li>
5925                </ul>
5926
5927            </td> <!-- entry_type -->
5928
5929            <td class="entry_description">
5930              Mode of operation for the noise reduction
5931          algorithm
5932            </td>
5933
5934            <td class="entry_units">
5935            </td>
5936
5937            <td class="entry_range">
5938              android.<wbr>noise<wbr>Reduction.<wbr>available<wbr>Modes
5939            </td>
5940
5941            <td class="entry_notes">
5942            </td>
5943
5944            <td class="entry_tags">
5945              <ul class="entry_tags">
5946                  <li><a href="#tag_V1">V1</a></li>
5947              </ul>
5948            </td>
5949
5950          </tr> <!-- end of entry -->
5951
5952
5953
5954      <!-- end of kind -->
5955      </tbody>
5956
5957  <!-- end of section -->
5958  <tr><td colspan="7" id="section_quirks" class="section">quirks</td></tr>
5959
5960
5961      <tr><td colspan="7" class="kind">static</td></tr>
5962
5963      <thead>
5964        <tr>
5965          <th class="th_name">Property Name</th>
5966          <th class="th_type">Type</th>
5967          <th class="th_description">Description</th>
5968          <th class="th_units">Units</th>
5969          <th class="th_range">Range</th>
5970          <th class="th_notes">Notes</th>
5971          <th class="th_tags">Tags</th>
5972        </tr>
5973      </thead>
5974
5975      <tbody>
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986          <tr class="entry" id="static_android.quirks.meteringCropRegion">
5987            <td class="entry_name">android.<wbr>quirks.<wbr>metering<wbr>Crop<wbr>Region</td>
5988            <td class="entry_type">
5989                <span class="entry_type_name">byte</span>
5990
5991
5992
5993
5994            </td> <!-- entry_type -->
5995
5996            <td class="entry_description">
5997              If set to 1,<wbr> the camera service does not
5998          scale 'normalized' coordinates with respect to the crop
5999          region.<wbr> This applies to metering input (a{e,<wbr>f,<wbr>wb}Region
6000          and output (face rectangles).<wbr>
6001            </td>
6002
6003            <td class="entry_units">
6004            </td>
6005
6006            <td class="entry_range">
6007            </td>
6008
6009            <td class="entry_notes">
6010              Normalized coordinates refer to those in the
6011          (-1000,<wbr>1000) range mentioned in the
6012          android.<wbr>hardware.<wbr><wbr>Camera API.<wbr> HAL implementations should
6013          instead always use and emit sensor array-relative
6014          coordinates for all region data.<wbr> Does not need to be
6015          listed in static metadata.<wbr> Support will be removed in
6016          future versions of camera service.<wbr>
6017            </td>
6018
6019            <td class="entry_tags">
6020            </td>
6021
6022          </tr> <!-- end of entry -->
6023
6024
6025          <tr class="entry" id="static_android.quirks.triggerAfWithAuto">
6026            <td class="entry_name">android.<wbr>quirks.<wbr>trigger<wbr>Af<wbr>With<wbr>Auto</td>
6027            <td class="entry_type">
6028                <span class="entry_type_name">byte</span>
6029
6030
6031
6032
6033            </td> <!-- entry_type -->
6034
6035            <td class="entry_description">
6036              If set to 1,<wbr> then the camera service always
6037          switches to FOCUS_<wbr>MODE_<wbr>AUTO before issuing a AF
6038          trigger.<wbr>
6039            </td>
6040
6041            <td class="entry_units">
6042            </td>
6043
6044            <td class="entry_range">
6045            </td>
6046
6047            <td class="entry_notes">
6048              HAL implementations should implement AF trigger
6049          modes for AUTO,<wbr> MACRO,<wbr> CONTINUOUS_<wbr>FOCUS,<wbr> and
6050          CONTINUOUS_<wbr>PICTURE modes instead of using this flag.<wbr> Does
6051          not need to be listed in static metadata.<wbr> Support will be
6052          removed in future versions of camera service
6053            </td>
6054
6055            <td class="entry_tags">
6056            </td>
6057
6058          </tr> <!-- end of entry -->
6059
6060
6061          <tr class="entry" id="static_android.quirks.useZslFormat">
6062            <td class="entry_name">android.<wbr>quirks.<wbr>use<wbr>Zsl<wbr>Format</td>
6063            <td class="entry_type">
6064                <span class="entry_type_name">byte</span>
6065
6066
6067
6068
6069            </td> <!-- entry_type -->
6070
6071            <td class="entry_description">
6072              If set to 1,<wbr> the camera service uses
6073          CAMERA2_<wbr>PIXEL_<wbr>FORMAT_<wbr>ZSL instead of
6074          HAL_<wbr>PIXEL_<wbr>FORMAT_<wbr>IMPLEMENTATION_<wbr>DEFINED for the zero
6075          shutter lag stream
6076            </td>
6077
6078            <td class="entry_units">
6079            </td>
6080
6081            <td class="entry_range">
6082            </td>
6083
6084            <td class="entry_notes">
6085              HAL implementations should use gralloc usage flags
6086          to determine that a stream will be used for
6087          zero-shutter-lag,<wbr> instead of relying on an explicit
6088          format setting.<wbr> Does not need to be listed in static
6089          metadata.<wbr> Support will be removed in future versions of
6090          camera service.<wbr>
6091            </td>
6092
6093            <td class="entry_tags">
6094            </td>
6095
6096          </tr> <!-- end of entry -->
6097
6098
6099
6100      <!-- end of kind -->
6101      </tbody>
6102
6103  <!-- end of section -->
6104  <tr><td colspan="7" id="section_request" class="section">request</td></tr>
6105
6106
6107      <tr><td colspan="7" class="kind">controls</td></tr>
6108
6109      <thead>
6110        <tr>
6111          <th class="th_name">Property Name</th>
6112          <th class="th_type">Type</th>
6113          <th class="th_description">Description</th>
6114          <th class="th_units">Units</th>
6115          <th class="th_range">Range</th>
6116          <th class="th_notes">Notes</th>
6117          <th class="th_tags">Tags</th>
6118        </tr>
6119      </thead>
6120
6121      <tbody>
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132          <tr class="entry" id="controls_android.request.frameCount">
6133            <td class="entry_name">android.<wbr>request.<wbr>frame<wbr>Count</td>
6134            <td class="entry_type">
6135                <span class="entry_type_name">int32</span>
6136
6137
6138
6139
6140            </td> <!-- entry_type -->
6141
6142            <td class="entry_description">
6143              A frame counter set by the framework.<wbr> Must
6144          be maintained unchanged in output frame
6145            </td>
6146
6147            <td class="entry_units">
6148              incrementing integer
6149            </td>
6150
6151            <td class="entry_range">
6152              Any int
6153            </td>
6154
6155            <td class="entry_notes">
6156            </td>
6157
6158            <td class="entry_tags">
6159            </td>
6160
6161          </tr> <!-- end of entry -->
6162
6163
6164          <tr class="entry" id="controls_android.request.id">
6165            <td class="entry_name">android.<wbr>request.<wbr>id</td>
6166            <td class="entry_type">
6167                <span class="entry_type_name">int32</span>
6168
6169
6170
6171
6172            </td> <!-- entry_type -->
6173
6174            <td class="entry_description">
6175              An application-specified ID for the current
6176          request.<wbr> Must be maintained unchanged in output
6177          frame
6178            </td>
6179
6180            <td class="entry_units">
6181              arbitrary integer assigned by application
6182            </td>
6183
6184            <td class="entry_range">
6185              Any int
6186            </td>
6187
6188            <td class="entry_notes">
6189            </td>
6190
6191            <td class="entry_tags">
6192              <ul class="entry_tags">
6193                  <li><a href="#tag_V1">V1</a></li>
6194              </ul>
6195            </td>
6196
6197          </tr> <!-- end of entry -->
6198
6199
6200          <tr class="entry" id="controls_android.request.inputStreams">
6201            <td class="entry_name">android.<wbr>request.<wbr>input<wbr>Streams</td>
6202            <td class="entry_type">
6203                <span class="entry_type_name">byte</span>
6204
6205
6206
6207
6208            </td> <!-- entry_type -->
6209
6210            <td class="entry_description">
6211              List which camera reprocess stream is used
6212          for the source of reprocessing data.<wbr>
6213            </td>
6214
6215            <td class="entry_units">
6216              List of camera reprocess stream IDs
6217            </td>
6218
6219            <td class="entry_range">
6220              Typically,<wbr> only one entry allowed,<wbr> must be a valid
6221          reprocess stream ID.<wbr> If android.<wbr>jpeg.<wbr>needs<wbr>Thumbnail is
6222          set,<wbr> then multiple reprocess streams may be included in a
6223          single request; they must be different scaled versions of
6224          the same image.<wbr>
6225            </td>
6226
6227            <td class="entry_notes">
6228              Only meaningful when android.<wbr>request.<wbr>type ==
6229          REPROCESS.<wbr> Ignored otherwise
6230            </td>
6231
6232            <td class="entry_tags">
6233            </td>
6234
6235          </tr> <!-- end of entry -->
6236
6237
6238          <tr class="entry" id="controls_android.request.metadataMode">
6239            <td class="entry_name">android.<wbr>request.<wbr>metadata<wbr>Mode</td>
6240            <td class="entry_type">
6241                <span class="entry_type_name entry_type_name_enum">byte</span>
6242
6243
6244
6245                <ul class="entry_type_enum">
6246                  <li>
6247                    <span class="entry_type_enum_name">NONE</span>
6248                    <span class="entry_type_enum_notes">No metadata should be produced on output,<wbr> except
6249            for application-bound buffer data.<wbr> If no
6250            application-bound streams exist,<wbr> no frame should be
6251            placed in the output frame queue.<wbr> If such streams
6252            exist,<wbr> a frame should be placed on the output queue
6253            with null metadata but with the necessary output buffer
6254            information.<wbr> Timestamp information should still be
6255            included with any output stream buffers</span>
6256                  </li>
6257                  <li>
6258                    <span class="entry_type_enum_name">FULL</span>
6259                    <span class="entry_type_enum_notes">All metadata should be produced.<wbr> Statistics will
6260            only be produced if they are separately
6261            enabled</span>
6262                  </li>
6263                </ul>
6264
6265            </td> <!-- entry_type -->
6266
6267            <td class="entry_description">
6268              How much metadata to produce on
6269          output
6270            </td>
6271
6272            <td class="entry_units">
6273            </td>
6274
6275            <td class="entry_range">
6276            </td>
6277
6278            <td class="entry_notes">
6279            </td>
6280
6281            <td class="entry_tags">
6282            </td>
6283
6284          </tr> <!-- end of entry -->
6285
6286
6287          <tr class="entry" id="controls_android.request.outputStreams">
6288            <td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td>
6289            <td class="entry_type">
6290                <span class="entry_type_name">byte</span>
6291
6292
6293
6294
6295            </td> <!-- entry_type -->
6296
6297            <td class="entry_description">
6298              Lists which camera output streams image data
6299          from this capture must be sent to
6300            </td>
6301
6302            <td class="entry_units">
6303              List of camera stream IDs
6304            </td>
6305
6306            <td class="entry_range">
6307              List must only include streams that have been
6308          created
6309            </td>
6310
6311            <td class="entry_notes">
6312              If no output streams are listed,<wbr> then the image
6313          data should simply be discarded.<wbr> The image data must
6314          still be captured for metadata and statistics production,<wbr>
6315          and the lens and flash must operate as requested.<wbr>
6316            </td>
6317
6318            <td class="entry_tags">
6319            </td>
6320
6321          </tr> <!-- end of entry -->
6322
6323
6324          <tr class="entry" id="controls_android.request.type">
6325            <td class="entry_name">android.<wbr>request.<wbr>type</td>
6326            <td class="entry_type">
6327                <span class="entry_type_name entry_type_name_enum">byte</span>
6328
6329
6330
6331                <ul class="entry_type_enum">
6332                  <li>
6333                    <span class="entry_type_enum_name">CAPTURE</span>
6334                    <span class="entry_type_enum_notes">Capture a new image from the imaging hardware,<wbr>
6335            and process it according to the
6336            settings</span>
6337                  </li>
6338                  <li>
6339                    <span class="entry_type_enum_name">REPROCESS</span>
6340                    <span class="entry_type_enum_notes">Process previously captured data; the
6341            android.<wbr>request.<wbr>input<wbr>Stream parameter determines the
6342            source reprocessing stream.<wbr> TODO: Mark dynamic metadata
6343            needed for reprocessing with [RP]</span>
6344                  </li>
6345                </ul>
6346
6347            </td> <!-- entry_type -->
6348
6349            <td class="entry_description">
6350              The type of the request; either CAPTURE or
6351          REPROCESS
6352            </td>
6353
6354            <td class="entry_units">
6355            </td>
6356
6357            <td class="entry_range">
6358            </td>
6359
6360            <td class="entry_notes">
6361            </td>
6362
6363            <td class="entry_tags">
6364            </td>
6365
6366          </tr> <!-- end of entry -->
6367
6368
6369
6370      <!-- end of kind -->
6371      </tbody>
6372      <tr><td colspan="7" class="kind">static</td></tr>
6373
6374      <thead>
6375        <tr>
6376          <th class="th_name">Property Name</th>
6377          <th class="th_type">Type</th>
6378          <th class="th_description">Description</th>
6379          <th class="th_units">Units</th>
6380          <th class="th_range">Range</th>
6381          <th class="th_notes">Notes</th>
6382          <th class="th_tags">Tags</th>
6383        </tr>
6384      </thead>
6385
6386      <tbody>
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397          <tr class="entry" id="static_android.request.maxNumOutputStreams">
6398            <td class="entry_name">android.<wbr>request.<wbr>max<wbr>Num<wbr>Output<wbr>Streams</td>
6399            <td class="entry_type">
6400                <span class="entry_type_name">int32</span>
6401                <span class="entry_type_container">x</span>
6402
6403                <span class="entry_type_array">
6404                  3
6405                </span>
6406
6407
6408
6409            </td> <!-- entry_type -->
6410
6411            <td class="entry_description">
6412              How many output streams can be allocated at
6413          the same time for each type of stream
6414            </td>
6415
6416            <td class="entry_units">
6417              The number of raw sensor streams; the number of
6418          processed,<wbr> uncompressed streams; and the number of
6419          JPEG-compressed streams
6420            </td>
6421
6422            <td class="entry_range">
6423              >=1 for Raw and JPEG-compressed stream.<wbr> >= 3
6424          for processed,<wbr> uncompressed streams
6425            </td>
6426
6427            <td class="entry_notes">
6428              Video snapshot with preview callbacks requires 3
6429          processed streams (preview,<wbr> record,<wbr> app callbacks) and
6430          one JPEG stream (snapshot)
6431            </td>
6432
6433            <td class="entry_tags">
6434              <ul class="entry_tags">
6435                  <li><a href="#tag_BC">BC</a></li>
6436              </ul>
6437            </td>
6438
6439          </tr> <!-- end of entry -->
6440
6441
6442          <tr class="entry" id="static_android.request.maxNumReprocessStreams">
6443            <td class="entry_name">android.<wbr>request.<wbr>max<wbr>Num<wbr>Reprocess<wbr>Streams</td>
6444            <td class="entry_type">
6445                <span class="entry_type_name">int32</span>
6446                <span class="entry_type_container">x</span>
6447
6448                <span class="entry_type_array">
6449                  1
6450                </span>
6451
6452
6453
6454            </td> <!-- entry_type -->
6455
6456            <td class="entry_description">
6457              How many reprocessing streams of any type
6458          can be allocated at the same time
6459            </td>
6460
6461            <td class="entry_units">
6462            </td>
6463
6464            <td class="entry_range">
6465              >= 1
6466            </td>
6467
6468            <td class="entry_notes">
6469            </td>
6470
6471            <td class="entry_tags">
6472            </td>
6473
6474          </tr> <!-- end of entry -->
6475
6476
6477
6478      <!-- end of kind -->
6479      </tbody>
6480      <tr><td colspan="7" class="kind">dynamic</td></tr>
6481
6482      <thead>
6483        <tr>
6484          <th class="th_name">Property Name</th>
6485          <th class="th_type">Type</th>
6486          <th class="th_description">Description</th>
6487          <th class="th_units">Units</th>
6488          <th class="th_range">Range</th>
6489          <th class="th_notes">Notes</th>
6490          <th class="th_tags">Tags</th>
6491        </tr>
6492      </thead>
6493
6494      <tbody>
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505          <tr class="entry" id="dynamic_android.request.frameCount">
6506            <td class="entry_name">android.<wbr>request.<wbr>frame<wbr>Count</td>
6507            <td class="entry_type">
6508                <span class="entry_type_name">int32</span>
6509
6510
6511
6512
6513            </td> <!-- entry_type -->
6514
6515            <td class="entry_description">
6516              Number of frames captured since
6517          open()
6518            </td>
6519
6520            <td class="entry_units">
6521              count of frames
6522            </td>
6523
6524            <td class="entry_range">
6525              > 0
6526            </td>
6527
6528            <td class="entry_notes">
6529              Reset on release()
6530            </td>
6531
6532            <td class="entry_tags">
6533            </td>
6534
6535          </tr> <!-- end of entry -->
6536
6537
6538          <tr class="entry" id="dynamic_android.request.id">
6539            <td class="entry_name">android.<wbr>request.<wbr>id</td>
6540            <td class="entry_type">
6541                <span class="entry_type_name">int32</span>
6542
6543
6544
6545
6546            </td> <!-- entry_type -->
6547
6548            <td class="entry_description">
6549              An application-specified ID for the current
6550          request.<wbr> Must be maintained unchanged in output
6551          frame
6552            </td>
6553
6554            <td class="entry_units">
6555              arbitrary integer assigned by application
6556            </td>
6557
6558            <td class="entry_range">
6559              Any int
6560            </td>
6561
6562            <td class="entry_notes">
6563            </td>
6564
6565            <td class="entry_tags">
6566              <ul class="entry_tags">
6567                  <li><a href="#tag_V1">V1</a></li>
6568              </ul>
6569            </td>
6570
6571          </tr> <!-- end of entry -->
6572
6573
6574          <tr class="entry" id="dynamic_android.request.metadataMode">
6575            <td class="entry_name">android.<wbr>request.<wbr>metadata<wbr>Mode</td>
6576            <td class="entry_type">
6577                <span class="entry_type_name entry_type_name_enum">byte</span>
6578
6579
6580
6581                <ul class="entry_type_enum">
6582                  <li>
6583                    <span class="entry_type_enum_name">NONE</span>
6584                    <span class="entry_type_enum_notes">No metadata should be produced on output,<wbr> except
6585            for application-bound buffer data.<wbr> If no
6586            application-bound streams exist,<wbr> no frame should be
6587            placed in the output frame queue.<wbr> If such streams
6588            exist,<wbr> a frame should be placed on the output queue
6589            with null metadata but with the necessary output buffer
6590            information.<wbr> Timestamp information should still be
6591            included with any output stream buffers</span>
6592                  </li>
6593                  <li>
6594                    <span class="entry_type_enum_name">FULL</span>
6595                    <span class="entry_type_enum_notes">All metadata should be produced.<wbr> Statistics will
6596            only be produced if they are separately
6597            enabled</span>
6598                  </li>
6599                </ul>
6600
6601            </td> <!-- entry_type -->
6602
6603            <td class="entry_description">
6604              How much metadata to produce on
6605          output
6606            </td>
6607
6608            <td class="entry_units">
6609            </td>
6610
6611            <td class="entry_range">
6612            </td>
6613
6614            <td class="entry_notes">
6615            </td>
6616
6617            <td class="entry_tags">
6618            </td>
6619
6620          </tr> <!-- end of entry -->
6621
6622
6623          <tr class="entry" id="dynamic_android.request.outputStreams">
6624            <td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td>
6625            <td class="entry_type">
6626                <span class="entry_type_name">byte</span>
6627
6628
6629
6630
6631            </td> <!-- entry_type -->
6632
6633            <td class="entry_description">
6634              Lists which camera output streams image data
6635          from this capture must be sent to
6636            </td>
6637
6638            <td class="entry_units">
6639              List of camera stream IDs
6640            </td>
6641
6642            <td class="entry_range">
6643              List must only include streams that have been
6644          created
6645            </td>
6646
6647            <td class="entry_notes">
6648              If no output streams are listed,<wbr> then the image
6649          data should simply be discarded.<wbr> The image data must
6650          still be captured for metadata and statistics production,<wbr>
6651          and the lens and flash must operate as requested.<wbr>
6652            </td>
6653
6654            <td class="entry_tags">
6655            </td>
6656
6657          </tr> <!-- end of entry -->
6658
6659
6660
6661      <!-- end of kind -->
6662      </tbody>
6663
6664  <!-- end of section -->
6665  <tr><td colspan="7" id="section_scaler" class="section">scaler</td></tr>
6666
6667
6668      <tr><td colspan="7" class="kind">controls</td></tr>
6669
6670      <thead>
6671        <tr>
6672          <th class="th_name">Property Name</th>
6673          <th class="th_type">Type</th>
6674          <th class="th_description">Description</th>
6675          <th class="th_units">Units</th>
6676          <th class="th_range">Range</th>
6677          <th class="th_notes">Notes</th>
6678          <th class="th_tags">Tags</th>
6679        </tr>
6680      </thead>
6681
6682      <tbody>
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693          <tr class="entry" id="controls_android.scaler.cropRegion">
6694            <td class="entry_name">android.<wbr>scaler.<wbr>crop<wbr>Region</td>
6695            <td class="entry_type">
6696                <span class="entry_type_name">int32</span>
6697                <span class="entry_type_container">x</span>
6698
6699                <span class="entry_type_array">
6700                  4
6701                </span>
6702
6703
6704
6705            </td> <!-- entry_type -->
6706
6707            <td class="entry_description">
6708              (x,<wbr> y,<wbr> width,<wbr> height).<wbr>
6709<br>
6710<br>          A rectangle with the top-level corner of (x,<wbr>y) and size
6711          (width,<wbr> height).<wbr> The region of the sensor that is used for
6712          output.<wbr> Each stream must use this rectangle to produce its
6713          output,<wbr> cropping to a smaller region if necessary to
6714          maintain the stream's aspect ratio.<wbr>
6715<br>
6716<br>          HAL2.<wbr>x uses only (x,<wbr> y,<wbr> width)
6717            </td>
6718
6719            <td class="entry_units">
6720              (x,<wbr>y) of top-left corner,<wbr> width and height of region
6721          in pixels; (0,<wbr>0) is top-left corner of
6722          android.<wbr>sensor.<wbr>active<wbr>Array<wbr>Size
6723            </td>
6724
6725            <td class="entry_range">
6726            </td>
6727
6728            <td class="entry_notes">
6729
6730            Any additional per-stream cropping must be done to
6731            maximize the final pixel area of the stream.<wbr>
6732<br>
6733<br>            For example,<wbr> if the crop region is set to a 4:3 aspect
6734            ratio,<wbr> then 4:3 streams should use the exact crop
6735            region.<wbr> 16:9 streams should further crop vertically
6736            (letterbox).<wbr>
6737<br>
6738<br>            Conversely,<wbr> if the crop region is set to a 16:9,<wbr> then 4:3
6739            outputs should crop horizontally (pillarbox),<wbr> and 16:9
6740            streams should match exactly.<wbr> These additional crops must
6741            be centered within the crop region.<wbr>
6742<br>
6743<br>            The output streams must maintain square pixels at all
6744            times,<wbr> no matter what the relative aspect ratios of the
6745            crop region and the stream are.<wbr>  Negative values for
6746            corner are allowed for raw output if full pixel array is
6747            larger than active pixel array.<wbr> Width and height may be
6748            rounded to nearest larger supportable width,<wbr> especially
6749            for raw output,<wbr> where only a few fixed scales may be
6750            possible.<wbr> The width and height of the crop region cannot
6751            be set to be smaller than floor( activeArraySize.<wbr>width /<wbr>
6752            android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom ) and floor(
6753            activeArraySize.<wbr>height /<wbr> android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom),<wbr>
6754            respectively.<wbr>
6755
6756            </td>
6757
6758            <td class="entry_tags">
6759              <ul class="entry_tags">
6760                  <li><a href="#tag_BC">BC</a></li>
6761              </ul>
6762            </td>
6763
6764          </tr> <!-- end of entry -->
6765
6766
6767
6768      <!-- end of kind -->
6769      </tbody>
6770      <tr><td colspan="7" class="kind">static</td></tr>
6771
6772      <thead>
6773        <tr>
6774          <th class="th_name">Property Name</th>
6775          <th class="th_type">Type</th>
6776          <th class="th_description">Description</th>
6777          <th class="th_units">Units</th>
6778          <th class="th_range">Range</th>
6779          <th class="th_notes">Notes</th>
6780          <th class="th_tags">Tags</th>
6781        </tr>
6782      </thead>
6783
6784      <tbody>
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
6795          <tr class="entry" id="static_android.scaler.availableFormats">
6796            <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Formats</td>
6797            <td class="entry_type">
6798                <span class="entry_type_name entry_type_name_enum">int32</span>
6799                <span class="entry_type_container">x</span>
6800
6801                <span class="entry_type_array">
6802                  n
6803                </span>
6804
6805                <div class="entry_type_notes">values from HAL_<wbr>PIXEL_<wbr>FORMAT_<wbr>* in /<wbr>system/<wbr>core/<wbr>include/<wbr>system/<wbr>graphics.<wbr>h</div>
6806
6807                <ul class="entry_type_enum">
6808                  <li>
6809                    <span class="entry_type_enum_name">RAW_SENSOR</span>
6810                    <span class="entry_type_enum_value">0x20</span>
6811                  </li>
6812                  <li>
6813                    <span class="entry_type_enum_name">YV12</span>
6814                    <span class="entry_type_enum_value">0x32315659</span>
6815                    <span class="entry_type_enum_notes">YCrCb 4:2:0 Planar</span>
6816                  </li>
6817                  <li>
6818                    <span class="entry_type_enum_name">YCrCb_420_SP</span>
6819                    <span class="entry_type_enum_value">0x11</span>
6820                    <span class="entry_type_enum_notes">NV21</span>
6821                  </li>
6822                  <li>
6823                    <span class="entry_type_enum_name">IMPLEMENTATION_DEFINED</span>
6824                    <span class="entry_type_enum_value">0x22</span>
6825                    <span class="entry_type_enum_notes">Hal Implementation Defined</span>
6826                  </li>
6827                  <li>
6828                    <span class="entry_type_enum_name">YCbCr_420_888</span>
6829                    <span class="entry_type_enum_value">0x23</span>
6830                    <span class="entry_type_enum_notes">Flexible YUV420 Format</span>
6831                  </li>
6832                  <li>
6833                    <span class="entry_type_enum_name">BLOB</span>
6834                    <span class="entry_type_enum_value">0x21</span>
6835                    <span class="entry_type_enum_notes">JPEG</span>
6836                  </li>
6837                </ul>
6838
6839            </td> <!-- entry_type -->
6840
6841            <td class="entry_description">
6842              List of app-visible formats
6843            </td>
6844
6845            <td class="entry_units">
6846            </td>
6847
6848            <td class="entry_range">
6849            </td>
6850
6851            <td class="entry_notes">
6852            </td>
6853
6854            <td class="entry_tags">
6855              <ul class="entry_tags">
6856                  <li><a href="#tag_BC">BC</a></li>
6857              </ul>
6858            </td>
6859
6860          </tr> <!-- end of entry -->
6861
6862
6863          <tr class="entry" id="static_android.scaler.availableJpegMinDurations">
6864            <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Min<wbr>Durations</td>
6865            <td class="entry_type">
6866                <span class="entry_type_name">int64</span>
6867                <span class="entry_type_container">x</span>
6868
6869                <span class="entry_type_array">
6870                  n
6871                </span>
6872
6873
6874
6875            </td> <!-- entry_type -->
6876
6877            <td class="entry_description">
6878              The minimum frame duration that is supported
6879          for each resolution in availableJpegSizes.<wbr> Should
6880          correspond to the frame duration when only that JPEG
6881          stream is active,<wbr> with all processing set to
6882          FAST
6883            </td>
6884
6885            <td class="entry_units">
6886            </td>
6887
6888            <td class="entry_range">
6889            </td>
6890
6891            <td class="entry_notes">
6892              When multiple streams are configured,<wbr> the minimum
6893          frame duration will be >= max(individual stream min
6894          durations)
6895            </td>
6896
6897            <td class="entry_tags">
6898              <ul class="entry_tags">
6899                  <li><a href="#tag_BC">BC</a></li>
6900              </ul>
6901            </td>
6902
6903          </tr> <!-- end of entry -->
6904
6905
6906          <tr class="entry" id="static_android.scaler.availableJpegSizes">
6907            <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Sizes</td>
6908            <td class="entry_type">
6909                <span class="entry_type_name">int32</span>
6910                <span class="entry_type_container">x</span>
6911
6912                <span class="entry_type_array">
6913                  n x 2
6914                </span>
6915
6916
6917
6918            </td> <!-- entry_type -->
6919
6920            <td class="entry_description">
6921              The resolutions available for output from
6922          the JPEG block.<wbr> Listed as width x height
6923            </td>
6924
6925            <td class="entry_units">
6926            </td>
6927
6928            <td class="entry_range">
6929              Must include: - sensor maximum resolution Should
6930          include: - half/<wbr>quarter max resolution
6931            </td>
6932
6933            <td class="entry_notes">
6934            </td>
6935
6936            <td class="entry_tags">
6937              <ul class="entry_tags">
6938                  <li><a href="#tag_BC">BC</a></li>
6939              </ul>
6940            </td>
6941
6942          </tr> <!-- end of entry -->
6943
6944
6945          <tr class="entry" id="static_android.scaler.availableMaxDigitalZoom">
6946            <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Max<wbr>Digital<wbr>Zoom</td>
6947            <td class="entry_type">
6948                <span class="entry_type_name">float</span>
6949
6950
6951
6952
6953            </td> <!-- entry_type -->
6954
6955            <td class="entry_description">
6956              The maximum ratio between active area width
6957          and crop region width,<wbr> or between active area height and
6958          crop region height,<wbr> if the crop region height is larger
6959          than width
6960            </td>
6961
6962            <td class="entry_units">
6963            </td>
6964
6965            <td class="entry_range">
6966              >=1
6967            </td>
6968
6969            <td class="entry_notes">
6970            </td>
6971
6972            <td class="entry_tags">
6973              <ul class="entry_tags">
6974                  <li><a href="#tag_BC">BC</a></li>
6975              </ul>
6976            </td>
6977
6978          </tr> <!-- end of entry -->
6979
6980
6981          <tr class="entry" id="static_android.scaler.availableProcessedMinDurations">
6982            <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Min<wbr>Durations</td>
6983            <td class="entry_type">
6984                <span class="entry_type_name">int64</span>
6985                <span class="entry_type_container">x</span>
6986
6987                <span class="entry_type_array">
6988                  n
6989                </span>
6990
6991
6992
6993            </td> <!-- entry_type -->
6994
6995            <td class="entry_description">
6996              The minimum frame duration that is supported
6997          for each resolution in availableProcessedSizes.<wbr> Should
6998          correspond to the frame duration when only that processed
6999          stream is active,<wbr> with all processing set to
7000          FAST
7001            </td>
7002
7003            <td class="entry_units">
7004            </td>
7005
7006            <td class="entry_range">
7007            </td>
7008
7009            <td class="entry_notes">
7010              When multiple streams are configured,<wbr> the minimum
7011          frame duration will be >= max(individual stream min
7012          durations)
7013            </td>
7014
7015            <td class="entry_tags">
7016              <ul class="entry_tags">
7017                  <li><a href="#tag_BC">BC</a></li>
7018              </ul>
7019            </td>
7020
7021          </tr> <!-- end of entry -->
7022
7023
7024          <tr class="entry" id="static_android.scaler.availableProcessedSizes">
7025            <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Sizes</td>
7026            <td class="entry_type">
7027                <span class="entry_type_name">int32</span>
7028                <span class="entry_type_container">x</span>
7029
7030                <span class="entry_type_array">
7031                  n x 2
7032                </span>
7033
7034
7035
7036            </td> <!-- entry_type -->
7037
7038            <td class="entry_description">
7039              The resolutions available for use with
7040          processed output streams,<wbr> such as YV12,<wbr> NV12,<wbr> and
7041          platform opaque YUV/<wbr>RGB streams to the GPU or video
7042          encoders.<wbr> Listed as width,<wbr> height
7043            </td>
7044
7045            <td class="entry_units">
7046            </td>
7047
7048            <td class="entry_range">
7049              Must include: - sensor maximum resolution -
7050          standard QCIF,<wbr> 240p,<wbr> 480p,<wbr> 720p,<wbr> and 1080p
7051          resolutions
7052            </td>
7053
7054            <td class="entry_notes">
7055            </td>
7056
7057            <td class="entry_tags">
7058              <ul class="entry_tags">
7059                  <li><a href="#tag_BC">BC</a></li>
7060              </ul>
7061            </td>
7062
7063          </tr> <!-- end of entry -->
7064
7065
7066          <tr class="entry" id="static_android.scaler.availableRawMinDurations">
7067            <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Min<wbr>Durations</td>
7068            <td class="entry_type">
7069                <span class="entry_type_name">int64</span>
7070                <span class="entry_type_container">x</span>
7071
7072                <span class="entry_type_array">
7073                  n
7074                </span>
7075
7076
7077
7078            </td> <!-- entry_type -->
7079
7080            <td class="entry_description">
7081              The minimum frame duration that is supported
7082          for each raw resolution in availableRawSizes.<wbr> Should
7083          correspond to the frame duration when only the raw stream
7084          is active.<wbr>
7085            </td>
7086
7087            <td class="entry_units">
7088            </td>
7089
7090            <td class="entry_range">
7091            </td>
7092
7093            <td class="entry_notes">
7094              When multiple streams are configured,<wbr> the minimum
7095          frame duration will be >= max(individual stream min
7096          durations)
7097            </td>
7098
7099            <td class="entry_tags">
7100              <ul class="entry_tags">
7101                  <li><a href="#tag_BC">BC</a></li>
7102              </ul>
7103            </td>
7104
7105          </tr> <!-- end of entry -->
7106
7107
7108          <tr class="entry" id="static_android.scaler.availableRawSizes">
7109            <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Sizes</td>
7110            <td class="entry_type">
7111                <span class="entry_type_name">int32</span>
7112                <span class="entry_type_container">x</span>
7113
7114                <span class="entry_type_array">
7115                  n x 2
7116                </span>
7117
7118
7119
7120            </td> <!-- entry_type -->
7121
7122            <td class="entry_description">
7123              The resolutions available for use with raw
7124          sensor output streams,<wbr> listed as width,<wbr>
7125          height
7126            </td>
7127
7128            <td class="entry_units">
7129            </td>
7130
7131            <td class="entry_range">
7132              Must include: - sensor maximum resolution
7133            </td>
7134
7135            <td class="entry_notes">
7136            </td>
7137
7138            <td class="entry_tags">
7139            </td>
7140
7141          </tr> <!-- end of entry -->
7142
7143
7144
7145      <!-- end of kind -->
7146      </tbody>
7147      <tr><td colspan="7" class="kind">dynamic</td></tr>
7148
7149      <thead>
7150        <tr>
7151          <th class="th_name">Property Name</th>
7152          <th class="th_type">Type</th>
7153          <th class="th_description">Description</th>
7154          <th class="th_units">Units</th>
7155          <th class="th_range">Range</th>
7156          <th class="th_notes">Notes</th>
7157          <th class="th_tags">Tags</th>
7158        </tr>
7159      </thead>
7160
7161      <tbody>
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172          <tr class="entry" id="dynamic_android.scaler.cropRegion">
7173            <td class="entry_name">android.<wbr>scaler.<wbr>crop<wbr>Region</td>
7174            <td class="entry_type">
7175                <span class="entry_type_name">int32</span>
7176                <span class="entry_type_container">x</span>
7177
7178                <span class="entry_type_array">
7179                  4
7180                </span>
7181
7182
7183
7184            </td> <!-- entry_type -->
7185
7186            <td class="entry_description">
7187              (x,<wbr> y,<wbr> width,<wbr> height).<wbr>
7188<br>
7189<br>          A rectangle with the top-level corner of (x,<wbr>y) and size
7190          (width,<wbr> height).<wbr> The region of the sensor that is used for
7191          output.<wbr> Each stream must use this rectangle to produce its
7192          output,<wbr> cropping to a smaller region if necessary to
7193          maintain the stream's aspect ratio.<wbr>
7194<br>
7195<br>          HAL2.<wbr>x uses only (x,<wbr> y,<wbr> width)
7196            </td>
7197
7198            <td class="entry_units">
7199              (x,<wbr>y) of top-left corner,<wbr> width and height of region
7200          in pixels; (0,<wbr>0) is top-left corner of
7201          android.<wbr>sensor.<wbr>active<wbr>Array<wbr>Size
7202            </td>
7203
7204            <td class="entry_range">
7205            </td>
7206
7207            <td class="entry_notes">
7208
7209            Any additional per-stream cropping must be done to
7210            maximize the final pixel area of the stream.<wbr>
7211<br>
7212<br>            For example,<wbr> if the crop region is set to a 4:3 aspect
7213            ratio,<wbr> then 4:3 streams should use the exact crop
7214            region.<wbr> 16:9 streams should further crop vertically
7215            (letterbox).<wbr>
7216<br>
7217<br>            Conversely,<wbr> if the crop region is set to a 16:9,<wbr> then 4:3
7218            outputs should crop horizontally (pillarbox),<wbr> and 16:9
7219            streams should match exactly.<wbr> These additional crops must
7220            be centered within the crop region.<wbr>
7221<br>
7222<br>            The output streams must maintain square pixels at all
7223            times,<wbr> no matter what the relative aspect ratios of the
7224            crop region and the stream are.<wbr>  Negative values for
7225            corner are allowed for raw output if full pixel array is
7226            larger than active pixel array.<wbr> Width and height may be
7227            rounded to nearest larger supportable width,<wbr> especially
7228            for raw output,<wbr> where only a few fixed scales may be
7229            possible.<wbr> The width and height of the crop region cannot
7230            be set to be smaller than floor( activeArraySize.<wbr>width /<wbr>
7231            android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom ) and floor(
7232            activeArraySize.<wbr>height /<wbr> android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom),<wbr>
7233            respectively.<wbr>
7234
7235            </td>
7236
7237            <td class="entry_tags">
7238              <ul class="entry_tags">
7239                  <li><a href="#tag_BC">BC</a></li>
7240              </ul>
7241            </td>
7242
7243          </tr> <!-- end of entry -->
7244
7245
7246
7247      <!-- end of kind -->
7248      </tbody>
7249
7250  <!-- end of section -->
7251  <tr><td colspan="7" id="section_sensor" class="section">sensor</td></tr>
7252
7253
7254      <tr><td colspan="7" class="kind">controls</td></tr>
7255
7256      <thead>
7257        <tr>
7258          <th class="th_name">Property Name</th>
7259          <th class="th_type">Type</th>
7260          <th class="th_description">Description</th>
7261          <th class="th_units">Units</th>
7262          <th class="th_range">Range</th>
7263          <th class="th_notes">Notes</th>
7264          <th class="th_tags">Tags</th>
7265        </tr>
7266      </thead>
7267
7268      <tbody>
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278
7279          <tr class="entry" id="controls_android.sensor.exposureTime">
7280            <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td>
7281            <td class="entry_type">
7282                <span class="entry_type_name">int64</span>
7283
7284
7285
7286
7287            </td> <!-- entry_type -->
7288
7289            <td class="entry_description">
7290              Duration each pixel is exposed to
7291          light
7292            </td>
7293
7294            <td class="entry_units">
7295              nanoseconds
7296            </td>
7297
7298            <td class="entry_range">
7299              android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range
7300            </td>
7301
7302            <td class="entry_notes">
7303              1/<wbr>10000 - 30 sec range.<wbr> No bulb mode
7304            </td>
7305
7306            <td class="entry_tags">
7307              <ul class="entry_tags">
7308                  <li><a href="#tag_V1">V1</a></li>
7309              </ul>
7310            </td>
7311
7312          </tr> <!-- end of entry -->
7313
7314
7315          <tr class="entry" id="controls_android.sensor.frameDuration">
7316            <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td>
7317            <td class="entry_type">
7318                <span class="entry_type_name">int64</span>
7319
7320
7321
7322
7323            </td> <!-- entry_type -->
7324
7325            <td class="entry_description">
7326              Duration from start of frame exposure to
7327          start of next frame exposure
7328            </td>
7329
7330            <td class="entry_units">
7331              nanoseconds
7332            </td>
7333
7334            <td class="entry_range">
7335              see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr>
7336          android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
7337            </td>
7338
7339            <td class="entry_notes">
7340              Exposure time has priority,<wbr> so duration is set to
7341          max(duration,<wbr> exposure time + overhead)
7342            </td>
7343
7344            <td class="entry_tags">
7345              <ul class="entry_tags">
7346                  <li><a href="#tag_V1">V1</a></li>
7347                  <li><a href="#tag_BC">BC</a></li>
7348              </ul>
7349            </td>
7350
7351          </tr> <!-- end of entry -->
7352
7353
7354          <tr class="entry" id="controls_android.sensor.sensitivity">
7355            <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td>
7356            <td class="entry_type">
7357                <span class="entry_type_name">int32</span>
7358
7359
7360
7361
7362            </td> <!-- entry_type -->
7363
7364            <td class="entry_description">
7365              Gain applied to image data.<wbr> Must be
7366          implemented through analog gain only if set to values
7367          below 'maximum analog sensitivity'.<wbr>
7368            </td>
7369
7370            <td class="entry_units">
7371              ISO arithmetic units
7372            </td>
7373
7374            <td class="entry_range">
7375              android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range
7376            </td>
7377
7378            <td class="entry_notes">
7379              ISO 12232:2006 REI method
7380            </td>
7381
7382            <td class="entry_tags">
7383              <ul class="entry_tags">
7384                  <li><a href="#tag_V1">V1</a></li>
7385              </ul>
7386            </td>
7387
7388          </tr> <!-- end of entry -->
7389
7390
7391
7392      <!-- end of kind -->
7393      </tbody>
7394      <tr><td colspan="7" class="kind">static</td></tr>
7395
7396      <thead>
7397        <tr>
7398          <th class="th_name">Property Name</th>
7399          <th class="th_type">Type</th>
7400          <th class="th_description">Description</th>
7401          <th class="th_units">Units</th>
7402          <th class="th_range">Range</th>
7403          <th class="th_notes">Notes</th>
7404          <th class="th_tags">Tags</th>
7405        </tr>
7406      </thead>
7407
7408      <tbody>
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7419
7420
7421          <tr class="entry" id="static_android.sensor.info.activeArraySize">
7422            <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size</td>
7423            <td class="entry_type">
7424                <span class="entry_type_name">int32</span>
7425                <span class="entry_type_container">x</span>
7426
7427                <span class="entry_type_array">
7428                  4
7429                </span>
7430
7431                <div class="entry_type_notes">Four ints defining the active pixel rectangle</div>
7432
7433
7434            </td> <!-- entry_type -->
7435
7436            <td class="entry_description">
7437              Area of raw data which corresponds to only
7438            active pixels; smaller or equal to
7439            pixelArraySize.<wbr>
7440            </td>
7441
7442            <td class="entry_units">
7443              xmin,<wbr> ymin,<wbr> width,<wbr> height.<wbr> Top left of full
7444            pixel array is (0,<wbr>0)
7445            </td>
7446
7447            <td class="entry_range">
7448            </td>
7449
7450            <td class="entry_notes">
7451            </td>
7452
7453            <td class="entry_tags">
7454              <ul class="entry_tags">
7455                  <li><a href="#tag_DNG">DNG</a></li>
7456              </ul>
7457            </td>
7458
7459          </tr> <!-- end of entry -->
7460
7461
7462          <tr class="entry" id="static_android.sensor.info.availableSensitivities">
7463            <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>available<wbr>Sensitivities</td>
7464            <td class="entry_type">
7465                <span class="entry_type_name">int32</span>
7466                <span class="entry_type_container">x</span>
7467
7468                <span class="entry_type_array">
7469                  n
7470                </span>
7471
7472                <div class="entry_type_notes">List of supported sensitivity values</div>
7473
7474
7475            </td> <!-- entry_type -->
7476
7477            <td class="entry_description">
7478              Range of valid sensitivities
7479            </td>
7480
7481            <td class="entry_units">
7482            </td>
7483
7484            <td class="entry_range">
7485              Must at least include 100,<wbr> 200,<wbr> 400,<wbr> 800,<wbr>
7486            1600
7487            </td>
7488
7489            <td class="entry_notes">
7490            </td>
7491
7492            <td class="entry_tags">
7493              <ul class="entry_tags">
7494                  <li><a href="#tag_BC">BC</a></li>
7495                  <li><a href="#tag_V1">V1</a></li>
7496              </ul>
7497            </td>
7498
7499          </tr> <!-- end of entry -->
7500
7501
7502          <tr class="entry" id="static_android.sensor.info.colorFilterArrangement">
7503            <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>color<wbr>Filter<wbr>Arrangement</td>
7504            <td class="entry_type">
7505                <span class="entry_type_name entry_type_name_enum">byte</span>
7506
7507
7508
7509                <ul class="entry_type_enum">
7510                  <li>
7511                    <span class="entry_type_enum_name">RGGB</span>
7512                  </li>
7513                  <li>
7514                    <span class="entry_type_enum_name">GRBG</span>
7515                  </li>
7516                  <li>
7517                    <span class="entry_type_enum_name">GBRG</span>
7518                  </li>
7519                  <li>
7520                    <span class="entry_type_enum_name">BGGR</span>
7521                  </li>
7522                  <li>
7523                    <span class="entry_type_enum_name">RGB</span>
7524                    <span class="entry_type_enum_notes">Sensor is not Bayer; output has 3 16-bit
7525              values for each pixel,<wbr> instead of just 1 16-bit value
7526              per pixel.<wbr></span>
7527                  </li>
7528                </ul>
7529
7530            </td> <!-- entry_type -->
7531
7532            <td class="entry_description">
7533              Arrangement of color filters on sensor;
7534            represents the colors in the top-left 2x2 section of
7535            the sensor,<wbr> in reading order
7536            </td>
7537
7538            <td class="entry_units">
7539            </td>
7540
7541            <td class="entry_range">
7542            </td>
7543
7544            <td class="entry_notes">
7545            </td>
7546
7547            <td class="entry_tags">
7548              <ul class="entry_tags">
7549                  <li><a href="#tag_DNG">DNG</a></li>
7550              </ul>
7551            </td>
7552
7553          </tr> <!-- end of entry -->
7554
7555
7556          <tr class="entry" id="static_android.sensor.info.exposureTimeRange">
7557            <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range</td>
7558            <td class="entry_type">
7559                <span class="entry_type_name">int64</span>
7560                <span class="entry_type_container">x</span>
7561
7562                <span class="entry_type_array">
7563                  2
7564                </span>
7565
7566                <div class="entry_type_notes">nanoseconds</div>
7567
7568
7569            </td> <!-- entry_type -->
7570
7571            <td class="entry_description">
7572              Range of valid exposure
7573            times
7574            </td>
7575
7576            <td class="entry_units">
7577            </td>
7578
7579            <td class="entry_range">
7580              Min <= 100e3 (100 us),<wbr> Max >= 30e9 (30
7581            sec)
7582            </td>
7583
7584            <td class="entry_notes">
7585            </td>
7586
7587            <td class="entry_tags">
7588              <ul class="entry_tags">
7589                  <li><a href="#tag_V1">V1</a></li>
7590              </ul>
7591            </td>
7592
7593          </tr> <!-- end of entry -->
7594
7595
7596          <tr class="entry" id="static_android.sensor.info.maxFrameDuration">
7597            <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration</td>
7598            <td class="entry_type">
7599                <span class="entry_type_name">int64</span>
7600
7601
7602
7603
7604            </td> <!-- entry_type -->
7605
7606            <td class="entry_description">
7607              Maximum frame duration (minimum frame
7608            rate)
7609            </td>
7610
7611            <td class="entry_units">
7612              nanoseconds
7613            </td>
7614
7615            <td class="entry_range">
7616              >= 30e9
7617            </td>
7618
7619            <td class="entry_notes">
7620              Minimum duration is a function of resolution,<wbr>
7621            processing settings.<wbr> See
7622            android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
7623            </td>
7624
7625            <td class="entry_tags">
7626              <ul class="entry_tags">
7627                  <li><a href="#tag_BC">BC</a></li>
7628                  <li><a href="#tag_V1">V1</a></li>
7629              </ul>
7630            </td>
7631
7632          </tr> <!-- end of entry -->
7633
7634
7635          <tr class="entry" id="static_android.sensor.info.physicalSize">
7636            <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>physical<wbr>Size</td>
7637            <td class="entry_type">
7638                <span class="entry_type_name">float</span>
7639                <span class="entry_type_container">x</span>
7640
7641                <span class="entry_type_array">
7642                  2
7643                </span>
7644
7645                <div class="entry_type_notes">width x height in millimeters</div>
7646
7647
7648            </td> <!-- entry_type -->
7649
7650            <td class="entry_description">
7651              The physical dimensions of the full pixel
7652            array
7653            </td>
7654
7655            <td class="entry_units">
7656            </td>
7657
7658            <td class="entry_range">
7659            </td>
7660
7661            <td class="entry_notes">
7662              Needed for FOV calculation for old API
7663            </td>
7664
7665            <td class="entry_tags">
7666              <ul class="entry_tags">
7667                  <li><a href="#tag_V1">V1</a></li>
7668                  <li><a href="#tag_BC">BC</a></li>
7669              </ul>
7670            </td>
7671
7672          </tr> <!-- end of entry -->
7673
7674
7675          <tr class="entry" id="static_android.sensor.info.pixelArraySize">
7676            <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>pixel<wbr>Array<wbr>Size</td>
7677            <td class="entry_type">
7678                <span class="entry_type_name">int32</span>
7679                <span class="entry_type_container">x</span>
7680
7681                <span class="entry_type_array">
7682                  2
7683                </span>
7684
7685
7686
7687            </td> <!-- entry_type -->
7688
7689            <td class="entry_description">
7690              Dimensions of full pixel array,<wbr> possibly
7691            including black calibration pixels
7692            </td>
7693
7694            <td class="entry_units">
7695            </td>
7696
7697            <td class="entry_range">
7698            </td>
7699
7700            <td class="entry_notes">
7701              Maximum output resolution for raw format must
7702            match this in
7703            android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Sizes<wbr>Per<wbr>Format
7704            </td>
7705
7706            <td class="entry_tags">
7707              <ul class="entry_tags">
7708                  <li><a href="#tag_DNG">DNG</a></li>
7709                  <li><a href="#tag_BC">BC</a></li>
7710              </ul>
7711            </td>
7712
7713          </tr> <!-- end of entry -->
7714
7715
7716          <tr class="entry" id="static_android.sensor.info.whiteLevel">
7717            <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level</td>
7718            <td class="entry_type">
7719                <span class="entry_type_name">int32</span>
7720
7721
7722
7723
7724            </td> <!-- entry_type -->
7725
7726            <td class="entry_description">
7727              Maximum raw value output by
7728            sensor
7729            </td>
7730
7731            <td class="entry_units">
7732            </td>
7733
7734            <td class="entry_range">
7735              > 1024 (10-bit output)
7736            </td>
7737
7738            <td class="entry_notes">
7739              Defines sensor bit depth (10-14 bits is
7740            expected)
7741            </td>
7742
7743            <td class="entry_tags">
7744              <ul class="entry_tags">
7745                  <li><a href="#tag_DNG">DNG</a></li>
7746              </ul>
7747            </td>
7748
7749          </tr> <!-- end of entry -->
7750
7751
7752
7753
7754
7755          <tr class="entry" id="static_android.sensor.baseGainFactor">
7756            <td class="entry_name">android.<wbr>sensor.<wbr>base<wbr>Gain<wbr>Factor</td>
7757            <td class="entry_type">
7758                <span class="entry_type_name">rational</span>
7759
7760
7761
7762
7763            </td> <!-- entry_type -->
7764
7765            <td class="entry_description">
7766              Gain factor from electrons to raw units when
7767          ISO=100
7768            </td>
7769
7770            <td class="entry_units">
7771            </td>
7772
7773            <td class="entry_range">
7774            </td>
7775
7776            <td class="entry_notes">
7777            </td>
7778
7779            <td class="entry_tags">
7780              <ul class="entry_tags">
7781                  <li><a href="#tag_V1">V1</a></li>
7782              </ul>
7783            </td>
7784
7785          </tr> <!-- end of entry -->
7786
7787
7788          <tr class="entry" id="static_android.sensor.blackLevelPattern">
7789            <td class="entry_name">android.<wbr>sensor.<wbr>black<wbr>Level<wbr>Pattern</td>
7790            <td class="entry_type">
7791                <span class="entry_type_name">int32</span>
7792                <span class="entry_type_container">x</span>
7793
7794                <span class="entry_type_array">
7795                  4
7796                </span>
7797
7798                <div class="entry_type_notes">2x2 raw count block</div>
7799
7800
7801            </td> <!-- entry_type -->
7802
7803            <td class="entry_description">
7804              A fixed black level offset for each of the
7805          Bayer mosaic channels
7806            </td>
7807
7808            <td class="entry_units">
7809            </td>
7810
7811            <td class="entry_range">
7812              >= 0 each
7813            </td>
7814
7815            <td class="entry_notes">
7816              As per DNG BlackLevelRepeatDim /<wbr> BlackLevel
7817          tags
7818            </td>
7819
7820            <td class="entry_tags">
7821              <ul class="entry_tags">
7822                  <li><a href="#tag_DNG">DNG</a></li>
7823              </ul>
7824            </td>
7825
7826          </tr> <!-- end of entry -->
7827
7828
7829          <tr class="entry" id="static_android.sensor.calibrationTransform1">
7830            <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform1</td>
7831            <td class="entry_type">
7832                <span class="entry_type_name">rational</span>
7833                <span class="entry_type_container">x</span>
7834
7835                <span class="entry_type_array">
7836                  9
7837                </span>
7838
7839                <div class="entry_type_notes">3x3 matrix in row-major-order</div>
7840
7841
7842            </td> <!-- entry_type -->
7843
7844            <td class="entry_description">
7845              Per-device calibration on top of color space
7846          transform 1
7847            </td>
7848
7849            <td class="entry_units">
7850            </td>
7851
7852            <td class="entry_range">
7853            </td>
7854
7855            <td class="entry_notes">
7856            </td>
7857
7858            <td class="entry_tags">
7859              <ul class="entry_tags">
7860                  <li><a href="#tag_DNG">DNG</a></li>
7861              </ul>
7862            </td>
7863
7864          </tr> <!-- end of entry -->
7865
7866
7867          <tr class="entry" id="static_android.sensor.calibrationTransform2">
7868            <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform2</td>
7869            <td class="entry_type">
7870                <span class="entry_type_name">rational</span>
7871                <span class="entry_type_container">x</span>
7872
7873                <span class="entry_type_array">
7874                  9
7875                </span>
7876
7877                <div class="entry_type_notes">3x3 matrix in row-major-order</div>
7878
7879
7880            </td> <!-- entry_type -->
7881
7882            <td class="entry_description">
7883              Per-device calibration on top of color space
7884          transform 2
7885            </td>
7886
7887            <td class="entry_units">
7888            </td>
7889
7890            <td class="entry_range">
7891            </td>
7892
7893            <td class="entry_notes">
7894            </td>
7895
7896            <td class="entry_tags">
7897              <ul class="entry_tags">
7898                  <li><a href="#tag_DNG">DNG</a></li>
7899              </ul>
7900            </td>
7901
7902          </tr> <!-- end of entry -->
7903
7904
7905          <tr class="entry" id="static_android.sensor.colorTransform1">
7906            <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform1</td>
7907            <td class="entry_type">
7908                <span class="entry_type_name">rational</span>
7909                <span class="entry_type_container">x</span>
7910
7911                <span class="entry_type_array">
7912                  9
7913                </span>
7914
7915                <div class="entry_type_notes">3x3 matrix in row-major-order</div>
7916
7917
7918            </td> <!-- entry_type -->
7919
7920            <td class="entry_description">
7921              Linear mapping from XYZ (D50) color space to
7922          reference linear sensor color,<wbr> for first reference
7923          illuminant
7924            </td>
7925
7926            <td class="entry_units">
7927            </td>
7928
7929            <td class="entry_range">
7930            </td>
7931
7932            <td class="entry_notes">
7933              Use as follows XYZ = inv(transform) * clip( (raw -
7934          black level(raw) ) /<wbr> ( white level - max black level) ).<wbr>
7935          At least in the simple case
7936            </td>
7937
7938            <td class="entry_tags">
7939              <ul class="entry_tags">
7940                  <li><a href="#tag_DNG">DNG</a></li>
7941              </ul>
7942            </td>
7943
7944          </tr> <!-- end of entry -->
7945
7946
7947          <tr class="entry" id="static_android.sensor.colorTransform2">
7948            <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform2</td>
7949            <td class="entry_type">
7950                <span class="entry_type_name">rational</span>
7951                <span class="entry_type_container">x</span>
7952
7953                <span class="entry_type_array">
7954                  9
7955                </span>
7956
7957                <div class="entry_type_notes">3x3 matrix in row-major-order</div>
7958
7959
7960            </td> <!-- entry_type -->
7961
7962            <td class="entry_description">
7963              Linear mapping from XYZ (D50) color space to
7964          reference linear sensor color,<wbr> for second reference
7965          illuminant
7966            </td>
7967
7968            <td class="entry_units">
7969            </td>
7970
7971            <td class="entry_range">
7972            </td>
7973
7974            <td class="entry_notes">
7975            </td>
7976
7977            <td class="entry_tags">
7978              <ul class="entry_tags">
7979                  <li><a href="#tag_DNG">DNG</a></li>
7980              </ul>
7981            </td>
7982
7983          </tr> <!-- end of entry -->
7984
7985
7986          <tr class="entry" id="static_android.sensor.forwardMatrix1">
7987            <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix1</td>
7988            <td class="entry_type">
7989                <span class="entry_type_name">rational</span>
7990                <span class="entry_type_container">x</span>
7991
7992                <span class="entry_type_array">
7993                  9
7994                </span>
7995
7996                <div class="entry_type_notes">3x3 matrix in row-major-order</div>
7997
7998
7999            </td> <!-- entry_type -->
8000
8001            <td class="entry_description">
8002              Used by DNG for better WB
8003          adaptation
8004            </td>
8005
8006            <td class="entry_units">
8007            </td>
8008
8009            <td class="entry_range">
8010            </td>
8011
8012            <td class="entry_notes">
8013            </td>
8014
8015            <td class="entry_tags">
8016              <ul class="entry_tags">
8017                  <li><a href="#tag_DNG">DNG</a></li>
8018              </ul>
8019            </td>
8020
8021          </tr> <!-- end of entry -->
8022
8023
8024          <tr class="entry" id="static_android.sensor.forwardMatrix2">
8025            <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix2</td>
8026            <td class="entry_type">
8027                <span class="entry_type_name">rational</span>
8028                <span class="entry_type_container">x</span>
8029
8030                <span class="entry_type_array">
8031                  9
8032                </span>
8033
8034                <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8035
8036
8037            </td> <!-- entry_type -->
8038
8039            <td class="entry_description">
8040              Used by DNG for better WB
8041          adaptation
8042            </td>
8043
8044            <td class="entry_units">
8045            </td>
8046
8047            <td class="entry_range">
8048            </td>
8049
8050            <td class="entry_notes">
8051            </td>
8052
8053            <td class="entry_tags">
8054              <ul class="entry_tags">
8055                  <li><a href="#tag_DNG">DNG</a></li>
8056              </ul>
8057            </td>
8058
8059          </tr> <!-- end of entry -->
8060
8061
8062          <tr class="entry" id="static_android.sensor.maxAnalogSensitivity">
8063            <td class="entry_name">android.<wbr>sensor.<wbr>max<wbr>Analog<wbr>Sensitivity</td>
8064            <td class="entry_type">
8065                <span class="entry_type_name">int32</span>
8066
8067
8068
8069
8070            </td> <!-- entry_type -->
8071
8072            <td class="entry_description">
8073              Maximum sensitivity that is implemented
8074          purely through analog gain
8075            </td>
8076
8077            <td class="entry_units">
8078            </td>
8079
8080            <td class="entry_range">
8081            </td>
8082
8083            <td class="entry_notes">
8084              For android.<wbr>sensor.<wbr>sensitivity values less than or
8085          equal to this,<wbr> all applied gain must be analog.<wbr> For
8086          values above this,<wbr> it can be a mix of analog and
8087          digital
8088            </td>
8089
8090            <td class="entry_tags">
8091              <ul class="entry_tags">
8092                  <li><a href="#tag_V1">V1</a></li>
8093              </ul>
8094            </td>
8095
8096          </tr> <!-- end of entry -->
8097
8098
8099          <tr class="entry" id="static_android.sensor.noiseModelCoefficients">
8100            <td class="entry_name">android.<wbr>sensor.<wbr>noise<wbr>Model<wbr>Coefficients</td>
8101            <td class="entry_type">
8102                <span class="entry_type_name">float</span>
8103                <span class="entry_type_container">x</span>
8104
8105                <span class="entry_type_array">
8106                  2
8107                </span>
8108
8109                <div class="entry_type_notes">float constants A,<wbr> B for the noise variance model</div>
8110
8111
8112            </td> <!-- entry_type -->
8113
8114            <td class="entry_description">
8115              Estimation of sensor noise
8116          characteristics
8117            </td>
8118
8119            <td class="entry_units">
8120              var(raw pixel value) = electrons * (baseGainFactor
8121          * iso/<wbr>100)^2 + A * (baseGainFactor * iso/<wbr>100)^2 +
8122          B
8123            </td>
8124
8125            <td class="entry_range">
8126            </td>
8127
8128            <td class="entry_notes">
8129              A represents sensor read noise before analog
8130          amplification; B represents noise from A/<wbr>D conversion and
8131          other circuits after amplification.<wbr> Both noise sources
8132          are assumed to be gaussian,<wbr> independent,<wbr> and not to vary
8133          across the sensor
8134            </td>
8135
8136            <td class="entry_tags">
8137              <ul class="entry_tags">
8138                  <li><a href="#tag_V1">V1</a></li>
8139              </ul>
8140            </td>
8141
8142          </tr> <!-- end of entry -->
8143
8144
8145          <tr class="entry" id="static_android.sensor.orientation">
8146            <td class="entry_name">android.<wbr>sensor.<wbr>orientation</td>
8147            <td class="entry_type">
8148                <span class="entry_type_name">int32</span>
8149
8150
8151
8152
8153            </td> <!-- entry_type -->
8154
8155            <td class="entry_description">
8156              Clockwise angle through which the output
8157          image needs to be rotated to be upright on the device
8158          screen in its native orientation.<wbr> Also defines the
8159          direction of rolling shutter readout,<wbr> which is from top
8160          to bottom in the sensor's coordinate system
8161            </td>
8162
8163            <td class="entry_units">
8164              degrees clockwise rotation,<wbr> only multiples of
8165          90
8166            </td>
8167
8168            <td class="entry_range">
8169              0,<wbr>90,<wbr>180,<wbr>270
8170            </td>
8171
8172            <td class="entry_notes">
8173            </td>
8174
8175            <td class="entry_tags">
8176              <ul class="entry_tags">
8177                  <li><a href="#tag_BC">BC</a></li>
8178              </ul>
8179            </td>
8180
8181          </tr> <!-- end of entry -->
8182
8183
8184          <tr class="entry" id="static_android.sensor.referenceIlluminant1">
8185            <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant1</td>
8186            <td class="entry_type">
8187                <span class="entry_type_name entry_type_name_enum">byte</span>
8188
8189
8190
8191                <ul class="entry_type_enum">
8192                  <li>
8193                    <span class="entry_type_enum_name">DAYLIGHT</span>
8194                    <span class="entry_type_enum_value">1</span>
8195                  </li>
8196                  <li>
8197                    <span class="entry_type_enum_name">FLUORESCENT</span>
8198                    <span class="entry_type_enum_value">2</span>
8199                  </li>
8200                  <li>
8201                    <span class="entry_type_enum_name">TUNGSTEN</span>
8202                    <span class="entry_type_enum_value">3</span>
8203                    <span class="entry_type_enum_notes">Incandescent light</span>
8204                  </li>
8205                  <li>
8206                    <span class="entry_type_enum_name">FLASH</span>
8207                    <span class="entry_type_enum_value">4</span>
8208                  </li>
8209                  <li>
8210                    <span class="entry_type_enum_name">FINE_WEATHER</span>
8211                    <span class="entry_type_enum_value">9</span>
8212                  </li>
8213                  <li>
8214                    <span class="entry_type_enum_name">CLOUDY_WEATHER</span>
8215                    <span class="entry_type_enum_value">10</span>
8216                  </li>
8217                  <li>
8218                    <span class="entry_type_enum_name">SHADE</span>
8219                    <span class="entry_type_enum_value">11</span>
8220                  </li>
8221                  <li>
8222                    <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT</span>
8223                    <span class="entry_type_enum_value">12</span>
8224                    <span class="entry_type_enum_notes">D 5700 - 7100K</span>
8225                  </li>
8226                  <li>
8227                    <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT</span>
8228                    <span class="entry_type_enum_value">13</span>
8229                    <span class="entry_type_enum_notes">N 4600 - 5400K</span>
8230                  </li>
8231                  <li>
8232                    <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT</span>
8233                    <span class="entry_type_enum_value">14</span>
8234                    <span class="entry_type_enum_notes">W 3900 - 4500K</span>
8235                  </li>
8236                  <li>
8237                    <span class="entry_type_enum_name">WHITE_FLUORESCENT</span>
8238                    <span class="entry_type_enum_value">15</span>
8239                    <span class="entry_type_enum_notes">WW 3200 - 3700K</span>
8240                  </li>
8241                  <li>
8242                    <span class="entry_type_enum_name">STANDARD_A</span>
8243                    <span class="entry_type_enum_value">17</span>
8244                  </li>
8245                  <li>
8246                    <span class="entry_type_enum_name">STANDARD_B</span>
8247                    <span class="entry_type_enum_value">18</span>
8248                  </li>
8249                  <li>
8250                    <span class="entry_type_enum_name">STANDARD_C</span>
8251                    <span class="entry_type_enum_value">19</span>
8252                  </li>
8253                  <li>
8254                    <span class="entry_type_enum_name">D55</span>
8255                    <span class="entry_type_enum_value">20</span>
8256                  </li>
8257                  <li>
8258                    <span class="entry_type_enum_name">D65</span>
8259                    <span class="entry_type_enum_value">21</span>
8260                  </li>
8261                  <li>
8262                    <span class="entry_type_enum_name">D75</span>
8263                    <span class="entry_type_enum_value">22</span>
8264                  </li>
8265                  <li>
8266                    <span class="entry_type_enum_name">D50</span>
8267                    <span class="entry_type_enum_value">23</span>
8268                  </li>
8269                  <li>
8270                    <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN</span>
8271                    <span class="entry_type_enum_value">24</span>
8272                  </li>
8273                </ul>
8274
8275            </td> <!-- entry_type -->
8276
8277            <td class="entry_description">
8278              Light source used to define transform
8279          1
8280            </td>
8281
8282            <td class="entry_units">
8283            </td>
8284
8285            <td class="entry_range">
8286            </td>
8287
8288            <td class="entry_notes">
8289              [EXIF LightSource tag] Must all these be
8290          supported? Need CCT for each!
8291            </td>
8292
8293            <td class="entry_tags">
8294              <ul class="entry_tags">
8295                  <li><a href="#tag_DNG">DNG</a></li>
8296                  <li><a href="#tag_EXIF">EXIF</a></li>
8297              </ul>
8298            </td>
8299
8300          </tr> <!-- end of entry -->
8301
8302
8303          <tr class="entry" id="static_android.sensor.referenceIlluminant2">
8304            <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant2</td>
8305            <td class="entry_type">
8306                <span class="entry_type_name">byte</span>
8307
8308
8309
8310
8311            </td> <!-- entry_type -->
8312
8313            <td class="entry_description">
8314              Light source used to define transform
8315          2
8316            </td>
8317
8318            <td class="entry_units">
8319              Same as illuminant 1
8320            </td>
8321
8322            <td class="entry_range">
8323            </td>
8324
8325            <td class="entry_notes">
8326            </td>
8327
8328            <td class="entry_tags">
8329            </td>
8330
8331          </tr> <!-- end of entry -->
8332
8333
8334
8335      <!-- end of kind -->
8336      </tbody>
8337      <tr><td colspan="7" class="kind">dynamic</td></tr>
8338
8339      <thead>
8340        <tr>
8341          <th class="th_name">Property Name</th>
8342          <th class="th_type">Type</th>
8343          <th class="th_description">Description</th>
8344          <th class="th_units">Units</th>
8345          <th class="th_range">Range</th>
8346          <th class="th_notes">Notes</th>
8347          <th class="th_tags">Tags</th>
8348        </tr>
8349      </thead>
8350
8351      <tbody>
8352
8353
8354
8355
8356
8357
8358
8359
8360
8361
8362          <tr class="entry" id="dynamic_android.sensor.exposureTime">
8363            <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td>
8364            <td class="entry_type">
8365                <span class="entry_type_name">int64</span>
8366
8367
8368
8369
8370            </td> <!-- entry_type -->
8371
8372            <td class="entry_description">
8373              Duration each pixel is exposed to
8374          light
8375            </td>
8376
8377            <td class="entry_units">
8378              nanoseconds
8379            </td>
8380
8381            <td class="entry_range">
8382              android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range
8383            </td>
8384
8385            <td class="entry_notes">
8386              1/<wbr>10000 - 30 sec range.<wbr> No bulb mode
8387            </td>
8388
8389            <td class="entry_tags">
8390              <ul class="entry_tags">
8391                  <li><a href="#tag_V1">V1</a></li>
8392              </ul>
8393            </td>
8394
8395          </tr> <!-- end of entry -->
8396
8397
8398          <tr class="entry" id="dynamic_android.sensor.frameDuration">
8399            <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td>
8400            <td class="entry_type">
8401                <span class="entry_type_name">int64</span>
8402
8403
8404
8405
8406            </td> <!-- entry_type -->
8407
8408            <td class="entry_description">
8409              Duration from start of frame exposure to
8410          start of next frame exposure
8411            </td>
8412
8413            <td class="entry_units">
8414              nanoseconds
8415            </td>
8416
8417            <td class="entry_range">
8418              see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr>
8419          android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
8420            </td>
8421
8422            <td class="entry_notes">
8423              Exposure time has priority,<wbr> so duration is set to
8424          max(duration,<wbr> exposure time + overhead)
8425            </td>
8426
8427            <td class="entry_tags">
8428              <ul class="entry_tags">
8429                  <li><a href="#tag_V1">V1</a></li>
8430                  <li><a href="#tag_BC">BC</a></li>
8431              </ul>
8432            </td>
8433
8434          </tr> <!-- end of entry -->
8435
8436
8437          <tr class="entry" id="dynamic_android.sensor.sensitivity">
8438            <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td>
8439            <td class="entry_type">
8440                <span class="entry_type_name">int32</span>
8441
8442
8443
8444
8445            </td> <!-- entry_type -->
8446
8447            <td class="entry_description">
8448              Gain applied to image data.<wbr> Must be
8449          implemented through analog gain only if set to values
8450          below 'maximum analog sensitivity'.<wbr>
8451            </td>
8452
8453            <td class="entry_units">
8454              ISO arithmetic units
8455            </td>
8456
8457            <td class="entry_range">
8458              android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range
8459            </td>
8460
8461            <td class="entry_notes">
8462              ISO 12232:2006 REI method
8463            </td>
8464
8465            <td class="entry_tags">
8466              <ul class="entry_tags">
8467                  <li><a href="#tag_V1">V1</a></li>
8468              </ul>
8469            </td>
8470
8471          </tr> <!-- end of entry -->
8472
8473
8474          <tr class="entry" id="dynamic_android.sensor.timestamp">
8475            <td class="entry_name">android.<wbr>sensor.<wbr>timestamp</td>
8476            <td class="entry_type">
8477                <span class="entry_type_name">int64</span>
8478
8479
8480
8481
8482            </td> <!-- entry_type -->
8483
8484            <td class="entry_description">
8485              Time at start of exposure of first
8486          row
8487            </td>
8488
8489            <td class="entry_units">
8490              nanoseconds
8491            </td>
8492
8493            <td class="entry_range">
8494              > 0
8495            </td>
8496
8497            <td class="entry_notes">
8498              Monotonic,<wbr> should be synced to other timestamps in
8499          system
8500            </td>
8501
8502            <td class="entry_tags">
8503              <ul class="entry_tags">
8504                  <li><a href="#tag_BC">BC</a></li>
8505              </ul>
8506            </td>
8507
8508          </tr> <!-- end of entry -->
8509
8510
8511
8512      <!-- end of kind -->
8513      </tbody>
8514
8515  <!-- end of section -->
8516  <tr><td colspan="7" id="section_shading" class="section">shading</td></tr>
8517
8518
8519      <tr><td colspan="7" class="kind">controls</td></tr>
8520
8521      <thead>
8522        <tr>
8523          <th class="th_name">Property Name</th>
8524          <th class="th_type">Type</th>
8525          <th class="th_description">Description</th>
8526          <th class="th_units">Units</th>
8527          <th class="th_range">Range</th>
8528          <th class="th_notes">Notes</th>
8529          <th class="th_tags">Tags</th>
8530        </tr>
8531      </thead>
8532
8533      <tbody>
8534
8535
8536
8537
8538
8539
8540
8541
8542
8543
8544          <tr class="entry" id="controls_android.shading.mode">
8545            <td class="entry_name">android.<wbr>shading.<wbr>mode</td>
8546            <td class="entry_type">
8547                <span class="entry_type_name entry_type_name_enum">byte</span>
8548
8549
8550
8551                <ul class="entry_type_enum">
8552                  <li>
8553                    <span class="entry_type_enum_name">OFF</span>
8554                    <span class="entry_type_enum_notes">No shading correction is applied</span>
8555                  </li>
8556                  <li>
8557                    <span class="entry_type_enum_name">FAST</span>
8558                    <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
8559            bayer output</span>
8560                  </li>
8561                  <li>
8562                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
8563                    <span class="entry_type_enum_notes">Frame rate may be reduced by high
8564            quality</span>
8565                  </li>
8566                </ul>
8567
8568            </td> <!-- entry_type -->
8569
8570            <td class="entry_description">
8571              Quality of lens shading correction applied
8572          to the image data
8573            </td>
8574
8575            <td class="entry_units">
8576            </td>
8577
8578            <td class="entry_range">
8579            </td>
8580
8581            <td class="entry_notes">
8582            </td>
8583
8584            <td class="entry_tags">
8585            </td>
8586
8587          </tr> <!-- end of entry -->
8588
8589
8590          <tr class="entry" id="controls_android.shading.strength">
8591            <td class="entry_name">android.<wbr>shading.<wbr>strength</td>
8592            <td class="entry_type">
8593                <span class="entry_type_name">byte</span>
8594
8595
8596
8597
8598            </td> <!-- entry_type -->
8599
8600            <td class="entry_description">
8601              Control the amount of shading correction
8602          applied to the images
8603            </td>
8604
8605            <td class="entry_units">
8606              unitless: 1-10; 10 is full shading
8607          compensation
8608            </td>
8609
8610            <td class="entry_range">
8611            </td>
8612
8613            <td class="entry_notes">
8614            </td>
8615
8616            <td class="entry_tags">
8617              <ul class="entry_tags">
8618                  <li><a href="#tag_ADV">ADV</a></li>
8619              </ul>
8620            </td>
8621
8622          </tr> <!-- end of entry -->
8623
8624
8625
8626      <!-- end of kind -->
8627      </tbody>
8628      <tr><td colspan="7" class="kind">dynamic</td></tr>
8629
8630      <thead>
8631        <tr>
8632          <th class="th_name">Property Name</th>
8633          <th class="th_type">Type</th>
8634          <th class="th_description">Description</th>
8635          <th class="th_units">Units</th>
8636          <th class="th_range">Range</th>
8637          <th class="th_notes">Notes</th>
8638          <th class="th_tags">Tags</th>
8639        </tr>
8640      </thead>
8641
8642      <tbody>
8643
8644
8645
8646
8647
8648
8649
8650
8651
8652
8653          <tr class="entry" id="dynamic_android.shading.mode">
8654            <td class="entry_name">android.<wbr>shading.<wbr>mode</td>
8655            <td class="entry_type">
8656                <span class="entry_type_name entry_type_name_enum">byte</span>
8657
8658
8659
8660                <ul class="entry_type_enum">
8661                  <li>
8662                    <span class="entry_type_enum_name">OFF</span>
8663                    <span class="entry_type_enum_notes">No shading correction is applied</span>
8664                  </li>
8665                  <li>
8666                    <span class="entry_type_enum_name">FAST</span>
8667                    <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
8668            bayer output</span>
8669                  </li>
8670                  <li>
8671                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
8672                    <span class="entry_type_enum_notes">Frame rate may be reduced by high
8673            quality</span>
8674                  </li>
8675                </ul>
8676
8677            </td> <!-- entry_type -->
8678
8679            <td class="entry_description">
8680              Quality of lens shading correction applied
8681          to the image data
8682            </td>
8683
8684            <td class="entry_units">
8685            </td>
8686
8687            <td class="entry_range">
8688            </td>
8689
8690            <td class="entry_notes">
8691            </td>
8692
8693            <td class="entry_tags">
8694            </td>
8695
8696          </tr> <!-- end of entry -->
8697
8698
8699
8700      <!-- end of kind -->
8701      </tbody>
8702
8703  <!-- end of section -->
8704  <tr><td colspan="7" id="section_statistics" class="section">statistics</td></tr>
8705
8706
8707      <tr><td colspan="7" class="kind">controls</td></tr>
8708
8709      <thead>
8710        <tr>
8711          <th class="th_name">Property Name</th>
8712          <th class="th_type">Type</th>
8713          <th class="th_description">Description</th>
8714          <th class="th_units">Units</th>
8715          <th class="th_range">Range</th>
8716          <th class="th_notes">Notes</th>
8717          <th class="th_tags">Tags</th>
8718        </tr>
8719      </thead>
8720
8721      <tbody>
8722
8723
8724
8725
8726
8727
8728
8729
8730
8731
8732          <tr class="entry" id="controls_android.statistics.faceDetectMode">
8733            <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td>
8734            <td class="entry_type">
8735                <span class="entry_type_name entry_type_name_enum">byte</span>
8736
8737
8738
8739                <ul class="entry_type_enum">
8740                  <li>
8741                    <span class="entry_type_enum_name">OFF</span>
8742                  </li>
8743                  <li>
8744                    <span class="entry_type_enum_name">SIMPLE</span>
8745                    <span class="entry_type_enum_notes">Optional Return rectangle and confidence
8746            only</span>
8747                  </li>
8748                  <li>
8749                    <span class="entry_type_enum_name">FULL</span>
8750                    <span class="entry_type_enum_notes">Optional Return all face
8751            metadata</span>
8752                  </li>
8753                </ul>
8754
8755            </td> <!-- entry_type -->
8756
8757            <td class="entry_description">
8758              State of the face detector
8759          unit
8760            </td>
8761
8762            <td class="entry_units">
8763            </td>
8764
8765            <td class="entry_range">
8766
8767          android.<wbr>statistics.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes
8768            </td>
8769
8770            <td class="entry_notes">
8771            </td>
8772
8773            <td class="entry_tags">
8774              <ul class="entry_tags">
8775                  <li><a href="#tag_BC">BC</a></li>
8776              </ul>
8777            </td>
8778
8779          </tr> <!-- end of entry -->
8780
8781
8782          <tr class="entry" id="controls_android.statistics.histogramMode">
8783            <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td>
8784            <td class="entry_type">
8785                <span class="entry_type_name entry_type_name_enum">byte</span>
8786
8787
8788
8789                <ul class="entry_type_enum">
8790                  <li>
8791                    <span class="entry_type_enum_name">OFF</span>
8792                  </li>
8793                  <li>
8794                    <span class="entry_type_enum_name">ON</span>
8795                  </li>
8796                </ul>
8797
8798            </td> <!-- entry_type -->
8799
8800            <td class="entry_description">
8801              Operating mode for histogram
8802          generation
8803            </td>
8804
8805            <td class="entry_units">
8806            </td>
8807
8808            <td class="entry_range">
8809            </td>
8810
8811            <td class="entry_notes">
8812            </td>
8813
8814            <td class="entry_tags">
8815              <ul class="entry_tags">
8816                  <li><a href="#tag_V1">V1</a></li>
8817              </ul>
8818            </td>
8819
8820          </tr> <!-- end of entry -->
8821
8822
8823          <tr class="entry" id="controls_android.statistics.sharpnessMapMode">
8824            <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td>
8825            <td class="entry_type">
8826                <span class="entry_type_name entry_type_name_enum">byte</span>
8827
8828
8829
8830                <ul class="entry_type_enum">
8831                  <li>
8832                    <span class="entry_type_enum_name">OFF</span>
8833                  </li>
8834                  <li>
8835                    <span class="entry_type_enum_name">ON</span>
8836                  </li>
8837                </ul>
8838
8839            </td> <!-- entry_type -->
8840
8841            <td class="entry_description">
8842              Operating mode for sharpness map
8843          generation
8844            </td>
8845
8846            <td class="entry_units">
8847            </td>
8848
8849            <td class="entry_range">
8850            </td>
8851
8852            <td class="entry_notes">
8853            </td>
8854
8855            <td class="entry_tags">
8856              <ul class="entry_tags">
8857                  <li><a href="#tag_V1">V1</a></li>
8858              </ul>
8859            </td>
8860
8861          </tr> <!-- end of entry -->
8862
8863
8864
8865      <!-- end of kind -->
8866      </tbody>
8867      <tr><td colspan="7" class="kind">static</td></tr>
8868
8869      <thead>
8870        <tr>
8871          <th class="th_name">Property Name</th>
8872          <th class="th_type">Type</th>
8873          <th class="th_description">Description</th>
8874          <th class="th_units">Units</th>
8875          <th class="th_range">Range</th>
8876          <th class="th_notes">Notes</th>
8877          <th class="th_tags">Tags</th>
8878        </tr>
8879      </thead>
8880
8881      <tbody>
8882
8883
8884
8885
8886
8887
8888
8889
8890
8891
8892
8893
8894          <tr class="entry" id="static_android.statistics.info.availableFaceDetectModes">
8895            <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes</td>
8896            <td class="entry_type">
8897                <span class="entry_type_name">byte</span>
8898                <span class="entry_type_container">x</span>
8899
8900                <span class="entry_type_array">
8901                  n
8902                </span>
8903
8904                <div class="entry_type_notes">List of enums</div>
8905
8906
8907            </td> <!-- entry_type -->
8908
8909            <td class="entry_description">
8910              Which face detection modes are available,<wbr>
8911            if any
8912            </td>
8913
8914            <td class="entry_units">
8915            </td>
8916
8917            <td class="entry_range">
8918              OFF
8919            </td>
8920
8921            <td class="entry_notes">
8922            </td>
8923
8924            <td class="entry_tags">
8925            </td>
8926
8927          </tr> <!-- end of entry -->
8928
8929
8930          <tr class="entry" id="static_android.statistics.info.histogramBucketCount">
8931            <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>histogram<wbr>Bucket<wbr>Count</td>
8932            <td class="entry_type">
8933                <span class="entry_type_name">int32</span>
8934
8935
8936
8937
8938            </td> <!-- entry_type -->
8939
8940            <td class="entry_description">
8941              Number of histogram buckets
8942            supported
8943            </td>
8944
8945            <td class="entry_units">
8946            </td>
8947
8948            <td class="entry_range">
8949              >= 64
8950            </td>
8951
8952            <td class="entry_notes">
8953            </td>
8954
8955            <td class="entry_tags">
8956            </td>
8957
8958          </tr> <!-- end of entry -->
8959
8960
8961          <tr class="entry" id="static_android.statistics.info.maxFaceCount">
8962            <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Face<wbr>Count</td>
8963            <td class="entry_type">
8964                <span class="entry_type_name">int32</span>
8965
8966
8967
8968
8969            </td> <!-- entry_type -->
8970
8971            <td class="entry_description">
8972              If face detection is supported,<wbr> how many
8973            faces can be detected at once
8974            </td>
8975
8976            <td class="entry_units">
8977            </td>
8978
8979            <td class="entry_range">
8980              >= 4 if availableFaceDetectionModes lists
8981            modes besides OFF,<wbr> otherwise 0
8982            </td>
8983
8984            <td class="entry_notes">
8985            </td>
8986
8987            <td class="entry_tags">
8988            </td>
8989
8990          </tr> <!-- end of entry -->
8991
8992
8993          <tr class="entry" id="static_android.statistics.info.maxHistogramCount">
8994            <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Histogram<wbr>Count</td>
8995            <td class="entry_type">
8996                <span class="entry_type_name">int32</span>
8997
8998
8999
9000
9001            </td> <!-- entry_type -->
9002
9003            <td class="entry_description">
9004              Maximum value possible for a histogram
9005            bucket
9006            </td>
9007
9008            <td class="entry_units">
9009            </td>
9010
9011            <td class="entry_range">
9012            </td>
9013
9014            <td class="entry_notes">
9015            </td>
9016
9017            <td class="entry_tags">
9018            </td>
9019
9020          </tr> <!-- end of entry -->
9021
9022
9023          <tr class="entry" id="static_android.statistics.info.maxSharpnessMapValue">
9024            <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Sharpness<wbr>Map<wbr>Value</td>
9025            <td class="entry_type">
9026                <span class="entry_type_name">int32</span>
9027
9028
9029
9030
9031            </td> <!-- entry_type -->
9032
9033            <td class="entry_description">
9034              Maximum value possible for a sharpness map
9035            region.<wbr>
9036            </td>
9037
9038            <td class="entry_units">
9039            </td>
9040
9041            <td class="entry_range">
9042            </td>
9043
9044            <td class="entry_notes">
9045            </td>
9046
9047            <td class="entry_tags">
9048            </td>
9049
9050          </tr> <!-- end of entry -->
9051
9052
9053          <tr class="entry" id="static_android.statistics.info.sharpnessMapSize">
9054            <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>sharpness<wbr>Map<wbr>Size</td>
9055            <td class="entry_type">
9056                <span class="entry_type_name">int32</span>
9057                <span class="entry_type_container">x</span>
9058
9059                <span class="entry_type_array">
9060                  2
9061                </span>
9062
9063                <div class="entry_type_notes">width x height</div>
9064
9065
9066            </td> <!-- entry_type -->
9067
9068            <td class="entry_description">
9069              Dimensions of the sharpness
9070            map
9071            </td>
9072
9073            <td class="entry_units">
9074            </td>
9075
9076            <td class="entry_range">
9077              Must be at least 32 x 32
9078            </td>
9079
9080            <td class="entry_notes">
9081            </td>
9082
9083            <td class="entry_tags">
9084            </td>
9085
9086          </tr> <!-- end of entry -->
9087
9088
9089
9090
9091
9092
9093      <!-- end of kind -->
9094      </tbody>
9095      <tr><td colspan="7" class="kind">dynamic</td></tr>
9096
9097      <thead>
9098        <tr>
9099          <th class="th_name">Property Name</th>
9100          <th class="th_type">Type</th>
9101          <th class="th_description">Description</th>
9102          <th class="th_units">Units</th>
9103          <th class="th_range">Range</th>
9104          <th class="th_notes">Notes</th>
9105          <th class="th_tags">Tags</th>
9106        </tr>
9107      </thead>
9108
9109      <tbody>
9110
9111
9112
9113
9114
9115
9116
9117
9118
9119
9120          <tr class="entry" id="dynamic_android.statistics.faceDetectMode">
9121            <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td>
9122            <td class="entry_type">
9123                <span class="entry_type_name entry_type_name_enum">byte</span>
9124
9125
9126
9127                <ul class="entry_type_enum">
9128                  <li>
9129                    <span class="entry_type_enum_name">OFF</span>
9130                  </li>
9131                  <li>
9132                    <span class="entry_type_enum_name">SIMPLE</span>
9133                    <span class="entry_type_enum_notes">Optional Return rectangle and confidence
9134            only</span>
9135                  </li>
9136                  <li>
9137                    <span class="entry_type_enum_name">FULL</span>
9138                    <span class="entry_type_enum_notes">Optional Return all face
9139            metadata</span>
9140                  </li>
9141                </ul>
9142
9143            </td> <!-- entry_type -->
9144
9145            <td class="entry_description">
9146              State of the face detector
9147          unit
9148            </td>
9149
9150            <td class="entry_units">
9151            </td>
9152
9153            <td class="entry_range">
9154
9155          android.<wbr>statistics.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes
9156            </td>
9157
9158            <td class="entry_notes">
9159            </td>
9160
9161            <td class="entry_tags">
9162              <ul class="entry_tags">
9163                  <li><a href="#tag_BC">BC</a></li>
9164              </ul>
9165            </td>
9166
9167          </tr> <!-- end of entry -->
9168
9169
9170          <tr class="entry" id="dynamic_android.statistics.faceIds">
9171            <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Ids</td>
9172            <td class="entry_type">
9173                <span class="entry_type_name">int32</span>
9174                <span class="entry_type_container">x</span>
9175
9176                <span class="entry_type_array">
9177                  n
9178                </span>
9179
9180
9181
9182            </td> <!-- entry_type -->
9183
9184            <td class="entry_description">
9185              List of unique IDs for detected
9186          faces
9187            </td>
9188
9189            <td class="entry_units">
9190            </td>
9191
9192            <td class="entry_range">
9193            </td>
9194
9195            <td class="entry_notes">
9196              Only available if faceDetectMode == FULL
9197            </td>
9198
9199            <td class="entry_tags">
9200              <ul class="entry_tags">
9201                  <li><a href="#tag_BC">BC</a></li>
9202              </ul>
9203            </td>
9204
9205          </tr> <!-- end of entry -->
9206
9207
9208          <tr class="entry" id="dynamic_android.statistics.faceLandmarks">
9209            <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Landmarks</td>
9210            <td class="entry_type">
9211                <span class="entry_type_name">int32</span>
9212                <span class="entry_type_container">x</span>
9213
9214                <span class="entry_type_array">
9215                  n x 6
9216                </span>
9217
9218                <div class="entry_type_notes">(leftEyeX,<wbr> leftEyeY,<wbr> rightEyeX,<wbr> rightEyeY,<wbr> mouthX,<wbr> mouthY)</div>
9219
9220
9221            </td> <!-- entry_type -->
9222
9223            <td class="entry_description">
9224              List of landmarks for detected
9225          faces
9226            </td>
9227
9228            <td class="entry_units">
9229            </td>
9230
9231            <td class="entry_range">
9232            </td>
9233
9234            <td class="entry_notes">
9235              Only available if faceDetectMode == FULL
9236            </td>
9237
9238            <td class="entry_tags">
9239              <ul class="entry_tags">
9240                  <li><a href="#tag_BC">BC</a></li>
9241              </ul>
9242            </td>
9243
9244          </tr> <!-- end of entry -->
9245
9246
9247          <tr class="entry" id="dynamic_android.statistics.faceRectangles">
9248            <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Rectangles</td>
9249            <td class="entry_type">
9250                <span class="entry_type_name">int32</span>
9251                <span class="entry_type_container">x</span>
9252
9253                <span class="entry_type_array">
9254                  n x 4
9255                </span>
9256
9257                <div class="entry_type_notes">(xmin,<wbr> ymin,<wbr> xmax,<wbr> ymax).<wbr> (0,<wbr>0) is top-left of active pixel area</div>
9258
9259
9260            </td> <!-- entry_type -->
9261
9262            <td class="entry_description">
9263              List of the bounding rectangles for detected
9264          faces
9265            </td>
9266
9267            <td class="entry_units">
9268            </td>
9269
9270            <td class="entry_range">
9271            </td>
9272
9273            <td class="entry_notes">
9274              Only available if faceDetectMode != OFF
9275            </td>
9276
9277            <td class="entry_tags">
9278              <ul class="entry_tags">
9279                  <li><a href="#tag_BC">BC</a></li>
9280              </ul>
9281            </td>
9282
9283          </tr> <!-- end of entry -->
9284
9285
9286          <tr class="entry" id="dynamic_android.statistics.faceScores">
9287            <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Scores</td>
9288            <td class="entry_type">
9289                <span class="entry_type_name">byte</span>
9290                <span class="entry_type_container">x</span>
9291
9292                <span class="entry_type_array">
9293                  n
9294                </span>
9295
9296
9297
9298            </td> <!-- entry_type -->
9299
9300            <td class="entry_description">
9301              List of the face confidence scores for
9302          detected faces
9303            </td>
9304
9305            <td class="entry_units">
9306            </td>
9307
9308            <td class="entry_range">
9309              0-100
9310            </td>
9311
9312            <td class="entry_notes">
9313              Only available if faceDetectMode != OFF
9314            </td>
9315
9316            <td class="entry_tags">
9317              <ul class="entry_tags">
9318                  <li><a href="#tag_BC">BC</a></li>
9319              </ul>
9320            </td>
9321
9322          </tr> <!-- end of entry -->
9323
9324
9325          <tr class="entry" id="dynamic_android.statistics.histogram">
9326            <td class="entry_name">android.<wbr>statistics.<wbr>histogram</td>
9327            <td class="entry_type">
9328                <span class="entry_type_name">int32</span>
9329                <span class="entry_type_container">x</span>
9330
9331                <span class="entry_type_array">
9332                  n x 3
9333                </span>
9334
9335                <div class="entry_type_notes">count of pixels for each color channel that fall into each histogram bucket,<wbr> scaled to be between 0 and maxHistogramCount</div>
9336
9337
9338            </td> <!-- entry_type -->
9339
9340            <td class="entry_description">
9341              A 3-channel histogram based on the raw
9342          sensor data
9343            </td>
9344
9345            <td class="entry_units">
9346            </td>
9347
9348            <td class="entry_range">
9349            </td>
9350
9351            <td class="entry_notes">
9352              The k'th bucket (0-based) covers the input range
9353          (with w = android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level) of [ k * w/<wbr>N,<wbr>
9354          (k + 1) * w /<wbr> N ).<wbr> If only a monochrome sharpness map is
9355          supported,<wbr> all channels should have the same data
9356            </td>
9357
9358            <td class="entry_tags">
9359              <ul class="entry_tags">
9360                  <li><a href="#tag_V1">V1</a></li>
9361              </ul>
9362            </td>
9363
9364          </tr> <!-- end of entry -->
9365
9366
9367          <tr class="entry" id="dynamic_android.statistics.histogramMode">
9368            <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td>
9369            <td class="entry_type">
9370                <span class="entry_type_name entry_type_name_enum">byte</span>
9371
9372
9373
9374                <ul class="entry_type_enum">
9375                  <li>
9376                    <span class="entry_type_enum_name">OFF</span>
9377                  </li>
9378                  <li>
9379                    <span class="entry_type_enum_name">ON</span>
9380                  </li>
9381                </ul>
9382
9383            </td> <!-- entry_type -->
9384
9385            <td class="entry_description">
9386              Operating mode for histogram
9387          generation
9388            </td>
9389
9390            <td class="entry_units">
9391            </td>
9392
9393            <td class="entry_range">
9394            </td>
9395
9396            <td class="entry_notes">
9397            </td>
9398
9399            <td class="entry_tags">
9400              <ul class="entry_tags">
9401                  <li><a href="#tag_V1">V1</a></li>
9402              </ul>
9403            </td>
9404
9405          </tr> <!-- end of entry -->
9406
9407
9408          <tr class="entry" id="dynamic_android.statistics.sharpnessMap">
9409            <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map</td>
9410            <td class="entry_type">
9411                <span class="entry_type_name">int32</span>
9412                <span class="entry_type_container">x</span>
9413
9414                <span class="entry_type_array">
9415                  n x m x 3
9416                </span>
9417
9418                <div class="entry_type_notes">estimated sharpness for each region of the input image.<wbr> Normalized to be between 0 and maxSharpnessMapValue.<wbr> Higher values mean sharper (better focused)</div>
9419
9420
9421            </td> <!-- entry_type -->
9422
9423            <td class="entry_description">
9424              A 3-channel sharpness map,<wbr> based on the raw
9425          sensor data
9426            </td>
9427
9428            <td class="entry_units">
9429            </td>
9430
9431            <td class="entry_range">
9432            </td>
9433
9434            <td class="entry_notes">
9435              If only a monochrome sharpness map is supported,<wbr>
9436          all channels should have the same data
9437            </td>
9438
9439            <td class="entry_tags">
9440              <ul class="entry_tags">
9441                  <li><a href="#tag_V1">V1</a></li>
9442              </ul>
9443            </td>
9444
9445          </tr> <!-- end of entry -->
9446
9447
9448          <tr class="entry" id="dynamic_android.statistics.sharpnessMapMode">
9449            <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td>
9450            <td class="entry_type">
9451                <span class="entry_type_name entry_type_name_enum">byte</span>
9452
9453
9454
9455                <ul class="entry_type_enum">
9456                  <li>
9457                    <span class="entry_type_enum_name">OFF</span>
9458                  </li>
9459                  <li>
9460                    <span class="entry_type_enum_name">ON</span>
9461                  </li>
9462                </ul>
9463
9464            </td> <!-- entry_type -->
9465
9466            <td class="entry_description">
9467              Operating mode for sharpness map
9468          generation
9469            </td>
9470
9471            <td class="entry_units">
9472            </td>
9473
9474            <td class="entry_range">
9475            </td>
9476
9477            <td class="entry_notes">
9478            </td>
9479
9480            <td class="entry_tags">
9481              <ul class="entry_tags">
9482                  <li><a href="#tag_V1">V1</a></li>
9483              </ul>
9484            </td>
9485
9486          </tr> <!-- end of entry -->
9487
9488
9489
9490      <!-- end of kind -->
9491      </tbody>
9492
9493  <!-- end of section -->
9494  <tr><td colspan="7" id="section_tonemap" class="section">tonemap</td></tr>
9495
9496
9497      <tr><td colspan="7" class="kind">controls</td></tr>
9498
9499      <thead>
9500        <tr>
9501          <th class="th_name">Property Name</th>
9502          <th class="th_type">Type</th>
9503          <th class="th_description">Description</th>
9504          <th class="th_units">Units</th>
9505          <th class="th_range">Range</th>
9506          <th class="th_notes">Notes</th>
9507          <th class="th_tags">Tags</th>
9508        </tr>
9509      </thead>
9510
9511      <tbody>
9512
9513
9514
9515
9516
9517
9518
9519
9520
9521
9522          <tr class="entry" id="controls_android.tonemap.curveBlue">
9523            <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td>
9524            <td class="entry_type">
9525                <span class="entry_type_name">float</span>
9526
9527
9528
9529
9530            </td> <!-- entry_type -->
9531
9532            <td class="entry_description">
9533              Table mapping blue input values to output
9534          values
9535            </td>
9536
9537            <td class="entry_units">
9538              same as android.<wbr>tonemap.<wbr>curve<wbr>Red
9539            </td>
9540
9541            <td class="entry_range">
9542              same as android.<wbr>tonemap.<wbr>curve<wbr>Red
9543            </td>
9544
9545            <td class="entry_notes">
9546            </td>
9547
9548            <td class="entry_tags">
9549            </td>
9550
9551          </tr> <!-- end of entry -->
9552
9553
9554          <tr class="entry" id="controls_android.tonemap.curveGreen">
9555            <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td>
9556            <td class="entry_type">
9557                <span class="entry_type_name">float</span>
9558
9559
9560
9561
9562            </td> <!-- entry_type -->
9563
9564            <td class="entry_description">
9565              Table mapping green input values to output
9566          values
9567            </td>
9568
9569            <td class="entry_units">
9570              same as android.<wbr>tonemap.<wbr>curve<wbr>Red
9571            </td>
9572
9573            <td class="entry_range">
9574              same as android.<wbr>tonemap.<wbr>curve<wbr>Red
9575            </td>
9576
9577            <td class="entry_notes">
9578            </td>
9579
9580            <td class="entry_tags">
9581            </td>
9582
9583          </tr> <!-- end of entry -->
9584
9585
9586          <tr class="entry" id="controls_android.tonemap.curveRed">
9587            <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td>
9588            <td class="entry_type">
9589                <span class="entry_type_name">float</span>
9590                <span class="entry_type_container">x</span>
9591
9592                <span class="entry_type_array">
9593                  n x 2
9594                </span>
9595
9596                <div class="entry_type_notes">A 1D array of pairs of floats.<wbr> mapping a 0-1 input range to a 0-1 output range.<wbr></div>
9597
9598
9599            </td> <!-- entry_type -->
9600
9601            <td class="entry_description">
9602              Table mapping red input values to output
9603          values
9604            </td>
9605
9606            <td class="entry_units">
9607            </td>
9608
9609            <td class="entry_range">
9610              0-1 on input and output coordinates.<wbr> Max entry
9611          count speciied by android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points
9612            </td>
9613
9614            <td class="entry_notes">
9615              .<wbr>The input range must be monotonically increasing
9616          with N,<wbr> and values between entries should be linearly
9617          interpolated.<wbr> For example,<wbr> if the array is: [0.<wbr>0,<wbr> 0.<wbr>0,<wbr>
9618          0.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input->output mapping
9619          for a few sample points would be: 0 -> 0,<wbr> 0.<wbr>15 ->
9620          0.<wbr>25,<wbr> 0.<wbr>3 -> 0.<wbr>5,<wbr> 0.<wbr>5 -> 0.<wbr>64
9621            </td>
9622
9623            <td class="entry_tags">
9624              <ul class="entry_tags">
9625                  <li><a href="#tag_DNG">DNG</a></li>
9626              </ul>
9627            </td>
9628
9629          </tr> <!-- end of entry -->
9630
9631
9632          <tr class="entry" id="controls_android.tonemap.mode">
9633            <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td>
9634            <td class="entry_type">
9635                <span class="entry_type_name entry_type_name_enum">byte</span>
9636
9637
9638
9639                <ul class="entry_type_enum">
9640                  <li>
9641                    <span class="entry_type_enum_name">CONTRAST_CURVE</span>
9642                    <span class="entry_type_enum_notes">Use the tone mapping curve specified in
9643            android.<wbr>tonemap.<wbr>curve</span>
9644                  </li>
9645                  <li>
9646                    <span class="entry_type_enum_name">FAST</span>
9647                    <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
9648            bayer output</span>
9649                  </li>
9650                  <li>
9651                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
9652                    <span class="entry_type_enum_notes">Frame rate may be reduced by high
9653            quality</span>
9654                  </li>
9655                </ul>
9656
9657            </td> <!-- entry_type -->
9658
9659            <td class="entry_description">
9660            </td>
9661
9662            <td class="entry_units">
9663            </td>
9664
9665            <td class="entry_range">
9666            </td>
9667
9668            <td class="entry_notes">
9669            </td>
9670
9671            <td class="entry_tags">
9672            </td>
9673
9674          </tr> <!-- end of entry -->
9675
9676
9677
9678      <!-- end of kind -->
9679      </tbody>
9680      <tr><td colspan="7" class="kind">static</td></tr>
9681
9682      <thead>
9683        <tr>
9684          <th class="th_name">Property Name</th>
9685          <th class="th_type">Type</th>
9686          <th class="th_description">Description</th>
9687          <th class="th_units">Units</th>
9688          <th class="th_range">Range</th>
9689          <th class="th_notes">Notes</th>
9690          <th class="th_tags">Tags</th>
9691        </tr>
9692      </thead>
9693
9694      <tbody>
9695
9696
9697
9698
9699
9700
9701
9702
9703
9704
9705          <tr class="entry" id="static_android.tonemap.maxCurvePoints">
9706            <td class="entry_name">android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points</td>
9707            <td class="entry_type">
9708                <span class="entry_type_name">int32</span>
9709
9710
9711
9712
9713            </td> <!-- entry_type -->
9714
9715            <td class="entry_description">
9716              Maximum number of supported points in the
9717          tonemap curve
9718            </td>
9719
9720            <td class="entry_units">
9721            </td>
9722
9723            <td class="entry_range">
9724              >= 128
9725            </td>
9726
9727            <td class="entry_notes">
9728            </td>
9729
9730            <td class="entry_tags">
9731            </td>
9732
9733          </tr> <!-- end of entry -->
9734
9735
9736
9737      <!-- end of kind -->
9738      </tbody>
9739      <tr><td colspan="7" class="kind">dynamic</td></tr>
9740
9741      <thead>
9742        <tr>
9743          <th class="th_name">Property Name</th>
9744          <th class="th_type">Type</th>
9745          <th class="th_description">Description</th>
9746          <th class="th_units">Units</th>
9747          <th class="th_range">Range</th>
9748          <th class="th_notes">Notes</th>
9749          <th class="th_tags">Tags</th>
9750        </tr>
9751      </thead>
9752
9753      <tbody>
9754
9755
9756
9757
9758
9759
9760
9761
9762
9763
9764          <tr class="entry" id="dynamic_android.tonemap.curveBlue">
9765            <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td>
9766            <td class="entry_type">
9767                <span class="entry_type_name">float</span>
9768
9769
9770
9771
9772            </td> <!-- entry_type -->
9773
9774            <td class="entry_description">
9775              Table mapping blue input values to output
9776          values
9777            </td>
9778
9779            <td class="entry_units">
9780              same as android.<wbr>tonemap.<wbr>curve<wbr>Red
9781            </td>
9782
9783            <td class="entry_range">
9784              same as android.<wbr>tonemap.<wbr>curve<wbr>Red
9785            </td>
9786
9787            <td class="entry_notes">
9788            </td>
9789
9790            <td class="entry_tags">
9791            </td>
9792
9793          </tr> <!-- end of entry -->
9794
9795
9796          <tr class="entry" id="dynamic_android.tonemap.curveGreen">
9797            <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td>
9798            <td class="entry_type">
9799                <span class="entry_type_name">float</span>
9800
9801
9802
9803
9804            </td> <!-- entry_type -->
9805
9806            <td class="entry_description">
9807              Table mapping green input values to output
9808          values
9809            </td>
9810
9811            <td class="entry_units">
9812              same as android.<wbr>tonemap.<wbr>curve<wbr>Red
9813            </td>
9814
9815            <td class="entry_range">
9816              same as android.<wbr>tonemap.<wbr>curve<wbr>Red
9817            </td>
9818
9819            <td class="entry_notes">
9820            </td>
9821
9822            <td class="entry_tags">
9823            </td>
9824
9825          </tr> <!-- end of entry -->
9826
9827
9828          <tr class="entry" id="dynamic_android.tonemap.curveRed">
9829            <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td>
9830            <td class="entry_type">
9831                <span class="entry_type_name">float</span>
9832                <span class="entry_type_container">x</span>
9833
9834                <span class="entry_type_array">
9835                  n x 2
9836                </span>
9837
9838                <div class="entry_type_notes">A 1D array of pairs of floats.<wbr> mapping a 0-1 input range to a 0-1 output range.<wbr></div>
9839
9840
9841            </td> <!-- entry_type -->
9842
9843            <td class="entry_description">
9844              Table mapping red input values to output
9845          values
9846            </td>
9847
9848            <td class="entry_units">
9849            </td>
9850
9851            <td class="entry_range">
9852              0-1 on input and output coordinates.<wbr> Max entry
9853          count speciied by android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points
9854            </td>
9855
9856            <td class="entry_notes">
9857              .<wbr>The input range must be monotonically increasing
9858          with N,<wbr> and values between entries should be linearly
9859          interpolated.<wbr> For example,<wbr> if the array is: [0.<wbr>0,<wbr> 0.<wbr>0,<wbr>
9860          0.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input->output mapping
9861          for a few sample points would be: 0 -> 0,<wbr> 0.<wbr>15 ->
9862          0.<wbr>25,<wbr> 0.<wbr>3 -> 0.<wbr>5,<wbr> 0.<wbr>5 -> 0.<wbr>64
9863            </td>
9864
9865            <td class="entry_tags">
9866              <ul class="entry_tags">
9867                  <li><a href="#tag_DNG">DNG</a></li>
9868              </ul>
9869            </td>
9870
9871          </tr> <!-- end of entry -->
9872
9873
9874          <tr class="entry" id="dynamic_android.tonemap.mode">
9875            <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td>
9876            <td class="entry_type">
9877                <span class="entry_type_name entry_type_name_enum">byte</span>
9878
9879
9880
9881                <ul class="entry_type_enum">
9882                  <li>
9883                    <span class="entry_type_enum_name">CONTRAST_CURVE</span>
9884                    <span class="entry_type_enum_notes">Use the tone mapping curve specified in
9885            android.<wbr>tonemap.<wbr>curve</span>
9886                  </li>
9887                  <li>
9888                    <span class="entry_type_enum_name">FAST</span>
9889                    <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
9890            bayer output</span>
9891                  </li>
9892                  <li>
9893                    <span class="entry_type_enum_name">HIGH_QUALITY</span>
9894                    <span class="entry_type_enum_notes">Frame rate may be reduced by high
9895            quality</span>
9896                  </li>
9897                </ul>
9898
9899            </td> <!-- entry_type -->
9900
9901            <td class="entry_description">
9902            </td>
9903
9904            <td class="entry_units">
9905            </td>
9906
9907            <td class="entry_range">
9908            </td>
9909
9910            <td class="entry_notes">
9911            </td>
9912
9913            <td class="entry_tags">
9914            </td>
9915
9916          </tr> <!-- end of entry -->
9917
9918
9919
9920      <!-- end of kind -->
9921      </tbody>
9922
9923  <!-- end of section -->
9924  <tr><td colspan="7" id="section_led" class="section">led</td></tr>
9925
9926
9927      <tr><td colspan="7" class="kind">controls</td></tr>
9928
9929      <thead>
9930        <tr>
9931          <th class="th_name">Property Name</th>
9932          <th class="th_type">Type</th>
9933          <th class="th_description">Description</th>
9934          <th class="th_units">Units</th>
9935          <th class="th_range">Range</th>
9936          <th class="th_notes">Notes</th>
9937          <th class="th_tags">Tags</th>
9938        </tr>
9939      </thead>
9940
9941      <tbody>
9942
9943
9944
9945
9946
9947
9948
9949
9950
9951
9952          <tr class="entry" id="controls_android.led.transmit">
9953            <td class="entry_name">android.<wbr>led.<wbr>transmit</td>
9954            <td class="entry_type">
9955                <span class="entry_type_name entry_type_name_enum">byte</span>
9956
9957
9958
9959                <ul class="entry_type_enum">
9960                  <li>
9961                    <span class="entry_type_enum_name">OFF</span>
9962                  </li>
9963                  <li>
9964                    <span class="entry_type_enum_name">ON</span>
9965                  </li>
9966                </ul>
9967
9968            </td> <!-- entry_type -->
9969
9970            <td class="entry_description">
9971              This LED is nominally used to indicate to the user
9972          that the camera is powered on and may be streaming images back to the
9973          Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may
9974          disable this when video is processed locally and not transmitted to
9975          any untrusted applications.<wbr>
9976<br>
9977<br>          In particular,<wbr> the LED *must* always be on when the data could be
9978          transmitted off the device.<wbr> The LED *should* always be on whenever
9979          data is stored locally on the device.<wbr>
9980<br>
9981<br>          The LED *may* be off if a trusted application is using the data that
9982          doesn't violate the above rules.<wbr>
9983
9984            </td>
9985
9986            <td class="entry_units">
9987            </td>
9988
9989            <td class="entry_range">
9990            </td>
9991
9992            <td class="entry_notes">
9993            </td>
9994
9995            <td class="entry_tags">
9996            </td>
9997
9998          </tr> <!-- end of entry -->
9999
10000
10001
10002      <!-- end of kind -->
10003      </tbody>
10004      <tr><td colspan="7" class="kind">dynamic</td></tr>
10005
10006      <thead>
10007        <tr>
10008          <th class="th_name">Property Name</th>
10009          <th class="th_type">Type</th>
10010          <th class="th_description">Description</th>
10011          <th class="th_units">Units</th>
10012          <th class="th_range">Range</th>
10013          <th class="th_notes">Notes</th>
10014          <th class="th_tags">Tags</th>
10015        </tr>
10016      </thead>
10017
10018      <tbody>
10019
10020
10021
10022
10023
10024
10025
10026
10027
10028
10029          <tr class="entry" id="dynamic_android.led.transmit">
10030            <td class="entry_name">android.<wbr>led.<wbr>transmit</td>
10031            <td class="entry_type">
10032                <span class="entry_type_name entry_type_name_enum">byte</span>
10033
10034
10035
10036                <ul class="entry_type_enum">
10037                  <li>
10038                    <span class="entry_type_enum_name">OFF</span>
10039                  </li>
10040                  <li>
10041                    <span class="entry_type_enum_name">ON</span>
10042                  </li>
10043                </ul>
10044
10045            </td> <!-- entry_type -->
10046
10047            <td class="entry_description">
10048              This LED is nominally used to indicate to the user
10049          that the camera is powered on and may be streaming images back to the
10050          Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may
10051          disable this when video is processed locally and not transmitted to
10052          any untrusted applications.<wbr>
10053<br>
10054<br>          In particular,<wbr> the LED *must* always be on when the data could be
10055          transmitted off the device.<wbr> The LED *should* always be on whenever
10056          data is stored locally on the device.<wbr>
10057<br>
10058<br>          The LED *may* be off if a trusted application is using the data that
10059          doesn't violate the above rules.<wbr>
10060
10061            </td>
10062
10063            <td class="entry_units">
10064            </td>
10065
10066            <td class="entry_range">
10067            </td>
10068
10069            <td class="entry_notes">
10070            </td>
10071
10072            <td class="entry_tags">
10073            </td>
10074
10075          </tr> <!-- end of entry -->
10076
10077
10078
10079      <!-- end of kind -->
10080      </tbody>
10081      <tr><td colspan="7" class="kind">static</td></tr>
10082
10083      <thead>
10084        <tr>
10085          <th class="th_name">Property Name</th>
10086          <th class="th_type">Type</th>
10087          <th class="th_description">Description</th>
10088          <th class="th_units">Units</th>
10089          <th class="th_range">Range</th>
10090          <th class="th_notes">Notes</th>
10091          <th class="th_tags">Tags</th>
10092        </tr>
10093      </thead>
10094
10095      <tbody>
10096
10097
10098
10099
10100
10101
10102
10103
10104
10105
10106          <tr class="entry" id="static_android.led.availableLeds">
10107            <td class="entry_name">android.<wbr>led.<wbr>available<wbr>Leds</td>
10108            <td class="entry_type">
10109                <span class="entry_type_name entry_type_name_enum">byte</span>
10110                <span class="entry_type_container">x</span>
10111
10112                <span class="entry_type_array">
10113                  n
10114                </span>
10115
10116
10117                <ul class="entry_type_enum">
10118                  <li>
10119                    <span class="entry_type_enum_name">TRANSMIT</span>
10120                    <span class="entry_type_enum_notes">android.<wbr>led.<wbr>transmit control is used</span>
10121                  </li>
10122                </ul>
10123
10124            </td> <!-- entry_type -->
10125
10126            <td class="entry_description">
10127              A list of camera LEDs that are available on this system.<wbr>
10128
10129            </td>
10130
10131            <td class="entry_units">
10132            </td>
10133
10134            <td class="entry_range">
10135            </td>
10136
10137            <td class="entry_notes">
10138            </td>
10139
10140            <td class="entry_tags">
10141            </td>
10142
10143          </tr> <!-- end of entry -->
10144
10145
10146
10147      <!-- end of kind -->
10148      </tbody>
10149
10150  <!-- end of section -->
10151  <tr><td colspan="7" id="section_info" class="section">info</td></tr>
10152
10153
10154      <tr><td colspan="7" class="kind">static</td></tr>
10155
10156      <thead>
10157        <tr>
10158          <th class="th_name">Property Name</th>
10159          <th class="th_type">Type</th>
10160          <th class="th_description">Description</th>
10161          <th class="th_units">Units</th>
10162          <th class="th_range">Range</th>
10163          <th class="th_notes">Notes</th>
10164          <th class="th_tags">Tags</th>
10165        </tr>
10166      </thead>
10167
10168      <tbody>
10169
10170
10171
10172
10173
10174
10175
10176
10177
10178
10179          <tr class="entry" id="static_android.info.supportedHardwareLevel">
10180            <td class="entry_name">android.<wbr>info.<wbr>supported<wbr>Hardware<wbr>Level</td>
10181            <td class="entry_type">
10182                <span class="entry_type_name entry_type_name_enum">byte</span>
10183
10184
10185
10186                <ul class="entry_type_enum">
10187                  <li>
10188                    <span class="entry_type_enum_name">LIMITED</span>
10189                  </li>
10190                  <li>
10191                    <span class="entry_type_enum_name">FULL</span>
10192                  </li>
10193                </ul>
10194
10195            </td> <!-- entry_type -->
10196
10197            <td class="entry_description">
10198
10199          The camera 3 HAL device can implement one of two possible operational modes;
10200          limited and full.<wbr> Full support is expected from new higher-end
10201          devices.<wbr> Limited mode has hardware requirements roughly in line with those
10202          for a camera HAL device v1 implementation,<wbr> and is expected from older or
10203          inexpensive devices.<wbr> Full is a strict superset of limited,<wbr> and they share the
10204          same essential operational flow.<wbr>
10205<br>
10206<br>          For full details refer to "S3.<wbr> Operational Modes" in camera3.<wbr>h
10207
10208            </td>
10209
10210            <td class="entry_units">
10211            </td>
10212
10213            <td class="entry_range">
10214              Optional.<wbr> Default value is LIMITED.<wbr>
10215            </td>
10216
10217            <td class="entry_notes">
10218            </td>
10219
10220            <td class="entry_tags">
10221            </td>
10222
10223          </tr> <!-- end of entry -->
10224
10225
10226
10227      <!-- end of kind -->
10228      </tbody>
10229
10230  <!-- end of section -->
10231<!-- </namespace> -->
10232  </table>
10233
10234  <div class="tags" id="tag_index">
10235    <h2>Tags</h2>
10236    <ul>
10237      <li id="tag_AWB">AWB -
10238        Needed for auto white balance
10239
10240        <ul class="tags_entries">
10241          <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
10242        </ul>
10243      </li> <!-- tag_AWB -->
10244      <li id="tag_BC">BC -
10245        Needed for backwards compatibility with old Java API
10246
10247        <ul class="tags_entries">
10248          <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li>
10249          <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li>
10250          <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li>
10251          <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li>
10252          <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li>
10253          <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li>
10254          <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li>
10255          <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li>
10256          <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li>
10257          <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li>
10258          <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
10259          <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li>
10260          <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li>
10261          <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li>
10262          <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
10263          <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
10264          <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
10265          <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
10266          <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
10267          <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>
10268          <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li>
10269          <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li>
10270          <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li>
10271          <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li>
10272          <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li>
10273          <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li>
10274          <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li>
10275          <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li>
10276          <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li>
10277          <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li>
10278          <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li>
10279          <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li>
10280          <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li>
10281          <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li>
10282          <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li>
10283          <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li>
10284          <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
10285          <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
10286          <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li>
10287          <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li>
10288          <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li>
10289          <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li>
10290          <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li>
10291          <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li>
10292          <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li>
10293          <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a> (static)</li>
10294          <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li>
10295          <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li>
10296          <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li>
10297          <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
10298          <li><a href="#static_android.sensor.info.availableSensitivities">android.sensor.info.availableSensitivities</a> (static)</li>
10299          <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
10300          <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
10301          <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
10302          <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
10303          <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
10304          <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
10305          <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
10306          <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
10307          <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
10308          <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
10309          <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li>
10310          <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li>
10311        </ul>
10312      </li> <!-- tag_BC -->
10313      <li id="tag_V1">V1 -
10314        New features for first camera 2 release (API1)
10315
10316        <ul class="tags_entries">
10317          <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li>
10318          <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li>
10319          <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li>
10320          <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li>
10321          <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li>
10322          <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li>
10323          <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li>
10324          <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li>
10325          <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
10326          <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li>
10327          <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li>
10328          <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li>
10329          <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
10330          <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li>
10331          <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li>
10332          <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li>
10333          <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li>
10334          <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li>
10335          <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li>
10336          <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li>
10337          <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li>
10338          <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
10339          <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
10340          <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
10341          <li><a href="#static_android.sensor.info.availableSensitivities">android.sensor.info.availableSensitivities</a> (static)</li>
10342          <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
10343          <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
10344          <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
10345          <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
10346          <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
10347          <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
10348          <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
10349          <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
10350          <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
10351          <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
10352          <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li>
10353          <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li>
10354          <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li>
10355          <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li>
10356        </ul>
10357      </li> <!-- tag_V1 -->
10358      <li id="tag_ADV">ADV - None
10359        <ul class="tags_entries">
10360          <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li>
10361          <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li>
10362          <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li>
10363          <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li>
10364          <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li>
10365          <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
10366        </ul>
10367      </li> <!-- tag_ADV -->
10368      <li id="tag_DNG">DNG -
10369        Needed for DNG file support
10370
10371        <ul class="tags_entries">
10372          <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li>
10373          <li><a href="#static_android.lens.info.shadingMap">android.lens.info.shadingMap</a> (static)</li>
10374          <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
10375          <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
10376          <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
10377          <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
10378          <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
10379          <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
10380          <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
10381          <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
10382          <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
10383          <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
10384          <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
10385          <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
10386          <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
10387        </ul>
10388      </li> <!-- tag_DNG -->
10389      <li id="tag_EXIF">EXIF - None
10390        <ul class="tags_entries">
10391          <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
10392        </ul>
10393      </li> <!-- tag_EXIF -->
10394    </ul>
10395  </div>
10396
10397  [ <a href="#">top</a> ]
10398
10399</body>
10400</html>
10401