blob: b117a28d595a11c06bfbc01028ecddd8f826ba44 [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" />
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070020 <title>Android Camera HAL3.0 Properties</title>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080021 <style type="text/css">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070022 body { background-color: #f7f7f7; font-family: Roboto, sans-serif;}
23 h1 { color: #333333; }
24 h2 { color: #333333; }
25 a:link { color: #258aaf; text-decoration: none}
26 a:hover { color: #459aaf; text-decoration: underline }
27 a:visited { color: #154a5f; text-decoration: none}
28 .section { color: #eeeeee; font-size: 1.5em; font-weight: bold; background-color: #888888; padding: 0.5em 0em 0.5em 0.5em; border-width: thick thin thin thin; border-color: #111111 #777777 #777777 #777777}
29 .kind { color: #eeeeee; font-size: 1.2em; font-weight: bold; padding-left: 1.5em; background-color: #aaaaaa }
30 .entry { background-color: #f0f0f0 }
31 .entries_header { background-color: #dddddd; text-align: center}
32
33 /* toc style */
34 .toc_section_header { font-size:1.3em; }
35 .toc_kind_header { font-size:1.2em; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080036
37 /* table column sizes */
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070038 table { border-collapse:collapse; table-layout: fixed; width: 100%; word-wrap: break-word }
39 td,th { border: 1px solid; border-color: #aaaaaa; padding-left: 0.5em; padding-right: 0.5em }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080040 .th_name { width: 20% }
41 .th_units { width: 10% }
42 .th_tags { width: 5% }
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070043 .th_notes { width: 25% }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080044 .th_type { width: 20% }
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070045 .th_description { width: 20% }
46 .th_range { width: 10% }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080047 td { font-size: 0.9em; }
48
49 /* hide the first thead, we need it there only to enforce column sizes */
50 .thead_dummy { visibility: hidden; }
51
52 /* Entry flair */
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070053 .entry_name { color: #333333; padding-left:1.0em; font-size:1.1em; font-family: monospace; }
Igor Murashkin08b8aad2012-11-29 15:23:03 -080054
55 /* Entry type flair */
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070056 .entry_type_name { font-size:1.1em; color: #669900; font-weight: bold;}
57 .entry_type_name_enum:after { color: #669900; font-weight: bold; content:" (enum)" }
58 .entry_type_visibility { font-weight: bolder; padding-left:1em}
Igor Murashkin08b8aad2012-11-29 15:23:03 -080059 .entry_type_enum_name { font-family: monospace; font-weight: bolder; }
60 .entry_type_enum_notes:before { content:" - " }
61 .entry_type_enum_value:before { content:" = " }
62 .entry_type_enum_value { font-family: monospace; }
63 .entry ul { margin: 0 0 0 0; list-style-position: inside; padding-left: 0.5em; }
64 .entry ul li { padding: 0 0 0 0; margin: 0 0 0 0;}
65
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070066 /* Entry visibility flair */
67
Igor Murashkin08b8aad2012-11-29 15:23:03 -080068 /* Entry tags flair */
69 .entry_tags ul { list-style-type: none; }
70
71
72 /* TODO: generate abbr element for each tag link? */
73 /* TODO for each x.y.z try to link it to the entry */
74
75 </style>
76
77 <style>
78
79 {
80 /* broken...
81 supposedly there is a bug in chrome that it lays out tables before
82 it knows its being printed, so the page-break-* styles are ignored
83 */
84 tr { page-break-after: always; page-break-inside: avoid; }
85 }
86
87 </style>
88</head>
89
90
91
Igor Murashkin08b8aad2012-11-29 15:23:03 -080092<body>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070093 <h1>Android Camera HAL3.0 Properties</h1>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080094
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070095
Igor Murashkin08b8aad2012-11-29 15:23:03 -080096 <h2>Table of Contents</h2>
97 <ul class="toc">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070098 <li><a href="#tag_index" class="toc_section_header">Tags</a></li>
99 <li>
100 <span class="toc_section_header"><a href="#section_colorCorrection">colorCorrection</a></span>
101 <ul class="toc_section">
102 <li>
103 <span class="toc_kind_header">controls</span>
104 <ul class="toc_section">
105 <li><a href="#controls_android.colorCorrection.mode">android.colorCorrection.mode</a></li>
106 <li><a href="#controls_android.colorCorrection.transform">android.colorCorrection.transform</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700107 <li><a href="#controls_android.colorCorrection.gains">android.colorCorrection.gains</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700108 </ul>
109 </li>
110 <li>
111 <span class="toc_kind_header">dynamic</span>
112 <ul class="toc_section">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700113 <li><a href="#dynamic_android.colorCorrection.transform">android.colorCorrection.transform</a></li>
114 <li><a href="#dynamic_android.colorCorrection.gains">android.colorCorrection.gains</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700115 </ul>
116 </li>
117 </ul> <!-- toc_section -->
118 </li>
119 <li>
120 <span class="toc_section_header"><a href="#section_control">control</a></span>
121 <ul class="toc_section">
122 <li>
123 <span class="toc_kind_header">controls</span>
124 <ul class="toc_section">
125 <li><a href="#controls_android.control.aeAntibandingMode">android.control.aeAntibandingMode</a></li>
126 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a></li>
127 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a></li>
128 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a></li>
129 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a></li>
130 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a></li>
131 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a></li>
132 <li><a href="#controls_android.control.afMode">android.control.afMode</a></li>
133 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a></li>
134 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a></li>
135 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a></li>
136 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a></li>
137 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a></li>
138 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a></li>
139 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a></li>
140 <li><a href="#controls_android.control.mode">android.control.mode</a></li>
141 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a></li>
142 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a></li>
143 </ul>
144 </li>
145 <li>
146 <span class="toc_kind_header">static</span>
147 <ul class="toc_section">
148 <li><a href="#static_android.control.aeAvailableAntibandingModes">android.control.aeAvailableAntibandingModes</a></li>
149 <li><a href="#static_android.control.aeAvailableModes">android.control.aeAvailableModes</a></li>
150 <li><a href="#static_android.control.aeAvailableTargetFpsRanges">android.control.aeAvailableTargetFpsRanges</a></li>
151 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a></li>
152 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a></li>
153 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a></li>
154 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a></li>
155 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a></li>
156 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a></li>
157 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a></li>
158 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a></li>
159 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a></li>
160 </ul>
161 </li>
162 <li>
163 <span class="toc_kind_header">dynamic</span>
164 <ul class="toc_section">
165 <li><a href="#dynamic_android.control.aePrecaptureId">android.control.aePrecaptureId</a></li>
166 <li><a href="#dynamic_android.control.aeRegions">android.control.aeRegions</a></li>
167 <li><a href="#dynamic_android.control.aeState">android.control.aeState</a></li>
168 <li><a href="#dynamic_android.control.afMode">android.control.afMode</a></li>
169 <li><a href="#dynamic_android.control.afRegions">android.control.afRegions</a></li>
170 <li><a href="#dynamic_android.control.afState">android.control.afState</a></li>
171 <li><a href="#dynamic_android.control.afTriggerId">android.control.afTriggerId</a></li>
172 <li><a href="#dynamic_android.control.awbMode">android.control.awbMode</a></li>
173 <li><a href="#dynamic_android.control.awbRegions">android.control.awbRegions</a></li>
174 <li><a href="#dynamic_android.control.awbState">android.control.awbState</a></li>
175 <li><a href="#dynamic_android.control.mode">android.control.mode</a></li>
176 </ul>
177 </li>
178 </ul> <!-- toc_section -->
179 </li>
180 <li>
181 <span class="toc_section_header"><a href="#section_demosaic">demosaic</a></span>
182 <ul class="toc_section">
183 <li>
184 <span class="toc_kind_header">controls</span>
185 <ul class="toc_section">
186 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a></li>
187 </ul>
188 </li>
189 </ul> <!-- toc_section -->
190 </li>
191 <li>
192 <span class="toc_section_header"><a href="#section_edge">edge</a></span>
193 <ul class="toc_section">
194 <li>
195 <span class="toc_kind_header">controls</span>
196 <ul class="toc_section">
197 <li><a href="#controls_android.edge.mode">android.edge.mode</a></li>
198 <li><a href="#controls_android.edge.strength">android.edge.strength</a></li>
199 </ul>
200 </li>
201 <li>
202 <span class="toc_kind_header">dynamic</span>
203 <ul class="toc_section">
204 <li><a href="#dynamic_android.edge.mode">android.edge.mode</a></li>
205 </ul>
206 </li>
207 </ul> <!-- toc_section -->
208 </li>
209 <li>
210 <span class="toc_section_header"><a href="#section_flash">flash</a></span>
211 <ul class="toc_section">
212 <li>
213 <span class="toc_kind_header">controls</span>
214 <ul class="toc_section">
215 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a></li>
216 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a></li>
217 <li><a href="#controls_android.flash.mode">android.flash.mode</a></li>
218 </ul>
219 </li>
220 <li>
221 <span class="toc_kind_header">static</span>
222 <ul class="toc_section">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800223
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700224 <li><a href="#static_android.flash.info.available">android.flash.info.available</a></li>
225 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800226
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700227 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a></li>
228 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a></li>
229 </ul>
230 </li>
231 <li>
232 <span class="toc_kind_header">dynamic</span>
233 <ul class="toc_section">
234 <li><a href="#dynamic_android.flash.firingPower">android.flash.firingPower</a></li>
235 <li><a href="#dynamic_android.flash.firingTime">android.flash.firingTime</a></li>
236 <li><a href="#dynamic_android.flash.mode">android.flash.mode</a></li>
237 <li><a href="#dynamic_android.flash.state">android.flash.state</a></li>
238 </ul>
239 </li>
240 </ul> <!-- toc_section -->
241 </li>
242 <li>
243 <span class="toc_section_header"><a href="#section_geometric">geometric</a></span>
244 <ul class="toc_section">
245 <li>
246 <span class="toc_kind_header">controls</span>
247 <ul class="toc_section">
248 <li><a href="#controls_android.geometric.mode">android.geometric.mode</a></li>
249 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a></li>
250 </ul>
251 </li>
252 </ul> <!-- toc_section -->
253 </li>
254 <li>
255 <span class="toc_section_header"><a href="#section_hotPixel">hotPixel</a></span>
256 <ul class="toc_section">
257 <li>
258 <span class="toc_kind_header">controls</span>
259 <ul class="toc_section">
260 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a></li>
261 </ul>
262 </li>
263 <li>
264 <span class="toc_kind_header">static</span>
265 <ul class="toc_section">
266
267 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a></li>
268
269 </ul>
270 </li>
271 <li>
272 <span class="toc_kind_header">dynamic</span>
273 <ul class="toc_section">
274 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a></li>
275 </ul>
276 </li>
277 </ul> <!-- toc_section -->
278 </li>
279 <li>
280 <span class="toc_section_header"><a href="#section_jpeg">jpeg</a></span>
281 <ul class="toc_section">
282 <li>
283 <span class="toc_kind_header">controls</span>
284 <ul class="toc_section">
285 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a></li>
286 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a></li>
287 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a></li>
288 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a></li>
289 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a></li>
290 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a></li>
291 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a></li>
292 </ul>
293 </li>
294 <li>
295 <span class="toc_kind_header">static</span>
296 <ul class="toc_section">
297 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a></li>
298 <li><a href="#static_android.jpeg.maxSize">android.jpeg.maxSize</a></li>
299 </ul>
300 </li>
301 <li>
302 <span class="toc_kind_header">dynamic</span>
303 <ul class="toc_section">
304 <li><a href="#dynamic_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a></li>
305 <li><a href="#dynamic_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a></li>
306 <li><a href="#dynamic_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a></li>
307 <li><a href="#dynamic_android.jpeg.orientation">android.jpeg.orientation</a></li>
308 <li><a href="#dynamic_android.jpeg.quality">android.jpeg.quality</a></li>
309 <li><a href="#dynamic_android.jpeg.size">android.jpeg.size</a></li>
310 <li><a href="#dynamic_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a></li>
311 <li><a href="#dynamic_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a></li>
312 </ul>
313 </li>
314 </ul> <!-- toc_section -->
315 </li>
316 <li>
317 <span class="toc_section_header"><a href="#section_lens">lens</a></span>
318 <ul class="toc_section">
319 <li>
320 <span class="toc_kind_header">controls</span>
321 <ul class="toc_section">
322 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a></li>
323 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a></li>
324 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a></li>
325 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a></li>
326 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a></li>
327 </ul>
328 </li>
329 <li>
330 <span class="toc_kind_header">static</span>
331 <ul class="toc_section">
332
333 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a></li>
334 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a></li>
335 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a></li>
336 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a></li>
337 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a></li>
338 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a></li>
339 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a></li>
340 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700341 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a></li>
342
343 <li><a href="#static_android.lens.facing">android.lens.facing</a></li>
344 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a></li>
345 <li><a href="#static_android.lens.position">android.lens.position</a></li>
346 </ul>
347 </li>
348 <li>
349 <span class="toc_kind_header">dynamic</span>
350 <ul class="toc_section">
351 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a></li>
352 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a></li>
353 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a></li>
354 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a></li>
355 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a></li>
356 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a></li>
357 <li><a href="#dynamic_android.lens.state">android.lens.state</a></li>
358 </ul>
359 </li>
360 </ul> <!-- toc_section -->
361 </li>
362 <li>
363 <span class="toc_section_header"><a href="#section_noiseReduction">noiseReduction</a></span>
364 <ul class="toc_section">
365 <li>
366 <span class="toc_kind_header">controls</span>
367 <ul class="toc_section">
368 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a></li>
369 <li><a href="#controls_android.noiseReduction.strength">android.noiseReduction.strength</a></li>
370 </ul>
371 </li>
372 <li>
373 <span class="toc_kind_header">dynamic</span>
374 <ul class="toc_section">
375 <li><a href="#dynamic_android.noiseReduction.mode">android.noiseReduction.mode</a></li>
376 </ul>
377 </li>
378 </ul> <!-- toc_section -->
379 </li>
380 <li>
381 <span class="toc_section_header"><a href="#section_quirks">quirks</a></span>
382 <ul class="toc_section">
383 <li>
384 <span class="toc_kind_header">static</span>
385 <ul class="toc_section">
386 <li><a href="#static_android.quirks.meteringCropRegion">android.quirks.meteringCropRegion</a></li>
387 <li><a href="#static_android.quirks.triggerAfWithAuto">android.quirks.triggerAfWithAuto</a></li>
388 <li><a href="#static_android.quirks.useZslFormat">android.quirks.useZslFormat</a></li>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -0700389 <li><a href="#static_android.quirks.usePartialResult">android.quirks.usePartialResult</a></li>
390 </ul>
391 </li>
392 <li>
393 <span class="toc_kind_header">dynamic</span>
394 <ul class="toc_section">
395 <li><a href="#dynamic_android.quirks.partialResult">android.quirks.partialResult</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700396 </ul>
397 </li>
398 </ul> <!-- toc_section -->
399 </li>
400 <li>
401 <span class="toc_section_header"><a href="#section_request">request</a></span>
402 <ul class="toc_section">
403 <li>
404 <span class="toc_kind_header">controls</span>
405 <ul class="toc_section">
406 <li><a href="#controls_android.request.frameCount">android.request.frameCount</a></li>
407 <li><a href="#controls_android.request.id">android.request.id</a></li>
408 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a></li>
409 <li><a href="#controls_android.request.metadataMode">android.request.metadataMode</a></li>
410 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a></li>
411 <li><a href="#controls_android.request.type">android.request.type</a></li>
412 </ul>
413 </li>
414 <li>
415 <span class="toc_kind_header">static</span>
416 <ul class="toc_section">
417 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a></li>
418 <li><a href="#static_android.request.maxNumReprocessStreams">android.request.maxNumReprocessStreams</a></li>
419 </ul>
420 </li>
421 <li>
422 <span class="toc_kind_header">dynamic</span>
423 <ul class="toc_section">
424 <li><a href="#dynamic_android.request.frameCount">android.request.frameCount</a></li>
425 <li><a href="#dynamic_android.request.id">android.request.id</a></li>
426 <li><a href="#dynamic_android.request.metadataMode">android.request.metadataMode</a></li>
427 <li><a href="#dynamic_android.request.outputStreams">android.request.outputStreams</a></li>
428 </ul>
429 </li>
430 </ul> <!-- toc_section -->
431 </li>
432 <li>
433 <span class="toc_section_header"><a href="#section_scaler">scaler</a></span>
434 <ul class="toc_section">
435 <li>
436 <span class="toc_kind_header">controls</span>
437 <ul class="toc_section">
438 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a></li>
439 </ul>
440 </li>
441 <li>
442 <span class="toc_kind_header">static</span>
443 <ul class="toc_section">
444 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a></li>
445 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a></li>
446 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a></li>
447 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a></li>
448 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a></li>
449 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a></li>
450 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a></li>
451 <li><a href="#static_android.scaler.availableRawSizes">android.scaler.availableRawSizes</a></li>
452 </ul>
453 </li>
454 <li>
455 <span class="toc_kind_header">dynamic</span>
456 <ul class="toc_section">
457 <li><a href="#dynamic_android.scaler.cropRegion">android.scaler.cropRegion</a></li>
458 </ul>
459 </li>
460 </ul> <!-- toc_section -->
461 </li>
462 <li>
463 <span class="toc_section_header"><a href="#section_sensor">sensor</a></span>
464 <ul class="toc_section">
465 <li>
466 <span class="toc_kind_header">controls</span>
467 <ul class="toc_section">
468 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a></li>
469 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a></li>
470 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a></li>
471 </ul>
472 </li>
473 <li>
474 <span class="toc_kind_header">static</span>
475 <ul class="toc_section">
476
477 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700478 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700479 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a></li>
480 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a></li>
481 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a></li>
482 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a></li>
483 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a></li>
484 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a></li>
485
486 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a></li>
487 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a></li>
488 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a></li>
489 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a></li>
490 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a></li>
491 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a></li>
492 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a></li>
493 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a></li>
494 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a></li>
495 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a></li>
496 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a></li>
497 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a></li>
498 <li><a href="#static_android.sensor.referenceIlluminant2">android.sensor.referenceIlluminant2</a></li>
499 </ul>
500 </li>
501 <li>
502 <span class="toc_kind_header">dynamic</span>
503 <ul class="toc_section">
504 <li><a href="#dynamic_android.sensor.exposureTime">android.sensor.exposureTime</a></li>
505 <li><a href="#dynamic_android.sensor.frameDuration">android.sensor.frameDuration</a></li>
506 <li><a href="#dynamic_android.sensor.sensitivity">android.sensor.sensitivity</a></li>
507 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a></li>
Igor Murashkin656aa5a2013-08-13 14:23:39 -0700508 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700509 </ul>
510 </li>
511 </ul> <!-- toc_section -->
512 </li>
513 <li>
514 <span class="toc_section_header"><a href="#section_shading">shading</a></span>
515 <ul class="toc_section">
516 <li>
517 <span class="toc_kind_header">controls</span>
518 <ul class="toc_section">
519 <li><a href="#controls_android.shading.mode">android.shading.mode</a></li>
520 <li><a href="#controls_android.shading.strength">android.shading.strength</a></li>
521 </ul>
522 </li>
523 <li>
524 <span class="toc_kind_header">dynamic</span>
525 <ul class="toc_section">
526 <li><a href="#dynamic_android.shading.mode">android.shading.mode</a></li>
527 </ul>
528 </li>
529 </ul> <!-- toc_section -->
530 </li>
531 <li>
532 <span class="toc_section_header"><a href="#section_statistics">statistics</a></span>
533 <ul class="toc_section">
534 <li>
535 <span class="toc_kind_header">controls</span>
536 <ul class="toc_section">
537 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li>
538 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a></li>
539 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700540 <li><a href="#controls_android.statistics.lensShadingMapMode">android.statistics.lensShadingMapMode</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700541 </ul>
542 </li>
543 <li>
544 <span class="toc_kind_header">static</span>
545 <ul class="toc_section">
546
547 <li><a href="#static_android.statistics.info.availableFaceDetectModes">android.statistics.info.availableFaceDetectModes</a></li>
548 <li><a href="#static_android.statistics.info.histogramBucketCount">android.statistics.info.histogramBucketCount</a></li>
549 <li><a href="#static_android.statistics.info.maxFaceCount">android.statistics.info.maxFaceCount</a></li>
550 <li><a href="#static_android.statistics.info.maxHistogramCount">android.statistics.info.maxHistogramCount</a></li>
551 <li><a href="#static_android.statistics.info.maxSharpnessMapValue">android.statistics.info.maxSharpnessMapValue</a></li>
552 <li><a href="#static_android.statistics.info.sharpnessMapSize">android.statistics.info.sharpnessMapSize</a></li>
553
554 </ul>
555 </li>
556 <li>
557 <span class="toc_kind_header">dynamic</span>
558 <ul class="toc_section">
559 <li><a href="#dynamic_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a></li>
560 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a></li>
561 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a></li>
562 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a></li>
563 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a></li>
564 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a></li>
565 <li><a href="#dynamic_android.statistics.histogramMode">android.statistics.histogramMode</a></li>
566 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a></li>
567 <li><a href="#dynamic_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a></li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700568 <li><a href="#dynamic_android.statistics.lensShadingMap">android.statistics.lensShadingMap</a></li>
569 <li><a href="#dynamic_android.statistics.predictedColorGains">android.statistics.predictedColorGains</a></li>
570 <li><a href="#dynamic_android.statistics.predictedColorTransform">android.statistics.predictedColorTransform</a></li>
571 <li><a href="#dynamic_android.statistics.sceneFlicker">android.statistics.sceneFlicker</a></li>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700572 </ul>
573 </li>
574 </ul> <!-- toc_section -->
575 </li>
576 <li>
577 <span class="toc_section_header"><a href="#section_tonemap">tonemap</a></span>
578 <ul class="toc_section">
579 <li>
580 <span class="toc_kind_header">controls</span>
581 <ul class="toc_section">
582 <li><a href="#controls_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li>
583 <li><a href="#controls_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li>
584 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a></li>
585 <li><a href="#controls_android.tonemap.mode">android.tonemap.mode</a></li>
586 </ul>
587 </li>
588 <li>
589 <span class="toc_kind_header">static</span>
590 <ul class="toc_section">
591 <li><a href="#static_android.tonemap.maxCurvePoints">android.tonemap.maxCurvePoints</a></li>
592 </ul>
593 </li>
594 <li>
595 <span class="toc_kind_header">dynamic</span>
596 <ul class="toc_section">
597 <li><a href="#dynamic_android.tonemap.curveBlue">android.tonemap.curveBlue</a></li>
598 <li><a href="#dynamic_android.tonemap.curveGreen">android.tonemap.curveGreen</a></li>
599 <li><a href="#dynamic_android.tonemap.curveRed">android.tonemap.curveRed</a></li>
600 <li><a href="#dynamic_android.tonemap.mode">android.tonemap.mode</a></li>
601 </ul>
602 </li>
603 </ul> <!-- toc_section -->
604 </li>
605 <li>
606 <span class="toc_section_header"><a href="#section_led">led</a></span>
607 <ul class="toc_section">
608 <li>
609 <span class="toc_kind_header">controls</span>
610 <ul class="toc_section">
611 <li><a href="#controls_android.led.transmit">android.led.transmit</a></li>
612 </ul>
613 </li>
614 <li>
615 <span class="toc_kind_header">dynamic</span>
616 <ul class="toc_section">
617 <li><a href="#dynamic_android.led.transmit">android.led.transmit</a></li>
618 </ul>
619 </li>
620 <li>
621 <span class="toc_kind_header">static</span>
622 <ul class="toc_section">
623 <li><a href="#static_android.led.availableLeds">android.led.availableLeds</a></li>
624 </ul>
625 </li>
626 </ul> <!-- toc_section -->
627 </li>
628 <li>
629 <span class="toc_section_header"><a href="#section_info">info</a></span>
630 <ul class="toc_section">
631 <li>
632 <span class="toc_kind_header">static</span>
633 <ul class="toc_section">
634 <li><a href="#static_android.info.supportedHardwareLevel">android.info.supportedHardwareLevel</a></li>
635 </ul>
636 </li>
637 </ul> <!-- toc_section -->
638 </li>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700639 <li>
640 <span class="toc_section_header"><a href="#section_blackLevel">blackLevel</a></span>
641 <ul class="toc_section">
642 <li>
643 <span class="toc_kind_header">controls</span>
644 <ul class="toc_section">
645 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a></li>
646 </ul>
647 </li>
648 <li>
649 <span class="toc_kind_header">dynamic</span>
650 <ul class="toc_section">
651 <li><a href="#dynamic_android.blackLevel.lock">android.blackLevel.lock</a></li>
652 </ul>
653 </li>
654 </ul> <!-- toc_section -->
655 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800656 </ul>
657
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700658
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800659 <h1>Properties</h1>
660 <table class="properties">
661
662 <thead class="thead_dummy">
663 <tr>
664 <th class="th_name">Property Name</th>
665 <th class="th_type">Type</th>
666 <th class="th_description">Description</th>
667 <th class="th_units">Units</th>
668 <th class="th_range">Range</th>
669 <th class="th_notes">Notes</th>
670 <th class="th_tags">Tags</th>
671 </tr>
672 </thead> <!-- so that the first occurrence of thead is not
673 above the first occurrence of tr -->
674<!-- <namespace name="android"> -->
675 <tr><td colspan="7" id="section_colorCorrection" class="section">colorCorrection</td></tr>
676
677
678 <tr><td colspan="7" class="kind">controls</td></tr>
679
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700680 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800681 <tr>
682 <th class="th_name">Property Name</th>
683 <th class="th_type">Type</th>
684 <th class="th_description">Description</th>
685 <th class="th_units">Units</th>
686 <th class="th_range">Range</th>
687 <th class="th_notes">Notes</th>
688 <th class="th_tags">Tags</th>
689 </tr>
690 </thead>
691
692 <tbody>
693
694
695
696
697
698
699
700
701
702
703 <tr class="entry" id="controls_android.colorCorrection.mode">
704 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>mode</td>
705 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800706 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800707
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700708 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800709
710 <ul class="entry_type_enum">
711 <li>
712 <span class="entry_type_enum_name">TRANSFORM_MATRIX</span>
713 <span class="entry_type_enum_notes">Use the android.<wbr>color<wbr>Correction.<wbr>transform matrix
Zhijun He69fc0ea2013-07-17 09:42:58 -0700714 and android.<wbr>color<wbr>Correction.<wbr>gains to do color conversion</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800715 </li>
716 <li>
717 <span class="entry_type_enum_name">FAST</span>
718 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
719 bayer output</span>
720 </li>
721 <li>
722 <span class="entry_type_enum_name">HIGH_QUALITY</span>
723 <span class="entry_type_enum_notes">Frame rate may be reduced by high
724 quality</span>
725 </li>
726 </ul>
727
728 </td> <!-- entry_type -->
729
730 <td class="entry_description">
731 </td>
732
733 <td class="entry_units">
734 </td>
735
736 <td class="entry_range">
737 </td>
738
739 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800740 <p>When android.<wbr>control.<wbr>awb<wbr>Mode is not OFF,<wbr> TRANSFORM_<wbr>MATRIX
741should be ignored.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800742 </td>
743
744 <td class="entry_tags">
745 </td>
746
747 </tr> <!-- end of entry -->
748
749
750 <tr class="entry" id="controls_android.colorCorrection.transform">
751 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>transform</td>
752 <td class="entry_type">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700753 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800754 <span class="entry_type_container">x</span>
755
756 <span class="entry_type_array">
757 3 x 3
758 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700759 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700760 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800761
762
763 </td> <!-- entry_type -->
764
765 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800766 <p>A color transform matrix to use to transform
767from sensor RGB color space to output linear sRGB color space</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800768 </td>
769
770 <td class="entry_units">
771 </td>
772
773 <td class="entry_range">
774 Output values are expected to be in the range
775 (0,<wbr>1)
776 </td>
777
778 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800779 <p>This matrix is either set by HAL when the request
780android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
781directly by the application in the request when the
782android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr></p>
783<p>In the latter case,<wbr> the HAL may round the matrix to account
784for precision issues; the final rounded matrix should be
785reported back in this matrix result metadata.<wbr></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700786 </td>
787
788 <td class="entry_tags">
789 </td>
790
791 </tr> <!-- end of entry -->
792
793
794 <tr class="entry" id="controls_android.colorCorrection.gains">
795 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>gains</td>
796 <td class="entry_type">
797 <span class="entry_type_name">float</span>
798 <span class="entry_type_container">x</span>
799
800 <span class="entry_type_array">
801 4
802 </span>
803 <span class="entry_type_visibility"> [public]</span>
804 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
805
806
807 </td> <!-- entry_type -->
808
809 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800810 <p>Gains applying to Bayer color channels for
811white-balance</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700812 </td>
813
814 <td class="entry_units">
815 </td>
816
817 <td class="entry_range">
818 </td>
819
820 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800821 <p>The 4-channel white-balance gains are defined in
822the order of [R G_<wbr>even G_<wbr>odd B],<wbr> where G_<wbr>even is the gain
823for green pixels on even rows of the output,<wbr> and G_<wbr>odd
824is the gain for greenpixels on the odd rows.<wbr> if a HAL
825does not support a separate gain for even/<wbr>odd green channels,<wbr>
826it should use the G_<wbr>even value,<wbr>and write G_<wbr>odd equal to
827G_<wbr>even in the output result metadata.<wbr></p>
828<p>This array is either set by HAL when the request
829android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
830directly by the application in the request when the
831android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr></p>
832<p>The ouput should be the gains actually applied by the HAL to
833the current frame.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800834 </td>
835
836 <td class="entry_tags">
837 </td>
838
839 </tr> <!-- end of entry -->
840
841
842
843 <!-- end of kind -->
844 </tbody>
845 <tr><td colspan="7" class="kind">dynamic</td></tr>
846
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700847 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800848 <tr>
849 <th class="th_name">Property Name</th>
850 <th class="th_type">Type</th>
851 <th class="th_description">Description</th>
852 <th class="th_units">Units</th>
853 <th class="th_range">Range</th>
854 <th class="th_notes">Notes</th>
855 <th class="th_tags">Tags</th>
856 </tr>
857 </thead>
858
859 <tbody>
860
861
862
863
864
865
866
867
868
869
Zhijun He69fc0ea2013-07-17 09:42:58 -0700870 <tr class="entry" id="dynamic_android.colorCorrection.transform">
871 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>transform</td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800872 <td class="entry_type">
Zhijun He69fc0ea2013-07-17 09:42:58 -0700873 <span class="entry_type_name">rational</span>
874 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800875
Zhijun He69fc0ea2013-07-17 09:42:58 -0700876 <span class="entry_type_array">
877 3 x 3
878 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700879 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700880 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800881
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800882
883 </td> <!-- entry_type -->
884
885 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800886 <p>A color transform matrix to use to transform
887from sensor RGB color space to output linear sRGB color space</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700888 </td>
889
890 <td class="entry_units">
891 </td>
892
893 <td class="entry_range">
894 Output values are expected to be in the range
895 (0,<wbr>1)
896 </td>
897
898 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800899 <p>This matrix is either set by HAL when the request
900android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
901directly by the application in the request when the
902android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr></p>
903<p>In the latter case,<wbr> the HAL may round the matrix to account
904for precision issues; the final rounded matrix should be
905reported back in this matrix result metadata.<wbr></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -0700906 </td>
907
908 <td class="entry_tags">
909 </td>
910
911 </tr> <!-- end of entry -->
912
913
914 <tr class="entry" id="dynamic_android.colorCorrection.gains">
915 <td class="entry_name">android.<wbr>color<wbr>Correction.<wbr>gains</td>
916 <td class="entry_type">
917 <span class="entry_type_name">float</span>
918 <span class="entry_type_container">x</span>
919
920 <span class="entry_type_array">
921 4
922 </span>
923 <span class="entry_type_visibility"> [public]</span>
924 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
925
926
927 </td> <!-- entry_type -->
928
929 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800930 <p>Gains applying to Bayer color channels for
931white-balance</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800932 </td>
933
934 <td class="entry_units">
935 </td>
936
937 <td class="entry_range">
938 </td>
939
940 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -0800941 <p>The 4-channel white-balance gains are defined in
942the order of [R G_<wbr>even G_<wbr>odd B],<wbr> where G_<wbr>even is the gain
943for green pixels on even rows of the output,<wbr> and G_<wbr>odd
944is the gain for greenpixels on the odd rows.<wbr> if a HAL
945does not support a separate gain for even/<wbr>odd green channels,<wbr>
946it should use the G_<wbr>even value,<wbr>and write G_<wbr>odd equal to
947G_<wbr>even in the output result metadata.<wbr></p>
948<p>This array is either set by HAL when the request
949android.<wbr>color<wbr>Correction.<wbr>mode is not TRANSFORM_<wbr>MATRIX,<wbr> or
950directly by the application in the request when the
951android.<wbr>color<wbr>Correction.<wbr>mode is TRANSFORM_<wbr>MATRIX.<wbr></p>
952<p>The ouput should be the gains actually applied by the HAL to
953the current frame.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800954 </td>
955
956 <td class="entry_tags">
957 </td>
958
959 </tr> <!-- end of entry -->
960
961
962
963 <!-- end of kind -->
964 </tbody>
965
966 <!-- end of section -->
967 <tr><td colspan="7" id="section_control" class="section">control</td></tr>
968
969
970 <tr><td colspan="7" class="kind">controls</td></tr>
971
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -0700972 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800973 <tr>
974 <th class="th_name">Property Name</th>
975 <th class="th_type">Type</th>
976 <th class="th_description">Description</th>
977 <th class="th_units">Units</th>
978 <th class="th_range">Range</th>
979 <th class="th_notes">Notes</th>
980 <th class="th_tags">Tags</th>
981 </tr>
982 </thead>
983
984 <tbody>
985
986
987
988
989
990
991
992
993
994
995 <tr class="entry" id="controls_android.control.aeAntibandingMode">
996 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Antibanding<wbr>Mode</td>
997 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -0800998 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -0800999
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001000 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001001
1002 <ul class="entry_type_enum">
1003 <li>
1004 <span class="entry_type_enum_name">OFF</span>
1005 </li>
1006 <li>
1007 <span class="entry_type_enum_name">50HZ</span>
1008 </li>
1009 <li>
1010 <span class="entry_type_enum_name">60HZ</span>
1011 </li>
1012 <li>
1013 <span class="entry_type_enum_name">AUTO</span>
1014 </li>
1015 </ul>
1016
1017 </td> <!-- entry_type -->
1018
1019 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001020 <p>Enum for controlling
1021antibanding</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001022 </td>
1023
1024 <td class="entry_units">
1025 </td>
1026
1027 <td class="entry_range">
1028
1029 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Antibanding<wbr>Modes
1030 </td>
1031
1032 <td class="entry_notes">
1033 </td>
1034
1035 <td class="entry_tags">
1036 </td>
1037
1038 </tr> <!-- end of entry -->
1039
1040
1041 <tr class="entry" id="controls_android.control.aeExposureCompensation">
1042 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Exposure<wbr>Compensation</td>
1043 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001044 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001045
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001046 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001047
1048
1049 </td> <!-- entry_type -->
1050
1051 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001052 <p>Adjustment to AE target image
1053brightness</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001054 </td>
1055
1056 <td class="entry_units">
1057 count of positive/<wbr>negative EV steps
1058 </td>
1059
1060 <td class="entry_range">
1061 </td>
1062
1063 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001064 <p>For example,<wbr> if EV step is 0.<wbr>333,<wbr> '6' will mean an
1065exposure compensation of +2 EV; -3 will mean an exposure
1066compensation of -1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001067 </td>
1068
1069 <td class="entry_tags">
1070 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001071 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001072 </ul>
1073 </td>
1074
1075 </tr> <!-- end of entry -->
1076
1077
1078 <tr class="entry" id="controls_android.control.aeLock">
1079 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Lock</td>
1080 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001081 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001082
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001083 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001084
1085 <ul class="entry_type_enum">
1086 <li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001087 <span class="entry_type_enum_name">OFF</span>
1088 <span class="entry_type_enum_notes">Autoexposure lock is disabled; the AE algorithm
1089 is free to update its parameters.<wbr></span>
1090 </li>
1091 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001092 <span class="entry_type_enum_name">ON</span>
1093 <span class="entry_type_enum_notes">Autoexposure lock is enabled; the AE algorithm
1094 must not update the exposure and sensitivity parameters
1095 while the lock is active</span>
1096 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001097 </ul>
1098
1099 </td> <!-- entry_type -->
1100
1101 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001102 <p>Whether AE is currently locked to its latest
1103calculated values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001104 </td>
1105
1106 <td class="entry_units">
1107 </td>
1108
1109 <td class="entry_range">
1110 </td>
1111
1112 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001113 <p>Note that even when AE is locked,<wbr> the flash may be
1114fired if the AE mode is ON_<wbr>AUTO_<wbr>FLASH /<wbr> ON_<wbr>ALWAYS_<wbr>FLASH /<wbr>
1115ON_<wbr>AUTO_<wbr>FLASH_<wbr>REDEYE.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001116 </td>
1117
1118 <td class="entry_tags">
1119 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001120 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001121 </ul>
1122 </td>
1123
1124 </tr> <!-- end of entry -->
1125
1126
1127 <tr class="entry" id="controls_android.control.aeMode">
1128 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Mode</td>
1129 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001130 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001131
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001132 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001133
1134 <ul class="entry_type_enum">
1135 <li>
1136 <span class="entry_type_enum_name">OFF</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07001137 <span class="entry_type_enum_notes">Autoexposure is disabled; sensor.<wbr>exposureTime,<wbr>
1138 sensor.<wbr>sensitivity and sensor.<wbr>frameDuration are used</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001139 </li>
1140 <li>
1141 <span class="entry_type_enum_name">ON</span>
1142 <span class="entry_type_enum_notes">Autoexposure is active,<wbr> no flash
1143 control</span>
1144 </li>
1145 <li>
1146 <span class="entry_type_enum_name">ON_AUTO_FLASH</span>
1147 <span class="entry_type_enum_notes">if flash exists Autoexposure is active,<wbr> auto
1148 flash control; flash may be fired when precapture
1149 trigger is activated,<wbr> and for captures for which
1150 captureIntent = STILL_<wbr>CAPTURE</span>
1151 </li>
1152 <li>
1153 <span class="entry_type_enum_name">ON_ALWAYS_FLASH</span>
1154 <span class="entry_type_enum_notes">if flash exists Autoexposure is active,<wbr> auto
1155 flash control for precapture trigger and always flash
1156 when captureIntent = STILL_<wbr>CAPTURE</span>
1157 </li>
1158 <li>
1159 <span class="entry_type_enum_name">ON_AUTO_FLASH_REDEYE</span>
1160 <span class="entry_type_enum_notes">optional Automatic red eye reduction with flash.<wbr>
1161 If deemed necessary,<wbr> red eye reduction sequence should
1162 fire when precapture trigger is activated,<wbr> and final
1163 flash should fire when captureIntent =
1164 STILL_<wbr>CAPTURE</span>
1165 </li>
1166 </ul>
1167
1168 </td> <!-- entry_type -->
1169
1170 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001171 <p>Whether AE is currently updating the sensor
1172exposure and sensitivity fields</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001173 </td>
1174
1175 <td class="entry_units">
1176 </td>
1177
1178 <td class="entry_range">
1179 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Modes
1180 </td>
1181
1182 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001183 <p>Only effective if android.<wbr>control.<wbr>mode =
1184AUTO</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001185 </td>
1186
1187 <td class="entry_tags">
1188 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001189 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001190 </ul>
1191 </td>
1192
1193 </tr> <!-- end of entry -->
1194
1195
1196 <tr class="entry" id="controls_android.control.aeRegions">
1197 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Regions</td>
1198 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001199 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001200 <span class="entry_type_container">x</span>
1201
1202 <span class="entry_type_array">
1203 5 x area_count
1204 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001205 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001206
1207
1208 </td> <!-- entry_type -->
1209
1210 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001211 <p>List of areas to use for
1212metering</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001213 </td>
1214
1215 <td class="entry_units">
1216 </td>
1217
1218 <td class="entry_range">
1219 </td>
1220
1221 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001222 <p>Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
1223xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
1224specified coordinates.<wbr></p>
1225<p>The coordinate system is based on the active pixel array,<wbr>
1226with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
1227(android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
1228android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
1229bottom-right pixel in the active pixel array.<wbr> The weight
1230should be nonnegative.<wbr></p>
1231<p>If all regions have 0 weight,<wbr> then no specific metering area
1232needs to be used by the HAL.<wbr> If the metering region is
1233outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
1234should ignore the sections outside the region and output the
1235used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001236 </td>
1237
1238 <td class="entry_tags">
1239 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001240 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001241 </ul>
1242 </td>
1243
1244 </tr> <!-- end of entry -->
1245
1246
1247 <tr class="entry" id="controls_android.control.aeTargetFpsRange">
1248 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Target<wbr>Fps<wbr>Range</td>
1249 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001250 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001251 <span class="entry_type_container">x</span>
1252
1253 <span class="entry_type_array">
1254 2
1255 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001256 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001257
1258
1259 </td> <!-- entry_type -->
1260
1261 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001262 <p>Range over which fps can be adjusted to
1263maintain exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001264 </td>
1265
1266 <td class="entry_units">
1267 </td>
1268
1269 <td class="entry_range">
1270 android.<wbr>control.<wbr>ae<wbr>Available<wbr>Target<wbr>Fps<wbr>Ranges
1271 </td>
1272
1273 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001274 <p>Only constrains AE algorithm,<wbr> not manual control
1275of android.<wbr>sensor.<wbr>exposure<wbr>Time</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001276 </td>
1277
1278 <td class="entry_tags">
1279 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001280 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001281 </ul>
1282 </td>
1283
1284 </tr> <!-- end of entry -->
1285
1286
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001287 <tr class="entry" id="controls_android.control.aePrecaptureTrigger">
1288 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Precapture<wbr>Trigger</td>
1289 <td class="entry_type">
1290 <span class="entry_type_name entry_type_name_enum">byte</span>
1291
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001292 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001293
1294 <ul class="entry_type_enum">
1295 <li>
1296 <span class="entry_type_enum_name">IDLE</span>
1297 <span class="entry_type_enum_notes">The trigger is idle.<wbr></span>
1298 </li>
1299 <li>
1300 <span class="entry_type_enum_name">START</span>
1301 <span class="entry_type_enum_notes">The precapture metering sequence
1302 must be started.<wbr> The exact effect of the precapture
1303 trigger depends on the current AE mode and
1304 state.<wbr></span>
1305 </li>
1306 </ul>
1307
1308 </td> <!-- entry_type -->
1309
1310 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001311 <p>Whether the HAL must trigger precapture
1312metering.<wbr></p>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001313 </td>
1314
1315 <td class="entry_units">
1316 </td>
1317
1318 <td class="entry_range">
1319 </td>
1320
1321 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001322 <p>This entry is normally set to IDLE,<wbr> or is not
1323included at all in the request settings.<wbr> When included and
1324set to START,<wbr> the HAL must trigger the autoexposure
1325precapture metering sequence.<wbr></p>
1326<p>The effect of AE precapture trigger depends on the current
1327AE mode and state; see the camera HAL device v3 header for
1328details.<wbr></p>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001329 </td>
1330
1331 <td class="entry_tags">
1332 <ul class="entry_tags">
1333 <li><a href="#tag_BC">BC</a></li>
1334 </ul>
1335 </td>
1336
1337 </tr> <!-- end of entry -->
1338
1339
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001340 <tr class="entry" id="controls_android.control.afMode">
1341 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Mode</td>
1342 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001343 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001344
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001345 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001346
1347 <ul class="entry_type_enum">
1348 <li>
1349 <span class="entry_type_enum_name">OFF</span>
1350 <span class="entry_type_enum_notes">The 3A routines do not control the lens;
Zhijun He69fc0ea2013-07-17 09:42:58 -07001351 android.<wbr>lens.<wbr>focus<wbr>Distance is controlled by the
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001352 application</span>
1353 </li>
1354 <li>
1355 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001356 <span class="entry_type_enum_notes">
1357 If lens is not fixed focus.<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001358
1359 Use android.<wbr>lens.<wbr>minimum<wbr>Focus<wbr>Distance to determine if lens
1360 is fixed focus In this mode,<wbr> the lens does not move unless
1361 the autofocus trigger action is called.<wbr> When that trigger
1362 is activated,<wbr> AF must transition to ACTIVE_<wbr>SCAN,<wbr> then to
1363 the outcome of the scan (FOCUSED or
1364 NOT_<wbr>FOCUSED).<wbr>
1365
1366 Triggering cancel AF resets the lens position to default,<wbr>
1367 and sets the AF state to INACTIVE.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001368 </li>
1369 <li>
1370 <span class="entry_type_enum_name">MACRO</span>
1371 <span class="entry_type_enum_notes">In this mode,<wbr> the lens does not move unless the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001372 autofocus trigger action is called.<wbr>
1373
1374 When that trigger is activated,<wbr> AF must transition to
1375 ACTIVE_<wbr>SCAN,<wbr> then to the outcome of the scan (FOCUSED or
1376 NOT_<wbr>FOCUSED).<wbr> Triggering cancel AF resets the lens
1377 position to default,<wbr> and sets the AF state to
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001378 INACTIVE.<wbr></span>
1379 </li>
1380 <li>
1381 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
1382 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
1383 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001384 constantly-in-focus image stream.<wbr>
1385
1386 The focusing behavior should be suitable for good quality
1387 video recording; typically this means slower focus
1388 movement and no overshoots.<wbr> When the AF trigger is not
1389 involved,<wbr> the AF algorithm should start in INACTIVE state,<wbr>
1390 and then transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED
1391 states as appropriate.<wbr> When the AF trigger is activated,<wbr>
1392 the algorithm should immediately transition into
1393 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
1394 lens position until a cancel AF trigger is received.<wbr>
1395
1396 Once cancel is received,<wbr> the algorithm should transition
1397 back to INACTIVE and resume passive scan.<wbr> Note that this
1398 behavior is not identical to CONTINUOUS_<wbr>PICTURE,<wbr> since an
1399 ongoing PASSIVE_<wbr>SCAN must immediately be
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001400 canceled.<wbr></span>
1401 </li>
1402 <li>
1403 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
1404 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
1405 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001406 constantly-in-focus image stream.<wbr>
1407
1408 The focusing behavior should be suitable for still image
1409 capture; typically this means focusing as fast as
1410 possible.<wbr> When the AF trigger is not involved,<wbr> the AF
1411 algorithm should start in INACTIVE state,<wbr> and then
1412 transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states as
1413 appropriate as it attempts to maintain focus.<wbr> When the AF
1414 trigger is activated,<wbr> the algorithm should finish its
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001415 PASSIVE_<wbr>SCAN if active,<wbr> and then transition into
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001416 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
1417 lens position until a cancel AF trigger is received.<wbr>
1418
1419 When the AF cancel trigger is activated,<wbr> the algorithm
1420 should transition back to INACTIVE and then act as if it
1421 has just been started.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001422 </li>
1423 <li>
1424 <span class="entry_type_enum_name">EDOF</span>
1425 <span class="entry_type_enum_notes">Extended depth of field (digital focus).<wbr> AF
1426 trigger is ignored,<wbr> AF state should always be
1427 INACTIVE.<wbr></span>
1428 </li>
1429 </ul>
1430
1431 </td> <!-- entry_type -->
1432
1433 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001434 <p>Whether AF is currently enabled,<wbr> and what
1435mode it is set to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001436 </td>
1437
1438 <td class="entry_units">
1439 </td>
1440
1441 <td class="entry_range">
1442 </td>
1443
1444 <td class="entry_notes">
1445 </td>
1446
1447 <td class="entry_tags">
1448 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001449 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001450 </ul>
1451 </td>
1452
1453 </tr> <!-- end of entry -->
1454
1455
1456 <tr class="entry" id="controls_android.control.afRegions">
1457 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Regions</td>
1458 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001459 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001460 <span class="entry_type_container">x</span>
1461
1462 <span class="entry_type_array">
1463 5 x area_count
1464 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001465 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001466
1467
1468 </td> <!-- entry_type -->
1469
1470 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001471 <p>List of areas to use for focus
1472estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001473 </td>
1474
1475 <td class="entry_units">
1476 </td>
1477
1478 <td class="entry_range">
1479 </td>
1480
1481 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001482 <p>Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
1483xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
1484specified coordinates.<wbr></p>
1485<p>The coordinate system is based on the active pixel array,<wbr>
1486with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
1487(android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
1488android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
1489bottom-right pixel in the active pixel array.<wbr> The weight
1490should be nonnegative.<wbr></p>
1491<p>If all regions have 0 weight,<wbr> then no specific focus area
1492needs to be used by the HAL.<wbr> If the focusing region is
1493outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
1494should ignore the sections outside the region and output the
1495used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001496 </td>
1497
1498 <td class="entry_tags">
1499 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001500 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001501 </ul>
1502 </td>
1503
1504 </tr> <!-- end of entry -->
1505
1506
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001507 <tr class="entry" id="controls_android.control.afTrigger">
1508 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Trigger</td>
1509 <td class="entry_type">
1510 <span class="entry_type_name entry_type_name_enum">byte</span>
1511
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001512 <span class="entry_type_visibility"> [public]</span>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001513
1514 <ul class="entry_type_enum">
1515 <li>
1516 <span class="entry_type_enum_name">IDLE</span>
1517 <span class="entry_type_enum_notes">The trigger is idle.<wbr></span>
1518 </li>
1519 <li>
1520 <span class="entry_type_enum_name">START</span>
1521 <span class="entry_type_enum_notes">Autofocus must trigger now.<wbr></span>
1522 </li>
1523 <li>
1524 <span class="entry_type_enum_name">CANCEL</span>
1525 <span class="entry_type_enum_notes">Autofocus must return to initial
1526 state,<wbr> and cancel any active trigger.<wbr></span>
1527 </li>
1528 </ul>
1529
1530 </td> <!-- entry_type -->
1531
1532 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001533 <p>Whether the HAL must trigger autofocus.<wbr></p>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001534 </td>
1535
1536 <td class="entry_units">
1537 </td>
1538
1539 <td class="entry_range">
1540 </td>
1541
1542 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001543 <p>This entry is normally set to IDLE,<wbr> or is not
1544included at all in the request settings.<wbr></p>
1545<p>When included and set to START,<wbr> the HAL must trigger the
1546autofocus algorithm.<wbr> The effect of AF trigger depends on the
1547current AF mode and state; see the camera HAL device v3
1548header for details.<wbr> When set to CANCEL,<wbr> the HAL must cancel
1549any active trigger,<wbr> and return to initial AF state.<wbr></p>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -07001550 </td>
1551
1552 <td class="entry_tags">
1553 <ul class="entry_tags">
1554 <li><a href="#tag_BC">BC</a></li>
1555 </ul>
1556 </td>
1557
1558 </tr> <!-- end of entry -->
1559
1560
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001561 <tr class="entry" id="controls_android.control.awbLock">
1562 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Lock</td>
1563 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001564 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001565
Igor Murashkinb8dc8812013-07-17 16:29:34 -07001566 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001567
1568 <ul class="entry_type_enum">
1569 <li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001570 <span class="entry_type_enum_name">OFF</span>
1571 <span class="entry_type_enum_notes">Auto-whitebalance lock is disabled; the AWB
1572 algorithm is free to update its parameters if in AUTO
1573 mode.<wbr></span>
1574 </li>
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -08001575 <li>
1576 <span class="entry_type_enum_name">ON</span>
1577 <span class="entry_type_enum_notes">Auto-whitebalance lock is enabled; the AWB
1578 algorithm must not update the exposure and sensitivity
1579 parameters while the lock is active</span>
1580 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001581 </ul>
1582
1583 </td> <!-- entry_type -->
1584
1585 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001586 <p>Whether AWB is currently locked to its
1587latest calculated values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001588 </td>
1589
1590 <td class="entry_units">
1591 </td>
1592
1593 <td class="entry_range">
1594 </td>
1595
1596 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001597 <p>Note that AWB lock is only meaningful for AUTO
1598mode; in other modes,<wbr> AWB is already fixed to a specific
1599setting</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001600 </td>
1601
1602 <td class="entry_tags">
1603 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001604 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001605 </ul>
1606 </td>
1607
1608 </tr> <!-- end of entry -->
1609
1610
1611 <tr class="entry" id="controls_android.control.awbMode">
1612 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Mode</td>
1613 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001614 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001615
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001616 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001617
1618 <ul class="entry_type_enum">
1619 <li>
1620 <span class="entry_type_enum_name">OFF</span>
1621 </li>
1622 <li>
1623 <span class="entry_type_enum_name">AUTO</span>
1624 </li>
1625 <li>
1626 <span class="entry_type_enum_name">INCANDESCENT</span>
1627 </li>
1628 <li>
1629 <span class="entry_type_enum_name">FLUORESCENT</span>
1630 </li>
1631 <li>
1632 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
1633 </li>
1634 <li>
1635 <span class="entry_type_enum_name">DAYLIGHT</span>
1636 </li>
1637 <li>
1638 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
1639 </li>
1640 <li>
1641 <span class="entry_type_enum_name">TWILIGHT</span>
1642 </li>
1643 <li>
1644 <span class="entry_type_enum_name">SHADE</span>
1645 </li>
1646 </ul>
1647
1648 </td> <!-- entry_type -->
1649
1650 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001651 <p>Whether AWB is currently setting the color
1652transform fields,<wbr> and what its illumination target
1653is</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001654 </td>
1655
1656 <td class="entry_units">
1657 </td>
1658
1659 <td class="entry_range">
1660 </td>
1661
1662 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001663 <p>[BC - AWB lock,<wbr>AWB modes]</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001664 </td>
1665
1666 <td class="entry_tags">
1667 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001668 <li><a href="#tag_BC">BC</a></li>
1669 <li><a href="#tag_AWB">AWB</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001670 </ul>
1671 </td>
1672
1673 </tr> <!-- end of entry -->
1674
1675
1676 <tr class="entry" id="controls_android.control.awbRegions">
1677 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Regions</td>
1678 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001679 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001680 <span class="entry_type_container">x</span>
1681
1682 <span class="entry_type_array">
1683 5 x area_count
1684 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001685 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001686
1687
1688 </td> <!-- entry_type -->
1689
1690 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001691 <p>List of areas to use for illuminant
1692estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001693 </td>
1694
1695 <td class="entry_units">
1696 </td>
1697
1698 <td class="entry_range">
1699 </td>
1700
1701 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001702 <p>Only used in AUTO mode.<wbr></p>
1703<p>Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
1704xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
1705specified coordinates.<wbr></p>
1706<p>The coordinate system is based on the active pixel array,<wbr>
1707with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
1708(android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
1709android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
1710bottom-right pixel in the active pixel array.<wbr> The weight
1711should be nonnegative.<wbr></p>
1712<p>If all regions have 0 weight,<wbr> then no specific metering area
1713needs to be used by the HAL.<wbr> If the metering region is
1714outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
1715should ignore the sections outside the region and output the
1716used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001717 </td>
1718
1719 <td class="entry_tags">
1720 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001721 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001722 </ul>
1723 </td>
1724
1725 </tr> <!-- end of entry -->
1726
1727
1728 <tr class="entry" id="controls_android.control.captureIntent">
1729 <td class="entry_name">android.<wbr>control.<wbr>capture<wbr>Intent</td>
1730 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001731 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001732
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001733 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001734
1735 <ul class="entry_type_enum">
1736 <li>
1737 <span class="entry_type_enum_name">CUSTOM</span>
1738 <span class="entry_type_enum_notes">This request doesn't fall into the other
1739 categories.<wbr> Default to preview-like
1740 behavior.<wbr></span>
1741 </li>
1742 <li>
1743 <span class="entry_type_enum_name">PREVIEW</span>
1744 <span class="entry_type_enum_notes">This request is for a preview-like usecase.<wbr> The
1745 precapture trigger may be used to start off a metering
1746 w/<wbr>flash sequence</span>
1747 </li>
1748 <li>
1749 <span class="entry_type_enum_name">STILL_CAPTURE</span>
1750 <span class="entry_type_enum_notes">This request is for a still capture-type
1751 usecase.<wbr></span>
1752 </li>
1753 <li>
1754 <span class="entry_type_enum_name">VIDEO_RECORD</span>
1755 <span class="entry_type_enum_notes">This request is for a video recording
1756 usecase.<wbr></span>
1757 </li>
1758 <li>
1759 <span class="entry_type_enum_name">VIDEO_SNAPSHOT</span>
1760 <span class="entry_type_enum_notes">This request is for a video snapshot (still
1761 image while recording video) usecase</span>
1762 </li>
1763 <li>
1764 <span class="entry_type_enum_name">ZERO_SHUTTER_LAG</span>
1765 <span class="entry_type_enum_notes">This request is for a ZSL usecase; the
1766 application will stream full-resolution images and
1767 reprocess one or several later for a final
1768 capture</span>
1769 </li>
1770 </ul>
1771
1772 </td> <!-- entry_type -->
1773
1774 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001775 <p>Information to 3A routines about the purpose
1776of this capture,<wbr> to help decide optimal 3A
1777strategy</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001778 </td>
1779
1780 <td class="entry_units">
1781 </td>
1782
1783 <td class="entry_range">
1784 all must be supported
1785 </td>
1786
1787 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001788 <p>Only used if android.<wbr>control.<wbr>mode != OFF.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001789 </td>
1790
1791 <td class="entry_tags">
1792 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001793 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001794 </ul>
1795 </td>
1796
1797 </tr> <!-- end of entry -->
1798
1799
1800 <tr class="entry" id="controls_android.control.effectMode">
1801 <td class="entry_name">android.<wbr>control.<wbr>effect<wbr>Mode</td>
1802 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001803 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001804
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001805 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001806
1807 <ul class="entry_type_enum">
1808 <li>
1809 <span class="entry_type_enum_name">OFF</span>
1810 </li>
1811 <li>
1812 <span class="entry_type_enum_name">MONO</span>
1813 <span class="entry_type_enum_optional">optional</span>
1814 </li>
1815 <li>
1816 <span class="entry_type_enum_name">NEGATIVE</span>
1817 <span class="entry_type_enum_optional">optional</span>
1818 </li>
1819 <li>
1820 <span class="entry_type_enum_name">SOLARIZE</span>
1821 <span class="entry_type_enum_optional">optional</span>
1822 </li>
1823 <li>
1824 <span class="entry_type_enum_name">SEPIA</span>
1825 <span class="entry_type_enum_optional">optional</span>
1826 </li>
1827 <li>
1828 <span class="entry_type_enum_name">POSTERIZE</span>
1829 <span class="entry_type_enum_optional">optional</span>
1830 </li>
1831 <li>
1832 <span class="entry_type_enum_name">WHITEBOARD</span>
1833 <span class="entry_type_enum_optional">optional</span>
1834 </li>
1835 <li>
1836 <span class="entry_type_enum_name">BLACKBOARD</span>
1837 <span class="entry_type_enum_optional">optional</span>
1838 </li>
1839 <li>
1840 <span class="entry_type_enum_name">AQUA</span>
1841 <span class="entry_type_enum_optional">optional</span>
1842 </li>
1843 </ul>
1844
1845 </td> <!-- entry_type -->
1846
1847 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001848 <p>Whether any special color effect is in use.<wbr>
1849Only used if android.<wbr>control.<wbr>mode != OFF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001850 </td>
1851
1852 <td class="entry_units">
1853 </td>
1854
1855 <td class="entry_range">
1856 android.<wbr>control.<wbr>available<wbr>Effects
1857 </td>
1858
1859 <td class="entry_notes">
1860 </td>
1861
1862 <td class="entry_tags">
1863 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001864 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001865 </ul>
1866 </td>
1867
1868 </tr> <!-- end of entry -->
1869
1870
1871 <tr class="entry" id="controls_android.control.mode">
1872 <td class="entry_name">android.<wbr>control.<wbr>mode</td>
1873 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001874 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001875
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001876 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001877
1878 <ul class="entry_type_enum">
1879 <li>
1880 <span class="entry_type_enum_name">OFF</span>
1881 <span class="entry_type_enum_notes">Full application control of pipeline.<wbr> All 3A
1882 routines are disabled,<wbr> no other settings in
1883 android.<wbr>control.<wbr>* have any effect</span>
1884 </li>
1885 <li>
1886 <span class="entry_type_enum_name">AUTO</span>
1887 <span class="entry_type_enum_notes">Use settings for each individual 3A routine.<wbr>
1888 Manual control of capture parameters is disabled.<wbr> All
1889 controls in android.<wbr>control.<wbr>* besides sceneMode take
1890 effect</span>
1891 </li>
1892 <li>
1893 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
1894 <span class="entry_type_enum_notes">Use specific scene mode.<wbr> Enabling this disables
1895 control.<wbr>aeMode,<wbr> control.<wbr>awbMode and control.<wbr>afMode
1896 controls; the HAL must ignore those settings while
1897 USE_<wbr>SCENE_<wbr>MODE is active (except for FACE_<wbr>PRIORITY
1898 scene mode).<wbr> Other control entries are still active.<wbr>
1899 This setting can only be used if availableSceneModes !=
1900 UNSUPPORTED</span>
1901 </li>
1902 </ul>
1903
1904 </td> <!-- entry_type -->
1905
1906 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08001907 <p>Overall mode of 3A control
1908routines</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001909 </td>
1910
1911 <td class="entry_units">
1912 </td>
1913
1914 <td class="entry_range">
1915 all must be supported
1916 </td>
1917
1918 <td class="entry_notes">
1919 </td>
1920
1921 <td class="entry_tags">
1922 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08001923 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001924 </ul>
1925 </td>
1926
1927 </tr> <!-- end of entry -->
1928
1929
1930 <tr class="entry" id="controls_android.control.sceneMode">
1931 <td class="entry_name">android.<wbr>control.<wbr>scene<wbr>Mode</td>
1932 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08001933 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001934
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001935 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001936
1937 <ul class="entry_type_enum">
1938 <li>
1939 <span class="entry_type_enum_name">UNSUPPORTED</span>
1940 <span class="entry_type_enum_value">0</span>
1941 </li>
1942 <li>
1943 <span class="entry_type_enum_name">FACE_PRIORITY</span>
1944 <span class="entry_type_enum_notes">if face detection support exists Use face
1945 detection data to drive 3A routines.<wbr> If face detection
1946 statistics are disabled,<wbr> should still operate correctly
1947 (but not return face detection statistics to the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07001948 framework).<wbr>
1949
1950 Unlike the other scene modes,<wbr> aeMode,<wbr> awbMode,<wbr> and afMode
1951 remain active when FACE_<wbr>PRIORITY is set.<wbr> This is due to
1952 compatibility concerns with the old camera
1953 API</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08001954 </li>
1955 <li>
1956 <span class="entry_type_enum_name">ACTION</span>
1957 <span class="entry_type_enum_optional">optional</span>
1958 </li>
1959 <li>
1960 <span class="entry_type_enum_name">PORTRAIT</span>
1961 <span class="entry_type_enum_optional">optional</span>
1962 </li>
1963 <li>
1964 <span class="entry_type_enum_name">LANDSCAPE</span>
1965 <span class="entry_type_enum_optional">optional</span>
1966 </li>
1967 <li>
1968 <span class="entry_type_enum_name">NIGHT</span>
1969 <span class="entry_type_enum_optional">optional</span>
1970 </li>
1971 <li>
1972 <span class="entry_type_enum_name">NIGHT_PORTRAIT</span>
1973 <span class="entry_type_enum_optional">optional</span>
1974 </li>
1975 <li>
1976 <span class="entry_type_enum_name">THEATRE</span>
1977 <span class="entry_type_enum_optional">optional</span>
1978 </li>
1979 <li>
1980 <span class="entry_type_enum_name">BEACH</span>
1981 <span class="entry_type_enum_optional">optional</span>
1982 </li>
1983 <li>
1984 <span class="entry_type_enum_name">SNOW</span>
1985 <span class="entry_type_enum_optional">optional</span>
1986 </li>
1987 <li>
1988 <span class="entry_type_enum_name">SUNSET</span>
1989 <span class="entry_type_enum_optional">optional</span>
1990 </li>
1991 <li>
1992 <span class="entry_type_enum_name">STEADYPHOTO</span>
1993 <span class="entry_type_enum_optional">optional</span>
1994 </li>
1995 <li>
1996 <span class="entry_type_enum_name">FIREWORKS</span>
1997 <span class="entry_type_enum_optional">optional</span>
1998 </li>
1999 <li>
2000 <span class="entry_type_enum_name">SPORTS</span>
2001 <span class="entry_type_enum_optional">optional</span>
2002 </li>
2003 <li>
2004 <span class="entry_type_enum_name">PARTY</span>
2005 <span class="entry_type_enum_optional">optional</span>
2006 </li>
2007 <li>
2008 <span class="entry_type_enum_name">CANDLELIGHT</span>
2009 <span class="entry_type_enum_optional">optional</span>
2010 </li>
2011 <li>
2012 <span class="entry_type_enum_name">BARCODE</span>
2013 <span class="entry_type_enum_optional">optional</span>
2014 </li>
2015 </ul>
2016
2017 </td> <!-- entry_type -->
2018
2019 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002020 <p>Which scene mode is active when
2021android.<wbr>control.<wbr>mode = SCENE_<wbr>MODE</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002022 </td>
2023
2024 <td class="entry_units">
2025 </td>
2026
2027 <td class="entry_range">
2028 android.<wbr>control.<wbr>available<wbr>Scene<wbr>Modes
2029 </td>
2030
2031 <td class="entry_notes">
2032 </td>
2033
2034 <td class="entry_tags">
2035 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002036 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002037 </ul>
2038 </td>
2039
2040 </tr> <!-- end of entry -->
2041
2042
2043 <tr class="entry" id="controls_android.control.videoStabilizationMode">
2044 <td class="entry_name">android.<wbr>control.<wbr>video<wbr>Stabilization<wbr>Mode</td>
2045 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002046 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002047
Igor Murashkinb8dc8812013-07-17 16:29:34 -07002048 <span class="entry_type_visibility"> [public as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002049
2050 <ul class="entry_type_enum">
2051 <li>
2052 <span class="entry_type_enum_name">OFF</span>
2053 </li>
2054 <li>
2055 <span class="entry_type_enum_name">ON</span>
2056 </li>
2057 </ul>
2058
2059 </td> <!-- entry_type -->
2060
2061 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002062 <p>Whether video stabilization is
2063active</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002064 </td>
2065
2066 <td class="entry_units">
2067 </td>
2068
2069 <td class="entry_range">
2070 </td>
2071
2072 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002073 <p>If enabled,<wbr> video stabilization can modify the
2074android.<wbr>scaler.<wbr>crop<wbr>Region to keep the video stream
2075stabilized</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002076 </td>
2077
2078 <td class="entry_tags">
2079 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002080 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002081 </ul>
2082 </td>
2083
2084 </tr> <!-- end of entry -->
2085
2086
2087
2088 <!-- end of kind -->
2089 </tbody>
2090 <tr><td colspan="7" class="kind">static</td></tr>
2091
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002092 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002093 <tr>
2094 <th class="th_name">Property Name</th>
2095 <th class="th_type">Type</th>
2096 <th class="th_description">Description</th>
2097 <th class="th_units">Units</th>
2098 <th class="th_range">Range</th>
2099 <th class="th_notes">Notes</th>
2100 <th class="th_tags">Tags</th>
2101 </tr>
2102 </thead>
2103
2104 <tbody>
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115 <tr class="entry" id="static_android.control.aeAvailableAntibandingModes">
2116 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Antibanding<wbr>Modes</td>
2117 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002118 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002119 <span class="entry_type_container">x</span>
2120
2121 <span class="entry_type_array">
2122 n
2123 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002124 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002125 <div class="entry_type_notes">list of enums</div>
2126
2127
2128 </td> <!-- entry_type -->
2129
2130 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002131 <p>Which set of antibanding modes are
2132supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002133 </td>
2134
2135 <td class="entry_units">
2136 </td>
2137
2138 <td class="entry_range">
2139 </td>
2140
2141 <td class="entry_notes">
2142 </td>
2143
2144 <td class="entry_tags">
2145 </td>
2146
2147 </tr> <!-- end of entry -->
2148
2149
2150 <tr class="entry" id="static_android.control.aeAvailableModes">
2151 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Modes</td>
2152 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002153 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002154 <span class="entry_type_container">x</span>
2155
2156 <span class="entry_type_array">
2157 n
2158 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002159 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002160 <div class="entry_type_notes">list of enums</div>
2161
2162
2163 </td> <!-- entry_type -->
2164
2165 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002166 <p>Which subset of AE modes is
2167supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002168 </td>
2169
2170 <td class="entry_units">
2171 </td>
2172
2173 <td class="entry_range">
2174 OFF,<wbr> ON must be supported.<wbr>
2175 ON_<wbr>AUTO_<wbr>FLASH/<wbr>ON_<wbr>ALWAYS_<wbr>FLASH must be supported if flash
2176 unit is available
2177 </td>
2178
2179 <td class="entry_notes">
2180 </td>
2181
2182 <td class="entry_tags">
2183 </td>
2184
2185 </tr> <!-- end of entry -->
2186
2187
2188 <tr class="entry" id="static_android.control.aeAvailableTargetFpsRanges">
2189 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Available<wbr>Target<wbr>Fps<wbr>Ranges</td>
2190 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002191 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002192 <span class="entry_type_container">x</span>
2193
2194 <span class="entry_type_array">
2195 2 x n
2196 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002197 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002198 <div class="entry_type_notes">list of pairs of frame rates</div>
2199
2200
2201 </td> <!-- entry_type -->
2202
2203 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002204 <p>List of frame rate ranges supported by the
2205AE algorithm/<wbr>hardware</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002206 </td>
2207
2208 <td class="entry_units">
2209 </td>
2210
2211 <td class="entry_range">
2212 </td>
2213
2214 <td class="entry_notes">
2215 </td>
2216
2217 <td class="entry_tags">
2218 </td>
2219
2220 </tr> <!-- end of entry -->
2221
2222
2223 <tr class="entry" id="static_android.control.aeCompensationRange">
2224 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Range</td>
2225 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002226 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002227 <span class="entry_type_container">x</span>
2228
2229 <span class="entry_type_array">
2230 2
2231 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002232 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002233
2234
2235 </td> <!-- entry_type -->
2236
2237 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002238 <p>Maximum and minimum exposure compensation
2239setting,<wbr> in counts of
2240android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Step<wbr>Size</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002241 </td>
2242
2243 <td class="entry_units">
2244 </td>
2245
2246 <td class="entry_range">
2247 At least (-2,<wbr>2)/<wbr>(exp compensation step
2248 size)
2249 </td>
2250
2251 <td class="entry_notes">
2252 </td>
2253
2254 <td class="entry_tags">
2255 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002256 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002257 </ul>
2258 </td>
2259
2260 </tr> <!-- end of entry -->
2261
2262
2263 <tr class="entry" id="static_android.control.aeCompensationStep">
2264 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Compensation<wbr>Step</td>
2265 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002266 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002267
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002268 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002269
2270
2271 </td> <!-- entry_type -->
2272
2273 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002274 <p>Smallest step by which exposure compensation
2275can be changed</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002276 </td>
2277
2278 <td class="entry_units">
2279 </td>
2280
2281 <td class="entry_range">
2282 <= 1/<wbr>2
2283 </td>
2284
2285 <td class="entry_notes">
2286 </td>
2287
2288 <td class="entry_tags">
2289 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002290 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002291 </ul>
2292 </td>
2293
2294 </tr> <!-- end of entry -->
2295
2296
2297 <tr class="entry" id="static_android.control.afAvailableModes">
2298 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Available<wbr>Modes</td>
2299 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002300 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002301 <span class="entry_type_container">x</span>
2302
2303 <span class="entry_type_array">
2304 n
2305 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002306 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002307 <div class="entry_type_notes">List of enums</div>
2308
2309
2310 </td> <!-- entry_type -->
2311
2312 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002313 <p>List of AF modes that can be
2314selected</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002315 </td>
2316
2317 <td class="entry_units">
2318 </td>
2319
2320 <td class="entry_range">
2321 OFF must be included.<wbr> AUTO must be supported if
2322 lens allows for changing focus
2323 </td>
2324
2325 <td class="entry_notes">
2326 </td>
2327
2328 <td class="entry_tags">
2329 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002330 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002331 </ul>
2332 </td>
2333
2334 </tr> <!-- end of entry -->
2335
2336
2337 <tr class="entry" id="static_android.control.availableEffects">
2338 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Effects</td>
2339 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002340 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002341 <span class="entry_type_container">x</span>
2342
2343 <span class="entry_type_array">
2344 n
2345 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002346 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002347 <div class="entry_type_notes">list of enums</div>
2348
2349
2350 </td> <!-- entry_type -->
2351
2352 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002353 <p>what subset of the full color effect enum
2354list is supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002355 </td>
2356
2357 <td class="entry_units">
2358 </td>
2359
2360 <td class="entry_range">
2361 OFF must be listed
2362 </td>
2363
2364 <td class="entry_notes">
2365 </td>
2366
2367 <td class="entry_tags">
2368 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002369 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002370 </ul>
2371 </td>
2372
2373 </tr> <!-- end of entry -->
2374
2375
2376 <tr class="entry" id="static_android.control.availableSceneModes">
2377 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Scene<wbr>Modes</td>
2378 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002379 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002380 <span class="entry_type_container">x</span>
2381
2382 <span class="entry_type_array">
2383 n
2384 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002385 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002386 <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>
2387
2388
2389 </td> <!-- entry_type -->
2390
2391 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002392 <p>what subset of the scene mode enum list is
2393supported.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002394 </td>
2395
2396 <td class="entry_units">
2397 </td>
2398
2399 <td class="entry_range">
2400 SCENE_<wbr>MODE_<wbr>FACE_<wbr>PRIORITY must be supported if face
2401 detection is supported
2402 </td>
2403
2404 <td class="entry_notes">
2405 </td>
2406
2407 <td class="entry_tags">
2408 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002409 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002410 </ul>
2411 </td>
2412
2413 </tr> <!-- end of entry -->
2414
2415
2416 <tr class="entry" id="static_android.control.availableVideoStabilizationModes">
2417 <td class="entry_name">android.<wbr>control.<wbr>available<wbr>Video<wbr>Stabilization<wbr>Modes</td>
2418 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002419 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002420 <span class="entry_type_container">x</span>
2421
2422 <span class="entry_type_array">
2423 n
2424 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002425 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002426 <div class="entry_type_notes">List of enums.<wbr></div>
2427
2428
2429 </td> <!-- entry_type -->
2430
2431 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002432 <p>List of video stabilization modes that can
2433be supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002434 </td>
2435
2436 <td class="entry_units">
2437 </td>
2438
2439 <td class="entry_range">
2440 OFF must be included
2441 </td>
2442
2443 <td class="entry_notes">
2444 </td>
2445
2446 <td class="entry_tags">
2447 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002448 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002449 </ul>
2450 </td>
2451
2452 </tr> <!-- end of entry -->
2453
2454
2455 <tr class="entry" id="static_android.control.awbAvailableModes">
2456 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Available<wbr>Modes</td>
2457 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002458 <span class="entry_type_name">byte</span>
Alex Raya4251d92013-04-30 16:43:44 -07002459 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002460
Alex Raya4251d92013-04-30 16:43:44 -07002461 <span class="entry_type_array">
2462 n
2463 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002464 <span class="entry_type_visibility"> [public]</span>
Alex Raya4251d92013-04-30 16:43:44 -07002465 <div class="entry_type_notes">List of enums (android.<wbr>control.<wbr>awb<wbr>Mode)</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002466
2467
2468 </td> <!-- entry_type -->
2469
2470 <td class="entry_description">
2471 </td>
2472
2473 <td class="entry_units">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002474 </td>
2475
2476 <td class="entry_range">
2477 OFF,<wbr> AUTO must be included
2478 </td>
2479
2480 <td class="entry_notes">
2481 </td>
2482
2483 <td class="entry_tags">
2484 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002485 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002486 </ul>
2487 </td>
2488
2489 </tr> <!-- end of entry -->
2490
2491
2492 <tr class="entry" id="static_android.control.maxRegions">
2493 <td class="entry_name">android.<wbr>control.<wbr>max<wbr>Regions</td>
2494 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002495 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002496
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002497 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002498
2499
2500 </td> <!-- entry_type -->
2501
2502 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002503 <p>For AE,<wbr> AWB,<wbr> and AF,<wbr> how many individual
2504regions can be listed for metering?</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002505 </td>
2506
2507 <td class="entry_units">
2508 </td>
2509
2510 <td class="entry_range">
2511 >= 1
2512 </td>
2513
2514 <td class="entry_notes">
2515 </td>
2516
2517 <td class="entry_tags">
2518 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002519 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002520 </ul>
2521 </td>
2522
2523 </tr> <!-- end of entry -->
2524
2525
2526 <tr class="entry" id="static_android.control.sceneModeOverrides">
2527 <td class="entry_name">android.<wbr>control.<wbr>scene<wbr>Mode<wbr>Overrides</td>
2528 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002529 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002530 <span class="entry_type_container">x</span>
2531
2532 <span class="entry_type_array">
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002533 3 x length(availableSceneModes)
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002534 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002535 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002536
2537
2538 </td> <!-- entry_type -->
2539
2540 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002541 <p>List of AE,<wbr> AWB,<wbr> and AF modes to use for
2542each available scene mode</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002543 </td>
2544
2545 <td class="entry_units">
2546 </td>
2547
2548 <td class="entry_range">
2549 For each listed scene mode,<wbr> lists the aeMode,<wbr>
2550 awbMode,<wbr> and afMode that the HAL wants to use for that
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002551 scene mode.<wbr>
2552
2553 For each entry,<wbr> the order is {aeMode,<wbr> awbMode,<wbr> afMode} in
2554 order of increasing index
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002555 </td>
2556
2557 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002558 <p>When a scene mode is enabled,<wbr> the HAL is expected
2559to override aeMode,<wbr> awbMode,<wbr> and afMode with its
2560preferred settings for that scene mode.<wbr></p>
2561<p>To simplify communication with old camera API applications,<wbr>
2562the service wants this override list in the static metadata.<wbr>
2563The order of this list matches that of availableSceneModes,<wbr>
2564with 3 entires for each scene mode.<wbr> The overrides listed
2565for SCENE_<wbr>MODE_<wbr>FACE_<wbr>PRIORITY are ignored,<wbr> since for that
2566mode,<wbr> the application-set aeMode,<wbr> awbMode,<wbr> and afMode are
2567used instead,<wbr> like they are when android.<wbr>control.<wbr>mode is
2568AUTO.<wbr></p>
2569<p>It is recommended that for FACE_<wbr>PRIORITY,<wbr> the overrides
2570should be set to 0.<wbr> As an example,<wbr> if availableSceneModes is
2571{ FACE_<wbr>PRIORITY,<wbr> ACTION,<wbr> NIGHT },<wbr> then the service expects
2572this field to have 9 entries; for example { 0 ,<wbr> 0,<wbr> 0,<wbr>
2573ON_<wbr>AUTO_<wbr>FLASH,<wbr> AUTO,<wbr> CONTINUOUS_<wbr>PICTURE,<wbr> ON_<wbr>AUTO_<wbr>FLASH,<wbr>
2574INCANDESCENT,<wbr> AUTO }</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002575 </td>
2576
2577 <td class="entry_tags">
2578 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002579 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002580 </ul>
2581 </td>
2582
2583 </tr> <!-- end of entry -->
2584
2585
2586
2587 <!-- end of kind -->
2588 </tbody>
2589 <tr><td colspan="7" class="kind">dynamic</td></tr>
2590
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002591 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002592 <tr>
2593 <th class="th_name">Property Name</th>
2594 <th class="th_type">Type</th>
2595 <th class="th_description">Description</th>
2596 <th class="th_units">Units</th>
2597 <th class="th_range">Range</th>
2598 <th class="th_notes">Notes</th>
2599 <th class="th_tags">Tags</th>
2600 </tr>
2601 </thead>
2602
2603 <tbody>
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614 <tr class="entry" id="dynamic_android.control.aePrecaptureId">
2615 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Precapture<wbr>Id</td>
2616 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002617 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002618
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002619 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002620
2621
2622 </td> <!-- entry_type -->
2623
2624 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002625 <p>The ID sent with the latest
2626CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING call</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002627 </td>
2628
2629 <td class="entry_units">
2630 </td>
2631
2632 <td class="entry_range">
2633 </td>
2634
2635 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002636 <p>Must be 0 if no
2637CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING trigger received yet
2638by HAL.<wbr> Always updated even if AE algorithm ignores the
2639trigger</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002640 </td>
2641
2642 <td class="entry_tags">
2643 </td>
2644
2645 </tr> <!-- end of entry -->
2646
2647
2648 <tr class="entry" id="dynamic_android.control.aeRegions">
2649 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>Regions</td>
2650 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002651 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002652 <span class="entry_type_container">x</span>
2653
2654 <span class="entry_type_array">
2655 5 x area_count
2656 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002657 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002658
2659
2660 </td> <!-- entry_type -->
2661
2662 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002663 <p>List of areas to use for
2664metering</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002665 </td>
2666
2667 <td class="entry_units">
2668 </td>
2669
2670 <td class="entry_range">
2671 </td>
2672
2673 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002674 <p>Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
2675xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
2676specified coordinates.<wbr></p>
2677<p>The coordinate system is based on the active pixel array,<wbr>
2678with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
2679(android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
2680android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
2681bottom-right pixel in the active pixel array.<wbr> The weight
2682should be nonnegative.<wbr></p>
2683<p>If all regions have 0 weight,<wbr> then no specific metering area
2684needs to be used by the HAL.<wbr> If the metering region is
2685outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
2686should ignore the sections outside the region and output the
2687used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002688 </td>
2689
2690 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002691 <ul class="entry_tags">
2692 <li><a href="#tag_BC">BC</a></li>
2693 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002694 </td>
2695
2696 </tr> <!-- end of entry -->
2697
2698
2699 <tr class="entry" id="dynamic_android.control.aeState">
2700 <td class="entry_name">android.<wbr>control.<wbr>ae<wbr>State</td>
2701 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002702 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002703
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002704 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002705
2706 <ul class="entry_type_enum">
2707 <li>
2708 <span class="entry_type_enum_name">INACTIVE</span>
Alex Ray7aeb05e2013-03-27 16:26:41 -07002709 <span class="entry_type_enum_notes">AE is off.<wbr> When a camera device is opened,<wbr> it starts in
2710 this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002711 </li>
2712 <li>
2713 <span class="entry_type_enum_name">SEARCHING</span>
2714 <span class="entry_type_enum_notes">AE doesn't yet have a good set of control values
2715 for the current scene</span>
2716 </li>
2717 <li>
2718 <span class="entry_type_enum_name">CONVERGED</span>
2719 <span class="entry_type_enum_notes">AE has a good set of control values for the
2720 current scene</span>
2721 </li>
2722 <li>
2723 <span class="entry_type_enum_name">LOCKED</span>
2724 <span class="entry_type_enum_notes">AE has been locked (aeMode =
2725 LOCKED)</span>
2726 </li>
2727 <li>
2728 <span class="entry_type_enum_name">FLASH_REQUIRED</span>
2729 <span class="entry_type_enum_notes">AE has a good set of control values,<wbr> but flash
2730 needs to be fired for good quality still
2731 capture</span>
2732 </li>
2733 <li>
2734 <span class="entry_type_enum_name">PRECAPTURE</span>
2735 <span class="entry_type_enum_notes">AE has been asked to do a precapture sequence
2736 (through the
2737 trigger_<wbr>action(CAMERA2_<wbr>TRIGGER_<wbr>PRECAPTURE_<wbr>METERING)
2738 call),<wbr> and is currently executing it.<wbr> Once PRECAPTURE
2739 completes,<wbr> AE will transition to CONVERGED or
2740 FLASH_<wbr>REQUIRED as appropriate</span>
2741 </li>
2742 </ul>
2743
2744 </td> <!-- entry_type -->
2745
2746 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002747 <p>Current state of AE algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002748 </td>
2749
2750 <td class="entry_units">
2751 </td>
2752
2753 <td class="entry_range">
2754 </td>
2755
2756 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002757 <p>Whenever the AE algorithm state changes,<wbr> a
2758MSG_<wbr>AUTOEXPOSURE notification must be send if a
2759notification callback is registered.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002760 </td>
2761
2762 <td class="entry_tags">
2763 </td>
2764
2765 </tr> <!-- end of entry -->
2766
2767
2768 <tr class="entry" id="dynamic_android.control.afMode">
2769 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Mode</td>
2770 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002771 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002772
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002773 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002774
2775 <ul class="entry_type_enum">
2776 <li>
2777 <span class="entry_type_enum_name">OFF</span>
2778 <span class="entry_type_enum_notes">The 3A routines do not control the lens;
Zhijun He69fc0ea2013-07-17 09:42:58 -07002779 android.<wbr>lens.<wbr>focus<wbr>Distance is controlled by the
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002780 application</span>
2781 </li>
2782 <li>
2783 <span class="entry_type_enum_name">AUTO</span>
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002784 <span class="entry_type_enum_notes">
2785 If lens is not fixed focus.<wbr>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002786
2787 Use android.<wbr>lens.<wbr>minimum<wbr>Focus<wbr>Distance to determine if lens
2788 is fixed focus In this mode,<wbr> the lens does not move unless
2789 the autofocus trigger action is called.<wbr> When that trigger
2790 is activated,<wbr> AF must transition to ACTIVE_<wbr>SCAN,<wbr> then to
2791 the outcome of the scan (FOCUSED or
2792 NOT_<wbr>FOCUSED).<wbr>
2793
2794 Triggering cancel AF resets the lens position to default,<wbr>
2795 and sets the AF state to INACTIVE.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002796 </li>
2797 <li>
2798 <span class="entry_type_enum_name">MACRO</span>
2799 <span class="entry_type_enum_notes">In this mode,<wbr> the lens does not move unless the
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002800 autofocus trigger action is called.<wbr>
2801
2802 When that trigger is activated,<wbr> AF must transition to
2803 ACTIVE_<wbr>SCAN,<wbr> then to the outcome of the scan (FOCUSED or
2804 NOT_<wbr>FOCUSED).<wbr> Triggering cancel AF resets the lens
2805 position to default,<wbr> and sets the AF state to
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002806 INACTIVE.<wbr></span>
2807 </li>
2808 <li>
2809 <span class="entry_type_enum_name">CONTINUOUS_VIDEO</span>
2810 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
2811 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002812 constantly-in-focus image stream.<wbr>
2813
2814 The focusing behavior should be suitable for good quality
2815 video recording; typically this means slower focus
2816 movement and no overshoots.<wbr> When the AF trigger is not
2817 involved,<wbr> the AF algorithm should start in INACTIVE state,<wbr>
2818 and then transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED
2819 states as appropriate.<wbr> When the AF trigger is activated,<wbr>
2820 the algorithm should immediately transition into
2821 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
2822 lens position until a cancel AF trigger is received.<wbr>
2823
2824 Once cancel is received,<wbr> the algorithm should transition
2825 back to INACTIVE and resume passive scan.<wbr> Note that this
2826 behavior is not identical to CONTINUOUS_<wbr>PICTURE,<wbr> since an
2827 ongoing PASSIVE_<wbr>SCAN must immediately be
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002828 canceled.<wbr></span>
2829 </li>
2830 <li>
2831 <span class="entry_type_enum_name">CONTINUOUS_PICTURE</span>
2832 <span class="entry_type_enum_notes">In this mode,<wbr> the AF algorithm modifies the lens
2833 position continually to attempt to provide a
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002834 constantly-in-focus image stream.<wbr>
2835
2836 The focusing behavior should be suitable for still image
2837 capture; typically this means focusing as fast as
2838 possible.<wbr> When the AF trigger is not involved,<wbr> the AF
2839 algorithm should start in INACTIVE state,<wbr> and then
2840 transition into PASSIVE_<wbr>SCAN and PASSIVE_<wbr>FOCUSED states as
2841 appropriate as it attempts to maintain focus.<wbr> When the AF
2842 trigger is activated,<wbr> the algorithm should finish its
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002843 PASSIVE_<wbr>SCAN if active,<wbr> and then transition into
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002844 AF_<wbr>FOCUSED or AF_<wbr>NOT_<wbr>FOCUSED as appropriate,<wbr> and lock the
2845 lens position until a cancel AF trigger is received.<wbr>
2846
2847 When the AF cancel trigger is activated,<wbr> the algorithm
2848 should transition back to INACTIVE and then act as if it
2849 has just been started.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002850 </li>
2851 <li>
2852 <span class="entry_type_enum_name">EDOF</span>
2853 <span class="entry_type_enum_notes">Extended depth of field (digital focus).<wbr> AF
2854 trigger is ignored,<wbr> AF state should always be
2855 INACTIVE.<wbr></span>
2856 </li>
2857 </ul>
2858
2859 </td> <!-- entry_type -->
2860
2861 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002862 <p>Whether AF is currently enabled,<wbr> and what
2863mode it is set to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002864 </td>
2865
2866 <td class="entry_units">
2867 </td>
2868
2869 <td class="entry_range">
2870 </td>
2871
2872 <td class="entry_notes">
2873 </td>
2874
2875 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002876 <ul class="entry_tags">
2877 <li><a href="#tag_BC">BC</a></li>
2878 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002879 </td>
2880
2881 </tr> <!-- end of entry -->
2882
2883
2884 <tr class="entry" id="dynamic_android.control.afRegions">
2885 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Regions</td>
2886 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002887 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002888 <span class="entry_type_container">x</span>
2889
2890 <span class="entry_type_array">
2891 5 x area_count
2892 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002893 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002894
2895
2896 </td> <!-- entry_type -->
2897
2898 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002899 <p>List of areas to use for focus
2900estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002901 </td>
2902
2903 <td class="entry_units">
2904 </td>
2905
2906 <td class="entry_range">
2907 </td>
2908
2909 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002910 <p>Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
2911xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
2912specified coordinates.<wbr></p>
2913<p>The coordinate system is based on the active pixel array,<wbr>
2914with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
2915(android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
2916android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
2917bottom-right pixel in the active pixel array.<wbr> The weight
2918should be nonnegative.<wbr></p>
2919<p>If all regions have 0 weight,<wbr> then no specific focus area
2920needs to be used by the HAL.<wbr> If the focusing region is
2921outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
2922should ignore the sections outside the region and output the
2923used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002924 </td>
2925
2926 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08002927 <ul class="entry_tags">
2928 <li><a href="#tag_BC">BC</a></li>
2929 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002930 </td>
2931
2932 </tr> <!-- end of entry -->
2933
2934
2935 <tr class="entry" id="dynamic_android.control.afState">
2936 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>State</td>
2937 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08002938 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002939
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07002940 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002941
2942 <ul class="entry_type_enum">
2943 <li>
2944 <span class="entry_type_enum_name">INACTIVE</span>
2945 <span class="entry_type_enum_notes">AF off or has not yet tried to scan/<wbr>been asked
Alex Ray7aeb05e2013-03-27 16:26:41 -07002946 to scan.<wbr> When a camera device is opened,<wbr> it starts in
2947 this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002948 </li>
2949 <li>
2950 <span class="entry_type_enum_name">PASSIVE_SCAN</span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002951 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported.<wbr> AF is
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002952 currently doing an AF scan initiated by a continuous
2953 autofocus mode</span>
2954 </li>
2955 <li>
2956 <span class="entry_type_enum_name">PASSIVE_FOCUSED</span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002957 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported.<wbr> AF currently
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002958 believes it is in focus,<wbr> but may restart scanning at
2959 any time.<wbr></span>
2960 </li>
2961 <li>
2962 <span class="entry_type_enum_name">ACTIVE_SCAN</span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002963 <span class="entry_type_enum_notes">if AUTO or MACRO modes are supported.<wbr> AF is doing
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002964 an AF scan because it was triggered by AF
2965 trigger</span>
2966 </li>
2967 <li>
2968 <span class="entry_type_enum_name">FOCUSED_LOCKED</span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002969 <span class="entry_type_enum_notes">if any AF mode besides OFF is supported.<wbr> AF
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002970 believes it is focused correctly and is
2971 locked</span>
2972 </li>
2973 <li>
2974 <span class="entry_type_enum_name">NOT_FOCUSED_LOCKED</span>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002975 <span class="entry_type_enum_notes">if any AF mode besides OFF is supported.<wbr> AF has
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002976 failed to focus successfully and is
2977 locked</span>
2978 </li>
Eino-Ville Talvala492ba7c2013-09-20 17:24:00 -07002979 <li>
2980 <span class="entry_type_enum_name">PASSIVE_UNFOCUSED</span>
2981 <span class="entry_type_enum_notes">if CONTINUOUS_<wbr>* modes are supported.<wbr> AF finished a
2982 passive scan without finding focus,<wbr> and may restart
2983 scanning at any time.<wbr></span>
2984 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002985 </ul>
2986
2987 </td> <!-- entry_type -->
2988
2989 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08002990 <p>Current state of AF algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08002991 </td>
2992
2993 <td class="entry_units">
2994 </td>
2995
2996 <td class="entry_range">
2997 </td>
2998
2999 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003000 <p>Whenever the AF algorithm state changes,<wbr> a
3001MSG_<wbr>AUTOFOCUS notification must be send if a notification
3002callback is registered.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003003 </td>
3004
3005 <td class="entry_tags">
3006 </td>
3007
3008 </tr> <!-- end of entry -->
3009
3010
3011 <tr class="entry" id="dynamic_android.control.afTriggerId">
3012 <td class="entry_name">android.<wbr>control.<wbr>af<wbr>Trigger<wbr>Id</td>
3013 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003014 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003015
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003016 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003017
3018
3019 </td> <!-- entry_type -->
3020
3021 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003022 <p>The ID sent with the latest
3023CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS call</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003024 </td>
3025
3026 <td class="entry_units">
3027 </td>
3028
3029 <td class="entry_range">
3030 </td>
3031
3032 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003033 <p>Must be 0 if no CAMERA2_<wbr>TRIGGER_<wbr>AUTOFOCUS trigger
3034received yet by HAL.<wbr> Always updated even if AF algorithm
3035ignores the trigger</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003036 </td>
3037
3038 <td class="entry_tags">
3039 </td>
3040
3041 </tr> <!-- end of entry -->
3042
3043
3044 <tr class="entry" id="dynamic_android.control.awbMode">
3045 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Mode</td>
3046 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003047 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003048
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003049 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003050
3051 <ul class="entry_type_enum">
3052 <li>
3053 <span class="entry_type_enum_name">OFF</span>
3054 </li>
3055 <li>
3056 <span class="entry_type_enum_name">AUTO</span>
3057 </li>
3058 <li>
3059 <span class="entry_type_enum_name">INCANDESCENT</span>
3060 </li>
3061 <li>
3062 <span class="entry_type_enum_name">FLUORESCENT</span>
3063 </li>
3064 <li>
3065 <span class="entry_type_enum_name">WARM_FLUORESCENT</span>
3066 </li>
3067 <li>
3068 <span class="entry_type_enum_name">DAYLIGHT</span>
3069 </li>
3070 <li>
3071 <span class="entry_type_enum_name">CLOUDY_DAYLIGHT</span>
3072 </li>
3073 <li>
3074 <span class="entry_type_enum_name">TWILIGHT</span>
3075 </li>
3076 <li>
3077 <span class="entry_type_enum_name">SHADE</span>
3078 </li>
3079 </ul>
3080
3081 </td> <!-- entry_type -->
3082
3083 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003084 <p>Whether AWB is currently setting the color
3085transform fields,<wbr> and what its illumination target
3086is</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003087 </td>
3088
3089 <td class="entry_units">
3090 </td>
3091
3092 <td class="entry_range">
3093 </td>
3094
3095 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003096 <p>[BC - AWB lock,<wbr>AWB modes]</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003097 </td>
3098
3099 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003100 <ul class="entry_tags">
3101 <li><a href="#tag_BC">BC</a></li>
3102 <li><a href="#tag_AWB">AWB</a></li>
3103 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003104 </td>
3105
3106 </tr> <!-- end of entry -->
3107
3108
3109 <tr class="entry" id="dynamic_android.control.awbRegions">
3110 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>Regions</td>
3111 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003112 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003113 <span class="entry_type_container">x</span>
3114
3115 <span class="entry_type_array">
3116 5 x area_count
3117 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003118 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003119
3120
3121 </td> <!-- entry_type -->
3122
3123 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003124 <p>List of areas to use for illuminant
3125estimation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003126 </td>
3127
3128 <td class="entry_units">
3129 </td>
3130
3131 <td class="entry_range">
3132 </td>
3133
3134 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003135 <p>Only used in AUTO mode.<wbr></p>
3136<p>Each area is a rectangle plus weight: xmin,<wbr> ymin,<wbr>
3137xmax,<wbr> ymax,<wbr> weight.<wbr> The rectangle is defined inclusive of the
3138specified coordinates.<wbr></p>
3139<p>The coordinate system is based on the active pixel array,<wbr>
3140with (0,<wbr>0) being the top-left pixel in the active pixel array,<wbr> and
3141(android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>width - 1,<wbr>
3142android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size.<wbr>height - 1) being the
3143bottom-right pixel in the active pixel array.<wbr> The weight
3144should be nonnegative.<wbr></p>
3145<p>If all regions have 0 weight,<wbr> then no specific metering area
3146needs to be used by the HAL.<wbr> If the metering region is
3147outside the current android.<wbr>scaler.<wbr>crop<wbr>Region,<wbr> the HAL
3148should ignore the sections outside the region and output the
3149used sections in the frame metadata</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003150 </td>
3151
3152 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003153 <ul class="entry_tags">
3154 <li><a href="#tag_BC">BC</a></li>
3155 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003156 </td>
3157
3158 </tr> <!-- end of entry -->
3159
3160
3161 <tr class="entry" id="dynamic_android.control.awbState">
3162 <td class="entry_name">android.<wbr>control.<wbr>awb<wbr>State</td>
3163 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003164 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003165
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003166 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003167
3168 <ul class="entry_type_enum">
3169 <li>
3170 <span class="entry_type_enum_name">INACTIVE</span>
Alex Ray7aeb05e2013-03-27 16:26:41 -07003171 <span class="entry_type_enum_notes">AWB is not in auto mode.<wbr> When a camera device is opened,<wbr> it
3172 starts in this state.<wbr></span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003173 </li>
3174 <li>
3175 <span class="entry_type_enum_name">SEARCHING</span>
3176 <span class="entry_type_enum_notes">AWB doesn't yet have a good set of control
3177 values for the current scene</span>
3178 </li>
3179 <li>
3180 <span class="entry_type_enum_name">CONVERGED</span>
3181 <span class="entry_type_enum_notes">AWB has a good set of control values for the
3182 current scene</span>
3183 </li>
3184 <li>
3185 <span class="entry_type_enum_name">LOCKED</span>
3186 <span class="entry_type_enum_notes">AE has been locked (aeMode =
3187 LOCKED)</span>
3188 </li>
3189 </ul>
3190
3191 </td> <!-- entry_type -->
3192
3193 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003194 <p>Current state of AWB algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003195 </td>
3196
3197 <td class="entry_units">
3198 </td>
3199
3200 <td class="entry_range">
3201 </td>
3202
3203 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003204 <p>Whenever the AWB algorithm state changes,<wbr> a
3205MSG_<wbr>AUTOWHITEBALANCE notification must be send if a
3206notification callback is registered.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003207 </td>
3208
3209 <td class="entry_tags">
3210 </td>
3211
3212 </tr> <!-- end of entry -->
3213
3214
3215 <tr class="entry" id="dynamic_android.control.mode">
3216 <td class="entry_name">android.<wbr>control.<wbr>mode</td>
3217 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003218 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003219
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003220 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003221
3222 <ul class="entry_type_enum">
3223 <li>
3224 <span class="entry_type_enum_name">OFF</span>
3225 <span class="entry_type_enum_notes">Full application control of pipeline.<wbr> All 3A
3226 routines are disabled,<wbr> no other settings in
3227 android.<wbr>control.<wbr>* have any effect</span>
3228 </li>
3229 <li>
3230 <span class="entry_type_enum_name">AUTO</span>
3231 <span class="entry_type_enum_notes">Use settings for each individual 3A routine.<wbr>
3232 Manual control of capture parameters is disabled.<wbr> All
3233 controls in android.<wbr>control.<wbr>* besides sceneMode take
3234 effect</span>
3235 </li>
3236 <li>
3237 <span class="entry_type_enum_name">USE_SCENE_MODE</span>
3238 <span class="entry_type_enum_notes">Use specific scene mode.<wbr> Enabling this disables
3239 control.<wbr>aeMode,<wbr> control.<wbr>awbMode and control.<wbr>afMode
3240 controls; the HAL must ignore those settings while
3241 USE_<wbr>SCENE_<wbr>MODE is active (except for FACE_<wbr>PRIORITY
3242 scene mode).<wbr> Other control entries are still active.<wbr>
3243 This setting can only be used if availableSceneModes !=
3244 UNSUPPORTED</span>
3245 </li>
3246 </ul>
3247
3248 </td> <!-- entry_type -->
3249
3250 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003251 <p>Overall mode of 3A control
3252routines</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003253 </td>
3254
3255 <td class="entry_units">
3256 </td>
3257
3258 <td class="entry_range">
3259 all must be supported
3260 </td>
3261
3262 <td class="entry_notes">
3263 </td>
3264
3265 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003266 <ul class="entry_tags">
3267 <li><a href="#tag_BC">BC</a></li>
3268 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003269 </td>
3270
3271 </tr> <!-- end of entry -->
3272
3273
3274
3275 <!-- end of kind -->
3276 </tbody>
3277
3278 <!-- end of section -->
3279 <tr><td colspan="7" id="section_demosaic" class="section">demosaic</td></tr>
3280
3281
3282 <tr><td colspan="7" class="kind">controls</td></tr>
3283
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003284 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003285 <tr>
3286 <th class="th_name">Property Name</th>
3287 <th class="th_type">Type</th>
3288 <th class="th_description">Description</th>
3289 <th class="th_units">Units</th>
3290 <th class="th_range">Range</th>
3291 <th class="th_notes">Notes</th>
3292 <th class="th_tags">Tags</th>
3293 </tr>
3294 </thead>
3295
3296 <tbody>
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307 <tr class="entry" id="controls_android.demosaic.mode">
3308 <td class="entry_name">android.<wbr>demosaic.<wbr>mode</td>
3309 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003310 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003311
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003312 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003313
3314 <ul class="entry_type_enum">
3315 <li>
3316 <span class="entry_type_enum_name">FAST</span>
3317 <span class="entry_type_enum_notes">Minimal or no slowdown of frame rate compared to
3318 Bayer RAW output</span>
3319 </li>
3320 <li>
3321 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3322 <span class="entry_type_enum_notes">High-quality may reduce output frame
3323 rate</span>
3324 </li>
3325 </ul>
3326
3327 </td> <!-- entry_type -->
3328
3329 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003330 <p>Controls the quality of the demosaicing
3331processing</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003332 </td>
3333
3334 <td class="entry_units">
3335 </td>
3336
3337 <td class="entry_range">
3338 </td>
3339
3340 <td class="entry_notes">
3341 </td>
3342
3343 <td class="entry_tags">
3344 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003345 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003346 </ul>
3347 </td>
3348
3349 </tr> <!-- end of entry -->
3350
3351
3352
3353 <!-- end of kind -->
3354 </tbody>
3355
3356 <!-- end of section -->
3357 <tr><td colspan="7" id="section_edge" class="section">edge</td></tr>
3358
3359
3360 <tr><td colspan="7" class="kind">controls</td></tr>
3361
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003362 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003363 <tr>
3364 <th class="th_name">Property Name</th>
3365 <th class="th_type">Type</th>
3366 <th class="th_description">Description</th>
3367 <th class="th_units">Units</th>
3368 <th class="th_range">Range</th>
3369 <th class="th_notes">Notes</th>
3370 <th class="th_tags">Tags</th>
3371 </tr>
3372 </thead>
3373
3374 <tbody>
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385 <tr class="entry" id="controls_android.edge.mode">
3386 <td class="entry_name">android.<wbr>edge.<wbr>mode</td>
3387 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003388 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003389
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003390 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003391
3392 <ul class="entry_type_enum">
3393 <li>
3394 <span class="entry_type_enum_name">OFF</span>
3395 <span class="entry_type_enum_notes">No edge enhancement is applied</span>
3396 </li>
3397 <li>
3398 <span class="entry_type_enum_name">FAST</span>
3399 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
3400 bayer output</span>
3401 </li>
3402 <li>
3403 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3404 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3405 quality</span>
3406 </li>
3407 </ul>
3408
3409 </td> <!-- entry_type -->
3410
3411 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003412 <p>Operation mode for edge
3413enhancement</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003414 </td>
3415
3416 <td class="entry_units">
3417 </td>
3418
3419 <td class="entry_range">
3420 </td>
3421
3422 <td class="entry_notes">
3423 </td>
3424
3425 <td class="entry_tags">
3426 </td>
3427
3428 </tr> <!-- end of entry -->
3429
3430
3431 <tr class="entry" id="controls_android.edge.strength">
3432 <td class="entry_name">android.<wbr>edge.<wbr>strength</td>
3433 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003434 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003435
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003436 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003437
3438
3439 </td> <!-- entry_type -->
3440
3441 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003442 <p>Control the amount of edge enhancement
3443applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003444 </td>
3445
3446 <td class="entry_units">
3447 1-10; 10 is maximum sharpening
3448 </td>
3449
3450 <td class="entry_range">
3451 </td>
3452
3453 <td class="entry_notes">
3454 </td>
3455
3456 <td class="entry_tags">
3457 </td>
3458
3459 </tr> <!-- end of entry -->
3460
3461
3462
3463 <!-- end of kind -->
3464 </tbody>
3465 <tr><td colspan="7" class="kind">dynamic</td></tr>
3466
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003467 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003468 <tr>
3469 <th class="th_name">Property Name</th>
3470 <th class="th_type">Type</th>
3471 <th class="th_description">Description</th>
3472 <th class="th_units">Units</th>
3473 <th class="th_range">Range</th>
3474 <th class="th_notes">Notes</th>
3475 <th class="th_tags">Tags</th>
3476 </tr>
3477 </thead>
3478
3479 <tbody>
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490 <tr class="entry" id="dynamic_android.edge.mode">
3491 <td class="entry_name">android.<wbr>edge.<wbr>mode</td>
3492 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003493 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003494
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003495 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003496
3497 <ul class="entry_type_enum">
3498 <li>
3499 <span class="entry_type_enum_name">OFF</span>
3500 <span class="entry_type_enum_notes">No edge enhancement is applied</span>
3501 </li>
3502 <li>
3503 <span class="entry_type_enum_name">FAST</span>
3504 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
3505 bayer output</span>
3506 </li>
3507 <li>
3508 <span class="entry_type_enum_name">HIGH_QUALITY</span>
3509 <span class="entry_type_enum_notes">Frame rate may be reduced by high
3510 quality</span>
3511 </li>
3512 </ul>
3513
3514 </td> <!-- entry_type -->
3515
3516 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003517 <p>Operation mode for edge
3518enhancement</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003519 </td>
3520
3521 <td class="entry_units">
3522 </td>
3523
3524 <td class="entry_range">
3525 </td>
3526
3527 <td class="entry_notes">
3528 </td>
3529
3530 <td class="entry_tags">
3531 </td>
3532
3533 </tr> <!-- end of entry -->
3534
3535
3536
3537 <!-- end of kind -->
3538 </tbody>
3539
3540 <!-- end of section -->
3541 <tr><td colspan="7" id="section_flash" class="section">flash</td></tr>
3542
3543
3544 <tr><td colspan="7" class="kind">controls</td></tr>
3545
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003546 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003547 <tr>
3548 <th class="th_name">Property Name</th>
3549 <th class="th_type">Type</th>
3550 <th class="th_description">Description</th>
3551 <th class="th_units">Units</th>
3552 <th class="th_range">Range</th>
3553 <th class="th_notes">Notes</th>
3554 <th class="th_tags">Tags</th>
3555 </tr>
3556 </thead>
3557
3558 <tbody>
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569 <tr class="entry" id="controls_android.flash.firingPower">
3570 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Power</td>
3571 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003572 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003573
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003574 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003575
3576
3577 </td> <!-- entry_type -->
3578
3579 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003580 <p>Power for flash firing/<wbr>torch</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003581 </td>
3582
3583 <td class="entry_units">
3584 10 is max power; 0 is no flash.<wbr> Linear
3585 </td>
3586
3587 <td class="entry_range">
3588 0 - 10
3589 </td>
3590
3591 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003592 <p>Power for snapshot may use a different scale than
3593for torch mode.<wbr> Only one entry for torch mode will be
3594used</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003595 </td>
3596
3597 <td class="entry_tags">
3598 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003599 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003600 </ul>
3601 </td>
3602
3603 </tr> <!-- end of entry -->
3604
3605
3606 <tr class="entry" id="controls_android.flash.firingTime">
3607 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Time</td>
3608 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003609 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003610
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003611 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003612
3613
3614 </td> <!-- entry_type -->
3615
3616 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003617 <p>Firing time of flash relative to start of
3618exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003619 </td>
3620
3621 <td class="entry_units">
3622 nanoseconds
3623 </td>
3624
3625 <td class="entry_range">
3626 0-(exposure time-flash duration)
3627 </td>
3628
3629 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003630 <p>Clamped to (0,<wbr> exposure time - flash
3631duration).<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003632 </td>
3633
3634 <td class="entry_tags">
3635 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003636 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003637 </ul>
3638 </td>
3639
3640 </tr> <!-- end of entry -->
3641
3642
3643 <tr class="entry" id="controls_android.flash.mode">
3644 <td class="entry_name">android.<wbr>flash.<wbr>mode</td>
3645 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003646 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003647
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003648 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003649
3650 <ul class="entry_type_enum">
3651 <li>
3652 <span class="entry_type_enum_name">OFF</span>
3653 <span class="entry_type_enum_notes">Do not fire the flash for this
3654 capture</span>
3655 </li>
3656 <li>
3657 <span class="entry_type_enum_name">SINGLE</span>
3658 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Fire flash
3659 for this capture based on firingPower,<wbr>
3660 firingTime.<wbr></span>
3661 </li>
3662 <li>
3663 <span class="entry_type_enum_name">TORCH</span>
3664 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash
3665 continuously on,<wbr> power set by
3666 firingPower</span>
3667 </li>
3668 </ul>
3669
3670 </td> <!-- entry_type -->
3671
3672 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003673 <p>Select flash operation mode</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003674 </td>
3675
3676 <td class="entry_units">
3677 </td>
3678
3679 <td class="entry_range">
3680 </td>
3681
3682 <td class="entry_notes">
3683 </td>
3684
3685 <td class="entry_tags">
3686 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003687 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003688 </ul>
3689 </td>
3690
3691 </tr> <!-- end of entry -->
3692
3693
3694
3695 <!-- end of kind -->
3696 </tbody>
3697 <tr><td colspan="7" class="kind">static</td></tr>
3698
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003699 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003700 <tr>
3701 <th class="th_name">Property Name</th>
3702 <th class="th_type">Type</th>
3703 <th class="th_description">Description</th>
3704 <th class="th_units">Units</th>
3705 <th class="th_range">Range</th>
3706 <th class="th_notes">Notes</th>
3707 <th class="th_tags">Tags</th>
3708 </tr>
3709 </thead>
3710
3711 <tbody>
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724 <tr class="entry" id="static_android.flash.info.available">
3725 <td class="entry_name">android.<wbr>flash.<wbr>info.<wbr>available</td>
3726 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003727 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003728
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003729 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003730
3731
3732 </td> <!-- entry_type -->
3733
3734 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003735 <p>Whether this camera has a
3736flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003737 </td>
3738
3739 <td class="entry_units">
3740 boolean (0 = false,<wbr> otherwise true)
3741 </td>
3742
3743 <td class="entry_range">
3744 </td>
3745
3746 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003747 <p>If no flash,<wbr> none of the flash controls do
3748anything.<wbr> All other metadata should return 0</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003749 </td>
3750
3751 <td class="entry_tags">
3752 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003753 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003754 </ul>
3755 </td>
3756
3757 </tr> <!-- end of entry -->
3758
3759
3760 <tr class="entry" id="static_android.flash.info.chargeDuration">
3761 <td class="entry_name">android.<wbr>flash.<wbr>info.<wbr>charge<wbr>Duration</td>
3762 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003763 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003764
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003765 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003766
3767
3768 </td> <!-- entry_type -->
3769
3770 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003771 <p>Time taken before flash can fire
3772again</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003773 </td>
3774
3775 <td class="entry_units">
3776 nanoseconds
3777 </td>
3778
3779 <td class="entry_range">
3780 0-1e9
3781 </td>
3782
3783 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003784 <p>1 second too long/<wbr>too short for recharge? Should
3785this be power-dependent?</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003786 </td>
3787
3788 <td class="entry_tags">
3789 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003790 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003791 </ul>
3792 </td>
3793
3794 </tr> <!-- end of entry -->
3795
3796
3797
3798
3799
3800 <tr class="entry" id="static_android.flash.colorTemperature">
3801 <td class="entry_name">android.<wbr>flash.<wbr>color<wbr>Temperature</td>
3802 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003803 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003804
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003805 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003806
3807
3808 </td> <!-- entry_type -->
3809
3810 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003811 <p>The x,<wbr>y whitepoint of the
3812flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003813 </td>
3814
3815 <td class="entry_units">
3816 pair of floats
3817 </td>
3818
3819 <td class="entry_range">
3820 0-1 for both
3821 </td>
3822
3823 <td class="entry_notes">
3824 </td>
3825
3826 <td class="entry_tags">
3827 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003828 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003829 </ul>
3830 </td>
3831
3832 </tr> <!-- end of entry -->
3833
3834
3835 <tr class="entry" id="static_android.flash.maxEnergy">
3836 <td class="entry_name">android.<wbr>flash.<wbr>max<wbr>Energy</td>
3837 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003838 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003839
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003840 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003841
3842
3843 </td> <!-- entry_type -->
3844
3845 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003846 <p>Max energy output of the flash for a full
3847power single flash</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003848 </td>
3849
3850 <td class="entry_units">
3851 lumen-seconds
3852 </td>
3853
3854 <td class="entry_range">
3855 >= 0
3856 </td>
3857
3858 <td class="entry_notes">
3859 </td>
3860
3861 <td class="entry_tags">
3862 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003863 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003864 </ul>
3865 </td>
3866
3867 </tr> <!-- end of entry -->
3868
3869
3870
3871 <!-- end of kind -->
3872 </tbody>
3873 <tr><td colspan="7" class="kind">dynamic</td></tr>
3874
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003875 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003876 <tr>
3877 <th class="th_name">Property Name</th>
3878 <th class="th_type">Type</th>
3879 <th class="th_description">Description</th>
3880 <th class="th_units">Units</th>
3881 <th class="th_range">Range</th>
3882 <th class="th_notes">Notes</th>
3883 <th class="th_tags">Tags</th>
3884 </tr>
3885 </thead>
3886
3887 <tbody>
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898 <tr class="entry" id="dynamic_android.flash.firingPower">
3899 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Power</td>
3900 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003901 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003902
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003903 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003904
3905
3906 </td> <!-- entry_type -->
3907
3908 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003909 <p>Power for flash firing/<wbr>torch</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003910 </td>
3911
3912 <td class="entry_units">
3913 10 is max power; 0 is no flash.<wbr> Linear
3914 </td>
3915
3916 <td class="entry_range">
3917 0 - 10
3918 </td>
3919
3920 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003921 <p>Power for snapshot may use a different scale than
3922for torch mode.<wbr> Only one entry for torch mode will be
3923used</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003924 </td>
3925
3926 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003927 <ul class="entry_tags">
3928 <li><a href="#tag_V1">V1</a></li>
3929 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003930 </td>
3931
3932 </tr> <!-- end of entry -->
3933
3934
3935 <tr class="entry" id="dynamic_android.flash.firingTime">
3936 <td class="entry_name">android.<wbr>flash.<wbr>firing<wbr>Time</td>
3937 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003938 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003939
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003940 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003941
3942
3943 </td> <!-- entry_type -->
3944
3945 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003946 <p>Firing time of flash relative to start of
3947exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003948 </td>
3949
3950 <td class="entry_units">
3951 nanoseconds
3952 </td>
3953
3954 <td class="entry_range">
3955 0-(exposure time-flash duration)
3956 </td>
3957
3958 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08003959 <p>Clamped to (0,<wbr> exposure time - flash
3960duration).<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003961 </td>
3962
3963 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08003964 <ul class="entry_tags">
3965 <li><a href="#tag_V1">V1</a></li>
3966 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003967 </td>
3968
3969 </tr> <!-- end of entry -->
3970
3971
3972 <tr class="entry" id="dynamic_android.flash.mode">
3973 <td class="entry_name">android.<wbr>flash.<wbr>mode</td>
3974 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08003975 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003976
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07003977 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08003978
3979 <ul class="entry_type_enum">
3980 <li>
3981 <span class="entry_type_enum_name">OFF</span>
3982 <span class="entry_type_enum_notes">Do not fire the flash for this
3983 capture</span>
3984 </li>
3985 <li>
3986 <span class="entry_type_enum_name">SINGLE</span>
3987 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Fire flash
3988 for this capture based on firingPower,<wbr>
3989 firingTime.<wbr></span>
3990 </li>
3991 <li>
3992 <span class="entry_type_enum_name">TORCH</span>
3993 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash
3994 continuously on,<wbr> power set by
3995 firingPower</span>
3996 </li>
3997 </ul>
3998
3999 </td> <!-- entry_type -->
4000
4001 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08004002 <p>Select flash operation mode</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004003 </td>
4004
4005 <td class="entry_units">
4006 </td>
4007
4008 <td class="entry_range">
4009 </td>
4010
4011 <td class="entry_notes">
4012 </td>
4013
4014 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004015 <ul class="entry_tags">
4016 <li><a href="#tag_BC">BC</a></li>
4017 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004018 </td>
4019
4020 </tr> <!-- end of entry -->
4021
4022
4023 <tr class="entry" id="dynamic_android.flash.state">
4024 <td class="entry_name">android.<wbr>flash.<wbr>state</td>
4025 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004026 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004027
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004028 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004029
4030 <ul class="entry_type_enum">
4031 <li>
4032 <span class="entry_type_enum_name">UNAVAILABLE</span>
4033 <span class="entry_type_enum_notes">No flash on camera</span>
4034 </li>
4035 <li>
4036 <span class="entry_type_enum_name">CHARGING</span>
4037 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash is
4038 charging and cannot be fired</span>
4039 </li>
4040 <li>
4041 <span class="entry_type_enum_name">READY</span>
4042 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash is
4043 ready to fire</span>
4044 </li>
4045 <li>
4046 <span class="entry_type_enum_name">FIRED</span>
4047 <span class="entry_type_enum_notes">if android.<wbr>flash.<wbr>available is true Flash fired
4048 for this capture</span>
4049 </li>
4050 </ul>
4051
4052 </td> <!-- entry_type -->
4053
4054 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08004055 <p>Current state of the flash
4056unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004057 </td>
4058
4059 <td class="entry_units">
4060 </td>
4061
4062 <td class="entry_range">
4063 </td>
4064
4065 <td class="entry_notes">
4066 </td>
4067
4068 <td class="entry_tags">
4069 </td>
4070
4071 </tr> <!-- end of entry -->
4072
4073
4074
4075 <!-- end of kind -->
4076 </tbody>
4077
4078 <!-- end of section -->
4079 <tr><td colspan="7" id="section_geometric" class="section">geometric</td></tr>
4080
4081
4082 <tr><td colspan="7" class="kind">controls</td></tr>
4083
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004084 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004085 <tr>
4086 <th class="th_name">Property Name</th>
4087 <th class="th_type">Type</th>
4088 <th class="th_description">Description</th>
4089 <th class="th_units">Units</th>
4090 <th class="th_range">Range</th>
4091 <th class="th_notes">Notes</th>
4092 <th class="th_tags">Tags</th>
4093 </tr>
4094 </thead>
4095
4096 <tbody>
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107 <tr class="entry" id="controls_android.geometric.mode">
4108 <td class="entry_name">android.<wbr>geometric.<wbr>mode</td>
4109 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004110 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004111
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004112 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004113
4114 <ul class="entry_type_enum">
4115 <li>
4116 <span class="entry_type_enum_name">OFF</span>
4117 <span class="entry_type_enum_notes">No geometric correction is
4118 applied</span>
4119 </li>
4120 <li>
4121 <span class="entry_type_enum_name">FAST</span>
4122 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
4123 bayer output</span>
4124 </li>
4125 <li>
4126 <span class="entry_type_enum_name">HIGH_QUALITY</span>
4127 <span class="entry_type_enum_notes">Frame rate may be reduced by high
4128 quality</span>
4129 </li>
4130 </ul>
4131
4132 </td> <!-- entry_type -->
4133
4134 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08004135 <p>Operating mode of geometric
4136correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004137 </td>
4138
4139 <td class="entry_units">
4140 </td>
4141
4142 <td class="entry_range">
4143 </td>
4144
4145 <td class="entry_notes">
4146 </td>
4147
4148 <td class="entry_tags">
4149 </td>
4150
4151 </tr> <!-- end of entry -->
4152
4153
4154 <tr class="entry" id="controls_android.geometric.strength">
4155 <td class="entry_name">android.<wbr>geometric.<wbr>strength</td>
4156 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004157 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004158
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004159 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004160
4161
4162 </td> <!-- entry_type -->
4163
4164 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08004165 <p>Control the amount of shading correction
4166applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004167 </td>
4168
4169 <td class="entry_units">
4170 unitless: 1-10; 10 is full shading
4171 compensation
4172 </td>
4173
4174 <td class="entry_range">
4175 </td>
4176
4177 <td class="entry_notes">
4178 </td>
4179
4180 <td class="entry_tags">
4181 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004182 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004183 </ul>
4184 </td>
4185
4186 </tr> <!-- end of entry -->
4187
4188
4189
4190 <!-- end of kind -->
4191 </tbody>
4192
4193 <!-- end of section -->
4194 <tr><td colspan="7" id="section_hotPixel" class="section">hotPixel</td></tr>
4195
4196
4197 <tr><td colspan="7" class="kind">controls</td></tr>
4198
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004199 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004200 <tr>
4201 <th class="th_name">Property Name</th>
4202 <th class="th_type">Type</th>
4203 <th class="th_description">Description</th>
4204 <th class="th_units">Units</th>
4205 <th class="th_range">Range</th>
4206 <th class="th_notes">Notes</th>
4207 <th class="th_tags">Tags</th>
4208 </tr>
4209 </thead>
4210
4211 <tbody>
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222 <tr class="entry" id="controls_android.hotPixel.mode">
4223 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>mode</td>
4224 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004225 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004226
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004227 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004228
4229 <ul class="entry_type_enum">
4230 <li>
4231 <span class="entry_type_enum_name">OFF</span>
4232 <span class="entry_type_enum_notes">No hot pixel correction can be
4233 applied</span>
4234 </li>
4235 <li>
4236 <span class="entry_type_enum_name">FAST</span>
4237 <span class="entry_type_enum_notes">Frame rate must not be reduced compared to raw
4238 Bayer output</span>
4239 </li>
4240 <li>
4241 <span class="entry_type_enum_name">HIGH_QUALITY</span>
4242 <span class="entry_type_enum_notes">Frame rate may be reduced by high
4243 quality</span>
4244 </li>
4245 </ul>
4246
4247 </td> <!-- entry_type -->
4248
4249 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08004250 <p>Set operational mode for hot pixel
4251correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004252 </td>
4253
4254 <td class="entry_units">
4255 </td>
4256
4257 <td class="entry_range">
4258 </td>
4259
4260 <td class="entry_notes">
4261 </td>
4262
4263 <td class="entry_tags">
4264 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004265 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004266 </ul>
4267 </td>
4268
4269 </tr> <!-- end of entry -->
4270
4271
4272
4273 <!-- end of kind -->
4274 </tbody>
4275 <tr><td colspan="7" class="kind">static</td></tr>
4276
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004277 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004278 <tr>
4279 <th class="th_name">Property Name</th>
4280 <th class="th_type">Type</th>
4281 <th class="th_description">Description</th>
4282 <th class="th_units">Units</th>
4283 <th class="th_range">Range</th>
4284 <th class="th_notes">Notes</th>
4285 <th class="th_tags">Tags</th>
4286 </tr>
4287 </thead>
4288
4289 <tbody>
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302 <tr class="entry" id="static_android.hotPixel.info.map">
4303 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>info.<wbr>map</td>
4304 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004305 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004306 <span class="entry_type_container">x</span>
4307
4308 <span class="entry_type_array">
4309 2 x n
4310 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004311 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004312 <div class="entry_type_notes">list of coordinates based on android.<wbr>sensor.<wbr>pixel<wbr>Array<wbr>Size</div>
4313
4314
4315 </td> <!-- entry_type -->
4316
4317 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08004318 <p>Location of hot/<wbr>defective pixels on
4319sensor</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004320 </td>
4321
4322 <td class="entry_units">
4323 </td>
4324
4325 <td class="entry_range">
4326 </td>
4327
4328 <td class="entry_notes">
4329 </td>
4330
4331 <td class="entry_tags">
4332 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004333 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004334 </ul>
4335 </td>
4336
4337 </tr> <!-- end of entry -->
4338
4339
4340
4341
4342
4343
4344 <!-- end of kind -->
4345 </tbody>
4346 <tr><td colspan="7" class="kind">dynamic</td></tr>
4347
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004348 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004349 <tr>
4350 <th class="th_name">Property Name</th>
4351 <th class="th_type">Type</th>
4352 <th class="th_description">Description</th>
4353 <th class="th_units">Units</th>
4354 <th class="th_range">Range</th>
4355 <th class="th_notes">Notes</th>
4356 <th class="th_tags">Tags</th>
4357 </tr>
4358 </thead>
4359
4360 <tbody>
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371 <tr class="entry" id="dynamic_android.hotPixel.mode">
4372 <td class="entry_name">android.<wbr>hot<wbr>Pixel.<wbr>mode</td>
4373 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004374 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004375
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004376 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004377
4378 <ul class="entry_type_enum">
4379 <li>
4380 <span class="entry_type_enum_name">OFF</span>
4381 <span class="entry_type_enum_notes">No hot pixel correction can be
4382 applied</span>
4383 </li>
4384 <li>
4385 <span class="entry_type_enum_name">FAST</span>
4386 <span class="entry_type_enum_notes">Frame rate must not be reduced compared to raw
4387 Bayer output</span>
4388 </li>
4389 <li>
4390 <span class="entry_type_enum_name">HIGH_QUALITY</span>
4391 <span class="entry_type_enum_notes">Frame rate may be reduced by high
4392 quality</span>
4393 </li>
4394 </ul>
4395
4396 </td> <!-- entry_type -->
4397
4398 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08004399 <p>Set operational mode for hot pixel
4400correction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004401 </td>
4402
4403 <td class="entry_units">
4404 </td>
4405
4406 <td class="entry_range">
4407 </td>
4408
4409 <td class="entry_notes">
4410 </td>
4411
4412 <td class="entry_tags">
4413 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004414 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004415 </ul>
4416 </td>
4417
4418 </tr> <!-- end of entry -->
4419
4420
4421
4422 <!-- end of kind -->
4423 </tbody>
4424
4425 <!-- end of section -->
4426 <tr><td colspan="7" id="section_jpeg" class="section">jpeg</td></tr>
4427
4428
4429 <tr><td colspan="7" class="kind">controls</td></tr>
4430
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004431 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004432 <tr>
4433 <th class="th_name">Property Name</th>
4434 <th class="th_type">Type</th>
4435 <th class="th_description">Description</th>
4436 <th class="th_units">Units</th>
4437 <th class="th_range">Range</th>
4438 <th class="th_notes">Notes</th>
4439 <th class="th_tags">Tags</th>
4440 </tr>
4441 </thead>
4442
4443 <tbody>
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454 <tr class="entry" id="controls_android.jpeg.gpsCoordinates">
4455 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Coordinates</td>
4456 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004457 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004458 <span class="entry_type_container">x</span>
4459
4460 <span class="entry_type_array">
4461 3
4462 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004463 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004464 <div class="entry_type_notes">latitude,<wbr> longitude,<wbr> altitude.<wbr> First two in degrees,<wbr> the third in meters</div>
4465
4466
4467 </td> <!-- entry_type -->
4468
4469 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08004470 <p>GPS coordinates to include in output JPEG
4471EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004472 </td>
4473
4474 <td class="entry_units">
4475 </td>
4476
4477 <td class="entry_range">
4478 (-180 - 180],<wbr> [-90,<wbr>90],<wbr> [-inf,<wbr> inf]
4479 </td>
4480
4481 <td class="entry_notes">
4482 </td>
4483
4484 <td class="entry_tags">
4485 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004486 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004487 </ul>
4488 </td>
4489
4490 </tr> <!-- end of entry -->
4491
4492
4493 <tr class="entry" id="controls_android.jpeg.gpsProcessingMethod">
4494 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Processing<wbr>Method</td>
4495 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004496 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004497
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004498 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004499
4500
4501 </td> <!-- entry_type -->
4502
4503 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08004504 <p>32 characters describing GPS algorithm to
4505include in EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004506 </td>
4507
4508 <td class="entry_units">
4509 UTF-8 null-terminated string
4510 </td>
4511
4512 <td class="entry_range">
4513 </td>
4514
4515 <td class="entry_notes">
4516 </td>
4517
4518 <td class="entry_tags">
4519 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004520 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004521 </ul>
4522 </td>
4523
4524 </tr> <!-- end of entry -->
4525
4526
4527 <tr class="entry" id="controls_android.jpeg.gpsTimestamp">
4528 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Timestamp</td>
4529 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004530 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004531
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004532 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004533
4534
4535 </td> <!-- entry_type -->
4536
4537 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08004538 <p>Time GPS fix was made to include in
4539EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004540 </td>
4541
4542 <td class="entry_units">
4543 UTC in seconds since January 1,<wbr> 1970
4544 </td>
4545
4546 <td class="entry_range">
4547 </td>
4548
4549 <td class="entry_notes">
4550 </td>
4551
4552 <td class="entry_tags">
4553 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004554 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004555 </ul>
4556 </td>
4557
4558 </tr> <!-- end of entry -->
4559
4560
4561 <tr class="entry" id="controls_android.jpeg.orientation">
4562 <td class="entry_name">android.<wbr>jpeg.<wbr>orientation</td>
4563 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004564 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004565
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004566 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004567
4568
4569 </td> <!-- entry_type -->
4570
4571 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08004572 <p>Orientation of JPEG image to
4573write</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004574 </td>
4575
4576 <td class="entry_units">
4577 Degrees in multiples of 90
4578 </td>
4579
4580 <td class="entry_range">
4581 0,<wbr> 90,<wbr> 180,<wbr> 270
4582 </td>
4583
4584 <td class="entry_notes">
4585 </td>
4586
4587 <td class="entry_tags">
4588 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004589 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004590 </ul>
4591 </td>
4592
4593 </tr> <!-- end of entry -->
4594
4595
4596 <tr class="entry" id="controls_android.jpeg.quality">
4597 <td class="entry_name">android.<wbr>jpeg.<wbr>quality</td>
4598 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004599 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004600
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004601 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004602
4603
4604 </td> <!-- entry_type -->
4605
4606 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08004607 <p>Compression quality of the final JPEG
4608image</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004609 </td>
4610
4611 <td class="entry_units">
4612 </td>
4613
4614 <td class="entry_range">
4615 1-100; larger is higher quality
4616 </td>
4617
4618 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08004619 <p>85-95 is typical usage range</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004620 </td>
4621
4622 <td class="entry_tags">
4623 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004624 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004625 </ul>
4626 </td>
4627
4628 </tr> <!-- end of entry -->
4629
4630
4631 <tr class="entry" id="controls_android.jpeg.thumbnailQuality">
4632 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Quality</td>
4633 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004634 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004635
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004636 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004637
4638
4639 </td> <!-- entry_type -->
4640
4641 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08004642 <p>Compression quality of JPEG
4643thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004644 </td>
4645
4646 <td class="entry_units">
4647 </td>
4648
4649 <td class="entry_range">
4650 1-100; larger is higher quality
4651 </td>
4652
4653 <td class="entry_notes">
4654 </td>
4655
4656 <td class="entry_tags">
4657 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004658 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004659 </ul>
4660 </td>
4661
4662 </tr> <!-- end of entry -->
4663
4664
4665 <tr class="entry" id="controls_android.jpeg.thumbnailSize">
4666 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Size</td>
4667 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004668 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004669 <span class="entry_type_container">x</span>
4670
4671 <span class="entry_type_array">
4672 2
4673 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004674 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004675
4676
4677 </td> <!-- entry_type -->
4678
4679 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08004680 <p>Resolution of embedded JPEG
4681thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004682 </td>
4683
4684 <td class="entry_units">
4685 </td>
4686
4687 <td class="entry_range">
4688 from android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes
4689 </td>
4690
4691 <td class="entry_notes">
4692 </td>
4693
4694 <td class="entry_tags">
4695 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004696 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004697 </ul>
4698 </td>
4699
4700 </tr> <!-- end of entry -->
4701
4702
4703
4704 <!-- end of kind -->
4705 </tbody>
4706 <tr><td colspan="7" class="kind">static</td></tr>
4707
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004708 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004709 <tr>
4710 <th class="th_name">Property Name</th>
4711 <th class="th_type">Type</th>
4712 <th class="th_description">Description</th>
4713 <th class="th_units">Units</th>
4714 <th class="th_range">Range</th>
4715 <th class="th_notes">Notes</th>
4716 <th class="th_tags">Tags</th>
4717 </tr>
4718 </thead>
4719
4720 <tbody>
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731 <tr class="entry" id="static_android.jpeg.availableThumbnailSizes">
4732 <td class="entry_name">android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes</td>
4733 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004734 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004735 <span class="entry_type_container">x</span>
4736
4737 <span class="entry_type_array">
4738 2 x n
4739 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004740 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004741 <div class="entry_type_notes">list of resolution pairs</div>
4742
4743
4744 </td> <!-- entry_type -->
4745
4746 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08004747 <p>Supported resolutions for the JPEG
4748thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004749 </td>
4750
4751 <td class="entry_units">
4752 </td>
4753
4754 <td class="entry_range">
4755 Must include at least one valid resolution,<wbr> plus
4756 (0,<wbr>0) for no thumbnail generation
4757 </td>
4758
4759 <td class="entry_notes">
4760 </td>
4761
4762 <td class="entry_tags">
4763 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004764 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004765 </ul>
4766 </td>
4767
4768 </tr> <!-- end of entry -->
4769
4770
4771 <tr class="entry" id="static_android.jpeg.maxSize">
4772 <td class="entry_name">android.<wbr>jpeg.<wbr>max<wbr>Size</td>
4773 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004774 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004775
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004776 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004777
4778
4779 </td> <!-- entry_type -->
4780
4781 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08004782 <p>Maximum size in bytes for the compressed
4783JPEG buffer</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004784 </td>
4785
4786 <td class="entry_units">
4787 </td>
4788
4789 <td class="entry_range">
4790 Must be large enough to fit any JPEG produced by
4791 the camera
4792 </td>
4793
4794 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08004795 <p>This is used for sizing the gralloc buffers for
4796JPEG</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004797 </td>
4798
4799 <td class="entry_tags">
4800 </td>
4801
4802 </tr> <!-- end of entry -->
4803
4804
4805
4806 <!-- end of kind -->
4807 </tbody>
4808 <tr><td colspan="7" class="kind">dynamic</td></tr>
4809
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004810 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004811 <tr>
4812 <th class="th_name">Property Name</th>
4813 <th class="th_type">Type</th>
4814 <th class="th_description">Description</th>
4815 <th class="th_units">Units</th>
4816 <th class="th_range">Range</th>
4817 <th class="th_notes">Notes</th>
4818 <th class="th_tags">Tags</th>
4819 </tr>
4820 </thead>
4821
4822 <tbody>
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833 <tr class="entry" id="dynamic_android.jpeg.gpsCoordinates">
4834 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Coordinates</td>
4835 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004836 <span class="entry_type_name">double</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004837 <span class="entry_type_container">x</span>
4838
4839 <span class="entry_type_array">
4840 3
4841 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004842 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004843 <div class="entry_type_notes">latitude,<wbr> longitude,<wbr> altitude.<wbr> First two in degrees,<wbr> the third in meters</div>
4844
4845
4846 </td> <!-- entry_type -->
4847
4848 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08004849 <p>GPS coordinates to include in output JPEG
4850EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004851 </td>
4852
4853 <td class="entry_units">
4854 </td>
4855
4856 <td class="entry_range">
4857 (-180 - 180],<wbr> [-90,<wbr>90],<wbr> [-inf,<wbr> inf]
4858 </td>
4859
4860 <td class="entry_notes">
4861 </td>
4862
4863 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004864 <ul class="entry_tags">
4865 <li><a href="#tag_BC">BC</a></li>
4866 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004867 </td>
4868
4869 </tr> <!-- end of entry -->
4870
4871
4872 <tr class="entry" id="dynamic_android.jpeg.gpsProcessingMethod">
4873 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Processing<wbr>Method</td>
4874 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004875 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004876
Igor Murashkinb8dc8812013-07-17 16:29:34 -07004877 <span class="entry_type_visibility"> [public as string]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004878
4879
4880 </td> <!-- entry_type -->
4881
4882 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08004883 <p>32 characters describing GPS algorithm to
4884include in EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004885 </td>
4886
4887 <td class="entry_units">
4888 UTF-8 null-terminated string
4889 </td>
4890
4891 <td class="entry_range">
4892 </td>
4893
4894 <td class="entry_notes">
4895 </td>
4896
4897 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004898 <ul class="entry_tags">
4899 <li><a href="#tag_BC">BC</a></li>
4900 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004901 </td>
4902
4903 </tr> <!-- end of entry -->
4904
4905
4906 <tr class="entry" id="dynamic_android.jpeg.gpsTimestamp">
4907 <td class="entry_name">android.<wbr>jpeg.<wbr>gps<wbr>Timestamp</td>
4908 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004909 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004910
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004911 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004912
4913
4914 </td> <!-- entry_type -->
4915
4916 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08004917 <p>Time GPS fix was made to include in
4918EXIF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004919 </td>
4920
4921 <td class="entry_units">
4922 UTC in seconds since January 1,<wbr> 1970
4923 </td>
4924
4925 <td class="entry_range">
4926 </td>
4927
4928 <td class="entry_notes">
4929 </td>
4930
4931 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004932 <ul class="entry_tags">
4933 <li><a href="#tag_BC">BC</a></li>
4934 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004935 </td>
4936
4937 </tr> <!-- end of entry -->
4938
4939
4940 <tr class="entry" id="dynamic_android.jpeg.orientation">
4941 <td class="entry_name">android.<wbr>jpeg.<wbr>orientation</td>
4942 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004943 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004944
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004945 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004946
4947
4948 </td> <!-- entry_type -->
4949
4950 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08004951 <p>Orientation of JPEG image to
4952write</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004953 </td>
4954
4955 <td class="entry_units">
4956 Degrees in multiples of 90
4957 </td>
4958
4959 <td class="entry_range">
4960 0,<wbr> 90,<wbr> 180,<wbr> 270
4961 </td>
4962
4963 <td class="entry_notes">
4964 </td>
4965
4966 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08004967 <ul class="entry_tags">
4968 <li><a href="#tag_BC">BC</a></li>
4969 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004970 </td>
4971
4972 </tr> <!-- end of entry -->
4973
4974
4975 <tr class="entry" id="dynamic_android.jpeg.quality">
4976 <td class="entry_name">android.<wbr>jpeg.<wbr>quality</td>
4977 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08004978 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004979
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07004980 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004981
4982
4983 </td> <!-- entry_type -->
4984
4985 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08004986 <p>Compression quality of the final JPEG
4987image</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004988 </td>
4989
4990 <td class="entry_units">
4991 </td>
4992
4993 <td class="entry_range">
4994 1-100; larger is higher quality
4995 </td>
4996
4997 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08004998 <p>85-95 is typical usage range</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08004999 </td>
5000
5001 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005002 <ul class="entry_tags">
5003 <li><a href="#tag_BC">BC</a></li>
5004 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005005 </td>
5006
5007 </tr> <!-- end of entry -->
5008
5009
5010 <tr class="entry" id="dynamic_android.jpeg.size">
5011 <td class="entry_name">android.<wbr>jpeg.<wbr>size</td>
5012 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005013 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005014
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005015 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005016
5017
5018 </td> <!-- entry_type -->
5019
5020 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005021 <p>The size of the compressed JPEG image,<wbr> in
5022bytes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005023 </td>
5024
5025 <td class="entry_units">
5026 </td>
5027
5028 <td class="entry_range">
5029 >= 0
5030 </td>
5031
5032 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005033 <p>If no JPEG output is produced for the request,<wbr>
5034this must be 0.<wbr></p>
5035<p>Otherwise,<wbr> this describes the real size of the compressed
5036JPEG image placed in the output stream.<wbr> More specifically,<wbr>
5037if android.<wbr>jpeg.<wbr>max<wbr>Size = 1000000,<wbr> and a specific capture
5038has android.<wbr>jpeg.<wbr>size = 500000,<wbr> then the output buffer from
5039the JPEG stream will be 1000000 bytes,<wbr> of which the first
5040500000 make up the real data.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005041 </td>
5042
5043 <td class="entry_tags">
5044 </td>
5045
5046 </tr> <!-- end of entry -->
5047
5048
5049 <tr class="entry" id="dynamic_android.jpeg.thumbnailQuality">
5050 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Quality</td>
5051 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005052 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005053
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005054 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005055
5056
5057 </td> <!-- entry_type -->
5058
5059 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005060 <p>Compression quality of JPEG
5061thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005062 </td>
5063
5064 <td class="entry_units">
5065 </td>
5066
5067 <td class="entry_range">
5068 1-100; larger is higher quality
5069 </td>
5070
5071 <td class="entry_notes">
5072 </td>
5073
5074 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005075 <ul class="entry_tags">
5076 <li><a href="#tag_BC">BC</a></li>
5077 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005078 </td>
5079
5080 </tr> <!-- end of entry -->
5081
5082
5083 <tr class="entry" id="dynamic_android.jpeg.thumbnailSize">
5084 <td class="entry_name">android.<wbr>jpeg.<wbr>thumbnail<wbr>Size</td>
5085 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005086 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005087 <span class="entry_type_container">x</span>
5088
5089 <span class="entry_type_array">
5090 2
5091 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005092 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005093
5094
5095 </td> <!-- entry_type -->
5096
5097 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005098 <p>Resolution of embedded JPEG
5099thumbnail</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005100 </td>
5101
5102 <td class="entry_units">
5103 </td>
5104
5105 <td class="entry_range">
5106 from android.<wbr>jpeg.<wbr>available<wbr>Thumbnail<wbr>Sizes
5107 </td>
5108
5109 <td class="entry_notes">
5110 </td>
5111
5112 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005113 <ul class="entry_tags">
5114 <li><a href="#tag_BC">BC</a></li>
5115 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005116 </td>
5117
5118 </tr> <!-- end of entry -->
5119
5120
5121
5122 <!-- end of kind -->
5123 </tbody>
5124
5125 <!-- end of section -->
5126 <tr><td colspan="7" id="section_lens" class="section">lens</td></tr>
5127
5128
5129 <tr><td colspan="7" class="kind">controls</td></tr>
5130
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005131 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005132 <tr>
5133 <th class="th_name">Property Name</th>
5134 <th class="th_type">Type</th>
5135 <th class="th_description">Description</th>
5136 <th class="th_units">Units</th>
5137 <th class="th_range">Range</th>
5138 <th class="th_notes">Notes</th>
5139 <th class="th_tags">Tags</th>
5140 </tr>
5141 </thead>
5142
5143 <tbody>
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154 <tr class="entry" id="controls_android.lens.aperture">
5155 <td class="entry_name">android.<wbr>lens.<wbr>aperture</td>
5156 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005157 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005158
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005159 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005160
5161
5162 </td> <!-- entry_type -->
5163
5164 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005165 <p>Size of the lens aperture</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005166 </td>
5167
5168 <td class="entry_units">
5169 f-number (f/<wbr>NNN)
5170 </td>
5171
5172 <td class="entry_range">
5173 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures
5174 </td>
5175
5176 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005177 <p>Will not be supported on most devices.<wbr> Can only
5178pick from supported list</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005179 </td>
5180
5181 <td class="entry_tags">
5182 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005183 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005184 </ul>
5185 </td>
5186
5187 </tr> <!-- end of entry -->
5188
5189
5190 <tr class="entry" id="controls_android.lens.filterDensity">
5191 <td class="entry_name">android.<wbr>lens.<wbr>filter<wbr>Density</td>
5192 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005193 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005194
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005195 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005196
5197
5198 </td> <!-- entry_type -->
5199
5200 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005201 <p>State of lens neutral density
5202filter(s)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005203 </td>
5204
5205 <td class="entry_units">
5206 number of stops of filtering
5207 </td>
5208
5209 <td class="entry_range">
5210 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities
5211 </td>
5212
5213 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005214 <p>Will not be supported on most devices.<wbr> Can only
5215pick from supported list</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005216 </td>
5217
5218 <td class="entry_tags">
5219 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005220 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005221 </ul>
5222 </td>
5223
5224 </tr> <!-- end of entry -->
5225
5226
5227 <tr class="entry" id="controls_android.lens.focalLength">
5228 <td class="entry_name">android.<wbr>lens.<wbr>focal<wbr>Length</td>
5229 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005230 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005231
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005232 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005233
5234
5235 </td> <!-- entry_type -->
5236
5237 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005238 <p>Lens optical zoom setting</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005239 </td>
5240
5241 <td class="entry_units">
5242 focal length in mm
5243 </td>
5244
5245 <td class="entry_range">
5246 > 0
5247 </td>
5248
5249 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005250 <p>Will not be supported on most devices.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005251 </td>
5252
5253 <td class="entry_tags">
5254 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005255 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005256 </ul>
5257 </td>
5258
5259 </tr> <!-- end of entry -->
5260
5261
5262 <tr class="entry" id="controls_android.lens.focusDistance">
5263 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Distance</td>
5264 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005265 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005266
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005267 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005268
5269
5270 </td> <!-- entry_type -->
5271
5272 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005273 <p>Distance to plane of sharpest focus,<wbr>
5274measured from frontmost surface of the lens</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005275 </td>
5276
5277 <td class="entry_units">
5278 diopters (1/<wbr>m)
5279 </td>
5280
5281 <td class="entry_range">
5282 >= 0
5283 </td>
5284
5285 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005286 <p>0 = infinity focus.<wbr> Used value should be clamped
5287to (0,<wbr>minimum focus distance)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005288 </td>
5289
5290 <td class="entry_tags">
5291 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005292 <li><a href="#tag_BC">BC</a></li>
5293 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005294 </ul>
5295 </td>
5296
5297 </tr> <!-- end of entry -->
5298
5299
5300 <tr class="entry" id="controls_android.lens.opticalStabilizationMode">
5301 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Stabilization<wbr>Mode</td>
5302 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005303 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005304
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005305 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005306
5307 <ul class="entry_type_enum">
5308 <li>
5309 <span class="entry_type_enum_name">OFF</span>
5310 </li>
5311 <li>
5312 <span class="entry_type_enum_name">ON</span>
5313 <span class="entry_type_enum_optional">optional</span>
5314 </li>
5315 </ul>
5316
5317 </td> <!-- entry_type -->
5318
5319 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005320 <p>Whether optical image stabilization is
5321enabled.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005322 </td>
5323
5324 <td class="entry_units">
5325 </td>
5326
5327 <td class="entry_range">
5328 android.<wbr>lens.<wbr>available<wbr>Optical<wbr>Stabilization
5329 </td>
5330
5331 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005332 <p>Will not be supported on most devices.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005333 </td>
5334
5335 <td class="entry_tags">
5336 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005337 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005338 </ul>
5339 </td>
5340
5341 </tr> <!-- end of entry -->
5342
5343
5344
5345 <!-- end of kind -->
5346 </tbody>
5347 <tr><td colspan="7" class="kind">static</td></tr>
5348
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005349 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005350 <tr>
5351 <th class="th_name">Property Name</th>
5352 <th class="th_type">Type</th>
5353 <th class="th_description">Description</th>
5354 <th class="th_units">Units</th>
5355 <th class="th_range">Range</th>
5356 <th class="th_notes">Notes</th>
5357 <th class="th_tags">Tags</th>
5358 </tr>
5359 </thead>
5360
5361 <tbody>
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374 <tr class="entry" id="static_android.lens.info.availableApertures">
5375 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures</td>
5376 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005377 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005378 <span class="entry_type_container">x</span>
5379
5380 <span class="entry_type_array">
5381 n
5382 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005383 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005384
5385
5386 </td> <!-- entry_type -->
5387
5388 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005389 <p>List of supported aperture
5390values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005391 </td>
5392
5393 <td class="entry_units">
5394 </td>
5395
5396 <td class="entry_range">
5397 one entry required,<wbr> > 0
5398 </td>
5399
5400 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005401 <p>If variable aperture not available,<wbr> only setting
5402should be for the fixed aperture</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005403 </td>
5404
5405 <td class="entry_tags">
5406 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005407 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005408 </ul>
5409 </td>
5410
5411 </tr> <!-- end of entry -->
5412
5413
5414 <tr class="entry" id="static_android.lens.info.availableFilterDensities">
5415 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities</td>
5416 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005417 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005418 <span class="entry_type_container">x</span>
5419
5420 <span class="entry_type_array">
5421 n
5422 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005423 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005424
5425
5426 </td> <!-- entry_type -->
5427
5428 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005429 <p>List of supported ND filter
5430values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005431 </td>
5432
5433 <td class="entry_units">
5434 </td>
5435
5436 <td class="entry_range">
5437 one entry required,<wbr> >= 0
5438 </td>
5439
5440 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005441 <p>If not available,<wbr> only setting is 0.<wbr> Otherwise,<wbr>
5442lists the available exposure index values for dimming
5443(2 would mean the filter is set to reduce incoming
5444light by two stops)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005445 </td>
5446
5447 <td class="entry_tags">
5448 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005449 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005450 </ul>
5451 </td>
5452
5453 </tr> <!-- end of entry -->
5454
5455
5456 <tr class="entry" id="static_android.lens.info.availableFocalLengths">
5457 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Focal<wbr>Lengths</td>
5458 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005459 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005460 <span class="entry_type_container">x</span>
5461
5462 <span class="entry_type_array">
5463 n
5464 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005465 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005466 <div class="entry_type_notes">the list of available focal lengths</div>
5467
5468
5469 </td> <!-- entry_type -->
5470
5471 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005472 <p>If fitted with optical zoom,<wbr> what focal
5473lengths are available.<wbr> If not,<wbr> the static focal
5474length</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005475 </td>
5476
5477 <td class="entry_units">
5478 </td>
5479
5480 <td class="entry_range">
5481 > 0
5482 </td>
5483
5484 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005485 <p>If optical zoom not supported,<wbr> only one value
5486should be reported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005487 </td>
5488
5489 <td class="entry_tags">
5490 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005491 <li><a href="#tag_BC">BC</a></li>
5492 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005493 </ul>
5494 </td>
5495
5496 </tr> <!-- end of entry -->
5497
5498
5499 <tr class="entry" id="static_android.lens.info.availableOpticalStabilization">
5500 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>available<wbr>Optical<wbr>Stabilization</td>
5501 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005502 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005503 <span class="entry_type_container">x</span>
5504
5505 <span class="entry_type_array">
5506 n
5507 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005508 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005509 <div class="entry_type_notes">list of enums</div>
5510
5511
5512 </td> <!-- entry_type -->
5513
5514 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005515 <p>List of supported optical image
5516stabilization modes</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005517 </td>
5518
5519 <td class="entry_units">
5520 </td>
5521
5522 <td class="entry_range">
5523 </td>
5524
5525 <td class="entry_notes">
5526 </td>
5527
5528 <td class="entry_tags">
5529 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005530 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005531 </ul>
5532 </td>
5533
5534 </tr> <!-- end of entry -->
5535
5536
5537 <tr class="entry" id="static_android.lens.info.geometricCorrectionMap">
5538 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>geometric<wbr>Correction<wbr>Map</td>
5539 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005540 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005541 <span class="entry_type_container">x</span>
5542
5543 <span class="entry_type_array">
5544 2 x 3 x n x m
5545 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005546 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005547 <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>
5548
5549
5550 </td> <!-- entry_type -->
5551
5552 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005553 <p>A low-resolution map for correction of
5554geometric distortions and chromatic aberrations,<wbr> per
5555color channel</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005556 </td>
5557
5558 <td class="entry_units">
5559 </td>
5560
5561 <td class="entry_range">
5562 N,<wbr> M >= 2
5563 </td>
5564
5565 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005566 <p>[DNG wants a function instead].<wbr> What's easiest
5567for implementers? With an array size (M,<wbr> N),<wbr> entry (i,<wbr>
5568j) provides the destination for pixel (i/<wbr>(M-1) * width,<wbr>
5569j/<wbr>(N-1) * height).<wbr> Data is row-major,<wbr> with each array
5570entry being ( (X,<wbr> Y)_<wbr>r,<wbr> (X,<wbr> Y)_<wbr>g,<wbr> (X,<wbr> Y)_<wbr>b ) )</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005571 </td>
5572
5573 <td class="entry_tags">
5574 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005575 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005576 </ul>
5577 </td>
5578
5579 </tr> <!-- end of entry -->
5580
5581
5582 <tr class="entry" id="static_android.lens.info.geometricCorrectionMapSize">
5583 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>geometric<wbr>Correction<wbr>Map<wbr>Size</td>
5584 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005585 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005586 <span class="entry_type_container">x</span>
5587
5588 <span class="entry_type_array">
5589 2
5590 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005591 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005592 <div class="entry_type_notes">width and height of geometric correction map</div>
5593
5594
5595 </td> <!-- entry_type -->
5596
5597 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005598 <p>Dimensions of geometric correction
5599map</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005600 </td>
5601
5602 <td class="entry_units">
5603 </td>
5604
5605 <td class="entry_range">
5606 Both values >= 2
5607 </td>
5608
5609 <td class="entry_notes">
5610 </td>
5611
5612 <td class="entry_tags">
5613 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005614 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005615 </ul>
5616 </td>
5617
5618 </tr> <!-- end of entry -->
5619
5620
5621 <tr class="entry" id="static_android.lens.info.hyperfocalDistance">
5622 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>hyperfocal<wbr>Distance</td>
5623 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005624 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005625
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005626 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005627
5628
5629 </td> <!-- entry_type -->
5630
5631 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005632 <p>Hyperfocal distance for this lens; set to
56330 if fixed focus</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005634 </td>
5635
5636 <td class="entry_units">
5637 diopters
5638 </td>
5639
5640 <td class="entry_range">
5641 >= 0
5642 </td>
5643
5644 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005645 <p>The hyperfocal distance is used for the old
5646API's 'fixed' setting</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005647 </td>
5648
5649 <td class="entry_tags">
5650 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005651 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005652 </ul>
5653 </td>
5654
5655 </tr> <!-- end of entry -->
5656
5657
5658 <tr class="entry" id="static_android.lens.info.minimumFocusDistance">
5659 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>minimum<wbr>Focus<wbr>Distance</td>
5660 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005661 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005662
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005663 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005664
5665
5666 </td> <!-- entry_type -->
5667
5668 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005669 <p>Shortest distance from frontmost surface
5670of the lens that can be focused correctly</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005671 </td>
5672
5673 <td class="entry_units">
5674 diopters
5675 </td>
5676
5677 <td class="entry_range">
5678 >= 0
5679 </td>
5680
5681 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005682 <p>If the lens is fixed-focus,<wbr> this should be
56830</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005684 </td>
5685
5686 <td class="entry_tags">
5687 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005688 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005689 </ul>
5690 </td>
5691
5692 </tr> <!-- end of entry -->
5693
5694
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005695 <tr class="entry" id="static_android.lens.info.shadingMapSize">
5696 <td class="entry_name">android.<wbr>lens.<wbr>info.<wbr>shading<wbr>Map<wbr>Size</td>
5697 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005698 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005699 <span class="entry_type_container">x</span>
5700
5701 <span class="entry_type_array">
5702 2
5703 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07005704 <span class="entry_type_visibility"> [public as size]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07005705 <div class="entry_type_notes">width and height of lens shading map provided by the HAL.<wbr> (N,<wbr> M)</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005706
5707
5708 </td> <!-- entry_type -->
5709
5710 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005711 <p>Dimensions of lens shading
5712map</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005713 </td>
5714
5715 <td class="entry_units">
5716 </td>
5717
5718 <td class="entry_range">
5719 Both values >= 1
5720 </td>
5721
5722 <td class="entry_notes">
5723 </td>
5724
5725 <td class="entry_tags">
5726 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005727 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005728 </ul>
5729 </td>
5730
5731 </tr> <!-- end of entry -->
5732
5733
5734
5735
5736
5737 <tr class="entry" id="static_android.lens.facing">
5738 <td class="entry_name">android.<wbr>lens.<wbr>facing</td>
5739 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005740 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005741
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005742 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005743
5744 <ul class="entry_type_enum">
5745 <li>
5746 <span class="entry_type_enum_name">FRONT</span>
5747 </li>
5748 <li>
5749 <span class="entry_type_enum_name">BACK</span>
5750 </li>
5751 </ul>
5752
5753 </td> <!-- entry_type -->
5754
5755 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005756 <p>Direction the camera faces relative to
5757device screen</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005758 </td>
5759
5760 <td class="entry_units">
5761 </td>
5762
5763 <td class="entry_range">
5764 </td>
5765
5766 <td class="entry_notes">
5767 </td>
5768
5769 <td class="entry_tags">
5770 </td>
5771
5772 </tr> <!-- end of entry -->
5773
5774
5775 <tr class="entry" id="static_android.lens.opticalAxisAngle">
5776 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Axis<wbr>Angle</td>
5777 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005778 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005779 <span class="entry_type_container">x</span>
5780
5781 <span class="entry_type_array">
5782 2
5783 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005784 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005785 <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>
5786
5787
5788 </td> <!-- entry_type -->
5789
5790 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005791 <p>Relative angle of camera optical axis to the
5792perpendicular axis from the display</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005793 </td>
5794
5795 <td class="entry_units">
5796 </td>
5797
5798 <td class="entry_range">
5799 [0-90) for first angle,<wbr> [0-360) for second
5800 </td>
5801
5802 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005803 <p>Examples:</p>
5804<p>(0,<wbr>0) means that the camera optical axis
5805is perpendicular to the display surface;</p>
5806<p>(45,<wbr>0) means that the camera points 45 degrees up when
5807device is held upright;</p>
5808<p>(45,<wbr>90) means the camera points 45 degrees to the right when
5809the device is held upright.<wbr></p>
5810<p>Use FACING field to determine perpendicular outgoing
5811direction</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005812 </td>
5813
5814 <td class="entry_tags">
5815 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005816 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005817 </ul>
5818 </td>
5819
5820 </tr> <!-- end of entry -->
5821
5822
5823 <tr class="entry" id="static_android.lens.position">
5824 <td class="entry_name">android.<wbr>lens.<wbr>position</td>
5825 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005826 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005827 <span class="entry_type_container">x</span>
5828
5829 <span class="entry_type_array">
5830 3, location in mm, in the sensor coordinate
5831 system
5832 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005833 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005834
5835
5836 </td> <!-- entry_type -->
5837
5838 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005839 <p>Coordinates of camera optical axis on
5840device</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005841 </td>
5842
5843 <td class="entry_units">
5844 </td>
5845
5846 <td class="entry_range">
5847 </td>
5848
5849 <td class="entry_notes">
5850 </td>
5851
5852 <td class="entry_tags">
5853 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005854 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005855 </ul>
5856 </td>
5857
5858 </tr> <!-- end of entry -->
5859
5860
5861
5862 <!-- end of kind -->
5863 </tbody>
5864 <tr><td colspan="7" class="kind">dynamic</td></tr>
5865
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005866 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005867 <tr>
5868 <th class="th_name">Property Name</th>
5869 <th class="th_type">Type</th>
5870 <th class="th_description">Description</th>
5871 <th class="th_units">Units</th>
5872 <th class="th_range">Range</th>
5873 <th class="th_notes">Notes</th>
5874 <th class="th_tags">Tags</th>
5875 </tr>
5876 </thead>
5877
5878 <tbody>
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889 <tr class="entry" id="dynamic_android.lens.aperture">
5890 <td class="entry_name">android.<wbr>lens.<wbr>aperture</td>
5891 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005892 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005893
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005894 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005895
5896
5897 </td> <!-- entry_type -->
5898
5899 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005900 <p>Size of the lens aperture</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005901 </td>
5902
5903 <td class="entry_units">
5904 f-number (f/<wbr>NNN)
5905 </td>
5906
5907 <td class="entry_range">
5908 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Apertures
5909 </td>
5910
5911 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005912 <p>Will not be supported on most devices.<wbr> Can only
5913pick from supported list</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005914 </td>
5915
5916 <td class="entry_tags">
5917 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005918 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005919 </ul>
5920 </td>
5921
5922 </tr> <!-- end of entry -->
5923
5924
5925 <tr class="entry" id="dynamic_android.lens.filterDensity">
5926 <td class="entry_name">android.<wbr>lens.<wbr>filter<wbr>Density</td>
5927 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005928 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005929
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005930 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005931
5932
5933 </td> <!-- entry_type -->
5934
5935 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005936 <p>State of lens neutral density
5937filter(s)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005938 </td>
5939
5940 <td class="entry_units">
5941 number of stops of filtering
5942 </td>
5943
5944 <td class="entry_range">
5945 android.<wbr>lens.<wbr>info.<wbr>available<wbr>Filter<wbr>Densities
5946 </td>
5947
5948 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005949 <p>Will not be supported on most devices.<wbr> Can only
5950pick from supported list</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005951 </td>
5952
5953 <td class="entry_tags">
5954 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005955 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005956 </ul>
5957 </td>
5958
5959 </tr> <!-- end of entry -->
5960
5961
5962 <tr class="entry" id="dynamic_android.lens.focalLength">
5963 <td class="entry_name">android.<wbr>lens.<wbr>focal<wbr>Length</td>
5964 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08005965 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005966
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07005967 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005968
5969
5970 </td> <!-- entry_type -->
5971
5972 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005973 <p>Lens optical zoom setting</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005974 </td>
5975
5976 <td class="entry_units">
5977 focal length in mm
5978 </td>
5979
5980 <td class="entry_range">
5981 > 0
5982 </td>
5983
5984 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08005985 <p>Will not be supported on most devices.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005986 </td>
5987
5988 <td class="entry_tags">
5989 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08005990 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08005991 </ul>
5992 </td>
5993
5994 </tr> <!-- end of entry -->
5995
5996
5997 <tr class="entry" id="dynamic_android.lens.focusDistance">
5998 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Distance</td>
5999 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006000 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006001
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006002 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006003
6004
6005 </td> <!-- entry_type -->
6006
6007 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006008 <p>Distance to plane of sharpest focus,<wbr>
6009measured from frontmost surface of the lens</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006010 </td>
6011
6012 <td class="entry_units">
6013 diopters (1/<wbr>m)
6014 </td>
6015
6016 <td class="entry_range">
6017 >= 0
6018 </td>
6019
6020 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006021 <p>Should be zero for fixed-focus cameras</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006022 </td>
6023
6024 <td class="entry_tags">
6025 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006026 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006027 </ul>
6028 </td>
6029
6030 </tr> <!-- end of entry -->
6031
6032
6033 <tr class="entry" id="dynamic_android.lens.focusRange">
6034 <td class="entry_name">android.<wbr>lens.<wbr>focus<wbr>Range</td>
6035 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006036 <span class="entry_type_name">float</span>
Zhijun He50451ad2013-09-26 10:27:47 -07006037 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006038
Zhijun He50451ad2013-09-26 10:27:47 -07006039 <span class="entry_type_array">
6040 2
6041 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006042 <span class="entry_type_visibility"> [public]</span>
Zhijun He50451ad2013-09-26 10:27:47 -07006043 <div class="entry_type_notes">Range of scene distances that are in focus</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006044
6045
6046 </td> <!-- entry_type -->
6047
6048 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006049 <p>The range of scene distances that are in
6050sharp focus (depth of field)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006051 </td>
6052
6053 <td class="entry_units">
6054 pair of focus distances in diopters: (near,<wbr>
6055 far)
6056 </td>
6057
6058 <td class="entry_range">
6059 >=0
6060 </td>
6061
6062 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006063 <p>If variable focus not supported,<wbr> can still report
6064fixed depth of field range</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006065 </td>
6066
6067 <td class="entry_tags">
6068 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006069 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006070 </ul>
6071 </td>
6072
6073 </tr> <!-- end of entry -->
6074
6075
6076 <tr class="entry" id="dynamic_android.lens.opticalStabilizationMode">
6077 <td class="entry_name">android.<wbr>lens.<wbr>optical<wbr>Stabilization<wbr>Mode</td>
6078 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006079 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006080
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006081 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006082
6083 <ul class="entry_type_enum">
6084 <li>
6085 <span class="entry_type_enum_name">OFF</span>
6086 </li>
6087 <li>
6088 <span class="entry_type_enum_name">ON</span>
6089 <span class="entry_type_enum_optional">optional</span>
6090 </li>
6091 </ul>
6092
6093 </td> <!-- entry_type -->
6094
6095 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006096 <p>Whether optical image stabilization is
6097enabled.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006098 </td>
6099
6100 <td class="entry_units">
6101 </td>
6102
6103 <td class="entry_range">
6104 android.<wbr>lens.<wbr>available<wbr>Optical<wbr>Stabilization
6105 </td>
6106
6107 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006108 <p>Will not be supported on most devices.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006109 </td>
6110
6111 <td class="entry_tags">
6112 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006113 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006114 </ul>
6115 </td>
6116
6117 </tr> <!-- end of entry -->
6118
6119
6120 <tr class="entry" id="dynamic_android.lens.state">
6121 <td class="entry_name">android.<wbr>lens.<wbr>state</td>
6122 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006123 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006124
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006125 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006126
6127 <ul class="entry_type_enum">
6128 <li>
6129 <span class="entry_type_enum_name">STATIONARY</span>
6130 </li>
Igor Murashkin0e323a12013-09-06 11:50:48 -07006131 <li>
6132 <span class="entry_type_enum_name">MOVING</span>
6133 </li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006134 </ul>
6135
6136 </td> <!-- entry_type -->
6137
6138 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006139 <p>Current lens status</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006140 </td>
6141
6142 <td class="entry_units">
6143 </td>
6144
6145 <td class="entry_range">
6146 </td>
6147
6148 <td class="entry_notes">
6149 </td>
6150
6151 <td class="entry_tags">
6152 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006153 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006154 </ul>
6155 </td>
6156
6157 </tr> <!-- end of entry -->
6158
6159
6160
6161 <!-- end of kind -->
6162 </tbody>
6163
6164 <!-- end of section -->
6165 <tr><td colspan="7" id="section_noiseReduction" class="section">noiseReduction</td></tr>
6166
6167
6168 <tr><td colspan="7" class="kind">controls</td></tr>
6169
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006170 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006171 <tr>
6172 <th class="th_name">Property Name</th>
6173 <th class="th_type">Type</th>
6174 <th class="th_description">Description</th>
6175 <th class="th_units">Units</th>
6176 <th class="th_range">Range</th>
6177 <th class="th_notes">Notes</th>
6178 <th class="th_tags">Tags</th>
6179 </tr>
6180 </thead>
6181
6182 <tbody>
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193 <tr class="entry" id="controls_android.noiseReduction.mode">
6194 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>mode</td>
6195 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006196 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006197
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006198 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006199
6200 <ul class="entry_type_enum">
6201 <li>
6202 <span class="entry_type_enum_name">OFF</span>
6203 <span class="entry_type_enum_notes">No noise reduction is applied</span>
6204 </li>
6205 <li>
6206 <span class="entry_type_enum_name">FAST</span>
6207 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
6208 bayer output</span>
6209 </li>
6210 <li>
6211 <span class="entry_type_enum_name">HIGH_QUALITY</span>
6212 <span class="entry_type_enum_notes">May slow down frame rate to provide highest
6213 quality</span>
6214 </li>
6215 </ul>
6216
6217 </td> <!-- entry_type -->
6218
6219 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006220 <p>Mode of operation for the noise reduction
6221algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006222 </td>
6223
6224 <td class="entry_units">
6225 </td>
6226
6227 <td class="entry_range">
6228 android.<wbr>noise<wbr>Reduction.<wbr>available<wbr>Modes
6229 </td>
6230
6231 <td class="entry_notes">
6232 </td>
6233
6234 <td class="entry_tags">
6235 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006236 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006237 </ul>
6238 </td>
6239
6240 </tr> <!-- end of entry -->
6241
6242
6243 <tr class="entry" id="controls_android.noiseReduction.strength">
6244 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>strength</td>
6245 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006246 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006247
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006248 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006249
6250
6251 </td> <!-- entry_type -->
6252
6253 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006254 <p>Control the amount of noise reduction
6255applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006256 </td>
6257
6258 <td class="entry_units">
6259 1-10; 10 is max noise reduction
6260 </td>
6261
6262 <td class="entry_range">
6263 1 - 10
6264 </td>
6265
6266 <td class="entry_notes">
6267 </td>
6268
6269 <td class="entry_tags">
6270 </td>
6271
6272 </tr> <!-- end of entry -->
6273
6274
6275
6276 <!-- end of kind -->
6277 </tbody>
6278 <tr><td colspan="7" class="kind">dynamic</td></tr>
6279
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006280 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006281 <tr>
6282 <th class="th_name">Property Name</th>
6283 <th class="th_type">Type</th>
6284 <th class="th_description">Description</th>
6285 <th class="th_units">Units</th>
6286 <th class="th_range">Range</th>
6287 <th class="th_notes">Notes</th>
6288 <th class="th_tags">Tags</th>
6289 </tr>
6290 </thead>
6291
6292 <tbody>
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303 <tr class="entry" id="dynamic_android.noiseReduction.mode">
6304 <td class="entry_name">android.<wbr>noise<wbr>Reduction.<wbr>mode</td>
6305 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006306 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006307
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006308 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006309
6310 <ul class="entry_type_enum">
6311 <li>
6312 <span class="entry_type_enum_name">OFF</span>
6313 <span class="entry_type_enum_notes">No noise reduction is applied</span>
6314 </li>
6315 <li>
6316 <span class="entry_type_enum_name">FAST</span>
6317 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
6318 bayer output</span>
6319 </li>
6320 <li>
6321 <span class="entry_type_enum_name">HIGH_QUALITY</span>
6322 <span class="entry_type_enum_notes">May slow down frame rate to provide highest
6323 quality</span>
6324 </li>
6325 </ul>
6326
6327 </td> <!-- entry_type -->
6328
6329 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006330 <p>Mode of operation for the noise reduction
6331algorithm</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006332 </td>
6333
6334 <td class="entry_units">
6335 </td>
6336
6337 <td class="entry_range">
6338 android.<wbr>noise<wbr>Reduction.<wbr>available<wbr>Modes
6339 </td>
6340
6341 <td class="entry_notes">
6342 </td>
6343
6344 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006345 <ul class="entry_tags">
6346 <li><a href="#tag_V1">V1</a></li>
6347 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006348 </td>
6349
6350 </tr> <!-- end of entry -->
6351
6352
6353
6354 <!-- end of kind -->
6355 </tbody>
6356
6357 <!-- end of section -->
6358 <tr><td colspan="7" id="section_quirks" class="section">quirks</td></tr>
6359
6360
6361 <tr><td colspan="7" class="kind">static</td></tr>
6362
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006363 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006364 <tr>
6365 <th class="th_name">Property Name</th>
6366 <th class="th_type">Type</th>
6367 <th class="th_description">Description</th>
6368 <th class="th_units">Units</th>
6369 <th class="th_range">Range</th>
6370 <th class="th_notes">Notes</th>
6371 <th class="th_tags">Tags</th>
6372 </tr>
6373 </thead>
6374
6375 <tbody>
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386 <tr class="entry" id="static_android.quirks.meteringCropRegion">
6387 <td class="entry_name">android.<wbr>quirks.<wbr>metering<wbr>Crop<wbr>Region</td>
6388 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006389 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006390
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006391 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006392
6393
6394 </td> <!-- entry_type -->
6395
6396 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006397 <p>If set to 1,<wbr> the camera service does not
6398scale 'normalized' coordinates with respect to the crop
6399region.<wbr> This applies to metering input (a{e,<wbr>f,<wbr>wb}Region
6400and output (face rectangles).<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006401 </td>
6402
6403 <td class="entry_units">
6404 </td>
6405
6406 <td class="entry_range">
6407 </td>
6408
6409 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006410 <p>Normalized coordinates refer to those in the
6411(-1000,<wbr>1000) range mentioned in the
6412android.<wbr>hardware.<wbr><wbr>Camera API.<wbr></p>
6413<p>HAL implementations should instead always use and emit
6414sensor array-relative coordinates for all region data.<wbr> Does
6415not need to be listed in static metadata.<wbr> Support will be
6416removed in future versions of camera service.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006417 </td>
6418
6419 <td class="entry_tags">
6420 </td>
6421
6422 </tr> <!-- end of entry -->
6423
6424
6425 <tr class="entry" id="static_android.quirks.triggerAfWithAuto">
6426 <td class="entry_name">android.<wbr>quirks.<wbr>trigger<wbr>Af<wbr>With<wbr>Auto</td>
6427 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006428 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006429
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006430 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006431
6432
6433 </td> <!-- entry_type -->
6434
6435 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006436 <p>If set to 1,<wbr> then the camera service always
6437switches to FOCUS_<wbr>MODE_<wbr>AUTO before issuing a AF
6438trigger.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006439 </td>
6440
6441 <td class="entry_units">
6442 </td>
6443
6444 <td class="entry_range">
6445 </td>
6446
6447 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006448 <p>HAL implementations should implement AF trigger
6449modes for AUTO,<wbr> MACRO,<wbr> CONTINUOUS_<wbr>FOCUS,<wbr> and
6450CONTINUOUS_<wbr>PICTURE modes instead of using this flag.<wbr> Does
6451not need to be listed in static metadata.<wbr> Support will be
6452removed in future versions of camera service</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006453 </td>
6454
6455 <td class="entry_tags">
6456 </td>
6457
6458 </tr> <!-- end of entry -->
6459
6460
6461 <tr class="entry" id="static_android.quirks.useZslFormat">
6462 <td class="entry_name">android.<wbr>quirks.<wbr>use<wbr>Zsl<wbr>Format</td>
6463 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006464 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006465
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006466 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006467
6468
6469 </td> <!-- entry_type -->
6470
6471 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006472 <p>If set to 1,<wbr> the camera service uses
6473CAMERA2_<wbr>PIXEL_<wbr>FORMAT_<wbr>ZSL instead of
6474HAL_<wbr>PIXEL_<wbr>FORMAT_<wbr>IMPLEMENTATION_<wbr>DEFINED for the zero
6475shutter lag stream</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006476 </td>
6477
6478 <td class="entry_units">
6479 </td>
6480
6481 <td class="entry_range">
6482 </td>
6483
6484 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006485 <p>HAL implementations should use gralloc usage flags
6486to determine that a stream will be used for
6487zero-shutter-lag,<wbr> instead of relying on an explicit
6488format setting.<wbr> Does not need to be listed in static
6489metadata.<wbr> Support will be removed in future versions of
6490camera service.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006491 </td>
6492
6493 <td class="entry_tags">
6494 </td>
6495
6496 </tr> <!-- end of entry -->
6497
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07006498
6499 <tr class="entry" id="static_android.quirks.usePartialResult">
6500 <td class="entry_name">android.<wbr>quirks.<wbr>use<wbr>Partial<wbr>Result</td>
6501 <td class="entry_type">
6502 <span class="entry_type_name">byte</span>
6503
Eino-Ville Talvala52a64a52013-11-07 14:43:43 -08006504 <span class="entry_type_visibility"> [hidden]</span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07006505
6506
6507 </td> <!-- entry_type -->
6508
6509 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006510 <p>If set to 1,<wbr> the HAL will always split result
6511metadata for a single capture into multiple buffers,<wbr>
6512returned using multiple process_<wbr>capture_<wbr>result calls.<wbr></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07006513 </td>
6514
6515 <td class="entry_units">
6516 </td>
6517
6518 <td class="entry_range">
6519 </td>
6520
6521 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006522 <p>Does not need to be listed in static
6523metadata.<wbr> Support for partial results will be reworked in
6524future versions of camera service.<wbr> This quirk will stop
6525working at that point; DO NOT USE without careful
6526consideration of future support.<wbr></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07006527 </td>
6528
6529 <td class="entry_tags">
6530 </td>
6531
6532 </tr> <!-- end of entry -->
6533
6534
6535
6536 <!-- end of kind -->
6537 </tbody>
6538 <tr><td colspan="7" class="kind">dynamic</td></tr>
6539
6540 <thead class="entries_header">
6541 <tr>
6542 <th class="th_name">Property Name</th>
6543 <th class="th_type">Type</th>
6544 <th class="th_description">Description</th>
6545 <th class="th_units">Units</th>
6546 <th class="th_range">Range</th>
6547 <th class="th_notes">Notes</th>
6548 <th class="th_tags">Tags</th>
6549 </tr>
6550 </thead>
6551
6552 <tbody>
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563 <tr class="entry" id="dynamic_android.quirks.partialResult">
6564 <td class="entry_name">android.<wbr>quirks.<wbr>partial<wbr>Result</td>
6565 <td class="entry_type">
6566 <span class="entry_type_name entry_type_name_enum">byte</span>
6567
Eino-Ville Talvala52a64a52013-11-07 14:43:43 -08006568 <span class="entry_type_visibility"> [hidden as boolean]</span>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07006569
6570 <ul class="entry_type_enum">
6571 <li>
6572 <span class="entry_type_enum_name">FINAL</span>
6573 <span class="entry_type_enum_notes">The last or only metadata result buffer
6574 for this capture.<wbr></span>
6575 </li>
6576 <li>
6577 <span class="entry_type_enum_name">PARTIAL</span>
6578 <span class="entry_type_enum_notes">A partial buffer of result metadata for this
6579 capture.<wbr> More result buffers for this capture will be sent
6580 by the HAL,<wbr> the last of which will be marked
6581 FINAL.<wbr></span>
6582 </li>
6583 </ul>
6584
6585 </td> <!-- entry_type -->
6586
6587 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006588 <p>Whether a result given to the framework is the
6589final one for the capture,<wbr> or only a partial that contains a
6590subset of the full set of dynamic metadata
6591values.<wbr></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07006592 </td>
6593
6594 <td class="entry_units">
6595 </td>
6596
6597 <td class="entry_range">
6598 Optional.<wbr> Default value is FINAL.<wbr>
6599 </td>
6600
6601 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006602 <p>The entries in the result metadata buffers for a
6603single capture may not overlap,<wbr> except for this entry.<wbr> The
6604FINAL buffers must retain FIFO ordering relative to the
6605requests that generate them,<wbr> so the FINAL buffer for frame 3 must
6606always be sent to the framework after the FINAL buffer for frame 2,<wbr> and
6607before the FINAL buffer for frame 4.<wbr> PARTIAL buffers may be returned
6608in any order relative to other frames,<wbr> but all PARTIAL buffers for a given
6609capture must arrive before the FINAL buffer for that capture.<wbr> This entry may
6610only be used by the HAL if quirks.<wbr>usePartialResult is set to 1.<wbr></p>
Eino-Ville Talvala82ce3312013-10-09 18:21:30 -07006611 </td>
6612
6613 <td class="entry_tags">
6614 </td>
6615
6616 </tr> <!-- end of entry -->
6617
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006618
6619
6620 <!-- end of kind -->
6621 </tbody>
6622
6623 <!-- end of section -->
6624 <tr><td colspan="7" id="section_request" class="section">request</td></tr>
6625
6626
6627 <tr><td colspan="7" class="kind">controls</td></tr>
6628
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006629 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006630 <tr>
6631 <th class="th_name">Property Name</th>
6632 <th class="th_type">Type</th>
6633 <th class="th_description">Description</th>
6634 <th class="th_units">Units</th>
6635 <th class="th_range">Range</th>
6636 <th class="th_notes">Notes</th>
6637 <th class="th_tags">Tags</th>
6638 </tr>
6639 </thead>
6640
6641 <tbody>
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652 <tr class="entry" id="controls_android.request.frameCount">
6653 <td class="entry_name">android.<wbr>request.<wbr>frame<wbr>Count</td>
6654 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006655 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006656
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006657 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006658
6659
6660 </td> <!-- entry_type -->
6661
6662 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006663 <p>A frame counter set by the framework.<wbr> Must
6664be maintained unchanged in output frame.<wbr> This value monotonically
6665increases with every new result (that is,<wbr> each new result has a unique
6666frameCount value).<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006667 </td>
6668
6669 <td class="entry_units">
6670 incrementing integer
6671 </td>
6672
6673 <td class="entry_range">
6674 Any int
6675 </td>
6676
6677 <td class="entry_notes">
6678 </td>
6679
6680 <td class="entry_tags">
6681 </td>
6682
6683 </tr> <!-- end of entry -->
6684
6685
6686 <tr class="entry" id="controls_android.request.id">
6687 <td class="entry_name">android.<wbr>request.<wbr>id</td>
6688 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006689 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006690
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006691 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006692
6693
6694 </td> <!-- entry_type -->
6695
6696 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006697 <p>An application-specified ID for the current
6698request.<wbr> Must be maintained unchanged in output
6699frame</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006700 </td>
6701
6702 <td class="entry_units">
6703 arbitrary integer assigned by application
6704 </td>
6705
6706 <td class="entry_range">
6707 Any int
6708 </td>
6709
6710 <td class="entry_notes">
6711 </td>
6712
6713 <td class="entry_tags">
6714 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006715 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006716 </ul>
6717 </td>
6718
6719 </tr> <!-- end of entry -->
6720
6721
6722 <tr class="entry" id="controls_android.request.inputStreams">
6723 <td class="entry_name">android.<wbr>request.<wbr>input<wbr>Streams</td>
6724 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07006725 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006726 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006727
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006728 <span class="entry_type_array">
6729 n
6730 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006731 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006732
6733
6734 </td> <!-- entry_type -->
6735
6736 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006737 <p>List which camera reprocess stream is used
6738for the source of reprocessing data.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006739 </td>
6740
6741 <td class="entry_units">
6742 List of camera reprocess stream IDs
6743 </td>
6744
6745 <td class="entry_range">
6746 Typically,<wbr> only one entry allowed,<wbr> must be a valid
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006747 reprocess stream ID.<wbr>
6748
6749 If android.<wbr>jpeg.<wbr>needs<wbr>Thumbnail is set,<wbr> then multiple
6750 reprocess streams may be included in a single request; they
6751 must be different scaled versions of the same image.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006752 </td>
6753
6754 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006755 <p>Only meaningful when android.<wbr>request.<wbr>type ==
6756REPROCESS.<wbr> Ignored otherwise</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006757 </td>
6758
6759 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006760 <ul class="entry_tags">
6761 <li><a href="#tag_HAL2">HAL2</a></li>
6762 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006763 </td>
6764
6765 </tr> <!-- end of entry -->
6766
6767
6768 <tr class="entry" id="controls_android.request.metadataMode">
6769 <td class="entry_name">android.<wbr>request.<wbr>metadata<wbr>Mode</td>
6770 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006771 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006772
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006773 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006774
6775 <ul class="entry_type_enum">
6776 <li>
6777 <span class="entry_type_enum_name">NONE</span>
6778 <span class="entry_type_enum_notes">No metadata should be produced on output,<wbr> except
6779 for application-bound buffer data.<wbr> If no
6780 application-bound streams exist,<wbr> no frame should be
6781 placed in the output frame queue.<wbr> If such streams
6782 exist,<wbr> a frame should be placed on the output queue
6783 with null metadata but with the necessary output buffer
6784 information.<wbr> Timestamp information should still be
6785 included with any output stream buffers</span>
6786 </li>
6787 <li>
6788 <span class="entry_type_enum_name">FULL</span>
6789 <span class="entry_type_enum_notes">All metadata should be produced.<wbr> Statistics will
6790 only be produced if they are separately
6791 enabled</span>
6792 </li>
6793 </ul>
6794
6795 </td> <!-- entry_type -->
6796
6797 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006798 <p>How much metadata to produce on
6799output</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006800 </td>
6801
6802 <td class="entry_units">
6803 </td>
6804
6805 <td class="entry_range">
6806 </td>
6807
6808 <td class="entry_notes">
6809 </td>
6810
6811 <td class="entry_tags">
6812 </td>
6813
6814 </tr> <!-- end of entry -->
6815
6816
6817 <tr class="entry" id="controls_android.request.outputStreams">
6818 <td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td>
6819 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07006820 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006821 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006822
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006823 <span class="entry_type_array">
6824 n
6825 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006826 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006827
6828
6829 </td> <!-- entry_type -->
6830
6831 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006832 <p>Lists which camera output streams image data
6833from this capture must be sent to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006834 </td>
6835
6836 <td class="entry_units">
6837 List of camera stream IDs
6838 </td>
6839
6840 <td class="entry_range">
6841 List must only include streams that have been
6842 created
6843 </td>
6844
6845 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006846 <p>If no output streams are listed,<wbr> then the image
6847data should simply be discarded.<wbr> The image data must
6848still be captured for metadata and statistics production,<wbr>
6849and the lens and flash must operate as requested.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006850 </td>
6851
6852 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006853 <ul class="entry_tags">
6854 <li><a href="#tag_HAL2">HAL2</a></li>
6855 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006856 </td>
6857
6858 </tr> <!-- end of entry -->
6859
6860
6861 <tr class="entry" id="controls_android.request.type">
6862 <td class="entry_name">android.<wbr>request.<wbr>type</td>
6863 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006864 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006865
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006866 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006867
6868 <ul class="entry_type_enum">
6869 <li>
6870 <span class="entry_type_enum_name">CAPTURE</span>
6871 <span class="entry_type_enum_notes">Capture a new image from the imaging hardware,<wbr>
6872 and process it according to the
6873 settings</span>
6874 </li>
6875 <li>
6876 <span class="entry_type_enum_name">REPROCESS</span>
6877 <span class="entry_type_enum_notes">Process previously captured data; the
6878 android.<wbr>request.<wbr>input<wbr>Stream parameter determines the
6879 source reprocessing stream.<wbr> TODO: Mark dynamic metadata
6880 needed for reprocessing with [RP]</span>
6881 </li>
6882 </ul>
6883
6884 </td> <!-- entry_type -->
6885
6886 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006887 <p>The type of the request; either CAPTURE or
6888REPROCESS.<wbr> For HAL3,<wbr> this tag is redundant.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006889 </td>
6890
6891 <td class="entry_units">
6892 </td>
6893
6894 <td class="entry_range">
6895 </td>
6896
6897 <td class="entry_notes">
6898 </td>
6899
6900 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07006901 <ul class="entry_tags">
6902 <li><a href="#tag_HAL2">HAL2</a></li>
6903 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006904 </td>
6905
6906 </tr> <!-- end of entry -->
6907
6908
6909
6910 <!-- end of kind -->
6911 </tbody>
6912 <tr><td colspan="7" class="kind">static</td></tr>
6913
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006914 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006915 <tr>
6916 <th class="th_name">Property Name</th>
6917 <th class="th_type">Type</th>
6918 <th class="th_description">Description</th>
6919 <th class="th_units">Units</th>
6920 <th class="th_range">Range</th>
6921 <th class="th_notes">Notes</th>
6922 <th class="th_tags">Tags</th>
6923 </tr>
6924 </thead>
6925
6926 <tbody>
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937 <tr class="entry" id="static_android.request.maxNumOutputStreams">
6938 <td class="entry_name">android.<wbr>request.<wbr>max<wbr>Num<wbr>Output<wbr>Streams</td>
6939 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006940 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006941 <span class="entry_type_container">x</span>
6942
6943 <span class="entry_type_array">
6944 3
6945 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006946 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006947
6948
6949 </td> <!-- entry_type -->
6950
6951 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006952 <p>How many output streams can be allocated at
6953the same time for each type of stream</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006954 </td>
6955
6956 <td class="entry_units">
6957 The number of raw sensor streams; the number of
6958 processed,<wbr> uncompressed streams; and the number of
6959 JPEG-compressed streams
6960 </td>
6961
6962 <td class="entry_range">
6963 >=1 for Raw and JPEG-compressed stream.<wbr> >= 3
6964 for processed,<wbr> uncompressed streams
6965 </td>
6966
6967 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006968 <p>Video snapshot with preview callbacks requires 3
6969processed streams (preview,<wbr> record,<wbr> app callbacks) and
6970one JPEG stream (snapshot)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006971 </td>
6972
6973 <td class="entry_tags">
6974 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08006975 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006976 </ul>
6977 </td>
6978
6979 </tr> <!-- end of entry -->
6980
6981
6982 <tr class="entry" id="static_android.request.maxNumReprocessStreams">
6983 <td class="entry_name">android.<wbr>request.<wbr>max<wbr>Num<wbr>Reprocess<wbr>Streams</td>
6984 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08006985 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006986 <span class="entry_type_container">x</span>
6987
6988 <span class="entry_type_array">
6989 1
6990 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07006991 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006992
6993
6994 </td> <!-- entry_type -->
6995
6996 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08006997 <p>How many reprocessing streams of any type
6998can be allocated at the same time</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08006999 </td>
7000
7001 <td class="entry_units">
7002 </td>
7003
7004 <td class="entry_range">
7005 >= 1
7006 </td>
7007
7008 <td class="entry_notes">
7009 </td>
7010
7011 <td class="entry_tags">
7012 </td>
7013
7014 </tr> <!-- end of entry -->
7015
7016
7017
7018 <!-- end of kind -->
7019 </tbody>
7020 <tr><td colspan="7" class="kind">dynamic</td></tr>
7021
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007022 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007023 <tr>
7024 <th class="th_name">Property Name</th>
7025 <th class="th_type">Type</th>
7026 <th class="th_description">Description</th>
7027 <th class="th_units">Units</th>
7028 <th class="th_range">Range</th>
7029 <th class="th_notes">Notes</th>
7030 <th class="th_tags">Tags</th>
7031 </tr>
7032 </thead>
7033
7034 <tbody>
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045 <tr class="entry" id="dynamic_android.request.frameCount">
7046 <td class="entry_name">android.<wbr>request.<wbr>frame<wbr>Count</td>
7047 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007048 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007049
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007050 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007051
7052
7053 </td> <!-- entry_type -->
7054
7055 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007056 <p>A frame counter set by the framework.<wbr> This value monotonically
7057increases with every new result (that is,<wbr> each new result has a unique
7058frameCount value).<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007059 </td>
7060
7061 <td class="entry_units">
7062 count of frames
7063 </td>
7064
7065 <td class="entry_range">
7066 > 0
7067 </td>
7068
7069 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007070 <p>Reset on release()</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007071 </td>
7072
7073 <td class="entry_tags">
7074 </td>
7075
7076 </tr> <!-- end of entry -->
7077
7078
7079 <tr class="entry" id="dynamic_android.request.id">
7080 <td class="entry_name">android.<wbr>request.<wbr>id</td>
7081 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007082 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007083
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007084 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007085
7086
7087 </td> <!-- entry_type -->
7088
7089 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007090 <p>An application-specified ID for the current
7091request.<wbr> Must be maintained unchanged in output
7092frame</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007093 </td>
7094
7095 <td class="entry_units">
7096 arbitrary integer assigned by application
7097 </td>
7098
7099 <td class="entry_range">
7100 Any int
7101 </td>
7102
7103 <td class="entry_notes">
7104 </td>
7105
7106 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007107 <ul class="entry_tags">
7108 <li><a href="#tag_V1">V1</a></li>
7109 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007110 </td>
7111
7112 </tr> <!-- end of entry -->
7113
7114
7115 <tr class="entry" id="dynamic_android.request.metadataMode">
7116 <td class="entry_name">android.<wbr>request.<wbr>metadata<wbr>Mode</td>
7117 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007118 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007119
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007120 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007121
7122 <ul class="entry_type_enum">
7123 <li>
7124 <span class="entry_type_enum_name">NONE</span>
7125 <span class="entry_type_enum_notes">No metadata should be produced on output,<wbr> except
7126 for application-bound buffer data.<wbr> If no
7127 application-bound streams exist,<wbr> no frame should be
7128 placed in the output frame queue.<wbr> If such streams
7129 exist,<wbr> a frame should be placed on the output queue
7130 with null metadata but with the necessary output buffer
7131 information.<wbr> Timestamp information should still be
7132 included with any output stream buffers</span>
7133 </li>
7134 <li>
7135 <span class="entry_type_enum_name">FULL</span>
7136 <span class="entry_type_enum_notes">All metadata should be produced.<wbr> Statistics will
7137 only be produced if they are separately
7138 enabled</span>
7139 </li>
7140 </ul>
7141
7142 </td> <!-- entry_type -->
7143
7144 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007145 <p>How much metadata to produce on
7146output</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007147 </td>
7148
7149 <td class="entry_units">
7150 </td>
7151
7152 <td class="entry_range">
7153 </td>
7154
7155 <td class="entry_notes">
7156 </td>
7157
7158 <td class="entry_tags">
7159 </td>
7160
7161 </tr> <!-- end of entry -->
7162
7163
7164 <tr class="entry" id="dynamic_android.request.outputStreams">
7165 <td class="entry_name">android.<wbr>request.<wbr>output<wbr>Streams</td>
7166 <td class="entry_type">
Zhijun Hee36cdbe2013-09-06 14:28:37 -07007167 <span class="entry_type_name">int32</span>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007168 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007169
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007170 <span class="entry_type_array">
7171 n
7172 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007173 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007174
7175
7176 </td> <!-- entry_type -->
7177
7178 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007179 <p>Lists which camera output streams image data
7180from this capture must be sent to</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007181 </td>
7182
7183 <td class="entry_units">
7184 List of camera stream IDs
7185 </td>
7186
7187 <td class="entry_range">
7188 List must only include streams that have been
7189 created
7190 </td>
7191
7192 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007193 <p>If no output streams are listed,<wbr> then the image
7194data should simply be discarded.<wbr> The image data must
7195still be captured for metadata and statistics production,<wbr>
7196and the lens and flash must operate as requested.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007197 </td>
7198
7199 <td class="entry_tags">
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -07007200 <ul class="entry_tags">
7201 <li><a href="#tag_HAL2">HAL2</a></li>
7202 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007203 </td>
7204
7205 </tr> <!-- end of entry -->
7206
7207
7208
7209 <!-- end of kind -->
7210 </tbody>
7211
7212 <!-- end of section -->
7213 <tr><td colspan="7" id="section_scaler" class="section">scaler</td></tr>
7214
7215
7216 <tr><td colspan="7" class="kind">controls</td></tr>
7217
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007218 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007219 <tr>
7220 <th class="th_name">Property Name</th>
7221 <th class="th_type">Type</th>
7222 <th class="th_description">Description</th>
7223 <th class="th_units">Units</th>
7224 <th class="th_range">Range</th>
7225 <th class="th_notes">Notes</th>
7226 <th class="th_tags">Tags</th>
7227 </tr>
7228 </thead>
7229
7230 <tbody>
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241 <tr class="entry" id="controls_android.scaler.cropRegion">
7242 <td class="entry_name">android.<wbr>scaler.<wbr>crop<wbr>Region</td>
7243 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007244 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007245 <span class="entry_type_container">x</span>
7246
7247 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007248 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007249 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007250 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007251
7252
7253 </td> <!-- entry_type -->
7254
7255 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007256 <p>(x,<wbr> y,<wbr> width,<wbr> height).<wbr></p>
7257<p>A rectangle with the top-level corner of (x,<wbr>y) and size
7258(width,<wbr> height).<wbr> The region of the sensor that is used for
7259output.<wbr> Each stream must use this rectangle to produce its
7260output,<wbr> cropping to a smaller region if necessary to
7261maintain the stream's aspect ratio.<wbr></p>
7262<p><wbr>H<wbr>A<wbr>L2.<wbr>x uses only (x,<wbr> y,<wbr> width)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007263 </td>
7264
7265 <td class="entry_units">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007266 (x,<wbr>y) of top-left corner,<wbr> width and height of region
7267 in pixels; (0,<wbr>0) is top-left corner of
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007268 android.<wbr>sensor.<wbr>active<wbr>Array<wbr>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007269 </td>
7270
7271 <td class="entry_range">
7272 </td>
7273
7274 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007275 <p>Any additional per-stream cropping must be done to
7276maximize the final pixel area of the stream.<wbr></p>
7277<p>For example,<wbr> if the crop region is set to a 4:3 aspect
7278ratio,<wbr> then 4:3 streams should use the exact crop
7279region.<wbr> 16:9 streams should further crop vertically
7280(letterbox).<wbr></p>
7281<p>Conversely,<wbr> if the crop region is set to a 16:9,<wbr> then 4:3
7282outputs should crop horizontally (pillarbox),<wbr> and 16:9
7283streams should match exactly.<wbr> These additional crops must
7284be centered within the crop region.<wbr></p>
7285<p>The output streams must maintain square pixels at all
7286times,<wbr> no matter what the relative aspect ratios of the
7287crop region and the stream are.<wbr> Negative values for
7288corner are allowed for raw output if full pixel array is
7289larger than active pixel array.<wbr> Width and height may be
7290rounded to nearest larger supportable width,<wbr> especially
7291for raw output,<wbr> where only a few fixed scales may be
7292possible.<wbr> The width and height of the crop region cannot
7293be set to be smaller than floor( activeArraySize.<wbr>width /<wbr>
7294android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom ) and floor(
7295activeArraySize.<wbr>height /<wbr> android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom),<wbr>
7296respectively.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007297 </td>
7298
7299 <td class="entry_tags">
7300 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007301 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007302 </ul>
7303 </td>
7304
7305 </tr> <!-- end of entry -->
7306
7307
7308
7309 <!-- end of kind -->
7310 </tbody>
7311 <tr><td colspan="7" class="kind">static</td></tr>
7312
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007313 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007314 <tr>
7315 <th class="th_name">Property Name</th>
7316 <th class="th_type">Type</th>
7317 <th class="th_description">Description</th>
7318 <th class="th_units">Units</th>
7319 <th class="th_range">Range</th>
7320 <th class="th_notes">Notes</th>
7321 <th class="th_tags">Tags</th>
7322 </tr>
7323 </thead>
7324
7325 <tbody>
7326
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336 <tr class="entry" id="static_android.scaler.availableFormats">
7337 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Formats</td>
7338 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007339 <span class="entry_type_name entry_type_name_enum">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007340 <span class="entry_type_container">x</span>
7341
7342 <span class="entry_type_array">
7343 n
7344 </span>
Eino-Ville Talvalad4e240a2013-08-08 12:56:37 -07007345 <span class="entry_type_visibility"> [public as imageFormat]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007346 <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>
7347
7348 <ul class="entry_type_enum">
7349 <li>
7350 <span class="entry_type_enum_name">RAW_SENSOR</span>
7351 <span class="entry_type_enum_value">0x20</span>
7352 </li>
7353 <li>
7354 <span class="entry_type_enum_name">YV12</span>
7355 <span class="entry_type_enum_value">0x32315659</span>
7356 <span class="entry_type_enum_notes">YCrCb 4:2:0 Planar</span>
7357 </li>
7358 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007359 <span class="entry_type_enum_name">YCrCb_420_SP</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007360 <span class="entry_type_enum_value">0x11</span>
7361 <span class="entry_type_enum_notes">NV21</span>
7362 </li>
7363 <li>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007364 <span class="entry_type_enum_name">IMPLEMENTATION_DEFINED</span>
7365 <span class="entry_type_enum_value">0x22</span>
7366 <span class="entry_type_enum_notes">Hal Implementation Defined</span>
7367 </li>
7368 <li>
7369 <span class="entry_type_enum_name">YCbCr_420_888</span>
7370 <span class="entry_type_enum_value">0x23</span>
7371 <span class="entry_type_enum_notes">Flexible YUV420 Format</span>
7372 </li>
7373 <li>
7374 <span class="entry_type_enum_name">BLOB</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007375 <span class="entry_type_enum_value">0x21</span>
Zhijun Hec2eebff2013-05-16 17:49:35 -07007376 <span class="entry_type_enum_notes">JPEG</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007377 </li>
7378 </ul>
7379
7380 </td> <!-- entry_type -->
7381
7382 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007383 <p>List of app-visible formats</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007384 </td>
7385
7386 <td class="entry_units">
7387 </td>
7388
7389 <td class="entry_range">
7390 </td>
7391
7392 <td class="entry_notes">
7393 </td>
7394
7395 <td class="entry_tags">
7396 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007397 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007398 </ul>
7399 </td>
7400
7401 </tr> <!-- end of entry -->
7402
7403
7404 <tr class="entry" id="static_android.scaler.availableJpegMinDurations">
7405 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Min<wbr>Durations</td>
7406 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007407 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007408 <span class="entry_type_container">x</span>
7409
7410 <span class="entry_type_array">
7411 n
7412 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007413 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007414
7415
7416 </td> <!-- entry_type -->
7417
7418 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007419 <p>The minimum frame duration that is supported
7420for each resolution in availableJpegSizes.<wbr> Should
7421correspond to the frame duration when only that JPEG
7422stream is active and captured in a burst,<wbr> with all
7423processing set to FAST</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007424 </td>
7425
7426 <td class="entry_units">
7427 </td>
7428
7429 <td class="entry_range">
7430 </td>
7431
7432 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007433 <p>When multiple streams are configured,<wbr> the minimum
7434frame duration will be &gt;= max(individual stream min
7435durations)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007436 </td>
7437
7438 <td class="entry_tags">
7439 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007440 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007441 </ul>
7442 </td>
7443
7444 </tr> <!-- end of entry -->
7445
7446
7447 <tr class="entry" id="static_android.scaler.availableJpegSizes">
7448 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Sizes</td>
7449 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007450 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007451 <span class="entry_type_container">x</span>
7452
7453 <span class="entry_type_array">
7454 n x 2
7455 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007456 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007457
7458
7459 </td> <!-- entry_type -->
7460
7461 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007462 <p>The resolutions available for output from
7463the JPEG block.<wbr> Listed as width x height</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007464 </td>
7465
7466 <td class="entry_units">
7467 </td>
7468
7469 <td class="entry_range">
7470 Must include: - sensor maximum resolution Should
7471 include: - half/<wbr>quarter max resolution
7472 </td>
7473
7474 <td class="entry_notes">
7475 </td>
7476
7477 <td class="entry_tags">
7478 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007479 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007480 </ul>
7481 </td>
7482
7483 </tr> <!-- end of entry -->
7484
7485
7486 <tr class="entry" id="static_android.scaler.availableMaxDigitalZoom">
7487 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Max<wbr>Digital<wbr>Zoom</td>
7488 <td class="entry_type">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007489 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007490
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007491 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007492
7493
7494 </td> <!-- entry_type -->
7495
7496 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007497 <p>The maximum ratio between active area width
7498and crop region width,<wbr> or between active area height and
7499crop region height,<wbr> if the crop region height is larger
7500than width</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007501 </td>
7502
7503 <td class="entry_units">
7504 </td>
7505
7506 <td class="entry_range">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007507 >=1
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007508 </td>
7509
7510 <td class="entry_notes">
7511 </td>
7512
7513 <td class="entry_tags">
Igor Murashkinf11a4df2013-05-07 10:00:46 -07007514 <ul class="entry_tags">
7515 <li><a href="#tag_BC">BC</a></li>
7516 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007517 </td>
7518
7519 </tr> <!-- end of entry -->
7520
7521
7522 <tr class="entry" id="static_android.scaler.availableProcessedMinDurations">
7523 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Min<wbr>Durations</td>
7524 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007525 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007526 <span class="entry_type_container">x</span>
7527
7528 <span class="entry_type_array">
7529 n
7530 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007531 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007532
7533
7534 </td> <!-- entry_type -->
7535
7536 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007537 <p>The minimum frame duration that is supported
7538for each resolution in availableProcessedSizes.<wbr> Should
7539correspond to the frame duration when only that processed
7540stream is active,<wbr> with all processing set to
7541FAST</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007542 </td>
7543
7544 <td class="entry_units">
7545 </td>
7546
7547 <td class="entry_range">
7548 </td>
7549
7550 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007551 <p>When multiple streams are configured,<wbr> the minimum
7552frame duration will be &gt;= max(individual stream min
7553durations)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007554 </td>
7555
7556 <td class="entry_tags">
7557 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007558 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007559 </ul>
7560 </td>
7561
7562 </tr> <!-- end of entry -->
7563
7564
7565 <tr class="entry" id="static_android.scaler.availableProcessedSizes">
7566 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Sizes</td>
7567 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007568 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007569 <span class="entry_type_container">x</span>
7570
7571 <span class="entry_type_array">
7572 n x 2
7573 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007574 <span class="entry_type_visibility"> [public as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007575
7576
7577 </td> <!-- entry_type -->
7578
7579 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007580 <p>The resolutions available for use with
7581processed output streams,<wbr> such as YV12,<wbr> NV12,<wbr> and
7582platform opaque YUV/<wbr>RGB streams to the GPU or video
7583encoders.<wbr> Listed as width,<wbr> height</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007584 </td>
7585
7586 <td class="entry_units">
7587 </td>
7588
7589 <td class="entry_range">
7590 Must include: - sensor maximum resolution -
7591 standard QCIF,<wbr> 240p,<wbr> 480p,<wbr> 720p,<wbr> and 1080p
7592 resolutions
7593 </td>
7594
7595 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007596 <p>The actual supported resolution list may be limited by
7597consumer end points for different use cases.<wbr> For example,<wbr> for
7598recording use case,<wbr> the largest supported resolution may be
7599limited by max supported size from encoder,<wbr> for preview use
7600case,<wbr> the largest supported resolution may be limited by max
7601resolution SurfaceTexture/<wbr>SurfaceView can support.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007602 </td>
7603
7604 <td class="entry_tags">
7605 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007606 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007607 </ul>
7608 </td>
7609
7610 </tr> <!-- end of entry -->
7611
7612
7613 <tr class="entry" id="static_android.scaler.availableRawMinDurations">
7614 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Min<wbr>Durations</td>
7615 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007616 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007617 <span class="entry_type_container">x</span>
7618
7619 <span class="entry_type_array">
7620 n
7621 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007622 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007623
7624
7625 </td> <!-- entry_type -->
7626
7627 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007628 <p>The minimum frame duration that is supported
7629for each raw resolution in availableRawSizes.<wbr> Should
7630correspond to the frame duration when only the raw stream
7631is active.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007632 </td>
7633
7634 <td class="entry_units">
7635 </td>
7636
7637 <td class="entry_range">
7638 </td>
7639
7640 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007641 <p>When multiple streams are configured,<wbr> the minimum
7642frame duration will be &gt;= max(individual stream min
7643durations)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007644 </td>
7645
7646 <td class="entry_tags">
7647 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007648 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007649 </ul>
7650 </td>
7651
7652 </tr> <!-- end of entry -->
7653
7654
7655 <tr class="entry" id="static_android.scaler.availableRawSizes">
7656 <td class="entry_name">android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Sizes</td>
7657 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007658 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007659 <span class="entry_type_container">x</span>
7660
7661 <span class="entry_type_array">
7662 n x 2
7663 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007664 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007665
7666
7667 </td> <!-- entry_type -->
7668
7669 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007670 <p>The resolutions available for use with raw
7671sensor output streams,<wbr> listed as width,<wbr>
7672height</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007673 </td>
7674
7675 <td class="entry_units">
7676 </td>
7677
7678 <td class="entry_range">
7679 Must include: - sensor maximum resolution
7680 </td>
7681
7682 <td class="entry_notes">
7683 </td>
7684
7685 <td class="entry_tags">
7686 </td>
7687
7688 </tr> <!-- end of entry -->
7689
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007690
7691
7692 <!-- end of kind -->
7693 </tbody>
7694 <tr><td colspan="7" class="kind">dynamic</td></tr>
7695
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007696 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007697 <tr>
7698 <th class="th_name">Property Name</th>
7699 <th class="th_type">Type</th>
7700 <th class="th_description">Description</th>
7701 <th class="th_units">Units</th>
7702 <th class="th_range">Range</th>
7703 <th class="th_notes">Notes</th>
7704 <th class="th_tags">Tags</th>
7705 </tr>
7706 </thead>
7707
7708 <tbody>
7709
7710
7711
7712
7713
7714
7715
7716
7717
7718
7719 <tr class="entry" id="dynamic_android.scaler.cropRegion">
7720 <td class="entry_name">android.<wbr>scaler.<wbr>crop<wbr>Region</td>
7721 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007722 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007723 <span class="entry_type_container">x</span>
7724
7725 <span class="entry_type_array">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007726 4
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007727 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007728 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007729
7730
7731 </td> <!-- entry_type -->
7732
7733 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007734 <p>(x,<wbr> y,<wbr> width,<wbr> height).<wbr></p>
7735<p>A rectangle with the top-level corner of (x,<wbr>y) and size
7736(width,<wbr> height).<wbr> The region of the sensor that is used for
7737output.<wbr> Each stream must use this rectangle to produce its
7738output,<wbr> cropping to a smaller region if necessary to
7739maintain the stream's aspect ratio.<wbr></p>
7740<p><wbr>H<wbr>A<wbr>L2.<wbr>x uses only (x,<wbr> y,<wbr> width)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007741 </td>
7742
7743 <td class="entry_units">
Eino-Ville Talvalae04ec6e2013-04-16 15:35:18 -07007744 (x,<wbr>y) of top-left corner,<wbr> width and height of region
7745 in pixels; (0,<wbr>0) is top-left corner of
Zhijun Hebd7f15b2013-05-13 16:59:51 -07007746 android.<wbr>sensor.<wbr>active<wbr>Array<wbr>Size
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007747 </td>
7748
7749 <td class="entry_range">
7750 </td>
7751
7752 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007753 <p>Any additional per-stream cropping must be done to
7754maximize the final pixel area of the stream.<wbr></p>
7755<p>For example,<wbr> if the crop region is set to a 4:3 aspect
7756ratio,<wbr> then 4:3 streams should use the exact crop
7757region.<wbr> 16:9 streams should further crop vertically
7758(letterbox).<wbr></p>
7759<p>Conversely,<wbr> if the crop region is set to a 16:9,<wbr> then 4:3
7760outputs should crop horizontally (pillarbox),<wbr> and 16:9
7761streams should match exactly.<wbr> These additional crops must
7762be centered within the crop region.<wbr></p>
7763<p>The output streams must maintain square pixels at all
7764times,<wbr> no matter what the relative aspect ratios of the
7765crop region and the stream are.<wbr> Negative values for
7766corner are allowed for raw output if full pixel array is
7767larger than active pixel array.<wbr> Width and height may be
7768rounded to nearest larger supportable width,<wbr> especially
7769for raw output,<wbr> where only a few fixed scales may be
7770possible.<wbr> The width and height of the crop region cannot
7771be set to be smaller than floor( activeArraySize.<wbr>width /<wbr>
7772android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom ) and floor(
7773activeArraySize.<wbr>height /<wbr> android.<wbr>scaler.<wbr>max<wbr>Digital<wbr>Zoom),<wbr>
7774respectively.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007775 </td>
7776
7777 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007778 <ul class="entry_tags">
7779 <li><a href="#tag_BC">BC</a></li>
7780 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007781 </td>
7782
7783 </tr> <!-- end of entry -->
7784
7785
7786
7787 <!-- end of kind -->
7788 </tbody>
7789
7790 <!-- end of section -->
7791 <tr><td colspan="7" id="section_sensor" class="section">sensor</td></tr>
7792
7793
7794 <tr><td colspan="7" class="kind">controls</td></tr>
7795
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007796 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007797 <tr>
7798 <th class="th_name">Property Name</th>
7799 <th class="th_type">Type</th>
7800 <th class="th_description">Description</th>
7801 <th class="th_units">Units</th>
7802 <th class="th_range">Range</th>
7803 <th class="th_notes">Notes</th>
7804 <th class="th_tags">Tags</th>
7805 </tr>
7806 </thead>
7807
7808 <tbody>
7809
7810
7811
7812
7813
7814
7815
7816
7817
7818
7819 <tr class="entry" id="controls_android.sensor.exposureTime">
7820 <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td>
7821 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007822 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007823
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007824 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007825
7826
7827 </td> <!-- entry_type -->
7828
7829 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007830 <p>Duration each pixel is exposed to
7831light.<wbr></p>
7832<p>If the sensor can't expose this exact duration,<wbr> it should shorten the
7833duration exposed to the nearest possible value (rather than expose longer).<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007834 </td>
7835
7836 <td class="entry_units">
7837 nanoseconds
7838 </td>
7839
7840 <td class="entry_range">
7841 android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range
7842 </td>
7843
7844 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007845 <p>1/<wbr>10000 - 30 sec range.<wbr> No bulb mode</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007846 </td>
7847
7848 <td class="entry_tags">
7849 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007850 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007851 </ul>
7852 </td>
7853
7854 </tr> <!-- end of entry -->
7855
7856
7857 <tr class="entry" id="controls_android.sensor.frameDuration">
7858 <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td>
7859 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007860 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007861
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007862 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007863
7864
7865 </td> <!-- entry_type -->
7866
7867 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007868 <p>Duration from start of frame exposure to
7869start of next frame exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007870 </td>
7871
7872 <td class="entry_units">
7873 nanoseconds
7874 </td>
7875
7876 <td class="entry_range">
7877 see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr>
7878 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
7879 </td>
7880
7881 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007882 <p>Exposure time has priority,<wbr> so duration is set to
7883max(duration,<wbr> exposure time + overhead)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007884 </td>
7885
7886 <td class="entry_tags">
7887 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007888 <li><a href="#tag_V1">V1</a></li>
7889 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007890 </ul>
7891 </td>
7892
7893 </tr> <!-- end of entry -->
7894
7895
7896 <tr class="entry" id="controls_android.sensor.sensitivity">
7897 <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td>
7898 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007899 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007900
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007901 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007902
7903
7904 </td> <!-- entry_type -->
7905
7906 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007907 <p>Gain applied to image data.<wbr> Must be
7908implemented through analog gain only if set to values
7909below 'maximum analog sensitivity'.<wbr></p>
7910<p>If the sensor can't apply this exact gain,<wbr> it should lessen the
7911gain to the nearest possible value (rather than gain more).<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007912 </td>
7913
7914 <td class="entry_units">
7915 ISO arithmetic units
7916 </td>
7917
7918 <td class="entry_range">
7919 android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range
7920 </td>
7921
7922 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007923 <p>ISO 12232:2006 REI method</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007924 </td>
7925
7926 <td class="entry_tags">
7927 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007928 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007929 </ul>
7930 </td>
7931
7932 </tr> <!-- end of entry -->
7933
7934
7935
7936 <!-- end of kind -->
7937 </tbody>
7938 <tr><td colspan="7" class="kind">static</td></tr>
7939
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07007940 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007941 <tr>
7942 <th class="th_name">Property Name</th>
7943 <th class="th_type">Type</th>
7944 <th class="th_description">Description</th>
7945 <th class="th_units">Units</th>
7946 <th class="th_range">Range</th>
7947 <th class="th_notes">Notes</th>
7948 <th class="th_tags">Tags</th>
7949 </tr>
7950 </thead>
7951
7952 <tbody>
7953
7954
7955
7956
7957
7958
7959
7960
7961
7962
7963
7964
7965 <tr class="entry" id="static_android.sensor.info.activeArraySize">
7966 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>active<wbr>Array<wbr>Size</td>
7967 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08007968 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007969 <span class="entry_type_container">x</span>
7970
7971 <span class="entry_type_array">
7972 4
7973 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07007974 <span class="entry_type_visibility"> [public as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007975 <div class="entry_type_notes">Four ints defining the active pixel rectangle</div>
7976
7977
7978 </td> <!-- entry_type -->
7979
7980 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08007981 <p>Area of raw data which corresponds to only
7982active pixels; smaller or equal to
7983pixelArraySize.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08007984 </td>
7985
7986 <td class="entry_units">
7987 xmin,<wbr> ymin,<wbr> width,<wbr> height.<wbr> Top left of full
7988 pixel array is (0,<wbr>0)
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 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08007999 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008000 </ul>
8001 </td>
8002
8003 </tr> <!-- end of entry -->
8004
8005
Zhijun He69fc0ea2013-07-17 09:42:58 -07008006 <tr class="entry" id="static_android.sensor.info.sensitivityRange">
8007 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range</td>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008008 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008009 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008010 <span class="entry_type_container">x</span>
8011
8012 <span class="entry_type_array">
Zhijun He69fc0ea2013-07-17 09:42:58 -07008013 2
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008014 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008015 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07008016 <div class="entry_type_notes">Range of supported sensitivities</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008017
8018
8019 </td> <!-- entry_type -->
8020
8021 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008022 <p>Range of valid sensitivities</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008023 </td>
8024
8025 <td class="entry_units">
8026 </td>
8027
8028 <td class="entry_range">
Zhijun He69fc0ea2013-07-17 09:42:58 -07008029 Min <= 100,<wbr> Max >= 1600
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008030 </td>
8031
8032 <td class="entry_notes">
8033 </td>
8034
8035 <td class="entry_tags">
8036 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008037 <li><a href="#tag_BC">BC</a></li>
8038 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008039 </ul>
8040 </td>
8041
8042 </tr> <!-- end of entry -->
8043
8044
8045 <tr class="entry" id="static_android.sensor.info.colorFilterArrangement">
8046 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>color<wbr>Filter<wbr>Arrangement</td>
8047 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008048 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008049
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008050 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008051
8052 <ul class="entry_type_enum">
8053 <li>
8054 <span class="entry_type_enum_name">RGGB</span>
8055 </li>
8056 <li>
8057 <span class="entry_type_enum_name">GRBG</span>
8058 </li>
8059 <li>
8060 <span class="entry_type_enum_name">GBRG</span>
8061 </li>
8062 <li>
8063 <span class="entry_type_enum_name">BGGR</span>
8064 </li>
8065 <li>
8066 <span class="entry_type_enum_name">RGB</span>
8067 <span class="entry_type_enum_notes">Sensor is not Bayer; output has 3 16-bit
8068 values for each pixel,<wbr> instead of just 1 16-bit value
8069 per pixel.<wbr></span>
8070 </li>
8071 </ul>
8072
8073 </td> <!-- entry_type -->
8074
8075 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008076 <p>Arrangement of color filters on sensor;
8077represents the colors in the top-left 2x2 section of
8078the sensor,<wbr> in reading order</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008079 </td>
8080
8081 <td class="entry_units">
8082 </td>
8083
8084 <td class="entry_range">
8085 </td>
8086
8087 <td class="entry_notes">
8088 </td>
8089
8090 <td class="entry_tags">
8091 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008092 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008093 </ul>
8094 </td>
8095
8096 </tr> <!-- end of entry -->
8097
8098
8099 <tr class="entry" id="static_android.sensor.info.exposureTimeRange">
8100 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range</td>
8101 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008102 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008103 <span class="entry_type_container">x</span>
8104
8105 <span class="entry_type_array">
8106 2
8107 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008108 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008109 <div class="entry_type_notes">nanoseconds</div>
8110
8111
8112 </td> <!-- entry_type -->
8113
8114 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008115 <p>Range of valid exposure
8116times</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008117 </td>
8118
8119 <td class="entry_units">
8120 </td>
8121
8122 <td class="entry_range">
8123 Min <= 100e3 (100 us),<wbr> Max >= 30e9 (30
8124 sec)
8125 </td>
8126
8127 <td class="entry_notes">
8128 </td>
8129
8130 <td class="entry_tags">
8131 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008132 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008133 </ul>
8134 </td>
8135
8136 </tr> <!-- end of entry -->
8137
8138
8139 <tr class="entry" id="static_android.sensor.info.maxFrameDuration">
8140 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration</td>
8141 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008142 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008143
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008144 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008145
8146
8147 </td> <!-- entry_type -->
8148
8149 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008150 <p>Maximum possible frame duration (minimum frame
8151rate)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008152 </td>
8153
8154 <td class="entry_units">
8155 nanoseconds
8156 </td>
8157
8158 <td class="entry_range">
8159 >= 30e9
8160 </td>
8161
8162 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008163 <p>Minimum duration is a function of resolution,<wbr>
8164processing settings.<wbr> <wbr>See
8165android.<wbr>scaler.<wbr>available<wbr>Processed<wbr>Min<wbr>Durations
8166android.<wbr>scaler.<wbr>available<wbr>Jpeg<wbr>Min<wbr>Durations
8167android.<wbr>scaler.<wbr>available<wbr>Raw<wbr>Min<wbr>Durations</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008168 </td>
8169
8170 <td class="entry_tags">
8171 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008172 <li><a href="#tag_BC">BC</a></li>
8173 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008174 </ul>
8175 </td>
8176
8177 </tr> <!-- end of entry -->
8178
8179
8180 <tr class="entry" id="static_android.sensor.info.physicalSize">
8181 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>physical<wbr>Size</td>
8182 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008183 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008184 <span class="entry_type_container">x</span>
8185
8186 <span class="entry_type_array">
8187 2
8188 </span>
Timothy Knightec817d52013-08-16 16:15:29 -07008189 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008190 <div class="entry_type_notes">width x height in millimeters</div>
8191
8192
8193 </td> <!-- entry_type -->
8194
8195 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008196 <p>The physical dimensions of the full pixel
8197array</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008198 </td>
8199
8200 <td class="entry_units">
8201 </td>
8202
8203 <td class="entry_range">
8204 </td>
8205
8206 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008207 <p>Needed for FOV calculation for old API</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008208 </td>
8209
8210 <td class="entry_tags">
8211 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008212 <li><a href="#tag_V1">V1</a></li>
8213 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008214 </ul>
8215 </td>
8216
8217 </tr> <!-- end of entry -->
8218
8219
8220 <tr class="entry" id="static_android.sensor.info.pixelArraySize">
8221 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>pixel<wbr>Array<wbr>Size</td>
8222 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008223 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008224 <span class="entry_type_container">x</span>
8225
8226 <span class="entry_type_array">
8227 2
8228 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07008229 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008230
8231
8232 </td> <!-- entry_type -->
8233
8234 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008235 <p>Dimensions of full pixel array,<wbr> possibly
8236including black calibration pixels</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008237 </td>
8238
8239 <td class="entry_units">
8240 </td>
8241
8242 <td class="entry_range">
8243 </td>
8244
8245 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008246 <p>Maximum output resolution for raw format must
8247match this in
8248android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Sizes<wbr>Per<wbr>Format</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008249 </td>
8250
8251 <td class="entry_tags">
8252 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008253 <li><a href="#tag_DNG">DNG</a></li>
8254 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008255 </ul>
8256 </td>
8257
8258 </tr> <!-- end of entry -->
8259
8260
8261 <tr class="entry" id="static_android.sensor.info.whiteLevel">
8262 <td class="entry_name">android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level</td>
8263 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008264 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008265
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008266 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008267
8268
8269 </td> <!-- entry_type -->
8270
8271 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008272 <p>Maximum raw value output by
8273sensor</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008274 </td>
8275
8276 <td class="entry_units">
8277 </td>
8278
8279 <td class="entry_range">
8280 > 1024 (10-bit output)
8281 </td>
8282
8283 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008284 <p>Defines sensor bit depth (10-14 bits is
8285expected)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008286 </td>
8287
8288 <td class="entry_tags">
8289 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008290 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008291 </ul>
8292 </td>
8293
8294 </tr> <!-- end of entry -->
8295
8296
8297
8298
8299
8300 <tr class="entry" id="static_android.sensor.baseGainFactor">
8301 <td class="entry_name">android.<wbr>sensor.<wbr>base<wbr>Gain<wbr>Factor</td>
8302 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008303 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008304
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008305 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008306
8307
8308 </td> <!-- entry_type -->
8309
8310 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008311 <p>Gain factor from electrons to raw units when
8312ISO=100</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008313 </td>
8314
8315 <td class="entry_units">
8316 </td>
8317
8318 <td class="entry_range">
8319 </td>
8320
8321 <td class="entry_notes">
8322 </td>
8323
8324 <td class="entry_tags">
8325 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008326 <li><a href="#tag_V1">V1</a></li>
Alex Rayef40ad62013-10-01 17:52:33 -07008327 <li><a href="#tag_FULL">FULL</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008328 </ul>
8329 </td>
8330
8331 </tr> <!-- end of entry -->
8332
8333
8334 <tr class="entry" id="static_android.sensor.blackLevelPattern">
8335 <td class="entry_name">android.<wbr>sensor.<wbr>black<wbr>Level<wbr>Pattern</td>
8336 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008337 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008338 <span class="entry_type_container">x</span>
8339
8340 <span class="entry_type_array">
8341 4
8342 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008343 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008344 <div class="entry_type_notes">2x2 raw count block</div>
8345
8346
8347 </td> <!-- entry_type -->
8348
8349 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008350 <p>A fixed black level offset for each of the
8351Bayer mosaic channels</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008352 </td>
8353
8354 <td class="entry_units">
8355 </td>
8356
8357 <td class="entry_range">
8358 >= 0 each
8359 </td>
8360
8361 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008362 <p>As per DNG BlackLevelRepeatDim /<wbr> BlackLevel
8363tags</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008364 </td>
8365
8366 <td class="entry_tags">
8367 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008368 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008369 </ul>
8370 </td>
8371
8372 </tr> <!-- end of entry -->
8373
8374
8375 <tr class="entry" id="static_android.sensor.calibrationTransform1">
8376 <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform1</td>
8377 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008378 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008379 <span class="entry_type_container">x</span>
8380
8381 <span class="entry_type_array">
8382 9
8383 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008384 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008385 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8386
8387
8388 </td> <!-- entry_type -->
8389
8390 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008391 <p>Per-device calibration on top of color space
8392transform 1</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008393 </td>
8394
8395 <td class="entry_units">
8396 </td>
8397
8398 <td class="entry_range">
8399 </td>
8400
8401 <td class="entry_notes">
8402 </td>
8403
8404 <td class="entry_tags">
8405 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008406 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008407 </ul>
8408 </td>
8409
8410 </tr> <!-- end of entry -->
8411
8412
8413 <tr class="entry" id="static_android.sensor.calibrationTransform2">
8414 <td class="entry_name">android.<wbr>sensor.<wbr>calibration<wbr>Transform2</td>
8415 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008416 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008417 <span class="entry_type_container">x</span>
8418
8419 <span class="entry_type_array">
8420 9
8421 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008422 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008423 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8424
8425
8426 </td> <!-- entry_type -->
8427
8428 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008429 <p>Per-device calibration on top of color space
8430transform 2</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008431 </td>
8432
8433 <td class="entry_units">
8434 </td>
8435
8436 <td class="entry_range">
8437 </td>
8438
8439 <td class="entry_notes">
8440 </td>
8441
8442 <td class="entry_tags">
8443 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008444 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008445 </ul>
8446 </td>
8447
8448 </tr> <!-- end of entry -->
8449
8450
8451 <tr class="entry" id="static_android.sensor.colorTransform1">
8452 <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform1</td>
8453 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008454 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008455 <span class="entry_type_container">x</span>
8456
8457 <span class="entry_type_array">
8458 9
8459 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008460 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008461 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8462
8463
8464 </td> <!-- entry_type -->
8465
8466 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008467 <p>Linear mapping from XYZ (D50) color space to
8468reference linear sensor color,<wbr> for first reference
8469illuminant</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008470 </td>
8471
8472 <td class="entry_units">
8473 </td>
8474
8475 <td class="entry_range">
8476 </td>
8477
8478 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008479 <p>Use as follows XYZ = inv(transform) * clip( (raw -
8480black level(raw) ) /<wbr> ( white level - max black level) ).<wbr>
8481At least in the simple case</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008482 </td>
8483
8484 <td class="entry_tags">
8485 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008486 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008487 </ul>
8488 </td>
8489
8490 </tr> <!-- end of entry -->
8491
8492
8493 <tr class="entry" id="static_android.sensor.colorTransform2">
8494 <td class="entry_name">android.<wbr>sensor.<wbr>color<wbr>Transform2</td>
8495 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008496 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008497 <span class="entry_type_container">x</span>
8498
8499 <span class="entry_type_array">
8500 9
8501 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008502 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008503 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8504
8505
8506 </td> <!-- entry_type -->
8507
8508 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008509 <p>Linear mapping from XYZ (D50) color space to
8510reference linear sensor color,<wbr> for second reference
8511illuminant</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008512 </td>
8513
8514 <td class="entry_units">
8515 </td>
8516
8517 <td class="entry_range">
8518 </td>
8519
8520 <td class="entry_notes">
8521 </td>
8522
8523 <td class="entry_tags">
8524 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008525 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008526 </ul>
8527 </td>
8528
8529 </tr> <!-- end of entry -->
8530
8531
8532 <tr class="entry" id="static_android.sensor.forwardMatrix1">
8533 <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix1</td>
8534 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008535 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008536 <span class="entry_type_container">x</span>
8537
8538 <span class="entry_type_array">
8539 9
8540 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008541 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008542 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8543
8544
8545 </td> <!-- entry_type -->
8546
8547 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008548 <p>Used by DNG for better WB
8549adaptation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008550 </td>
8551
8552 <td class="entry_units">
8553 </td>
8554
8555 <td class="entry_range">
8556 </td>
8557
8558 <td class="entry_notes">
8559 </td>
8560
8561 <td class="entry_tags">
8562 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008563 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008564 </ul>
8565 </td>
8566
8567 </tr> <!-- end of entry -->
8568
8569
8570 <tr class="entry" id="static_android.sensor.forwardMatrix2">
8571 <td class="entry_name">android.<wbr>sensor.<wbr>forward<wbr>Matrix2</td>
8572 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008573 <span class="entry_type_name">rational</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008574 <span class="entry_type_container">x</span>
8575
8576 <span class="entry_type_array">
8577 9
8578 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008579 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008580 <div class="entry_type_notes">3x3 matrix in row-major-order</div>
8581
8582
8583 </td> <!-- entry_type -->
8584
8585 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008586 <p>Used by DNG for better WB
8587adaptation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008588 </td>
8589
8590 <td class="entry_units">
8591 </td>
8592
8593 <td class="entry_range">
8594 </td>
8595
8596 <td class="entry_notes">
8597 </td>
8598
8599 <td class="entry_tags">
8600 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008601 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008602 </ul>
8603 </td>
8604
8605 </tr> <!-- end of entry -->
8606
8607
8608 <tr class="entry" id="static_android.sensor.maxAnalogSensitivity">
8609 <td class="entry_name">android.<wbr>sensor.<wbr>max<wbr>Analog<wbr>Sensitivity</td>
8610 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008611 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008612
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008613 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008614
8615
8616 </td> <!-- entry_type -->
8617
8618 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008619 <p>Maximum sensitivity that is implemented
8620purely through analog gain</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008621 </td>
8622
8623 <td class="entry_units">
8624 </td>
8625
8626 <td class="entry_range">
8627 </td>
8628
8629 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008630 <p>For android.<wbr>sensor.<wbr>sensitivity values less than or
8631equal to this,<wbr> all applied gain must be analog.<wbr> For
8632values above this,<wbr> it can be a mix of analog and
8633digital</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008634 </td>
8635
8636 <td class="entry_tags">
8637 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008638 <li><a href="#tag_V1">V1</a></li>
Alex Rayef40ad62013-10-01 17:52:33 -07008639 <li><a href="#tag_FULL">FULL</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008640 </ul>
8641 </td>
8642
8643 </tr> <!-- end of entry -->
8644
8645
8646 <tr class="entry" id="static_android.sensor.noiseModelCoefficients">
8647 <td class="entry_name">android.<wbr>sensor.<wbr>noise<wbr>Model<wbr>Coefficients</td>
8648 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008649 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008650 <span class="entry_type_container">x</span>
8651
8652 <span class="entry_type_array">
8653 2
8654 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008655 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008656 <div class="entry_type_notes">float constants A,<wbr> B for the noise variance model</div>
8657
8658
8659 </td> <!-- entry_type -->
8660
8661 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008662 <p>Estimation of sensor noise
8663characteristics</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008664 </td>
8665
8666 <td class="entry_units">
8667 var(raw pixel value) = electrons * (baseGainFactor
8668 * iso/<wbr>100)^2 + A * (baseGainFactor * iso/<wbr>100)^2 +
8669 B
8670 </td>
8671
8672 <td class="entry_range">
8673 </td>
8674
8675 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008676 <p>A represents sensor read noise before analog
8677amplification; B represents noise from A/<wbr>D conversion and
8678other circuits after amplification.<wbr> Both noise sources
8679are assumed to be gaussian,<wbr> independent,<wbr> and not to vary
8680across the sensor</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008681 </td>
8682
8683 <td class="entry_tags">
8684 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008685 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008686 </ul>
8687 </td>
8688
8689 </tr> <!-- end of entry -->
8690
8691
8692 <tr class="entry" id="static_android.sensor.orientation">
8693 <td class="entry_name">android.<wbr>sensor.<wbr>orientation</td>
8694 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008695 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008696
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008697 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008698
8699
8700 </td> <!-- entry_type -->
8701
8702 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008703 <p>Clockwise angle through which the output
8704image needs to be rotated to be upright on the device
8705screen in its native orientation.<wbr> Also defines the
8706direction of rolling shutter readout,<wbr> which is from top
8707to bottom in the sensor's coordinate system</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008708 </td>
8709
8710 <td class="entry_units">
8711 degrees clockwise rotation,<wbr> only multiples of
8712 90
8713 </td>
8714
8715 <td class="entry_range">
8716 0,<wbr>90,<wbr>180,<wbr>270
8717 </td>
8718
8719 <td class="entry_notes">
8720 </td>
8721
8722 <td class="entry_tags">
8723 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008724 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008725 </ul>
8726 </td>
8727
8728 </tr> <!-- end of entry -->
8729
8730
8731 <tr class="entry" id="static_android.sensor.referenceIlluminant1">
8732 <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant1</td>
8733 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008734 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008735
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008736 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008737
8738 <ul class="entry_type_enum">
8739 <li>
8740 <span class="entry_type_enum_name">DAYLIGHT</span>
8741 <span class="entry_type_enum_value">1</span>
8742 </li>
8743 <li>
8744 <span class="entry_type_enum_name">FLUORESCENT</span>
8745 <span class="entry_type_enum_value">2</span>
8746 </li>
8747 <li>
8748 <span class="entry_type_enum_name">TUNGSTEN</span>
8749 <span class="entry_type_enum_value">3</span>
8750 <span class="entry_type_enum_notes">Incandescent light</span>
8751 </li>
8752 <li>
8753 <span class="entry_type_enum_name">FLASH</span>
8754 <span class="entry_type_enum_value">4</span>
8755 </li>
8756 <li>
8757 <span class="entry_type_enum_name">FINE_WEATHER</span>
8758 <span class="entry_type_enum_value">9</span>
8759 </li>
8760 <li>
8761 <span class="entry_type_enum_name">CLOUDY_WEATHER</span>
8762 <span class="entry_type_enum_value">10</span>
8763 </li>
8764 <li>
8765 <span class="entry_type_enum_name">SHADE</span>
8766 <span class="entry_type_enum_value">11</span>
8767 </li>
8768 <li>
8769 <span class="entry_type_enum_name">DAYLIGHT_FLUORESCENT</span>
8770 <span class="entry_type_enum_value">12</span>
8771 <span class="entry_type_enum_notes">D 5700 - 7100K</span>
8772 </li>
8773 <li>
8774 <span class="entry_type_enum_name">DAY_WHITE_FLUORESCENT</span>
8775 <span class="entry_type_enum_value">13</span>
8776 <span class="entry_type_enum_notes">N 4600 - 5400K</span>
8777 </li>
8778 <li>
8779 <span class="entry_type_enum_name">COOL_WHITE_FLUORESCENT</span>
8780 <span class="entry_type_enum_value">14</span>
8781 <span class="entry_type_enum_notes">W 3900 - 4500K</span>
8782 </li>
8783 <li>
8784 <span class="entry_type_enum_name">WHITE_FLUORESCENT</span>
8785 <span class="entry_type_enum_value">15</span>
8786 <span class="entry_type_enum_notes">WW 3200 - 3700K</span>
8787 </li>
8788 <li>
8789 <span class="entry_type_enum_name">STANDARD_A</span>
8790 <span class="entry_type_enum_value">17</span>
8791 </li>
8792 <li>
8793 <span class="entry_type_enum_name">STANDARD_B</span>
8794 <span class="entry_type_enum_value">18</span>
8795 </li>
8796 <li>
8797 <span class="entry_type_enum_name">STANDARD_C</span>
8798 <span class="entry_type_enum_value">19</span>
8799 </li>
8800 <li>
8801 <span class="entry_type_enum_name">D55</span>
8802 <span class="entry_type_enum_value">20</span>
8803 </li>
8804 <li>
8805 <span class="entry_type_enum_name">D65</span>
8806 <span class="entry_type_enum_value">21</span>
8807 </li>
8808 <li>
8809 <span class="entry_type_enum_name">D75</span>
8810 <span class="entry_type_enum_value">22</span>
8811 </li>
8812 <li>
8813 <span class="entry_type_enum_name">D50</span>
8814 <span class="entry_type_enum_value">23</span>
8815 </li>
8816 <li>
8817 <span class="entry_type_enum_name">ISO_STUDIO_TUNGSTEN</span>
8818 <span class="entry_type_enum_value">24</span>
8819 </li>
8820 </ul>
8821
8822 </td> <!-- entry_type -->
8823
8824 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008825 <p>Light source used to define transform
88261</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008827 </td>
8828
8829 <td class="entry_units">
8830 </td>
8831
8832 <td class="entry_range">
8833 </td>
8834
8835 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008836 <p>[EXIF LightSource tag] Must all these be
8837supported? Need CCT for each!</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008838 </td>
8839
8840 <td class="entry_tags">
8841 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008842 <li><a href="#tag_DNG">DNG</a></li>
8843 <li><a href="#tag_EXIF">EXIF</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008844 </ul>
8845 </td>
8846
8847 </tr> <!-- end of entry -->
8848
8849
8850 <tr class="entry" id="static_android.sensor.referenceIlluminant2">
8851 <td class="entry_name">android.<wbr>sensor.<wbr>reference<wbr>Illuminant2</td>
8852 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008853 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008854
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008855 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008856
8857
8858 </td> <!-- entry_type -->
8859
8860 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008861 <p>Light source used to define transform
88622</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008863 </td>
8864
8865 <td class="entry_units">
8866 Same as illuminant 1
8867 </td>
8868
8869 <td class="entry_range">
8870 </td>
8871
8872 <td class="entry_notes">
8873 </td>
8874
8875 <td class="entry_tags">
8876 </td>
8877
8878 </tr> <!-- end of entry -->
8879
8880
8881
8882 <!-- end of kind -->
8883 </tbody>
8884 <tr><td colspan="7" class="kind">dynamic</td></tr>
8885
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008886 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008887 <tr>
8888 <th class="th_name">Property Name</th>
8889 <th class="th_type">Type</th>
8890 <th class="th_description">Description</th>
8891 <th class="th_units">Units</th>
8892 <th class="th_range">Range</th>
8893 <th class="th_notes">Notes</th>
8894 <th class="th_tags">Tags</th>
8895 </tr>
8896 </thead>
8897
8898 <tbody>
8899
8900
8901
8902
8903
8904
8905
8906
8907
8908
8909 <tr class="entry" id="dynamic_android.sensor.exposureTime">
8910 <td class="entry_name">android.<wbr>sensor.<wbr>exposure<wbr>Time</td>
8911 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008912 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008913
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008914 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008915
8916
8917 </td> <!-- entry_type -->
8918
8919 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008920 <p>Duration each pixel is exposed to
8921light.<wbr></p>
8922<p>If the sensor can't expose this exact duration,<wbr> it should shorten the
8923duration exposed to the nearest possible value (rather than expose longer).<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008924 </td>
8925
8926 <td class="entry_units">
8927 nanoseconds
8928 </td>
8929
8930 <td class="entry_range">
8931 android.<wbr>sensor.<wbr>info.<wbr>exposure<wbr>Time<wbr>Range
8932 </td>
8933
8934 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008935 <p>1/<wbr>10000 - 30 sec range.<wbr> No bulb mode</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008936 </td>
8937
8938 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008939 <ul class="entry_tags">
8940 <li><a href="#tag_V1">V1</a></li>
8941 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008942 </td>
8943
8944 </tr> <!-- end of entry -->
8945
8946
8947 <tr class="entry" id="dynamic_android.sensor.frameDuration">
8948 <td class="entry_name">android.<wbr>sensor.<wbr>frame<wbr>Duration</td>
8949 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008950 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008951
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008952 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008953
8954
8955 </td> <!-- entry_type -->
8956
8957 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008958 <p>Duration from start of frame exposure to
8959start of next frame exposure</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008960 </td>
8961
8962 <td class="entry_units">
8963 nanoseconds
8964 </td>
8965
8966 <td class="entry_range">
8967 see android.<wbr>sensor.<wbr>info.<wbr>max<wbr>Frame<wbr>Duration,<wbr>
8968 android.<wbr>scaler.<wbr>info.<wbr>available<wbr>Min<wbr>Frame<wbr>Durations
8969 </td>
8970
8971 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008972 <p>Exposure time has priority,<wbr> so duration is set to
8973max(duration,<wbr> exposure time + overhead)</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008974 </td>
8975
8976 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08008977 <ul class="entry_tags">
8978 <li><a href="#tag_V1">V1</a></li>
8979 <li><a href="#tag_BC">BC</a></li>
8980 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008981 </td>
8982
8983 </tr> <!-- end of entry -->
8984
8985
8986 <tr class="entry" id="dynamic_android.sensor.sensitivity">
8987 <td class="entry_name">android.<wbr>sensor.<wbr>sensitivity</td>
8988 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08008989 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008990
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07008991 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08008992
8993
8994 </td> <!-- entry_type -->
8995
8996 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08008997 <p>Gain applied to image data.<wbr> Must be
8998implemented through analog gain only if set to values
8999below 'maximum analog sensitivity'.<wbr></p>
9000<p>If the sensor can't apply this exact gain,<wbr> it should lessen the
9001gain to the nearest possible value (rather than gain more).<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009002 </td>
9003
9004 <td class="entry_units">
9005 ISO arithmetic units
9006 </td>
9007
9008 <td class="entry_range">
9009 android.<wbr>sensor.<wbr>info.<wbr>sensitivity<wbr>Range
9010 </td>
9011
9012 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009013 <p>ISO 12232:2006 REI method</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009014 </td>
9015
9016 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009017 <ul class="entry_tags">
9018 <li><a href="#tag_V1">V1</a></li>
9019 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009020 </td>
9021
9022 </tr> <!-- end of entry -->
9023
9024
9025 <tr class="entry" id="dynamic_android.sensor.timestamp">
9026 <td class="entry_name">android.<wbr>sensor.<wbr>timestamp</td>
9027 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009028 <span class="entry_type_name">int64</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009029
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009030 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009031
9032
9033 </td> <!-- entry_type -->
9034
9035 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009036 <p>Time at start of exposure of first
9037row</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009038 </td>
9039
9040 <td class="entry_units">
9041 nanoseconds
9042 </td>
9043
9044 <td class="entry_range">
9045 > 0
9046 </td>
9047
9048 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009049 <p>Monotonic,<wbr> should be synced to other timestamps in
9050system</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009051 </td>
9052
9053 <td class="entry_tags">
9054 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009055 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009056 </ul>
9057 </td>
9058
9059 </tr> <!-- end of entry -->
9060
Igor Murashkin656aa5a2013-08-13 14:23:39 -07009061
9062 <tr class="entry" id="dynamic_android.sensor.temperature">
9063 <td class="entry_name">android.<wbr>sensor.<wbr>temperature</td>
9064 <td class="entry_type">
9065 <span class="entry_type_name">float</span>
9066
9067 <span class="entry_type_visibility"> [public]</span>
9068
9069
9070 </td> <!-- entry_type -->
9071
9072 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009073 <p>The temperature of the sensor,<wbr> sampled at the time
9074exposure began for this frame.<wbr></p>
9075<p>The thermal diode being queried should be inside the sensor PCB,<wbr> or
9076somewhere close to it.<wbr></p>
Igor Murashkin656aa5a2013-08-13 14:23:39 -07009077 </td>
9078
9079 <td class="entry_units">
9080 celsius
9081 </td>
9082
9083 <td class="entry_range">
9084 Optional.<wbr> This value is missing if no temperature is available.<wbr>
9085 </td>
9086
9087 <td class="entry_notes">
9088 </td>
9089
9090 <td class="entry_tags">
Alex Rayef40ad62013-10-01 17:52:33 -07009091 <ul class="entry_tags">
9092 <li><a href="#tag_FULL">FULL</a></li>
9093 </ul>
Igor Murashkin656aa5a2013-08-13 14:23:39 -07009094 </td>
9095
9096 </tr> <!-- end of entry -->
9097
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009098
9099
9100 <!-- end of kind -->
9101 </tbody>
9102
9103 <!-- end of section -->
9104 <tr><td colspan="7" id="section_shading" class="section">shading</td></tr>
9105
9106
9107 <tr><td colspan="7" class="kind">controls</td></tr>
9108
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009109 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009110 <tr>
9111 <th class="th_name">Property Name</th>
9112 <th class="th_type">Type</th>
9113 <th class="th_description">Description</th>
9114 <th class="th_units">Units</th>
9115 <th class="th_range">Range</th>
9116 <th class="th_notes">Notes</th>
9117 <th class="th_tags">Tags</th>
9118 </tr>
9119 </thead>
9120
9121 <tbody>
9122
9123
9124
9125
9126
9127
9128
9129
9130
9131
9132 <tr class="entry" id="controls_android.shading.mode">
9133 <td class="entry_name">android.<wbr>shading.<wbr>mode</td>
9134 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009135 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009136
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009137 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009138
9139 <ul class="entry_type_enum">
9140 <li>
9141 <span class="entry_type_enum_name">OFF</span>
9142 <span class="entry_type_enum_notes">No shading correction is applied</span>
9143 </li>
9144 <li>
9145 <span class="entry_type_enum_name">FAST</span>
9146 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
9147 bayer output</span>
9148 </li>
9149 <li>
9150 <span class="entry_type_enum_name">HIGH_QUALITY</span>
9151 <span class="entry_type_enum_notes">Frame rate may be reduced by high
9152 quality</span>
9153 </li>
9154 </ul>
9155
9156 </td> <!-- entry_type -->
9157
9158 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009159 <p>Quality of lens shading correction applied
9160to the image data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009161 </td>
9162
9163 <td class="entry_units">
9164 </td>
9165
9166 <td class="entry_range">
9167 </td>
9168
9169 <td class="entry_notes">
9170 </td>
9171
9172 <td class="entry_tags">
9173 </td>
9174
9175 </tr> <!-- end of entry -->
9176
9177
9178 <tr class="entry" id="controls_android.shading.strength">
9179 <td class="entry_name">android.<wbr>shading.<wbr>strength</td>
9180 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009181 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009182
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009183 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009184
9185
9186 </td> <!-- entry_type -->
9187
9188 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009189 <p>Control the amount of shading correction
9190applied to the images</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009191 </td>
9192
9193 <td class="entry_units">
9194 unitless: 1-10; 10 is full shading
9195 compensation
9196 </td>
9197
9198 <td class="entry_range">
9199 </td>
9200
9201 <td class="entry_notes">
9202 </td>
9203
9204 <td class="entry_tags">
9205 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009206 <li><a href="#tag_ADV">ADV</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009207 </ul>
9208 </td>
9209
9210 </tr> <!-- end of entry -->
9211
9212
9213
9214 <!-- end of kind -->
9215 </tbody>
9216 <tr><td colspan="7" class="kind">dynamic</td></tr>
9217
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009218 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009219 <tr>
9220 <th class="th_name">Property Name</th>
9221 <th class="th_type">Type</th>
9222 <th class="th_description">Description</th>
9223 <th class="th_units">Units</th>
9224 <th class="th_range">Range</th>
9225 <th class="th_notes">Notes</th>
9226 <th class="th_tags">Tags</th>
9227 </tr>
9228 </thead>
9229
9230 <tbody>
9231
9232
9233
9234
9235
9236
9237
9238
9239
9240
9241 <tr class="entry" id="dynamic_android.shading.mode">
9242 <td class="entry_name">android.<wbr>shading.<wbr>mode</td>
9243 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009244 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009245
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009246 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009247
9248 <ul class="entry_type_enum">
9249 <li>
9250 <span class="entry_type_enum_name">OFF</span>
9251 <span class="entry_type_enum_notes">No shading correction is applied</span>
9252 </li>
9253 <li>
9254 <span class="entry_type_enum_name">FAST</span>
9255 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
9256 bayer output</span>
9257 </li>
9258 <li>
9259 <span class="entry_type_enum_name">HIGH_QUALITY</span>
9260 <span class="entry_type_enum_notes">Frame rate may be reduced by high
9261 quality</span>
9262 </li>
9263 </ul>
9264
9265 </td> <!-- entry_type -->
9266
9267 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009268 <p>Quality of lens shading correction applied
9269to the image data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009270 </td>
9271
9272 <td class="entry_units">
9273 </td>
9274
9275 <td class="entry_range">
9276 </td>
9277
9278 <td class="entry_notes">
9279 </td>
9280
9281 <td class="entry_tags">
9282 </td>
9283
9284 </tr> <!-- end of entry -->
9285
9286
9287
9288 <!-- end of kind -->
9289 </tbody>
9290
9291 <!-- end of section -->
9292 <tr><td colspan="7" id="section_statistics" class="section">statistics</td></tr>
9293
9294
9295 <tr><td colspan="7" class="kind">controls</td></tr>
9296
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009297 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009298 <tr>
9299 <th class="th_name">Property Name</th>
9300 <th class="th_type">Type</th>
9301 <th class="th_description">Description</th>
9302 <th class="th_units">Units</th>
9303 <th class="th_range">Range</th>
9304 <th class="th_notes">Notes</th>
9305 <th class="th_tags">Tags</th>
9306 </tr>
9307 </thead>
9308
9309 <tbody>
9310
9311
9312
9313
9314
9315
9316
9317
9318
9319
9320 <tr class="entry" id="controls_android.statistics.faceDetectMode">
9321 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td>
9322 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009323 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009324
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009325 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009326
9327 <ul class="entry_type_enum">
9328 <li>
9329 <span class="entry_type_enum_name">OFF</span>
9330 </li>
9331 <li>
9332 <span class="entry_type_enum_name">SIMPLE</span>
9333 <span class="entry_type_enum_notes">Optional Return rectangle and confidence
9334 only</span>
9335 </li>
9336 <li>
9337 <span class="entry_type_enum_name">FULL</span>
9338 <span class="entry_type_enum_notes">Optional Return all face
9339 metadata</span>
9340 </li>
9341 </ul>
9342
9343 </td> <!-- entry_type -->
9344
9345 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009346 <p>State of the face detector
9347unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009348 </td>
9349
9350 <td class="entry_units">
9351 </td>
9352
9353 <td class="entry_range">
9354
Zhijun He69fc0ea2013-07-17 09:42:58 -07009355 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009356 </td>
9357
9358 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009359 <p>Whether face detection is enabled,<wbr> and whether it
9360should output just the basic fields or the full set of
9361fields.<wbr> Value must be one of the
9362android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009363 </td>
9364
9365 <td class="entry_tags">
9366 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009367 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009368 </ul>
9369 </td>
9370
9371 </tr> <!-- end of entry -->
9372
9373
9374 <tr class="entry" id="controls_android.statistics.histogramMode">
9375 <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td>
9376 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009377 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009378
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009379 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009380
9381 <ul class="entry_type_enum">
9382 <li>
9383 <span class="entry_type_enum_name">OFF</span>
9384 </li>
9385 <li>
9386 <span class="entry_type_enum_name">ON</span>
9387 </li>
9388 </ul>
9389
9390 </td> <!-- entry_type -->
9391
9392 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009393 <p>Operating mode for histogram
9394generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009395 </td>
9396
9397 <td class="entry_units">
9398 </td>
9399
9400 <td class="entry_range">
9401 </td>
9402
9403 <td class="entry_notes">
9404 </td>
9405
9406 <td class="entry_tags">
9407 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009408 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009409 </ul>
9410 </td>
9411
9412 </tr> <!-- end of entry -->
9413
9414
9415 <tr class="entry" id="controls_android.statistics.sharpnessMapMode">
9416 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td>
9417 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009418 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009419
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009420 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009421
9422 <ul class="entry_type_enum">
9423 <li>
9424 <span class="entry_type_enum_name">OFF</span>
9425 </li>
9426 <li>
9427 <span class="entry_type_enum_name">ON</span>
9428 </li>
9429 </ul>
9430
9431 </td> <!-- entry_type -->
9432
9433 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009434 <p>Operating mode for sharpness map
9435generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009436 </td>
9437
9438 <td class="entry_units">
9439 </td>
9440
9441 <td class="entry_range">
9442 </td>
9443
9444 <td class="entry_notes">
9445 </td>
9446
9447 <td class="entry_tags">
9448 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009449 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009450 </ul>
9451 </td>
9452
9453 </tr> <!-- end of entry -->
9454
Zhijun He69fc0ea2013-07-17 09:42:58 -07009455
9456 <tr class="entry" id="controls_android.statistics.lensShadingMapMode">
9457 <td class="entry_name">android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map<wbr>Mode</td>
9458 <td class="entry_type">
9459 <span class="entry_type_name entry_type_name_enum">byte</span>
9460
9461 <span class="entry_type_visibility"> [public]</span>
9462
9463 <ul class="entry_type_enum">
9464 <li>
9465 <span class="entry_type_enum_name">OFF</span>
9466 </li>
9467 <li>
9468 <span class="entry_type_enum_name">ON</span>
9469 </li>
9470 </ul>
9471
9472 </td> <!-- entry_type -->
9473
9474 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009475 <p>Whether the HAL needs to output the lens
9476shading map in output result metadata</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -07009477 </td>
9478
9479 <td class="entry_units">
9480 </td>
9481
9482 <td class="entry_range">
9483 </td>
9484
9485 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009486 <p>When set to <wbr>O<wbr>N,<wbr>
9487android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map must be provided in
9488the output result metdata.<wbr></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -07009489 </td>
9490
9491 <td class="entry_tags">
9492 </td>
9493
9494 </tr> <!-- end of entry -->
9495
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009496
9497
9498 <!-- end of kind -->
9499 </tbody>
9500 <tr><td colspan="7" class="kind">static</td></tr>
9501
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009502 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009503 <tr>
9504 <th class="th_name">Property Name</th>
9505 <th class="th_type">Type</th>
9506 <th class="th_description">Description</th>
9507 <th class="th_units">Units</th>
9508 <th class="th_range">Range</th>
9509 <th class="th_notes">Notes</th>
9510 <th class="th_tags">Tags</th>
9511 </tr>
9512 </thead>
9513
9514 <tbody>
9515
9516
9517
9518
9519
9520
9521
9522
9523
9524
9525
9526
9527 <tr class="entry" id="static_android.statistics.info.availableFaceDetectModes">
9528 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes</td>
9529 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009530 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009531 <span class="entry_type_container">x</span>
9532
9533 <span class="entry_type_array">
9534 n
9535 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009536 <span class="entry_type_visibility"> [public]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -07009537 <div class="entry_type_notes">List of enums from android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009538
9539
9540 </td> <!-- entry_type -->
9541
9542 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009543 <p>Which face detection modes are available,<wbr>
9544if any</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009545 </td>
9546
9547 <td class="entry_units">
Zhijun He69fc0ea2013-07-17 09:42:58 -07009548 List of enum:
9549 OFF
9550 SIMPLE
9551 FULL
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009552 </td>
9553
9554 <td class="entry_range">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009555 </td>
9556
9557 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009558 <p>OFF means face detection is disabled,<wbr> it must
9559be included in the list.<wbr></p>
9560<p>SIMPLE means the device supports the
9561android.<wbr>statistics.<wbr>face<wbr>Rectangles and
9562android.<wbr>statistics.<wbr>face<wbr>Scores outputs.<wbr></p>
9563<p>FULL means the device additionally supports the
9564android.<wbr>statistics.<wbr>face<wbr>Ids and
9565android.<wbr>statistics.<wbr>face<wbr>Landmarks outputs.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009566 </td>
9567
9568 <td class="entry_tags">
9569 </td>
9570
9571 </tr> <!-- end of entry -->
9572
9573
9574 <tr class="entry" id="static_android.statistics.info.histogramBucketCount">
9575 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>histogram<wbr>Bucket<wbr>Count</td>
9576 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009577 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009578
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009579 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009580
9581
9582 </td> <!-- entry_type -->
9583
9584 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009585 <p>Number of histogram buckets
9586supported</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009587 </td>
9588
9589 <td class="entry_units">
9590 </td>
9591
9592 <td class="entry_range">
9593 >= 64
9594 </td>
9595
9596 <td class="entry_notes">
9597 </td>
9598
9599 <td class="entry_tags">
9600 </td>
9601
9602 </tr> <!-- end of entry -->
9603
9604
9605 <tr class="entry" id="static_android.statistics.info.maxFaceCount">
9606 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Face<wbr>Count</td>
9607 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009608 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009609
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009610 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009611
9612
9613 </td> <!-- entry_type -->
9614
9615 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009616 <p>Maximum number of simultaneously detectable
9617faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009618 </td>
9619
9620 <td class="entry_units">
9621 </td>
9622
9623 <td class="entry_range">
9624 >= 4 if availableFaceDetectionModes lists
9625 modes besides OFF,<wbr> otherwise 0
9626 </td>
9627
9628 <td class="entry_notes">
9629 </td>
9630
9631 <td class="entry_tags">
9632 </td>
9633
9634 </tr> <!-- end of entry -->
9635
9636
9637 <tr class="entry" id="static_android.statistics.info.maxHistogramCount">
9638 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Histogram<wbr>Count</td>
9639 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009640 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009641
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009642 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009643
9644
9645 </td> <!-- entry_type -->
9646
9647 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009648 <p>Maximum value possible for a histogram
9649bucket</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009650 </td>
9651
9652 <td class="entry_units">
9653 </td>
9654
9655 <td class="entry_range">
9656 </td>
9657
9658 <td class="entry_notes">
9659 </td>
9660
9661 <td class="entry_tags">
9662 </td>
9663
9664 </tr> <!-- end of entry -->
9665
9666
9667 <tr class="entry" id="static_android.statistics.info.maxSharpnessMapValue">
9668 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>max<wbr>Sharpness<wbr>Map<wbr>Value</td>
9669 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009670 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009671
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009672 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009673
9674
9675 </td> <!-- entry_type -->
9676
9677 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009678 <p>Maximum value possible for a sharpness map
9679region.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009680 </td>
9681
9682 <td class="entry_units">
9683 </td>
9684
9685 <td class="entry_range">
9686 </td>
9687
9688 <td class="entry_notes">
9689 </td>
9690
9691 <td class="entry_tags">
9692 </td>
9693
9694 </tr> <!-- end of entry -->
9695
9696
9697 <tr class="entry" id="static_android.statistics.info.sharpnessMapSize">
9698 <td class="entry_name">android.<wbr>statistics.<wbr>info.<wbr>sharpness<wbr>Map<wbr>Size</td>
9699 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009700 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009701 <span class="entry_type_container">x</span>
9702
9703 <span class="entry_type_array">
9704 2
9705 </span>
Igor Murashkinb8dc8812013-07-17 16:29:34 -07009706 <span class="entry_type_visibility"> [system as size]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009707 <div class="entry_type_notes">width x height</div>
9708
9709
9710 </td> <!-- entry_type -->
9711
9712 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009713 <p>Dimensions of the sharpness
9714map</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009715 </td>
9716
9717 <td class="entry_units">
9718 </td>
9719
9720 <td class="entry_range">
9721 Must be at least 32 x 32
9722 </td>
9723
9724 <td class="entry_notes">
9725 </td>
9726
9727 <td class="entry_tags">
9728 </td>
9729
9730 </tr> <!-- end of entry -->
9731
9732
9733
9734
9735
9736
9737 <!-- end of kind -->
9738 </tbody>
9739 <tr><td colspan="7" class="kind">dynamic</td></tr>
9740
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009741 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009742 <tr>
9743 <th class="th_name">Property Name</th>
9744 <th class="th_type">Type</th>
9745 <th class="th_description">Description</th>
9746 <th class="th_units">Units</th>
9747 <th class="th_range">Range</th>
9748 <th class="th_notes">Notes</th>
9749 <th class="th_tags">Tags</th>
9750 </tr>
9751 </thead>
9752
9753 <tbody>
9754
9755
9756
9757
9758
9759
9760
9761
9762
9763
9764 <tr class="entry" id="dynamic_android.statistics.faceDetectMode">
9765 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Detect<wbr>Mode</td>
9766 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009767 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009768
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009769 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009770
9771 <ul class="entry_type_enum">
9772 <li>
9773 <span class="entry_type_enum_name">OFF</span>
9774 </li>
9775 <li>
9776 <span class="entry_type_enum_name">SIMPLE</span>
9777 <span class="entry_type_enum_notes">Optional Return rectangle and confidence
9778 only</span>
9779 </li>
9780 <li>
9781 <span class="entry_type_enum_name">FULL</span>
9782 <span class="entry_type_enum_notes">Optional Return all face
9783 metadata</span>
9784 </li>
9785 </ul>
9786
9787 </td> <!-- entry_type -->
9788
9789 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009790 <p>State of the face detector
9791unit</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009792 </td>
9793
9794 <td class="entry_units">
9795 </td>
9796
9797 <td class="entry_range">
9798
Zhijun He69fc0ea2013-07-17 09:42:58 -07009799 android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009800 </td>
9801
9802 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009803 <p>Whether face detection is enabled,<wbr> and whether it
9804should output just the basic fields or the full set of
9805fields.<wbr> Value must be one of the
9806android.<wbr>statistics.<wbr>info.<wbr>available<wbr>Face<wbr>Detect<wbr>Modes.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009807 </td>
9808
9809 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009810 <ul class="entry_tags">
9811 <li><a href="#tag_BC">BC</a></li>
9812 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009813 </td>
9814
9815 </tr> <!-- end of entry -->
9816
9817
9818 <tr class="entry" id="dynamic_android.statistics.faceIds">
9819 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Ids</td>
9820 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009821 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009822 <span class="entry_type_container">x</span>
9823
9824 <span class="entry_type_array">
9825 n
9826 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -07009827 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009828
9829
9830 </td> <!-- entry_type -->
9831
9832 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009833 <p>List of unique IDs for detected
9834faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009835 </td>
9836
9837 <td class="entry_units">
9838 </td>
9839
9840 <td class="entry_range">
9841 </td>
9842
9843 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009844 <p>Only available if faceDetectMode == FULL</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009845 </td>
9846
9847 <td class="entry_tags">
9848 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009849 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009850 </ul>
9851 </td>
9852
9853 </tr> <!-- end of entry -->
9854
9855
9856 <tr class="entry" id="dynamic_android.statistics.faceLandmarks">
9857 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Landmarks</td>
9858 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009859 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009860 <span class="entry_type_container">x</span>
9861
9862 <span class="entry_type_array">
9863 n x 6
9864 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -07009865 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009866 <div class="entry_type_notes">(leftEyeX,<wbr> leftEyeY,<wbr> rightEyeX,<wbr> rightEyeY,<wbr> mouthX,<wbr> mouthY)</div>
9867
9868
9869 </td> <!-- entry_type -->
9870
9871 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009872 <p>List of landmarks for detected
9873faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009874 </td>
9875
9876 <td class="entry_units">
9877 </td>
9878
9879 <td class="entry_range">
9880 </td>
9881
9882 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009883 <p>Only available if faceDetectMode == FULL</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009884 </td>
9885
9886 <td class="entry_tags">
9887 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009888 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009889 </ul>
9890 </td>
9891
9892 </tr> <!-- end of entry -->
9893
9894
9895 <tr class="entry" id="dynamic_android.statistics.faceRectangles">
9896 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Rectangles</td>
9897 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009898 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009899 <span class="entry_type_container">x</span>
9900
9901 <span class="entry_type_array">
9902 n x 4
9903 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -07009904 <span class="entry_type_visibility"> [hidden as rectangle]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009905 <div class="entry_type_notes">(xmin,<wbr> ymin,<wbr> xmax,<wbr> ymax).<wbr> (0,<wbr>0) is top-left of active pixel area</div>
9906
9907
9908 </td> <!-- entry_type -->
9909
9910 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009911 <p>List of the bounding rectangles for detected
9912faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009913 </td>
9914
9915 <td class="entry_units">
9916 </td>
9917
9918 <td class="entry_range">
9919 </td>
9920
9921 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009922 <p>Only available if faceDetectMode != OFF</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009923 </td>
9924
9925 <td class="entry_tags">
9926 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009927 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009928 </ul>
9929 </td>
9930
9931 </tr> <!-- end of entry -->
9932
9933
9934 <tr class="entry" id="dynamic_android.statistics.faceScores">
9935 <td class="entry_name">android.<wbr>statistics.<wbr>face<wbr>Scores</td>
9936 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009937 <span class="entry_type_name">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009938 <span class="entry_type_container">x</span>
9939
9940 <span class="entry_type_array">
9941 n
9942 </span>
Zhijun He3b4c2062013-10-07 11:23:30 -07009943 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009944
9945
9946 </td> <!-- entry_type -->
9947
9948 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009949 <p>List of the face confidence scores for
9950detected faces</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009951 </td>
9952
9953 <td class="entry_units">
9954 </td>
9955
9956 <td class="entry_range">
Zhijun He59ccb1e2013-10-02 14:06:15 -07009957 1-100
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009958 </td>
9959
9960 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009961 <p>Only available if faceDetectMode != OFF.<wbr> The value should be
9962meaningful (for example,<wbr> setting 100 at all times is illegal).<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009963 </td>
9964
9965 <td class="entry_tags">
9966 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -08009967 <li><a href="#tag_BC">BC</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009968 </ul>
9969 </td>
9970
9971 </tr> <!-- end of entry -->
9972
9973
9974 <tr class="entry" id="dynamic_android.statistics.histogram">
9975 <td class="entry_name">android.<wbr>statistics.<wbr>histogram</td>
9976 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -08009977 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009978 <span class="entry_type_container">x</span>
9979
9980 <span class="entry_type_array">
9981 n x 3
9982 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -07009983 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009984 <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>
9985
9986
9987 </td> <!-- entry_type -->
9988
9989 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -08009990 <p>A 3-channel histogram based on the raw
9991sensor data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -08009992 </td>
9993
9994 <td class="entry_units">
9995 </td>
9996
9997 <td class="entry_range">
9998 </td>
9999
10000 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010001 <p>The k'th bucket (0-based) covers the input range
10002(with w = android.<wbr>sensor.<wbr>info.<wbr>white<wbr>Level) of [ k * w/<wbr>N,<wbr>
10003(k + 1) * w /<wbr> N ).<wbr> If only a monochrome sharpness map is
10004supported,<wbr> all channels should have the same data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010005 </td>
10006
10007 <td class="entry_tags">
10008 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010009 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010010 </ul>
10011 </td>
10012
10013 </tr> <!-- end of entry -->
10014
10015
10016 <tr class="entry" id="dynamic_android.statistics.histogramMode">
10017 <td class="entry_name">android.<wbr>statistics.<wbr>histogram<wbr>Mode</td>
10018 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010019 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010020
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010021 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010022
10023 <ul class="entry_type_enum">
10024 <li>
10025 <span class="entry_type_enum_name">OFF</span>
10026 </li>
10027 <li>
10028 <span class="entry_type_enum_name">ON</span>
10029 </li>
10030 </ul>
10031
10032 </td> <!-- entry_type -->
10033
10034 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010035 <p>Operating mode for histogram
10036generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010037 </td>
10038
10039 <td class="entry_units">
10040 </td>
10041
10042 <td class="entry_range">
10043 </td>
10044
10045 <td class="entry_notes">
10046 </td>
10047
10048 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010049 <ul class="entry_tags">
10050 <li><a href="#tag_V1">V1</a></li>
10051 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010052 </td>
10053
10054 </tr> <!-- end of entry -->
10055
10056
10057 <tr class="entry" id="dynamic_android.statistics.sharpnessMap">
10058 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map</td>
10059 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010060 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010061 <span class="entry_type_container">x</span>
10062
10063 <span class="entry_type_array">
10064 n x m x 3
10065 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010066 <span class="entry_type_visibility"> [system]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010067 <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>
10068
10069
10070 </td> <!-- entry_type -->
10071
10072 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010073 <p>A 3-channel sharpness map,<wbr> based on the raw
10074sensor data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010075 </td>
10076
10077 <td class="entry_units">
10078 </td>
10079
10080 <td class="entry_range">
10081 </td>
10082
10083 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010084 <p>If only a monochrome sharpness map is supported,<wbr>
10085all channels should have the same data</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010086 </td>
10087
10088 <td class="entry_tags">
10089 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010090 <li><a href="#tag_V1">V1</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010091 </ul>
10092 </td>
10093
10094 </tr> <!-- end of entry -->
10095
10096
10097 <tr class="entry" id="dynamic_android.statistics.sharpnessMapMode">
10098 <td class="entry_name">android.<wbr>statistics.<wbr>sharpness<wbr>Map<wbr>Mode</td>
10099 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010100 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010101
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010102 <span class="entry_type_visibility"> [system as boolean]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010103
10104 <ul class="entry_type_enum">
10105 <li>
10106 <span class="entry_type_enum_name">OFF</span>
10107 </li>
10108 <li>
10109 <span class="entry_type_enum_name">ON</span>
10110 </li>
10111 </ul>
10112
10113 </td> <!-- entry_type -->
10114
10115 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010116 <p>Operating mode for sharpness map
10117generation</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010118 </td>
10119
10120 <td class="entry_units">
10121 </td>
10122
10123 <td class="entry_range">
10124 </td>
10125
10126 <td class="entry_notes">
10127 </td>
10128
10129 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010130 <ul class="entry_tags">
10131 <li><a href="#tag_V1">V1</a></li>
10132 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010133 </td>
10134
10135 </tr> <!-- end of entry -->
10136
Zhijun He69fc0ea2013-07-17 09:42:58 -070010137
10138 <tr class="entry" id="dynamic_android.statistics.lensShadingMap">
10139 <td class="entry_name">android.<wbr>statistics.<wbr>lens<wbr>Shading<wbr>Map</td>
10140 <td class="entry_type">
10141 <span class="entry_type_name">float</span>
10142 <span class="entry_type_container">x</span>
10143
10144 <span class="entry_type_array">
10145 4 x n x m
10146 </span>
10147 <span class="entry_type_visibility"> [public]</span>
10148 <div class="entry_type_notes">2D array of float gain factors per channel to correct lens shading</div>
10149
10150
10151 </td> <!-- entry_type -->
10152
10153 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010154 <p>A low-resolution map of lens shading,<wbr> per
10155color channel</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070010156 </td>
10157
10158 <td class="entry_units">
10159 </td>
10160
10161 <td class="entry_range">
10162 Each gain factor is >= 1
10163 </td>
10164
10165 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010166 <p>Assume bilinear interpolation of map.<wbr> The least
10167shaded section of the image should have a gain factor
10168of 1; all other sections should have gains above 1.<wbr>
10169the map should be on the order of 30-40 rows,<wbr> and
10170must be smaller than 64x64.<wbr></p>
10171<p>When android.<wbr>color<wbr>Correction.<wbr>mode = TRANSFORM_<wbr>MATRIX,<wbr> the map
10172must take into account the colorCorrection settings.<wbr></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070010173 </td>
10174
10175 <td class="entry_tags">
10176 </td>
10177
10178 </tr> <!-- end of entry -->
10179
10180
10181 <tr class="entry" id="dynamic_android.statistics.predictedColorGains">
10182 <td class="entry_name">android.<wbr>statistics.<wbr>predicted<wbr>Color<wbr>Gains</td>
10183 <td class="entry_type">
10184 <span class="entry_type_name">float</span>
10185 <span class="entry_type_container">x</span>
10186
10187 <span class="entry_type_array">
10188 4
10189 </span>
10190 <span class="entry_type_visibility"> [public]</span>
10191 <div class="entry_type_notes">A 1D array of floats for 4 color channel gains</div>
10192
10193
10194 </td> <!-- entry_type -->
10195
10196 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010197 <p>The best-fit color channel gains calculated
10198by the HAL's statistics units for the current output frame</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070010199 </td>
10200
10201 <td class="entry_units">
10202 </td>
10203
10204 <td class="entry_range">
10205 </td>
10206
10207 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010208 <p>This may be different than the gains used for this frame,<wbr>
10209since statistics processing on data from a new frame
10210typically completes after the transform has already been
10211applied to that frame.<wbr></p>
10212<p>The 4 channel gains are defined in Bayer domain,<wbr>
10213see android.<wbr>color<wbr>Correction.<wbr>gains for details.<wbr></p>
10214<p>This value should always be calculated by the AWB block,<wbr>
10215regardless of the android.<wbr>control.<wbr>* current values.<wbr></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070010216 </td>
10217
10218 <td class="entry_tags">
10219 </td>
10220
10221 </tr> <!-- end of entry -->
10222
10223
10224 <tr class="entry" id="dynamic_android.statistics.predictedColorTransform">
10225 <td class="entry_name">android.<wbr>statistics.<wbr>predicted<wbr>Color<wbr>Transform</td>
10226 <td class="entry_type">
10227 <span class="entry_type_name">rational</span>
10228 <span class="entry_type_container">x</span>
10229
10230 <span class="entry_type_array">
10231 3 x 3
10232 </span>
10233 <span class="entry_type_visibility"> [public]</span>
10234 <div class="entry_type_notes">3x3 rational matrix in row-major order</div>
10235
10236
10237 </td> <!-- entry_type -->
10238
10239 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010240 <p>The best-fit color transform matrix estimate
10241calculated by the HAL's statistics units for the current
10242output frame</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070010243 </td>
10244
10245 <td class="entry_units">
10246 </td>
10247
10248 <td class="entry_range">
10249 </td>
10250
10251 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010252 <p>The HAL must provide the estimate from its
10253statistics unit on the white balance transforms to use
10254for the next frame.<wbr> These are the values the HAL believes
10255are the best fit for the current output frame.<wbr> This may
10256be different than the transform used for this frame,<wbr> since
10257statistics processing on data from a new frame typically
10258completes after the transform has already been applied to
10259that frame.<wbr></p>
10260<p>These estimates must be provided for all frames,<wbr> even if
10261capture settings and color transforms are set by the application.<wbr></p>
10262<p>This value should always be calculated by the AWB block,<wbr>
10263regardless of the android.<wbr>control.<wbr>* current values.<wbr></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070010264 </td>
10265
10266 <td class="entry_tags">
10267 </td>
10268
10269 </tr> <!-- end of entry -->
10270
10271
10272 <tr class="entry" id="dynamic_android.statistics.sceneFlicker">
10273 <td class="entry_name">android.<wbr>statistics.<wbr>scene<wbr>Flicker</td>
10274 <td class="entry_type">
10275 <span class="entry_type_name entry_type_name_enum">byte</span>
10276
10277 <span class="entry_type_visibility"> [public]</span>
10278
10279 <ul class="entry_type_enum">
10280 <li>
10281 <span class="entry_type_enum_name">NONE</span>
10282 </li>
10283 <li>
10284 <span class="entry_type_enum_name">50HZ</span>
10285 </li>
10286 <li>
10287 <span class="entry_type_enum_name">60HZ</span>
10288 </li>
10289 </ul>
10290
10291 </td> <!-- entry_type -->
10292
10293 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010294 <p>The HAL estimated scene illumination lighting
10295frequency</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070010296 </td>
10297
10298 <td class="entry_units">
10299 </td>
10300
10301 <td class="entry_range">
10302 </td>
10303
10304 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010305 <p>Report NONE if there doesn't appear to be flickering
10306illumination</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070010307 </td>
10308
10309 <td class="entry_tags">
10310 </td>
10311
10312 </tr> <!-- end of entry -->
10313
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010314
10315
10316 <!-- end of kind -->
10317 </tbody>
10318
10319 <!-- end of section -->
10320 <tr><td colspan="7" id="section_tonemap" class="section">tonemap</td></tr>
10321
10322
10323 <tr><td colspan="7" class="kind">controls</td></tr>
10324
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010325 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010326 <tr>
10327 <th class="th_name">Property Name</th>
10328 <th class="th_type">Type</th>
10329 <th class="th_description">Description</th>
10330 <th class="th_units">Units</th>
10331 <th class="th_range">Range</th>
10332 <th class="th_notes">Notes</th>
10333 <th class="th_tags">Tags</th>
10334 </tr>
10335 </thead>
10336
10337 <tbody>
10338
10339
10340
10341
10342
10343
10344
10345
10346
10347
10348 <tr class="entry" id="controls_android.tonemap.curveBlue">
10349 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td>
10350 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010351 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010352 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010353
Zhijun He704d1282013-08-19 15:26:33 -070010354 <span class="entry_type_array">
10355 n x 2
10356 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010357 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010358 <div class="entry_type_notes">1D array of float pairs (P_<wbr>IN,<wbr> P_<wbr>OUT).<wbr> The maximum number of pairs is specified by android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points.<wbr></div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010359
10360
10361 </td> <!-- entry_type -->
10362
10363 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010364 <p>Table mapping blue input values to output
10365values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010366 </td>
10367
10368 <td class="entry_units">
10369 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10370 </td>
10371
10372 <td class="entry_range">
10373 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10374 </td>
10375
10376 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010377 <p>Tonemapping /<wbr> contrast /<wbr> gamma curve for the blue
10378channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr></p>
10379<p>See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010380 </td>
10381
10382 <td class="entry_tags">
10383 </td>
10384
10385 </tr> <!-- end of entry -->
10386
10387
10388 <tr class="entry" id="controls_android.tonemap.curveGreen">
10389 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td>
10390 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010391 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010392 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010393
Zhijun He704d1282013-08-19 15:26:33 -070010394 <span class="entry_type_array">
10395 n x 2
10396 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010397 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010398 <div class="entry_type_notes">1D array of float pairs (P_<wbr>IN,<wbr> P_<wbr>OUT).<wbr> The maximum number of pairs is specified by android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points.<wbr></div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010399
10400
10401 </td> <!-- entry_type -->
10402
10403 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010404 <p>Table mapping green input values to output
10405values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010406 </td>
10407
10408 <td class="entry_units">
10409 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10410 </td>
10411
10412 <td class="entry_range">
10413 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10414 </td>
10415
10416 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010417 <p>Tonemapping /<wbr> contrast /<wbr> gamma curve for the green
10418channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr></p>
10419<p>See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010420 </td>
10421
10422 <td class="entry_tags">
10423 </td>
10424
10425 </tr> <!-- end of entry -->
10426
10427
10428 <tr class="entry" id="controls_android.tonemap.curveRed">
10429 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td>
10430 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010431 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010432 <span class="entry_type_container">x</span>
10433
10434 <span class="entry_type_array">
10435 n x 2
10436 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010437 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010438 <div class="entry_type_notes">1D array of float pairs (P_<wbr>IN,<wbr> P_<wbr>OUT).<wbr> The maximum number of pairs is specified by android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points.<wbr></div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010439
10440
10441 </td> <!-- entry_type -->
10442
10443 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010444 <p>Table mapping red input values to output
10445values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010446 </td>
10447
10448 <td class="entry_units">
10449 </td>
10450
10451 <td class="entry_range">
Zhijun He704d1282013-08-19 15:26:33 -070010452 0-1 on input and output coordinates.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010453 </td>
10454
10455 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010456 <p>Tonemapping /<wbr> contrast /<wbr> gamma curve for the red
10457channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr></p>
10458<p>Since the input and output ranges may vary depending on
10459the camera pipeline,<wbr> the input and output pixel values
10460are represented by normalized floating-point values
10461between 0 and 1,<wbr> with 0 == black and 1 == white.<wbr></p>
10462<p>The curve should be linearly interpolated between the
10463defined points.<wbr> The points will be listed in increasing
10464order of P_<wbr>IN.<wbr> For example,<wbr> if the array is: [0.<wbr>0,<wbr> 0.<wbr>0,<wbr>
104650.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input-&gt;output mapping
10466for a few sample points would be: 0 -&gt; 0,<wbr> 0.<wbr>15 -&gt;
104670.<wbr>25,<wbr> 0.<wbr>3 -&gt; 0.<wbr>5,<wbr> 0.<wbr>5 -&gt; 0.<wbr>64</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010468 </td>
10469
10470 <td class="entry_tags">
10471 <ul class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010472 <li><a href="#tag_DNG">DNG</a></li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010473 </ul>
10474 </td>
10475
10476 </tr> <!-- end of entry -->
10477
10478
10479 <tr class="entry" id="controls_android.tonemap.mode">
10480 <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td>
10481 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010482 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010483
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010484 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010485
10486 <ul class="entry_type_enum">
10487 <li>
10488 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
10489 <span class="entry_type_enum_notes">Use the tone mapping curve specified in
10490 android.<wbr>tonemap.<wbr>curve</span>
10491 </li>
10492 <li>
10493 <span class="entry_type_enum_name">FAST</span>
10494 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
10495 bayer output</span>
10496 </li>
10497 <li>
10498 <span class="entry_type_enum_name">HIGH_QUALITY</span>
10499 <span class="entry_type_enum_notes">Frame rate may be reduced by high
10500 quality</span>
10501 </li>
10502 </ul>
10503
10504 </td> <!-- entry_type -->
10505
10506 <td class="entry_description">
10507 </td>
10508
10509 <td class="entry_units">
10510 </td>
10511
10512 <td class="entry_range">
10513 </td>
10514
10515 <td class="entry_notes">
10516 </td>
10517
10518 <td class="entry_tags">
10519 </td>
10520
10521 </tr> <!-- end of entry -->
10522
10523
10524
10525 <!-- end of kind -->
10526 </tbody>
10527 <tr><td colspan="7" class="kind">static</td></tr>
10528
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010529 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010530 <tr>
10531 <th class="th_name">Property Name</th>
10532 <th class="th_type">Type</th>
10533 <th class="th_description">Description</th>
10534 <th class="th_units">Units</th>
10535 <th class="th_range">Range</th>
10536 <th class="th_notes">Notes</th>
10537 <th class="th_tags">Tags</th>
10538 </tr>
10539 </thead>
10540
10541 <tbody>
10542
10543
10544
10545
10546
10547
10548
10549
10550
10551
10552 <tr class="entry" id="static_android.tonemap.maxCurvePoints">
10553 <td class="entry_name">android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points</td>
10554 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010555 <span class="entry_type_name">int32</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010556
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010557 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010558
10559
10560 </td> <!-- entry_type -->
10561
10562 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010563 <p>Maximum number of supported points in the
10564tonemap curve</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010565 </td>
10566
10567 <td class="entry_units">
10568 </td>
10569
10570 <td class="entry_range">
10571 >= 128
10572 </td>
10573
10574 <td class="entry_notes">
10575 </td>
10576
10577 <td class="entry_tags">
10578 </td>
10579
10580 </tr> <!-- end of entry -->
10581
10582
10583
10584 <!-- end of kind -->
10585 </tbody>
10586 <tr><td colspan="7" class="kind">dynamic</td></tr>
10587
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010588 <thead class="entries_header">
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010589 <tr>
10590 <th class="th_name">Property Name</th>
10591 <th class="th_type">Type</th>
10592 <th class="th_description">Description</th>
10593 <th class="th_units">Units</th>
10594 <th class="th_range">Range</th>
10595 <th class="th_notes">Notes</th>
10596 <th class="th_tags">Tags</th>
10597 </tr>
10598 </thead>
10599
10600 <tbody>
10601
10602
10603
10604
10605
10606
10607
10608
10609
10610
10611 <tr class="entry" id="dynamic_android.tonemap.curveBlue">
10612 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Blue</td>
10613 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010614 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010615 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010616
Zhijun He704d1282013-08-19 15:26:33 -070010617 <span class="entry_type_array">
10618 n x 2
10619 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010620 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010621 <div class="entry_type_notes">1D array of float pairs (P_<wbr>IN,<wbr> P_<wbr>OUT).<wbr> The maximum number of pairs is specified by android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points.<wbr></div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010622
10623
10624 </td> <!-- entry_type -->
10625
10626 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010627 <p>Table mapping blue input values to output
10628values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010629 </td>
10630
10631 <td class="entry_units">
10632 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10633 </td>
10634
10635 <td class="entry_range">
10636 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10637 </td>
10638
10639 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010640 <p>Tonemapping /<wbr> contrast /<wbr> gamma curve for the blue
10641channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr></p>
10642<p>See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010643 </td>
10644
10645 <td class="entry_tags">
10646 </td>
10647
10648 </tr> <!-- end of entry -->
10649
10650
10651 <tr class="entry" id="dynamic_android.tonemap.curveGreen">
10652 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Green</td>
10653 <td class="entry_type">
Eino-Ville Talvala76548fe2013-01-11 13:57:19 -080010654 <span class="entry_type_name">float</span>
Zhijun He704d1282013-08-19 15:26:33 -070010655 <span class="entry_type_container">x</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010656
Zhijun He704d1282013-08-19 15:26:33 -070010657 <span class="entry_type_array">
10658 n x 2
10659 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010660 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010661 <div class="entry_type_notes">1D array of float pairs (P_<wbr>IN,<wbr> P_<wbr>OUT).<wbr> The maximum number of pairs is specified by android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points.<wbr></div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010662
10663
10664 </td> <!-- entry_type -->
10665
10666 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010667 <p>Table mapping green input values to output
10668values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010669 </td>
10670
10671 <td class="entry_units">
10672 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10673 </td>
10674
10675 <td class="entry_range">
10676 same as android.<wbr>tonemap.<wbr>curve<wbr>Red
10677 </td>
10678
10679 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010680 <p>Tonemapping /<wbr> contrast /<wbr> gamma curve for the green
10681channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr></p>
10682<p>See android.<wbr>tonemap.<wbr>curve<wbr>Red for more details.<wbr></p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010683 </td>
10684
10685 <td class="entry_tags">
10686 </td>
10687
10688 </tr> <!-- end of entry -->
10689
10690
10691 <tr class="entry" id="dynamic_android.tonemap.curveRed">
10692 <td class="entry_name">android.<wbr>tonemap.<wbr>curve<wbr>Red</td>
10693 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010694 <span class="entry_type_name">float</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010695 <span class="entry_type_container">x</span>
10696
10697 <span class="entry_type_array">
10698 n x 2
10699 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010700 <span class="entry_type_visibility"> [public]</span>
Zhijun He704d1282013-08-19 15:26:33 -070010701 <div class="entry_type_notes">1D array of float pairs (P_<wbr>IN,<wbr> P_<wbr>OUT).<wbr> The maximum number of pairs is specified by android.<wbr>tonemap.<wbr>max<wbr>Curve<wbr>Points.<wbr></div>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010702
10703
10704 </td> <!-- entry_type -->
10705
10706 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010707 <p>Table mapping red input values to output
10708values</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010709 </td>
10710
10711 <td class="entry_units">
10712 </td>
10713
10714 <td class="entry_range">
Zhijun He704d1282013-08-19 15:26:33 -070010715 0-1 on input and output coordinates.<wbr>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010716 </td>
10717
10718 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010719 <p>Tonemapping /<wbr> contrast /<wbr> gamma curve for the red
10720channel,<wbr> to use when android.<wbr>tonemap.<wbr>mode is CONTRAST_<wbr>CURVE.<wbr></p>
10721<p>Since the input and output ranges may vary depending on
10722the camera pipeline,<wbr> the input and output pixel values
10723are represented by normalized floating-point values
10724between 0 and 1,<wbr> with 0 == black and 1 == white.<wbr></p>
10725<p>The curve should be linearly interpolated between the
10726defined points.<wbr> The points will be listed in increasing
10727order of P_<wbr>IN.<wbr> For example,<wbr> if the array is: [0.<wbr>0,<wbr> 0.<wbr>0,<wbr>
107280.<wbr>3,<wbr> 0.<wbr>5,<wbr> 1.<wbr>0,<wbr> 1.<wbr>0],<wbr> then the input-&gt;output mapping
10729for a few sample points would be: 0 -&gt; 0,<wbr> 0.<wbr>15 -&gt;
107300.<wbr>25,<wbr> 0.<wbr>3 -&gt; 0.<wbr>5,<wbr> 0.<wbr>5 -&gt; 0.<wbr>64</p>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010731 </td>
10732
10733 <td class="entry_tags">
Igor Murashkinbaacf9a2012-12-05 14:49:11 -080010734 <ul class="entry_tags">
10735 <li><a href="#tag_DNG">DNG</a></li>
10736 </ul>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010737 </td>
10738
10739 </tr> <!-- end of entry -->
10740
10741
10742 <tr class="entry" id="dynamic_android.tonemap.mode">
10743 <td class="entry_name">android.<wbr>tonemap.<wbr>mode</td>
10744 <td class="entry_type">
Igor Murashkinb556bc42012-12-04 16:07:21 -080010745 <span class="entry_type_name entry_type_name_enum">byte</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010746
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010747 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080010748
10749 <ul class="entry_type_enum">
10750 <li>
10751 <span class="entry_type_enum_name">CONTRAST_CURVE</span>
10752 <span class="entry_type_enum_notes">Use the tone mapping curve specified in
10753 android.<wbr>tonemap.<wbr>curve</span>
10754 </li>
10755 <li>
10756 <span class="entry_type_enum_name">FAST</span>
10757 <span class="entry_type_enum_notes">Must not slow down frame rate relative to raw
10758 bayer output</span>
10759 </li>
10760 <li>
10761 <span class="entry_type_enum_name">HIGH_QUALITY</span>
10762 <span class="entry_type_enum_notes">Frame rate may be reduced by high
10763 quality</span>
10764 </li>
10765 </ul>
10766
10767 </td> <!-- entry_type -->
10768
10769 <td class="entry_description">
10770 </td>
10771
10772 <td class="entry_units">
10773 </td>
10774
10775 <td class="entry_range">
10776 </td>
10777
10778 <td class="entry_notes">
10779 </td>
10780
10781 <td class="entry_tags">
10782 </td>
10783
10784 </tr> <!-- end of entry -->
10785
10786
10787
10788 <!-- end of kind -->
10789 </tbody>
10790
10791 <!-- end of section -->
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010792 <tr><td colspan="7" id="section_led" class="section">led</td></tr>
10793
10794
10795 <tr><td colspan="7" class="kind">controls</td></tr>
10796
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010797 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010798 <tr>
10799 <th class="th_name">Property Name</th>
10800 <th class="th_type">Type</th>
10801 <th class="th_description">Description</th>
10802 <th class="th_units">Units</th>
10803 <th class="th_range">Range</th>
10804 <th class="th_notes">Notes</th>
10805 <th class="th_tags">Tags</th>
10806 </tr>
10807 </thead>
10808
10809 <tbody>
10810
10811
10812
10813
10814
10815
10816
10817
10818
10819
10820 <tr class="entry" id="controls_android.led.transmit">
10821 <td class="entry_name">android.<wbr>led.<wbr>transmit</td>
10822 <td class="entry_type">
10823 <span class="entry_type_name entry_type_name_enum">byte</span>
10824
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010825 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010826
10827 <ul class="entry_type_enum">
10828 <li>
10829 <span class="entry_type_enum_name">OFF</span>
10830 </li>
10831 <li>
10832 <span class="entry_type_enum_name">ON</span>
10833 </li>
10834 </ul>
10835
10836 </td> <!-- entry_type -->
10837
10838 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010839 <p>This LED is nominally used to indicate to the user
10840that the camera is powered on and may be streaming images back to the
10841Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may
10842disable this when video is processed locally and not transmitted to
10843any untrusted applications.<wbr></p>
10844<p>In particular,<wbr> the LED <em>must</em> always be on when the data could be
10845transmitted off the device.<wbr> The LED <em>should</em> always be on whenever
10846data is stored locally on the device.<wbr></p>
10847<p>The LED <em>may</em> be off if a trusted application is using the data that
10848doesn't violate the above rules.<wbr></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010849 </td>
10850
10851 <td class="entry_units">
10852 </td>
10853
10854 <td class="entry_range">
10855 </td>
10856
10857 <td class="entry_notes">
10858 </td>
10859
10860 <td class="entry_tags">
10861 </td>
10862
10863 </tr> <!-- end of entry -->
10864
10865
10866
10867 <!-- end of kind -->
10868 </tbody>
10869 <tr><td colspan="7" class="kind">dynamic</td></tr>
10870
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010871 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010872 <tr>
10873 <th class="th_name">Property Name</th>
10874 <th class="th_type">Type</th>
10875 <th class="th_description">Description</th>
10876 <th class="th_units">Units</th>
10877 <th class="th_range">Range</th>
10878 <th class="th_notes">Notes</th>
10879 <th class="th_tags">Tags</th>
10880 </tr>
10881 </thead>
10882
10883 <tbody>
10884
10885
10886
10887
10888
10889
10890
10891
10892
10893
10894 <tr class="entry" id="dynamic_android.led.transmit">
10895 <td class="entry_name">android.<wbr>led.<wbr>transmit</td>
10896 <td class="entry_type">
10897 <span class="entry_type_name entry_type_name_enum">byte</span>
10898
Igor Murashkinb8dc8812013-07-17 16:29:34 -070010899 <span class="entry_type_visibility"> [hidden as boolean]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010900
10901 <ul class="entry_type_enum">
10902 <li>
10903 <span class="entry_type_enum_name">OFF</span>
10904 </li>
10905 <li>
10906 <span class="entry_type_enum_name">ON</span>
10907 </li>
10908 </ul>
10909
10910 </td> <!-- entry_type -->
10911
10912 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010913 <p>This LED is nominally used to indicate to the user
10914that the camera is powered on and may be streaming images back to the
10915Application Processor.<wbr> In certain rare circumstances,<wbr> the OS may
10916disable this when video is processed locally and not transmitted to
10917any untrusted applications.<wbr></p>
10918<p>In particular,<wbr> the LED <em>must</em> always be on when the data could be
10919transmitted off the device.<wbr> The LED <em>should</em> always be on whenever
10920data is stored locally on the device.<wbr></p>
10921<p>The LED <em>may</em> be off if a trusted application is using the data that
10922doesn't violate the above rules.<wbr></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010923 </td>
10924
10925 <td class="entry_units">
10926 </td>
10927
10928 <td class="entry_range">
10929 </td>
10930
10931 <td class="entry_notes">
10932 </td>
10933
10934 <td class="entry_tags">
10935 </td>
10936
10937 </tr> <!-- end of entry -->
10938
10939
10940
10941 <!-- end of kind -->
10942 </tbody>
10943 <tr><td colspan="7" class="kind">static</td></tr>
10944
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010945 <thead class="entries_header">
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010946 <tr>
10947 <th class="th_name">Property Name</th>
10948 <th class="th_type">Type</th>
10949 <th class="th_description">Description</th>
10950 <th class="th_units">Units</th>
10951 <th class="th_range">Range</th>
10952 <th class="th_notes">Notes</th>
10953 <th class="th_tags">Tags</th>
10954 </tr>
10955 </thead>
10956
10957 <tbody>
10958
10959
10960
10961
10962
10963
10964
10965
10966
10967
10968 <tr class="entry" id="static_android.led.availableLeds">
10969 <td class="entry_name">android.<wbr>led.<wbr>available<wbr>Leds</td>
10970 <td class="entry_type">
10971 <span class="entry_type_name entry_type_name_enum">byte</span>
10972 <span class="entry_type_container">x</span>
10973
10974 <span class="entry_type_array">
10975 n
10976 </span>
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070010977 <span class="entry_type_visibility"> [hidden]</span>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010978
10979 <ul class="entry_type_enum">
10980 <li>
10981 <span class="entry_type_enum_name">TRANSMIT</span>
10982 <span class="entry_type_enum_notes">android.<wbr>led.<wbr>transmit control is used</span>
10983 </li>
10984 </ul>
10985
10986 </td> <!-- entry_type -->
10987
10988 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080010989 <p>A list of camera LEDs that are available on this system.<wbr></p>
Igor Murashkinc469f7d2013-04-23 14:31:02 -070010990 </td>
10991
10992 <td class="entry_units">
10993 </td>
10994
10995 <td class="entry_range">
10996 </td>
10997
10998 <td class="entry_notes">
10999 </td>
11000
11001 <td class="entry_tags">
11002 </td>
11003
11004 </tr> <!-- end of entry -->
11005
11006
11007
11008 <!-- end of kind -->
11009 </tbody>
11010
11011 <!-- end of section -->
Igor Murashkin38b8cae2013-05-23 16:38:59 -070011012 <tr><td colspan="7" id="section_info" class="section">info</td></tr>
11013
11014
11015 <tr><td colspan="7" class="kind">static</td></tr>
11016
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011017 <thead class="entries_header">
Igor Murashkin38b8cae2013-05-23 16:38:59 -070011018 <tr>
11019 <th class="th_name">Property Name</th>
11020 <th class="th_type">Type</th>
11021 <th class="th_description">Description</th>
11022 <th class="th_units">Units</th>
11023 <th class="th_range">Range</th>
11024 <th class="th_notes">Notes</th>
11025 <th class="th_tags">Tags</th>
11026 </tr>
11027 </thead>
11028
11029 <tbody>
11030
11031
11032
11033
11034
11035
11036
11037
11038
11039
11040 <tr class="entry" id="static_android.info.supportedHardwareLevel">
11041 <td class="entry_name">android.<wbr>info.<wbr>supported<wbr>Hardware<wbr>Level</td>
11042 <td class="entry_type">
11043 <span class="entry_type_name entry_type_name_enum">byte</span>
11044
Eino-Ville Talvalafcef4c22013-07-16 16:18:44 -070011045 <span class="entry_type_visibility"> [public]</span>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070011046
11047 <ul class="entry_type_enum">
11048 <li>
11049 <span class="entry_type_enum_name">LIMITED</span>
11050 </li>
11051 <li>
11052 <span class="entry_type_enum_name">FULL</span>
11053 </li>
11054 </ul>
11055
11056 </td> <!-- entry_type -->
11057
11058 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080011059 <p>The camera 3 HAL device can implement one of two possible
11060operational modes; limited and full.<wbr> Full support is
11061expected from new higher-end devices.<wbr> Limited mode has
11062hardware requirements roughly in line with those for a
11063camera HAL device v1 implementation,<wbr> and is expected from
11064older or inexpensive devices.<wbr> Full is a strict superset of
11065limited,<wbr> and they share the same essential operational flow.<wbr></p>
11066<p>For full details refer to "S3.<wbr> Operational Modes" in camera3.<wbr>h</p>
Igor Murashkin38b8cae2013-05-23 16:38:59 -070011067 </td>
11068
11069 <td class="entry_units">
11070 </td>
11071
11072 <td class="entry_range">
11073 Optional.<wbr> Default value is LIMITED.<wbr>
11074 </td>
11075
11076 <td class="entry_notes">
11077 </td>
11078
11079 <td class="entry_tags">
11080 </td>
11081
11082 </tr> <!-- end of entry -->
11083
11084
11085
11086 <!-- end of kind -->
11087 </tbody>
11088
11089 <!-- end of section -->
Zhijun He69fc0ea2013-07-17 09:42:58 -070011090 <tr><td colspan="7" id="section_blackLevel" class="section">blackLevel</td></tr>
11091
11092
11093 <tr><td colspan="7" class="kind">controls</td></tr>
11094
11095 <thead class="entries_header">
11096 <tr>
11097 <th class="th_name">Property Name</th>
11098 <th class="th_type">Type</th>
11099 <th class="th_description">Description</th>
11100 <th class="th_units">Units</th>
11101 <th class="th_range">Range</th>
11102 <th class="th_notes">Notes</th>
11103 <th class="th_tags">Tags</th>
11104 </tr>
11105 </thead>
11106
11107 <tbody>
11108
11109
11110
11111
11112
11113
11114
11115
11116
11117
11118 <tr class="entry" id="controls_android.blackLevel.lock">
11119 <td class="entry_name">android.<wbr>black<wbr>Level.<wbr>lock</td>
11120 <td class="entry_type">
11121 <span class="entry_type_name entry_type_name_enum">byte</span>
11122
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011123 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011124
11125 <ul class="entry_type_enum">
11126 <li>
11127 <span class="entry_type_enum_name">OFF</span>
11128 </li>
11129 <li>
11130 <span class="entry_type_enum_name">ON</span>
11131 </li>
11132 </ul>
11133
11134 </td> <!-- entry_type -->
11135
11136 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080011137 <p>Whether black-level compensation is locked
11138to its current values,<wbr> or is free to vary</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011139 </td>
11140
11141 <td class="entry_units">
11142 </td>
11143
11144 <td class="entry_range">
11145 </td>
11146
11147 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080011148 <p>When set to ON,<wbr> the values used for black-level
11149compensation must not change until the lock is set to
11150OFF</p>
11151<p>Since changes to certain capture parameters (such as
11152exposure time) may require resetting of black level
11153compensation,<wbr> the HAL must report whether setting the
11154black level lock was successful in the output result
11155metadata.<wbr></p>
11156<p>For example,<wbr> if a sequence of requests is as follows:</p>
11157<ul>
11158<li>Request 1: Exposure = 10ms,<wbr> Black level lock = OFF</li>
11159<li>Request 2: Exposure = 10ms,<wbr> Black level lock = ON</li>
11160<li>Request 3: Exposure = 10ms,<wbr> Black level lock = ON</li>
11161<li>Request 4: Exposure = 20ms,<wbr> Black level lock = ON</li>
11162<li>Request 5: Exposure = 20ms,<wbr> Black level lock = ON</li>
11163<li>Request 6: Exposure = 20ms,<wbr> Black level lock = ON</li>
11164</ul>
11165<p>And the exposure change in Request 4 requires resetting the black
11166level offsets,<wbr> then the output result metadata is expected to be:</p>
11167<ul>
11168<li>Result 1: Exposure = 10ms,<wbr> Black level lock = OFF</li>
11169<li>Result 2: Exposure = 10ms,<wbr> Black level lock = ON</li>
11170<li>Result 3: Exposure = 10ms,<wbr> Black level lock = ON</li>
11171<li>Result 4: Exposure = 20ms,<wbr> Black level lock = OFF</li>
11172<li>Result 5: Exposure = 20ms,<wbr> Black level lock = ON</li>
11173<li>Result 6: Exposure = 20ms,<wbr> Black level lock = ON</li>
11174</ul>
11175<p>This indicates to the application that on frame 4,<wbr> black levels were
11176reset due to exposure value changes,<wbr> and pixel values may not be
11177consistent across captures.<wbr></p>
11178<p>The black level locking must happen at the sensor,<wbr> and not at the ISP.<wbr>
11179If for some reason black level locking is no longer legal (for example,<wbr>
11180the analog gain has changed,<wbr> which forces black levels to be
11181recalculated),<wbr> then the HAL is free to override this request (and it
11182must report 'OFF' when this does happen) until the next time locking
11183is legal again.<wbr></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011184 </td>
11185
11186 <td class="entry_tags">
11187 <ul class="entry_tags">
11188 <li><a href="#tag_HAL2">HAL2</a></li>
11189 </ul>
11190 </td>
11191
11192 </tr> <!-- end of entry -->
11193
11194
11195
11196 <!-- end of kind -->
11197 </tbody>
11198 <tr><td colspan="7" class="kind">dynamic</td></tr>
11199
11200 <thead class="entries_header">
11201 <tr>
11202 <th class="th_name">Property Name</th>
11203 <th class="th_type">Type</th>
11204 <th class="th_description">Description</th>
11205 <th class="th_units">Units</th>
11206 <th class="th_range">Range</th>
11207 <th class="th_notes">Notes</th>
11208 <th class="th_tags">Tags</th>
11209 </tr>
11210 </thead>
11211
11212 <tbody>
11213
11214
11215
11216
11217
11218
11219
11220
11221
11222
11223 <tr class="entry" id="dynamic_android.blackLevel.lock">
11224 <td class="entry_name">android.<wbr>black<wbr>Level.<wbr>lock</td>
11225 <td class="entry_type">
11226 <span class="entry_type_name entry_type_name_enum">byte</span>
11227
Igor Murashkinb8dc8812013-07-17 16:29:34 -070011228 <span class="entry_type_visibility"> [public as boolean]</span>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011229
11230 <ul class="entry_type_enum">
11231 <li>
11232 <span class="entry_type_enum_name">OFF</span>
11233 </li>
11234 <li>
11235 <span class="entry_type_enum_name">ON</span>
11236 </li>
11237 </ul>
11238
11239 </td> <!-- entry_type -->
11240
11241 <td class="entry_description">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080011242 <p>Whether black-level compensation is locked
11243to its current values,<wbr> or is free to vary</p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011244 </td>
11245
11246 <td class="entry_units">
11247 </td>
11248
11249 <td class="entry_range">
11250 </td>
11251
11252 <td class="entry_notes">
Igor Murashkin8aa2a112013-12-09 12:06:17 -080011253 <p>Whether the black level offset was locked for this frame.<wbr>
11254Should be ON if android.<wbr>black<wbr>Level.<wbr>lock was ON in the capture request,<wbr>
11255unless a change in capture settings forced a black level reset.<wbr></p>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011256 </td>
11257
11258 <td class="entry_tags">
11259 <ul class="entry_tags">
11260 <li><a href="#tag_HAL2">HAL2</a></li>
11261 </ul>
11262 </td>
11263
11264 </tr> <!-- end of entry -->
11265
11266
11267
11268 <!-- end of kind -->
11269 </tbody>
11270
11271 <!-- end of section -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011272<!-- </namespace> -->
11273 </table>
11274
11275 <div class="tags" id="tag_index">
11276 <h2>Tags</h2>
11277 <ul>
11278 <li id="tag_AWB">AWB -
11279 Needed for auto white balance
11280
11281 <ul class="tags_entries">
11282 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
11283 </ul>
11284 </li> <!-- tag_AWB -->
11285 <li id="tag_BC">BC -
11286 Needed for backwards compatibility with old Java API
11287
11288 <ul class="tags_entries">
11289 <li><a href="#controls_android.control.aeExposureCompensation">android.control.aeExposureCompensation</a> (controls)</li>
11290 <li><a href="#controls_android.control.aeLock">android.control.aeLock</a> (controls)</li>
11291 <li><a href="#controls_android.control.aeMode">android.control.aeMode</a> (controls)</li>
11292 <li><a href="#controls_android.control.aeRegions">android.control.aeRegions</a> (controls)</li>
11293 <li><a href="#controls_android.control.aeTargetFpsRange">android.control.aeTargetFpsRange</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070011294 <li><a href="#controls_android.control.aePrecaptureTrigger">android.control.aePrecaptureTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011295 <li><a href="#controls_android.control.afMode">android.control.afMode</a> (controls)</li>
11296 <li><a href="#controls_android.control.afRegions">android.control.afRegions</a> (controls)</li>
Eino-Ville Talvala3b4383a2013-03-18 09:42:48 -070011297 <li><a href="#controls_android.control.afTrigger">android.control.afTrigger</a> (controls)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011298 <li><a href="#controls_android.control.awbLock">android.control.awbLock</a> (controls)</li>
11299 <li><a href="#controls_android.control.awbMode">android.control.awbMode</a> (controls)</li>
11300 <li><a href="#controls_android.control.awbRegions">android.control.awbRegions</a> (controls)</li>
11301 <li><a href="#controls_android.control.captureIntent">android.control.captureIntent</a> (controls)</li>
11302 <li><a href="#controls_android.control.effectMode">android.control.effectMode</a> (controls)</li>
11303 <li><a href="#controls_android.control.mode">android.control.mode</a> (controls)</li>
11304 <li><a href="#controls_android.control.sceneMode">android.control.sceneMode</a> (controls)</li>
11305 <li><a href="#controls_android.control.videoStabilizationMode">android.control.videoStabilizationMode</a> (controls)</li>
11306 <li><a href="#static_android.control.aeCompensationRange">android.control.aeCompensationRange</a> (static)</li>
11307 <li><a href="#static_android.control.aeCompensationStep">android.control.aeCompensationStep</a> (static)</li>
11308 <li><a href="#static_android.control.afAvailableModes">android.control.afAvailableModes</a> (static)</li>
11309 <li><a href="#static_android.control.availableEffects">android.control.availableEffects</a> (static)</li>
11310 <li><a href="#static_android.control.availableSceneModes">android.control.availableSceneModes</a> (static)</li>
11311 <li><a href="#static_android.control.availableVideoStabilizationModes">android.control.availableVideoStabilizationModes</a> (static)</li>
11312 <li><a href="#static_android.control.awbAvailableModes">android.control.awbAvailableModes</a> (static)</li>
11313 <li><a href="#static_android.control.maxRegions">android.control.maxRegions</a> (static)</li>
11314 <li><a href="#static_android.control.sceneModeOverrides">android.control.sceneModeOverrides</a> (static)</li>
11315 <li><a href="#controls_android.flash.mode">android.flash.mode</a> (controls)</li>
11316 <li><a href="#static_android.flash.info.available">android.flash.info.available</a> (static)</li>
11317 <li><a href="#controls_android.jpeg.gpsCoordinates">android.jpeg.gpsCoordinates</a> (controls)</li>
11318 <li><a href="#controls_android.jpeg.gpsProcessingMethod">android.jpeg.gpsProcessingMethod</a> (controls)</li>
11319 <li><a href="#controls_android.jpeg.gpsTimestamp">android.jpeg.gpsTimestamp</a> (controls)</li>
11320 <li><a href="#controls_android.jpeg.orientation">android.jpeg.orientation</a> (controls)</li>
11321 <li><a href="#controls_android.jpeg.quality">android.jpeg.quality</a> (controls)</li>
11322 <li><a href="#controls_android.jpeg.thumbnailQuality">android.jpeg.thumbnailQuality</a> (controls)</li>
11323 <li><a href="#controls_android.jpeg.thumbnailSize">android.jpeg.thumbnailSize</a> (controls)</li>
11324 <li><a href="#static_android.jpeg.availableThumbnailSizes">android.jpeg.availableThumbnailSizes</a> (static)</li>
11325 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
11326 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
11327 <li><a href="#static_android.lens.info.hyperfocalDistance">android.lens.info.hyperfocalDistance</a> (static)</li>
11328 <li><a href="#dynamic_android.lens.focusRange">android.lens.focusRange</a> (dynamic)</li>
11329 <li><a href="#static_android.request.maxNumOutputStreams">android.request.maxNumOutputStreams</a> (static)</li>
11330 <li><a href="#controls_android.scaler.cropRegion">android.scaler.cropRegion</a> (controls)</li>
11331 <li><a href="#static_android.scaler.availableFormats">android.scaler.availableFormats</a> (static)</li>
11332 <li><a href="#static_android.scaler.availableJpegMinDurations">android.scaler.availableJpegMinDurations</a> (static)</li>
11333 <li><a href="#static_android.scaler.availableJpegSizes">android.scaler.availableJpegSizes</a> (static)</li>
Igor Murashkinf11a4df2013-05-07 10:00:46 -070011334 <li><a href="#static_android.scaler.availableMaxDigitalZoom">android.scaler.availableMaxDigitalZoom</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011335 <li><a href="#static_android.scaler.availableProcessedMinDurations">android.scaler.availableProcessedMinDurations</a> (static)</li>
11336 <li><a href="#static_android.scaler.availableProcessedSizes">android.scaler.availableProcessedSizes</a> (static)</li>
11337 <li><a href="#static_android.scaler.availableRawMinDurations">android.scaler.availableRawMinDurations</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011338 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011339 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011340 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
11341 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
11342 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
11343 <li><a href="#static_android.sensor.orientation">android.sensor.orientation</a> (static)</li>
11344 <li><a href="#dynamic_android.sensor.timestamp">android.sensor.timestamp</a> (dynamic)</li>
11345 <li><a href="#controls_android.statistics.faceDetectMode">android.statistics.faceDetectMode</a> (controls)</li>
11346 <li><a href="#dynamic_android.statistics.faceIds">android.statistics.faceIds</a> (dynamic)</li>
11347 <li><a href="#dynamic_android.statistics.faceLandmarks">android.statistics.faceLandmarks</a> (dynamic)</li>
11348 <li><a href="#dynamic_android.statistics.faceRectangles">android.statistics.faceRectangles</a> (dynamic)</li>
11349 <li><a href="#dynamic_android.statistics.faceScores">android.statistics.faceScores</a> (dynamic)</li>
11350 <li><a href="#dynamic_android.lens.focalLength">android.lens.focalLength</a> (dynamic)</li>
11351 <li><a href="#dynamic_android.lens.focusDistance">android.lens.focusDistance</a> (dynamic)</li>
11352 </ul>
11353 </li> <!-- tag_BC -->
11354 <li id="tag_V1">V1 -
11355 New features for first camera 2 release (API1)
11356
11357 <ul class="tags_entries">
11358 <li><a href="#controls_android.demosaic.mode">android.demosaic.mode</a> (controls)</li>
11359 <li><a href="#controls_android.flash.firingPower">android.flash.firingPower</a> (controls)</li>
11360 <li><a href="#controls_android.flash.firingTime">android.flash.firingTime</a> (controls)</li>
11361 <li><a href="#static_android.flash.info.chargeDuration">android.flash.info.chargeDuration</a> (static)</li>
11362 <li><a href="#controls_android.hotPixel.mode">android.hotPixel.mode</a> (controls)</li>
11363 <li><a href="#controls_android.lens.aperture">android.lens.aperture</a> (controls)</li>
11364 <li><a href="#controls_android.lens.filterDensity">android.lens.filterDensity</a> (controls)</li>
11365 <li><a href="#controls_android.lens.focalLength">android.lens.focalLength</a> (controls)</li>
11366 <li><a href="#controls_android.lens.focusDistance">android.lens.focusDistance</a> (controls)</li>
11367 <li><a href="#controls_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (controls)</li>
11368 <li><a href="#static_android.lens.info.availableApertures">android.lens.info.availableApertures</a> (static)</li>
11369 <li><a href="#static_android.lens.info.availableFilterDensities">android.lens.info.availableFilterDensities</a> (static)</li>
11370 <li><a href="#static_android.lens.info.availableFocalLengths">android.lens.info.availableFocalLengths</a> (static)</li>
11371 <li><a href="#static_android.lens.info.availableOpticalStabilization">android.lens.info.availableOpticalStabilization</a> (static)</li>
11372 <li><a href="#static_android.lens.info.geometricCorrectionMapSize">android.lens.info.geometricCorrectionMapSize</a> (static)</li>
11373 <li><a href="#static_android.lens.info.minimumFocusDistance">android.lens.info.minimumFocusDistance</a> (static)</li>
11374 <li><a href="#static_android.lens.info.shadingMapSize">android.lens.info.shadingMapSize</a> (static)</li>
11375 <li><a href="#static_android.lens.position">android.lens.position</a> (static)</li>
11376 <li><a href="#dynamic_android.lens.state">android.lens.state</a> (dynamic)</li>
11377 <li><a href="#controls_android.noiseReduction.mode">android.noiseReduction.mode</a> (controls)</li>
11378 <li><a href="#controls_android.request.id">android.request.id</a> (controls)</li>
11379 <li><a href="#controls_android.sensor.exposureTime">android.sensor.exposureTime</a> (controls)</li>
11380 <li><a href="#controls_android.sensor.frameDuration">android.sensor.frameDuration</a> (controls)</li>
11381 <li><a href="#controls_android.sensor.sensitivity">android.sensor.sensitivity</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011382 <li><a href="#static_android.sensor.info.sensitivityRange">android.sensor.info.sensitivityRange</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011383 <li><a href="#static_android.sensor.info.exposureTimeRange">android.sensor.info.exposureTimeRange</a> (static)</li>
11384 <li><a href="#static_android.sensor.info.maxFrameDuration">android.sensor.info.maxFrameDuration</a> (static)</li>
11385 <li><a href="#static_android.sensor.info.physicalSize">android.sensor.info.physicalSize</a> (static)</li>
11386 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
11387 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
11388 <li><a href="#static_android.sensor.noiseModelCoefficients">android.sensor.noiseModelCoefficients</a> (static)</li>
11389 <li><a href="#controls_android.statistics.histogramMode">android.statistics.histogramMode</a> (controls)</li>
11390 <li><a href="#controls_android.statistics.sharpnessMapMode">android.statistics.sharpnessMapMode</a> (controls)</li>
11391 <li><a href="#dynamic_android.statistics.histogram">android.statistics.histogram</a> (dynamic)</li>
11392 <li><a href="#dynamic_android.statistics.sharpnessMap">android.statistics.sharpnessMap</a> (dynamic)</li>
11393 <li><a href="#dynamic_android.hotPixel.mode">android.hotPixel.mode</a> (dynamic)</li>
11394 <li><a href="#dynamic_android.lens.aperture">android.lens.aperture</a> (dynamic)</li>
11395 <li><a href="#dynamic_android.lens.filterDensity">android.lens.filterDensity</a> (dynamic)</li>
11396 <li><a href="#dynamic_android.lens.opticalStabilizationMode">android.lens.opticalStabilizationMode</a> (dynamic)</li>
11397 </ul>
11398 </li> <!-- tag_V1 -->
11399 <li id="tag_ADV">ADV - None
11400 <ul class="tags_entries">
11401 <li><a href="#static_android.flash.colorTemperature">android.flash.colorTemperature</a> (static)</li>
11402 <li><a href="#static_android.flash.maxEnergy">android.flash.maxEnergy</a> (static)</li>
11403 <li><a href="#controls_android.geometric.strength">android.geometric.strength</a> (controls)</li>
11404 <li><a href="#static_android.hotPixel.info.map">android.hotPixel.info.map</a> (static)</li>
11405 <li><a href="#static_android.lens.opticalAxisAngle">android.lens.opticalAxisAngle</a> (static)</li>
11406 <li><a href="#controls_android.shading.strength">android.shading.strength</a> (controls)</li>
11407 </ul>
11408 </li> <!-- tag_ADV -->
11409 <li id="tag_DNG">DNG -
11410 Needed for DNG file support
11411
11412 <ul class="tags_entries">
11413 <li><a href="#static_android.lens.info.geometricCorrectionMap">android.lens.info.geometricCorrectionMap</a> (static)</li>
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011414 <li><a href="#static_android.sensor.info.activeArraySize">android.sensor.info.activeArraySize</a> (static)</li>
11415 <li><a href="#static_android.sensor.info.colorFilterArrangement">android.sensor.info.colorFilterArrangement</a> (static)</li>
11416 <li><a href="#static_android.sensor.info.pixelArraySize">android.sensor.info.pixelArraySize</a> (static)</li>
11417 <li><a href="#static_android.sensor.info.whiteLevel">android.sensor.info.whiteLevel</a> (static)</li>
11418 <li><a href="#static_android.sensor.blackLevelPattern">android.sensor.blackLevelPattern</a> (static)</li>
11419 <li><a href="#static_android.sensor.calibrationTransform1">android.sensor.calibrationTransform1</a> (static)</li>
11420 <li><a href="#static_android.sensor.calibrationTransform2">android.sensor.calibrationTransform2</a> (static)</li>
11421 <li><a href="#static_android.sensor.colorTransform1">android.sensor.colorTransform1</a> (static)</li>
11422 <li><a href="#static_android.sensor.colorTransform2">android.sensor.colorTransform2</a> (static)</li>
11423 <li><a href="#static_android.sensor.forwardMatrix1">android.sensor.forwardMatrix1</a> (static)</li>
11424 <li><a href="#static_android.sensor.forwardMatrix2">android.sensor.forwardMatrix2</a> (static)</li>
11425 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
11426 <li><a href="#controls_android.tonemap.curveRed">android.tonemap.curveRed</a> (controls)</li>
11427 </ul>
11428 </li> <!-- tag_DNG -->
11429 <li id="tag_EXIF">EXIF - None
11430 <ul class="tags_entries">
11431 <li><a href="#static_android.sensor.referenceIlluminant1">android.sensor.referenceIlluminant1</a> (static)</li>
11432 </ul>
11433 </li> <!-- tag_EXIF -->
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070011434 <li id="tag_HAL2">HAL2 -
Alex Rayef40ad62013-10-01 17:52:33 -070011435 Entry is only used by camera device HAL 2.x
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070011436
11437 <ul class="tags_entries">
11438 <li><a href="#controls_android.request.inputStreams">android.request.inputStreams</a> (controls)</li>
11439 <li><a href="#controls_android.request.outputStreams">android.request.outputStreams</a> (controls)</li>
11440 <li><a href="#controls_android.request.type">android.request.type</a> (controls)</li>
Zhijun He69fc0ea2013-07-17 09:42:58 -070011441 <li><a href="#controls_android.blackLevel.lock">android.blackLevel.lock</a> (controls)</li>
Eino-Ville Talvalaf384f0a2013-07-12 17:02:27 -070011442 </ul>
11443 </li> <!-- tag_HAL2 -->
Alex Rayef40ad62013-10-01 17:52:33 -070011444 <li id="tag_FULL">FULL -
11445 Entry is required for full hardware level devices, and optional for other hardware levels
11446
11447 <ul class="tags_entries">
11448 <li><a href="#static_android.sensor.baseGainFactor">android.sensor.baseGainFactor</a> (static)</li>
11449 <li><a href="#static_android.sensor.maxAnalogSensitivity">android.sensor.maxAnalogSensitivity</a> (static)</li>
11450 <li><a href="#dynamic_android.sensor.temperature">android.sensor.temperature</a> (dynamic)</li>
11451 </ul>
11452 </li> <!-- tag_FULL -->
Igor Murashkin08b8aad2012-11-29 15:23:03 -080011453 </ul>
11454 </div>
11455
11456 [ <a href="#">top</a> ]
11457
11458</body>
11459</html>