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