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